# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/03/13 04:34:23-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:33:00-05:00 len.brown@intel.com +36 -0
#   [ACPI] add acpi_osi= and acpi_serialize
# 
# Documentation/kernel-parameters.txt
#   2004/03/13 04:32:36-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:34:25 2004
+++ b/Documentation/kernel-parameters.txt	Sat Mar 13 04:34:25 2004
@@ -85,6 +85,10 @@
 	acpi_irq_pci=	If irq_balance, Clear listed IRQs for use by PCI
 	acpi_irq_isa=	If irq_balance, Mark listed IRQs used by ISA
 
+	acpi_osi=	[HW,ACPI] empty param disables _OSI
+
+	acpi_serialize	[HW,ACPI] force serialization of AML methods
+
 	ad1816=		[HW,SOUND]
 
 	ad1848=		[HW,SOUND]
diff -Nru a/drivers/acpi/osl.c b/drivers/acpi/osl.c
--- a/drivers/acpi/osl.c	Sat Mar 13 04:34:25 2004
+++ b/drivers/acpi/osl.c	Sat Mar 13 04:34:25 2004
@@ -1021,3 +1021,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);
+
