kzinti wrote:Using UEFI to boot your OS is no more difficult than using the BIOS.
kzinti wrote:Imagine that... using a different firmware requires you to use a different APi. Who would have thought?
You said that it's no more difficult. In reality it is, that's what I've exampled, UEFI interface is a lot more complex. By a lot.
You argument that it's "no more difficult" does not stand with the interface.
kzinti wrote:Who cares where you bootloader is loaded in memory? It doesn't matter.
It does, because using a fixed address with a statically linked kernel is a hell lot
easier than to detect dynamic addresses and apply relocations for a PIC linked kernel.
You argument that it's "no more difficult" does not stand with the memory layout either.
kzinti wrote:But when I want to update my bootloader I just copy the file where i want it on the partition and it works just fine.
You silently forget about the fact that you have to a) mount that partition b) have a file system driver for it in order to copy files to it. Under Windows, which does not support mounting disk image files this is quite problematic (you need 3rd party tools in your toolchain to come around). And if you're creating an image file yourself programmatically, then it's a lot
simpler to do memcpy(buff, mbr, 512) than to generate GPT with all the CRCs and a FAT partition with files into the image.
You argument that it's "no more difficult" does not stand with the disk layout either.
kzinti wrote:That is not my experience. The UEFI memory map looks very much like the BIOS one.
Not by far. BIOS memmap usually has no more than 10-12 records. By the time your BOOTX64.EFI gets called, any UEFI memmap would have at least 40-50 records, but in my tests there were usually more than 100 records.
kzinti wrote:something that doesn't even exist with the BIOS.
And doesn't even needed. All the BIOS bootloaders are pretty fine without dynamic memory allocations, in fact, it's easier to arrange the memory when they know the layout is standard on all machines and firmware won't interfere for sure. With UEFI memmap, you can't be sure of anything (except that it won't run with less than 64M of RAM), you must parse the memmap and make no assumptions.
kzinti wrote:Sounds like all your complaints are about UEFI not being BIOS or POSIX.
Not by far. I have absolutely no clue what makes you think that (if you are serious and aren't just trolling). I don't like UEFI because it is a particularly badly designed, resource wasting firmware with a very bad and unuseful interface that your kernel can't rely on, which in turn might lock out hobby OS developers and alternative OS users (read: non Windows OSes) pretty easily. I can't be more straightforward than that.
xeyes wrote:Wow that's a nice wiki page done in such short period of time, thanks!
You're welcome! It was long overdue, and it might be useful to many other members too!
Cheers,
bzt