rpms/kernel/devel linux-2.6-x86-apic-off-by-default.patch,1.5,1.6

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Nov 23 19:45:30 UTC 2005


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv13009

Modified Files:
	linux-2.6-x86-apic-off-by-default.patch 
Log Message:
yet another update


linux-2.6-x86-apic-off-by-default.patch:
 arch/i386/Kconfig            |   12 ++++++++++++
 arch/i386/kernel/acpi/boot.c |   11 +++++++++++
 arch/i386/kernel/apic.c      |   13 ++++++++++---
 arch/i386/kernel/io_apic.c   |    2 +-
 arch/i386/kernel/setup.c     |   18 ++++++++++++++++--
 include/asm-i386/acpi.h      |    4 ++++
 include/asm-i386/apic.h      |    6 ++++++
 7 files changed, 60 insertions(+), 6 deletions(-)

Index: linux-2.6-x86-apic-off-by-default.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-x86-apic-off-by-default.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-x86-apic-off-by-default.patch	23 Nov 2005 06:41:47 -0000	1.5
+++ linux-2.6-x86-apic-off-by-default.patch	23 Nov 2005 19:45:27 -0000	1.6
@@ -1,10 +1,7 @@
-From darrick at us.ibm.com
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=167333
-
-diff -Naur orig/arch/i386/Kconfig linux-2.6.13/arch/i386/Kconfig
---- orig/arch/i386/Kconfig	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/arch/i386/Kconfig	2005-10-24 15:39:37.000000000 -0700
-@@ -546,6 +546,18 @@
+diff -Naur orig/arch/i386/Kconfig new/arch/i386/Kconfig
+--- orig/arch/i386/Kconfig	2005-11-22 13:32:50.000000000 -0800
++++ new/arch/i386/Kconfig	2005-11-22 13:34:28.000000000 -0800
+@@ -253,6 +253,18 @@
  	  to use it. If you say Y here even though your machine doesn't have
  	  an IO-APIC, then the kernel will still run with no slowdown at all.
  
@@ -23,21 +20,49 @@
  config X86_LOCAL_APIC
  	bool
  	depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER)
-diff -Naur orig/arch/i386/kernel/apic.c linux-2.6.13/arch/i386/kernel/apic.c
---- orig/arch/i386/kernel/apic.c	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/arch/i386/kernel/apic.c	2005-10-24 23:02:33.000000000 -0700
+diff -Naur orig/arch/i386/kernel/acpi/boot.c new/arch/i386/kernel/acpi/boot.c
+--- orig/arch/i386/kernel/acpi/boot.c	2005-11-22 13:32:50.000000000 -0800
++++ new/arch/i386/kernel/acpi/boot.c	2005-11-23 01:05:14.000000000 -0800
+@@ -37,6 +37,10 @@
+ #include <asm/io.h>
+ #include <asm/mpspec.h>
+ 
++#ifdef CONFIG_X86_LOCAL_APIC
++extern int enable_local_apic __initdata;
++#endif
++
+ #ifdef	CONFIG_X86_64
+ 
+ extern void __init clustered_apic_check(void);
+@@ -800,6 +804,13 @@
+ #ifdef CONFIG_X86_LOCAL_APIC
+ 	int count, error;
+ 
++	if (enable_local_apic < 0) {
++		printk(KERN_INFO PREFIX "Local APIC disabled (%d); pass 'lapic' to re-enable.\n", enable_local_apic);
++		return;
++	}
++
++	printk(KERN_INFO PREFIX "Local APIC enabled (%d).\n", enable_local_apic);
++
+ 	count = acpi_table_parse(ACPI_APIC, acpi_parse_madt);
+ 	if (count >= 1) {
+ 
+diff -Naur orig/arch/i386/kernel/apic.c new/arch/i386/kernel/apic.c
+--- orig/arch/i386/kernel/apic.c	2005-11-22 13:32:46.000000000 -0800
++++ new/arch/i386/kernel/apic.c	2005-11-22 18:06:18.000000000 -0800
 @@ -42,8 +42,9 @@
  
  /*
   * Knob to control our willingness to enable the local APIC.
-+ * -2=default-disable, -1=force-disable, 1=force-disable, 0=automatic
++ * -2=default-disable, -1=force-disable, 1=force-enable, 0=automatic
   */
 -int enable_local_apic __initdata = 0; /* -1=force-disable, +1=force-enable */
 +int enable_local_apic __initdata = (X86_APIC_DEFAULT_OFF ? -2 : 0);
  
  /*
   * Debug level
-@@ -751,7 +752,7 @@
+@@ -757,7 +758,7 @@
  		 * APIC only if "lapic" specified.
  		 */
  		if (enable_local_apic <= 0) {
@@ -46,7 +71,16 @@
  			       "you can enable it with \"lapic\"\n");
  			return -1;
  		}
-@@ -1265,6 +1266,12 @@
+@@ -839,7 +840,7 @@
+ 		int i;
+ 
+ 		for (i = 0; i < nr_ioapics; i++) {
+-			if (smp_found_config) {
++			if (smp_found_config && !skip_ioapic_setup) {
+ 				ioapic_phys = mp_ioapics[i].mpc_apicaddr;
+ 				if (!ioapic_phys) {
+ 					printk(KERN_ERR
+@@ -1272,6 +1273,12 @@
  	if (!smp_found_config && !cpu_has_apic)
  		return -1;
  
@@ -59,10 +93,10 @@
  	/*
  	 * Complain if the BIOS pretends there is one.
  	 */
-diff -Naur orig/arch/i386/kernel/io_apic.c linux-2.6.13/arch/i386/kernel/io_apic.c
---- orig/arch/i386/kernel/io_apic.c	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/arch/i386/kernel/io_apic.c	2005-10-24 15:39:36.000000000 -0700
-@@ -678,7 +678,7 @@
+diff -Naur orig/arch/i386/kernel/io_apic.c new/arch/i386/kernel/io_apic.c
+--- orig/arch/i386/kernel/io_apic.c	2005-11-22 13:32:46.000000000 -0800
++++ new/arch/i386/kernel/io_apic.c	2005-11-22 13:34:27.000000000 -0800
+@@ -681,7 +681,7 @@
  #define MAX_PIRQS 8
  static int pirq_entries [MAX_PIRQS];
  static int pirqs_enabled;
@@ -71,10 +105,21 @@
  
  static int __init ioapic_setup(char *str)
  {
-diff -Naur orig/arch/i386/kernel/setup.c linux-2.6.13/arch/i386/kernel/setup.c
---- orig/arch/i386/kernel/setup.c	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/arch/i386/kernel/setup.c	2005-10-24 15:39:36.000000000 -0700
-@@ -857,6 +857,10 @@
+diff -Naur orig/arch/i386/kernel/setup.c new/arch/i386/kernel/setup.c
+--- orig/arch/i386/kernel/setup.c	2005-11-22 13:32:46.000000000 -0800
++++ new/arch/i386/kernel/setup.c	2005-11-23 01:01:54.000000000 -0800
+@@ -60,6 +60,10 @@
+ #include "setup_arch_pre.h"
+ #include <bios_ebda.h>
+ 
++#ifdef CONFIG_X86_LOCAL_APIC
++extern int enable_local_apic __initdata;
++#endif
++
+ /* Forward Declaration. */
+ void __init find_max_pfn(void);
+ 
+@@ -865,6 +869,10 @@
  		/* disable IO-APIC */
  		else if (!memcmp(from, "noapic", 6))
  			disable_ioapic_setup();
@@ -85,9 +130,26 @@
  #endif /* CONFIG_X86_IO_APIC */
  #endif /* CONFIG_ACPI */
  
-diff -Naur orig/include/asm-i386/acpi.h linux-2.6.13/include/asm-i386/acpi.h
---- orig/include/asm-i386/acpi.h	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/include/asm-i386/acpi.h	2005-10-24 15:39:36.000000000 -0700
+@@ -1606,8 +1614,14 @@
+ #endif
+ #endif
+ #ifdef CONFIG_X86_LOCAL_APIC
+-	if (smp_found_config)
+-		get_smp_config();
++	if (smp_found_config) {
++		if (enable_local_apic >= 0) {
++			printk(KERN_INFO "LAPIC enabled (%d), calling get_smp_config\n", enable_local_apic);
++			get_smp_config();
++		} else {
++			printk(KERN_INFO "LAPIC disabled (%d)\n", enable_local_apic);
++		}
++	}
+ #endif
+ 
+ 	register_memory();
+diff -Naur orig/include/asm-i386/acpi.h new/include/asm-i386/acpi.h
+--- orig/include/asm-i386/acpi.h	2005-10-27 17:02:08.000000000 -0700
++++ new/include/asm-i386/acpi.h	2005-11-22 13:34:27.000000000 -0800
 @@ -134,6 +134,10 @@
  {
  	skip_ioapic_setup = 1;
@@ -99,9 +161,9 @@
  
  static inline int ioapic_setup_disabled(void)
  {
-diff -Naur orig/include/asm-i386/apic.h linux-2.6.13/include/asm-i386/apic.h
---- orig/include/asm-i386/apic.h	2005-10-24 17:54:05.000000000 -0700
-+++ linux-2.6.13/include/asm-i386/apic.h	2005-10-24 15:39:36.000000000 -0700
+diff -Naur orig/include/asm-i386/apic.h new/include/asm-i386/apic.h
+--- orig/include/asm-i386/apic.h	2005-10-27 17:02:08.000000000 -0700
++++ new/include/asm-i386/apic.h	2005-11-22 13:34:27.000000000 -0800
 @@ -82,6 +82,12 @@
  # define apic_write_around(x,y) apic_write_atomic((x),(y))
  #endif




More information about the fedora-cvs-commits mailing list