All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Gerards <mgerards@xs4all.nl>
To: xen-devel@lists.xensource.com
Subject: [PATCH] Disable SMP on the MacBook by default
Date: Wed, 13 Sep 2006 22:45:39 +0200	[thread overview]
Message-ID: <87slivzea4.fsf@xs4all.nl> (raw)

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

             reply	other threads:[~2006-09-13 20:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-13 20:45 Marco Gerards [this message]
2006-09-13 20:57 ` [PATCH] Disable SMP on the MacBook by default Ian Pratt
2006-09-13 21:38   ` Marco Gerards
2006-09-13 21:38     ` Ian Pratt
2006-09-13 22:11       ` Marco Gerards
2006-09-13 22:19         ` gimli
2006-09-13 22:30           ` gimli
2006-09-13 22:39             ` Ian Pratt
2006-09-13 22:34           ` Marco Gerards
2006-09-14 14:48         ` Keir Fraser
2006-09-14 17:15           ` Marco Gerards

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87slivzea4.fsf@xs4all.nl \
    --to=mgerards@xs4all.nl \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.