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
|