[SeaBIOS] [PATCH] enable_vga_console(): print machine UUID under seabios version message
Laszlo Ersek
lersek at redhat.com
Tue Dec 11 13:00:04 CET 2012
On 12/11/12 05:54, Kevin O'Connor wrote:
> On Mon, Dec 10, 2012 at 06:11:08PM +0100, Laszlo Ersek wrote:
>> There are users who would like to see the UUID at startup, and it probably
>> won't bother others.
>
> The patch isn't going to work for non-qemu users (eg, coreboot).
At least on qemu, I figured
afterReloc() [src/post.c]
maininit()
init_bios_tables()
smbios_init() [src/smbios.c]
qemu_cfg_smbios_load_external() -- via add_struct() macro
smbios_init_type_1() -- via add_struct() macro, if
qemu_cfg_smbios_load_external() fails
qemu_cfg_smbios_load_field() -- linear search in
QEMU_CFG_SMBIOS_ENTRIES
qemu_cfg_smbios_entries()
qemu_cfg_skip() / qemu_cfg_read()
smbios_entry_point_init()
vga_setup() [src/optionroms.c]
enable_vga_console() [src/bootsplash.c]
printf("SeaBIOS (version %s)\n\n", VERSION); [src/output.c]
I wanted to avoid parsing the SMBIOS System Information structure we
just populated in smbios_init(). Looks like there's no way around it.
Can I base that parsing on SMBiosAddr? It seems to be set in all cases
after init_bios_tables() returns. The above tree
(init_bios_tables()->smbios_init()) is qemu specific, but:
(coreboot)
init_bios_tables
coreboot_copy_biostable
scan_tables
copy_table
(xen)
init_bios_tables
xen_copy_biostables
copy_table
(common)
copy_table
copy_smbios
/* ... */
SMBiosAddr = newpos
I'll try to rewrite the patch with SMBiosAddr.
Thanks!
Laszlo
More information about the SeaBIOS
mailing list