qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH][SEABIOS] Make SMBIOS table pass MS SVVP test


From: Gleb Natapov
Subject: [Qemu-devel] Re: [PATCH][SEABIOS] Make SMBIOS table pass MS SVVP test
Date: Tue, 24 Nov 2009 18:59:01 +0200

On Tue, Nov 24, 2009 at 10:57:02AM -0500, Kevin O'Connor wrote:
> On Mon, Nov 23, 2009 at 08:30:41PM +0200, Gleb Natapov wrote:
> > On Mon, Nov 23, 2009 at 07:15:55PM +0100, Sebastian Herbszt wrote:
> > > Ok - sounds good if bios_characteristics gets proper system based values.
> > > 
> > Kevin can you help here. I can send a patch, but I am not sure I know
> > everything SeaBIOS supports.
> 
> I don't know what bios_characteristics should be set to.
> 
http://www.phoenix.com/NR/rdonlyres/51EEA1E6-20C1-4FA2-A3D8-AD8E45335C47/0/specssmbios.pdf
Page 30 have the description.

> SeaBIOS does generate the smbios table even on coreboot.  This is a
> hack to work around the fact that coreboot boards don't generate
> smbios tables currently and Linux wont use ACPI unless an smbios table
> is present.  So, the smbios table is just used to make Linux accept
> the acpi table.  It is not a requirement that SeaBIOS be able to
> generate fully populated and correct smbios tables for coreboot - it's
> understood that any coreboot user that needs a full smbios table needs
> to have that table generated by coreboot itself.
> 
> That said, I think SeaBIOS should autodetect any values where that's
> feasible.  So, for example, if the cpu identification is available via
> cpuid, then I think that should be used.  However, for example, if cpu
> model isn't available anywhere, then I think hardcoding something is
> okay.
It is used already where appropriate. To fill processor_id field in type
4 table. CPU manufacturer is different issue. CPU a guest is running on is
not manufactured by Intel or AMD, it is emulated by QEMU.
 
> 
> > > >>>>>>>-    p->max_speed = 0; /* unknown */
> > > >>>>>>>-    p->current_speed = 0; /* unknown */
> > > >>>>>>>+    p->max_speed = 2000;
> > > >>>>>>>+    p->current_speed = 2000;
> 
> SeaBIOS detects the current Mhz - see calibrate_tsc() in src/clock.c.
> 
How accurate is it? What if I boot 100 guests on 16 cpu host
simultaneously? Not uncommon scenario. Those field really have no
meaning in virtualization environment. I'd rather have predictable
values there from boot to boot. Who know what Windows may use them for.

--
                        Gleb.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]