]> xenbits.xensource.com Git - seabios.git/commitdiff
xen: Don't perform SMP setup. 1.7.1-stable-xen
authorAnthony PERARD <anthony.perard@citrix.com>
Wed, 26 Jun 2013 15:30:45 +0000 (16:30 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 26 Jun 2013 16:34:51 +0000 (17:34 +0100)
This is not needed and in case one want to start a guest with fewer vCPU
than the maximum, the function will fail (infinite loop).

It's a "backport" of 5dbf1732940f94771e0b3c45c0960940276bc263. The original
commit is rather involved and relies on other infrastructure changes. This
replicates the functional affect.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- expanded "backport" comment ]

src/smp.c

index 3c36f8cf1ce611d540e957763f7237cd339e1ee5..9681f82baa3b9b7966f85050a157109c363feb5b 100644 (file)
--- a/src/smp.c
+++ b/src/smp.c
@@ -9,6 +9,7 @@
 #include "config.h" // CONFIG_*
 #include "cmos.h" // CMOS_BIOS_SMP_COUNT
 #include "paravirt.h"
+#include "xen.h"
 
 #define APIC_ICR_LOW ((u8*)BUILD_APIC_ADDR + 0x300)
 #define APIC_SVR     ((u8*)BUILD_APIC_ADDR + 0x0F0)
@@ -84,6 +85,9 @@ int apic_id_is_present(u8 apic_id)
 void
 smp_probe(void)
 {
+    if (usingXen())
+        return;
+
     ASSERT32FLAT();
     u32 eax, ebx, ecx, cpuid_features;
     cpuid(1, &eax, &ebx, &ecx, &cpuid_features);