Hi,
I wonder how coreboot passes the "e820-style" system memory map to the OS.
I found the following data structure pointer in the coreboot source code: static struct parameters *faked_real_mode = (void *)REAL_MODE_DATA_LOC;
and also this line:
void append_command_line(struct parameters *real_mode, char *arg, int arg_bytes)
Does the second line above means "faked_real_mode" is passed as an argument to the bootloader (or probably directly as kernel parameter for Linux)?
Or does SeaBIOS perform the necessary e820-style function to OS other than Linux?
Thanks,
Darmawan
On 3/25/10 5:39 PM, Darmawan Salihun wrote:
Hi,
I wonder how coreboot passes the "e820-style" system memory map to the OS.
With SeaBIOS, the OS or bootloader just calls an e820 int call.
With FILO or Grub2 the linux kernel takes a parameter structure that is filled with the memory map, kernel command line and other information.
Stefan
Thanks, all clear now :)
On 3/26/10, Stefan Reinauer stepan@coresystems.de wrote:
On 3/25/10 5:39 PM, Darmawan Salihun wrote:
Hi,
I wonder how coreboot passes the "e820-style" system memory map to the OS.
With SeaBIOS, the OS or bootloader just calls an e820 int call.
With FILO or Grub2 the linux kernel takes a parameter structure that is filled with the memory map, kernel command line and other information.
Stefan