<div dir="ltr"><div><div><div><div><div>> But a bootloader built as a payload could also be built to use BIOS<br>
> interfaces. GRUB is one example of this.<br><br></div>Let us assume the following configuration:<br></div>FSP -> Coreboot -> Payload: GRUB2 -> Linux<br><br></div>No legacy interrupts, correct? So, what is this for the architecture? CSM? UEFI look alike?<br><br></div>I assume, the Linux image on the HDD/SSD was installed far before as CSM, so there is already existing MBR, and some CSM implemented legacy services (INTs) already exist, am I correct?</div><div><br></div><div>I assume UEFI installed Linux would NOT run, since GRUB2 will be not able to find MBR... I assume GRUB2 as payload to Coreboot assumes MBR/Legacy (by default) implementation.<br></div><div><br></div><div>Any comments on what I wrote here? ;-)<br></div><div><br></div>Zoran<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 4, 2017 at 12:01 PM, Philipp Stanner <span dir="ltr"><<a href="mailto:stanner@posteo.de" target="_blank">stanner@posteo.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks so far. Very interesting.<br>
<span class=""><br>
Am Montag, den 04.09.2017, 07:28 +0000 schrieb Peter Stuge:<br>
><br>
> coreboot itself can only start one payload, but SeaBIOS allows the<br>
> user to choose which of those payloads to start, in which case a<br>
> payload *does* have interrupt services available.<br>
><br>
> Just to let you know that this is possible.<br>
><br>
<br>
</span><span class="">> There is no "32-bit instruction set". The instruction set is the<br>
> same,<br>
> there is no difference in what opcodes could be used (well except<br>
> maybe<br>
> gdt and idt stuff) but *addressing* is obviously different in 32-bit<br>
> mode,<br>
> and using 32-bit addressing makes everything a lot easier.<br>
><br>
<br>
</span>If there is no difference according the instruction set and as coreboot<br>
itself doesn't provide BIOS-services: Why don't we just switch the CPU<br>
to flat protected mode, do our duty and jump into the payload (SeaBIOS<br>
mainly) which then switches back to real mode if necessary, change the<br>
GDT or do whatever it needs to do?<br>
Switching back to Real Mode, using 32-Bit-addresses (what sounds like a<br>
hack to me. I can't imagine Intel intended this) is much more<br>
complicated than staying in PM, isn't it?<br>
<br>
x86 is pain. Sometimes I wonder why it even works at all. Let's hope<br>
there will be RISC-V-Boards one day.<br>
<span class="HOEnZb"><font color="#888888"><br>
P.<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="https://mail.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://mail.coreboot.org/<wbr>mailman/listinfo/coreboot</a><br>
</div></div></blockquote></div><br></div>