|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] smpboot.c:
ChangeSet 1.1429.1.1, 2005/05/10 15:49:06+01:00, cl349@xxxxxxxxxxxxxxxxxxxx
smpboot.c:
Fix apic setup for SMP guest kernel running on non-SMP machine.
Plus minor cleanups.
smpboot_hooks.h:
smpboot_clear_io_apic_irqs now makes sense.
smpboot.c:
start_secondary doesn't return anything.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
arch/xen/i386/kernel/smpboot.c | 17 +++--------------
include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h | 4 ----
include/asm-xen/asm-x86_64/mach-xen/smpboot_hooks.h | 4 ----
3 files changed, 3 insertions(+), 22 deletions(-)
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/smpboot.c
b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/smpboot.c
--- a/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/smpboot.c 2005-05-10
13:03:44 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/smpboot.c 2005-05-10
13:03:44 -04:00
@@ -54,6 +54,7 @@
#include <asm/desc.h>
#include <asm/arch_hooks.h>
+#include <mach_apic.h>
#include <mach_wakecpu.h>
#include <smpboot_hooks.h>
@@ -493,19 +494,7 @@
local_irq_enable();
wmb();
- if (0) {
- char *msg2 = "delay2\n";
- int timeout;
- for (timeout = 0; timeout < 50000; timeout++) {
- udelay(1000);
- if (timeout == 2000) {
- (void)HYPERVISOR_console_io(CONSOLEIO_write,
strlen(msg2), msg2);
- timeout = 0;
- }
- }
- }
cpu_idle();
- return 0;
}
/*
@@ -1111,15 +1100,15 @@
* If we couldn't find an SMP configuration at boot time,
* get out of here now!
*/
- if (!smp_found_config /* && !acpi_lapic) */) {
+ if (!smp_found_config && !acpi_lapic) {
printk(KERN_NOTICE "SMP motherboard not detected.\n");
smpboot_clear_io_apic_irqs();
#if 0
phys_cpu_present_map = physid_mask_of_physid(0);
+#endif
if (APIC_init_uniprocessor())
printk(KERN_NOTICE "Local APIC not detected."
" Using dummy APIC emulation.\n");
-#endif
map_cpu_to_logical_apicid();
return;
}
diff -Nru
a/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h
b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h
--- a/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h
2005-05-10 13:03:44 -04:00
+++ b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h
2005-05-10 13:03:44 -04:00
@@ -3,11 +3,7 @@
static inline void smpboot_clear_io_apic_irqs(void)
{
-#if 1
- printk("smpboot_clear_io_apic_irqs\n");
-#else
io_apic_irqs = 0;
-#endif
}
static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip)
diff -Nru
a/linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/smpboot_hooks.h
b/linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/smpboot_hooks.h
---
a/linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/smpboot_hooks.h
2005-05-10 13:03:44 -04:00
+++
b/linux-2.6.11-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/smpboot_hooks.h
2005-05-10 13:03:44 -04:00
@@ -3,11 +3,7 @@
static inline void smpboot_clear_io_apic_irqs(void)
{
-#if 1
- printk("smpboot_clear_io_apic_irqs\n");
-#else
io_apic_irqs = 0;
-#endif
}
static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
|
|
|
|