From 3a28511b46f0c2af5fae1b6ed2b0c19d7913cee3 Mon Sep 17 00:00:00 2001 From: Anthony PERARD Date: Wed, 26 Jun 2013 16:30:45 +0100 Subject: [PATCH] xen: Don't perform SMP setup. 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 Acked-by: Ian Campbell [ ijc -- expanded "backport" comment ] --- src/smp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/smp.c b/src/smp.c index 3c36f8c..9681f82 100644 --- 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); -- 2.39.5