[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Disable SMP on the MacBook by default
Hi, As I mentioned before, SMP is non functional on the MacBook. It even makes the machine crash. I am using a patch to disable SMP support in the case a MacBook was detected. I have included this patch at the end of this email. Because this will be useful for the LiveCD, I hope you will commit this patch. Please let me know if there are issues that I need to take care of before it can be committed. Thanks, Marco diff -r 3e31c5e160cf xen/arch/x86/dmi_scan.c --- a/xen/arch/x86/dmi_scan.c Wed Sep 13 14:59:14 2006 +++ b/xen/arch/x86/dmi_scan.c Wed Sep 13 22:34:01 2006 @@ -8,6 +8,7 @@ #include <xen/acpi.h> #include <asm/io.h> #include <asm/system.h> +#include <xen/smp.h> #include <xen/dmi.h> #define bt_ioremap(b,l) ((u8 *)__acpi_map_table(b,l)) @@ -181,6 +182,15 @@ return 0; } +/* + * Disable SMP. */ +static int __init dmi_disable_smp(struct dmi_blacklist *d) +{ + printk(KERN_NOTICE "%s detected: SMP support disabled\n", d->ident); + opt_nosmp = 1; + return 0; +} + #ifdef CONFIG_ACPI_SLEEP static __init int reset_videomode_after_s3(struct dmi_blacklist *d) @@ -262,6 +272,17 @@ MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"), NO_MATCH, NO_MATCH, NO_MATCH } }, + + /* + * SMP support is broken for the MacBook. Disable SMP to + * prevent further problems. + */ + { + .callback = dmi_disable_smp, + .ident = "Apple MacBook", + .matches = {DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"),}, + }, + #ifdef CONFIG_ACPI_SLEEP { reset_videomode_after_s3, "Toshiba Satellite 4030cdt", { /* Reset video mode after returning from ACPI S3 sleep */ MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"), diff -r 3e31c5e160cf xen/arch/x86/setup.c --- a/xen/arch/x86/setup.c Wed Sep 13 14:59:14 2006 +++ b/xen/arch/x86/setup.c Wed Sep 13 22:34:01 2006 @@ -40,7 +40,7 @@ #endif /* opt_nosmp: If true, secondary processors are ignored. */ -static int opt_nosmp = 0; +int opt_nosmp = 0; boolean_param("nosmp", opt_nosmp); /* maxcpus: maximum number of CPUs to activate. */ diff -r 3e31c5e160cf xen/include/xen/smp.h --- a/xen/include/xen/smp.h Wed Sep 13 14:59:14 2006 +++ b/xen/include/xen/smp.h Wed Sep 13 22:34:01 2006 @@ -111,4 +111,6 @@ #define smp_processor_id() raw_smp_processor_id() +extern int opt_nosmp ; + #endif _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |