Hello Peter,
Did not understand... I must admit! As of my best interpretation SeaBIOS has 5 functions which makes BIOS legacy:
get and set variables, get and set real time clock, reset.
Or maybe, something changed.
I went back, to inspect CSM code in SeaBIOS, and found the following:
#
# General Features
#
# CONFIG_COREBOOT is not set
# CONFIG_QEMU is not set
CONFIG_CSM=y <<==================== set CSM ON
# CONFIG_QEMU_HARDWARE is not set
CONFIG_THREADS=y
CONFIG_RELOCATE_INIT=y
CONFIG_BOOTMENU=y
CONFIG_BOOTSPLASH=y
CONFIG_BOOTORDER=y
CONFIG_ENTRY_EXTRASTACK=y
CONFIG_MALLOC_UPPERMEMORY=y
CONFIG_ROM_SIZE=0
Then make:
Compile checking out/src/hw/pcidevice.o
Compile checking out/src/hw/ahci.o
Compile checking out/src/hw/pvscsi.o
Compile checking out/src/hw/usb-xhci.o
Compile checking out/src/hw/usb-hub.o
Compile checking out/src/hw/sdcard.o
Compile checking out/src/fw/coreboot.o
Compile checking out/src/fw/lzmadecode.o
Compile checking out/src/fw/multiboot.o
Compile checking out/src/fw/csm.o
Compile checking out/src/fw/biostables.o
Compile checking out/src/fw/paravirt.o
Compile checking out/src/fw/shadow.o
Compile checking out/src/fw/pciinit.o
Compile checking out/src/fw/smm.o
Compile checking out/src/fw/smp.o
Compile checking out/src/fw/mtrr.o
Compile checking out/src/fw/xen.o
Compile checking out/src/fw/acpi.o
Compile checking out/src/fw/mptable.o
Compile checking out/src/fw/pirtable.o
Compile checking out/src/fw/smbios.o
Where I see e820 table which is to be passed to OS, in order OS to understand what memory it can use. But I did not find explicitly these 5 functions. So I need a little help here. Where are these functions?
Now... How GRUB2 replaces all of these functionalities? I see what you said here (that GRUB2 is directly implemented into FW, thus skipping MBR), but who/what entity is replacing missing SeaBIOS functionalities?
Thank you,
Zoran