# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/03/13 04:14:53-05:00 len.brown@intel.com 
#   [ACPI] add boot parameters "acpi_osi=" and "acpi_serialize"
#     acpi_osi= will disable the _OSI method -- which by default
#   	tells the BIOS to behave as if Windows is the OS.
#     acpi_serialize is for debugging AE_ALREADY_EXISTS failures
# 
# drivers/acpi/osl.c
#   2004/03/13 04:11:01-05:00 len.brown@intel.com +36 -0
#   [ACPI] add "acpi_osi=" and "acpi_serialize"
# 
# Documentation/kernel-parameters.txt
#   2004/03/13 04:11:01-05:00 len.brown@intel.com +4 -0
#   [ACPI] add "acpi_osi=" and "acpi_serialize"
# 
diff -Nru a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt	Sat Mar 13 04:14:59 2004
+++ b/Documentation/kernel-parameters.txt	Sat Mar 13 04:14:59 2004
@@ -116,6 +116,10 @@
 	acpi_irq_isa=	[HW,ACPI] If irq_balance, Mark listed IRQs used by ISA
 			Format: <irq>,<irq>...
 
+	acpi_osi=	[HW,ACPI] empty param disables _OSI
+
+	acpi_serialize	[HW,ACPI] force serialization of AML methods
+
 	ad1816=		[HW,OSS]
 			Format: <io>,<irq>,<dma>,<dma2>
 			See also Documentation/sound/oss/AD1816.
diff -Nru a/drivers/acpi/osl.c b/drivers/acpi/osl.c
--- a/drivers/acpi/osl.c	Sat Mar 13 04:14:59 2004
+++ b/drivers/acpi/osl.c	Sat Mar 13 04:14:59 2004
@@ -1012,3 +1012,39 @@
 }
 
 __setup("acpi_os_name=", acpi_os_name_setup);
+
+/*
+ * _OSI control
+ * empty string disables _OSI
+ * TBD additional string adds to _OSI
+ */
+int __init
+acpi_osi_setup(char *str)
+{
+	if (str == NULL || *str == '\0') {
+		printk(KERN_INFO PREFIX "_OSI method disabled\n");
+		acpi_gbl_create_osi_method = FALSE;
+	} else
+	{
+		/* TBD */
+		printk(KERN_ERR PREFIX "_OSI additional string ignored -- %s\n", str);
+	}
+
+	return 1;
+}
+
+__setup("acpi_osi=", acpi_osi_setup);
+
+/* enable serialization to combat AE_ALREADY_EXISTS errors */
+int __init
+acpi_serialize_setup(char *str)
+{
+	printk(KERN_INFO PREFIX "serialize enabled\n");
+
+	acpi_gbl_all_methods_serialized = TRUE;
+
+	return 1;
+}
+
+__setup("acpi_serialize", acpi_serialize_setup);
+
