[coreboot] seaBIOS config options "for emulators"

Myles Watson mylesgw at gmail.com
Mon Mar 9 17:00:59 CET 2009


On Fri, Mar 6, 2009 at 5:08 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
> On Fri, Mar 06, 2009 at 03:33:03PM -0800, Joe Julian wrote:
>> You suggested, on the coreboot IRC channel, that I enable smbios in
>> seabios to solve the missing mptable and RSDP problem. The reason those
>> are turned off is because the comments for CONFIG_PIRTABLE,
>> CONFIG_MPTABLE, COMFIG_SMBIOS, and CONFIG_ACPI all state, "for
>> emulators". Since this is a bare metal install, wouldn't it be correct
>> to have those options disabled since we need the real data rather than
>> simulated data?
>
> Linux, by default, wont use the acpi tables unless there is an smbios
> table.  The current coreboot targets don't support building an smbios
> table.  So, I programmed SeaBIOS to build a dummy smbios table when it
> is used with coreboot.
>
> It's safe to leave all of:
>
> #define CONFIG_PIRTABLE 1
> #define CONFIG_MPTABLE 1
> #define CONFIG_SMBIOS 1
> #define CONFIG_ACPI 1

Linux has been happy without these defines for me, except that it says:

DMI not present or invalid.

//Here's a snippet from the log:

Ram Size=0xc0000000
init PNPBIOS table
Scan for VGA option rom
Attempting to init PCI bdf 00000200
Attempting to map option rom on dev 00000200
Option rom sizing returned f5000000 fffe0000
Inspecting possible rom at f5000000 (vd=014110de bdf=00000200)
Copying option rom from f5000000 to 000c0000
Running option rom at 0000c000:00000003
Turning on vga console
Starting SeaBIOS

init keyboard
i8042 ctr old=00000000 new=00000020
ps2_recvbyte timeout
i8042 ctr old=00000000 new=00000020
i8042 ctr old=00000000 new=00000020
i8042 ctr old=00000061 new=00000060
keyboard initialized
init lpt
init serial
init mouse
e820 map has 7 items:
  0: 0000000000000000 - 000000000009fc00 = 1
  1: 000000000009fc00 - 00000000000a0000 = 2
  2: 00000000000f0000 - 0000000000100000 = 2
  3: 0000000000100000 - 000000007fff0000 = 1
  4: 000000007fff0000 - 0000000080000000 = 2
  5: 0000000080000000 - 00000000c0000000 = 1
  6: 0000000100000000 - 0000000140000000 = 1
final bios_table_addr: 0x000faa4c (used 84%)
init boot device ordering


//This is the log if I enable them:

Copying PIR from 7fff0000 to 000fa9a0
Copying ACPI RSDP from 7fff0400 to 000fa9f0
Copying MPTABLE from 7fff1800/7fff1810 to 000faa10
init SMBIOS tables
Found 4 cpu(s)
SMBIOS table addr=0x000fb060
Ram Size=0xc0000000
init PNPBIOS table
Scan for VGA option rom
Attempting to init PCI bdf 00000200
Attempting to map option rom on dev 00000200
Option rom sizing returned f5000000 fffe0000
Inspecting possible rom at f5000000 (vd=014110de bdf=00000200)
Copying option rom from f5000000 to 000c0000
Running option rom at 0000c000:00000003
Turning on vga console
Starting SeaBIOS

init keyboard
i8042 ctr old=00000000 new=00000020
ps2_recvbyte timeout
i8042 ctr old=00000000 new=00000020
i8042 ctr old=00000000 new=00000020
i8042 ctr old=00000061 new=00000060
keyboard initialized
init lpt
init serial
init mouse
e820 map has 7 items:
  0: 000000000009fc00 - 00000000000a0000 = 2
  1: 00000000000f0000 - 0000000000100000 = 2
  2: 0f13000031204d4d - 0f1200003120604d = 268435535
  3: 0014001314000001 - 0014501313000001 = 18022417
  4: 20000b2000000000 - 20000b2000000000 = 294656
  5: 000000008000007f - 00000000c000007f = 1
  6: 0000000100000000 - 0000000140000000 = 1
final bios_table_addr: 0x000fb1df (used 103%)
bios_table_end_addr overflow!

Mappings 2 & 3 look pretty bad.  Is it because the tables were too
big, or are the tables too big because of the broken map?

How do I make more room for the tables?

Thanks,
Myles




More information about the coreboot mailing list