seabios: missing DMI type 4 entry if -cpu parameter is used

Submitted by Gleb Natapov on Nov. 23, 2009, 1 p.m.

Details

Message ID 20091123130043.GN2999@redhat.com
State New
Headers show

Commit Message

Gleb Natapov Nov. 23, 2009, 1 p.m.
On Sun, Nov 22, 2009 at 06:05:02PM +0100, Sebastian Herbszt wrote:
> v0.11.0-rc0-1677:
> use -cpu pentium and check SMBIOS tables. DMI type 4 entry is missing.
> Works with Bochs bios.
> 
See two problems here. First one in seabios (patch attached). And the
second one in QEMU. Why pentium cpu type lacks apic? Specifying 
-cpu pentium,+apic works with current seabios without the patch.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
--
			Gleb.

Comments

Sebastian Herbszt Nov. 23, 2009, 6:33 p.m.
Gleb Natapov wrote:
> On Sun, Nov 22, 2009 at 06:05:02PM +0100, Sebastian Herbszt wrote:
>> v0.11.0-rc0-1677:
>> use -cpu pentium and check SMBIOS tables. DMI type 4 entry is missing.
>> Works with Bochs bios.
>> 
> See two problems here. First one in seabios (patch attached). And the
> second one in QEMU. Why pentium cpu type lacks apic? Specifying 
> -cpu pentium,+apic works with current seabios without the patch.

The "Pentium Processor Family Developer's Manual, Volume 3: Architecture
and Programming Manual" says the following in Chapter 19.3:

"APIC IS SUPPORTED ONLY ON PENTIUM PROCESSOR (735\90, 815\100,
1000\120, 1110\133) AND FUTURE PROLIFERATIONS AND UPGRADES."

So it seems not all pentium cpus have an apic. No clue which model and stepping
those are so can't compare to what qemu claims to provide.

- Sebastian
Kevin O'Connor Nov. 24, 2009, 2:42 p.m.
On Mon, Nov 23, 2009 at 03:00:43PM +0200, Gleb Natapov wrote:
> On Sun, Nov 22, 2009 at 06:05:02PM +0100, Sebastian Herbszt wrote:
> > v0.11.0-rc0-1677:
> > use -cpu pentium and check SMBIOS tables. DMI type 4 entry is missing.
> > Works with Bochs bios.
> > 
> See two problems here. First one in seabios (patch attached). And the
> second one in QEMU. Why pentium cpu type lacks apic? Specifying 
> -cpu pentium,+apic works with current seabios without the patch.
> 
> Signed-off-by: Gleb Natapov <gleb@redhat.com>

Thanks - commit b49e1e38.

-Kevin

Patch hide | download patch | download mbox

diff --git a/src/smp.c b/src/smp.c
index 7100476..00cf64b 100644
--- a/src/smp.c
+++ b/src/smp.c
@@ -75,7 +75,9 @@  smp_probe(void)
     cpuid(1, &eax, &ebx, &ecx, &cpuid_features);
     if (! (cpuid_features & CPUID_APIC)) {
         // No apic - only the main cpu is present.
+        dprintf(1, "No apic - only the main cpu is present.\n");
         CountCPUs= 1;
+        MaxCountCPUs = 1;
         return;
     }