r2807 - in trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian: . patches patches/series

Simon Horman horms@costa.debian.org
Thu, 24 Mar 2005 06:54:59 +0000


Author: horms
Date: 2005-03-24 06:54:56 +0000 (Thu, 24 Mar 2005)
New Revision: 2807

Added:
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-1.diff
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-2.diff
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-3.diff
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-4.diff
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/154_cmsg_compat_signedness_fix.diff
Removed:
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff
Modified:
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
   trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-9
Log:

[ACPI] skip_timer_override including early PCI bridge detection. (closes: #296639)
Fix CMSG32_OK macros.


Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog	2005-03-24 06:54:56 UTC (rev 2807)
@@ -34,9 +34,10 @@
     [ACPI] Enhanced PCI probe, CONFIG_HPET_TIMER build warning fix
     (Simon Horman)
 
-  * 142_acpi_skip_timer_override.diff:
-    [ACPI] skip_timer_override backport from 2.6
-           including early PCI bridge detection. (Simon Horman)
+  * 142_acpi_skip_timer_override-1.diff, 142_acpi_skip_timer_override-2.diff,
+    142_acpi_skip_timer_override-3.diff:
+    [ACPI] skip_timer_override including early PCI bridge detection.
+    (closes: #296639) (Simon Horman)
 
   * 121_drm-locking-checks-3.diff: LOCK_TEST_WITH_RETURN build cleanup
     (Simon Horman)
@@ -88,13 +89,16 @@
 
   * 111-smb-client-overflow-fix-2.diff, 111-smb-client-overflow-fix-1.diff:
     [SECURITY] The above patches, included in 2.4.27-6 resolve:
-    local information leak caused by race in SMP systems with 
+    local information leak caused by race in SMP systems with
     more than 4GB of memory. remote information leak cansed by
     handling of TRANS2 packets handling in smbfs. See CAN-2004-1191.
     (see: #300163) (Simon Horman)
 
- -- Simon Horman <horms@debian.org>  Wed, 23 Mar 2005 16:41:08 +0900
+  * 154_cmsg_compat_signedness_fix.diff:
+    Fix CMSG32_OK macros. (Dann Frazier, Simon Horman)
 
+ -- Simon Horman <horms@debian.org>  Thu, 24 Mar 2005 11:30:05 +0900
+
 kernel-source-2.4.27 (2.4.27-8) unstable; urgency=high
 
   * add dh_fixperms to the build targets to kernel-patch-debian-2.4.27

Copied: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-1.diff (from rev 2796, trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff)
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff	2005-03-23 02:47:30 UTC (rev 2796)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-1.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -0,0 +1,256 @@
+# origin: zwane (BitKeeper)
+# cset: 1.1554 (2.4) key=421f96736OO2In7XZESKGGPJrPuhqA
+# URL: http://linux.bkbits.net:8080/linux-2.4/cset@421f96736OO2In7XZESKGGPJrPuhqA
+# inclusion: upstream
+# descrition: [PATCH] Fix timer override on nforce
+# revision date: Wed, 23 Mar 2005 18:06:16 +0900
+#
+# S rset: ChangeSet|1.1553..1.1554
+# I rset: include/asm-i386/acpi.h|1.17..1.18
+# I rset: arch/i386/kernel/Makefile|1.9..1.10
+# I rset: include/asm-x86_64/acpi.h|1.14..1.15
+# I rset: arch/i386/kernel/acpi.c|1.33..1.34
+# I rset: arch/x86_64/kernel/io_apic.c|1.12..1.13
+# I rset: arch/x86_64/kernel/acpi.c|1.20..1.21
+# I rset: include/asm-i386/pci-direct.h|1.0..1.1
+# I rset: arch/i386/kernel/earlyquirk.c|1.0..1.1
+#
+# Key:
+# S: Skipped  ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated  Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted  Manually deleted by subsequent user edit
+# R: Revised  Manually revised by subsequent user edit
+#
+#
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/02/25 18:19:47-03:00 zwane@arm.linux.org.uk 
+#   [PATCH] Fix timer override on nforce
+#   
+#   Per our discussion, i've ported the 2.6 nforce skip timer override (and
+#   early PCI access) code to 2.4. This fixes an issue whereupon nforce
+#   systems have incorrect override values for irq0. Architectures affected
+#   are i386 and x86_64
+#   
+#   Signed-off-by: Zwane Mwaikambo <zwane@arm.linux.org.uk>
+# 
+# include/asm-i386/pci-direct.h
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +1 -0
+#   Fix timer override on nforce
+# 
+# arch/i386/kernel/earlyquirk.c
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +53 -0
+#   Fix timer override on nforce
+# 
+# include/asm-x86_64/acpi.h
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +1 -0
+#   Fix timer override on nforce
+# 
+# include/asm-i386/pci-direct.h
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +0 -0
+#   BitKeeper file /home/marcelo/bk/linux-2.4/include/asm-i386/pci-direct.h
+# 
+# include/asm-i386/acpi.h
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +2 -0
+#   Fix timer override on nforce
+# 
+# arch/x86_64/kernel/io_apic.c
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +7 -3
+#   Fix timer override on nforce
+# 
+# arch/x86_64/kernel/acpi.c
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +7 -0
+#   Fix timer override on nforce
+# 
+# arch/i386/kernel/earlyquirk.c
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +0 -0
+#   BitKeeper file /home/marcelo/bk/linux-2.4/arch/i386/kernel/earlyquirk.c
+# 
+# arch/i386/kernel/acpi.c
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +9 -0
+#   Fix timer override on nforce
+# 
+# arch/i386/kernel/Makefile
+#   2005/02/18 11:53:58-03:00 zwane@arm.linux.org.uk +1 -1
+#   Fix timer override on nforce
+# 
+#
+===== include/asm-i386/acpi.h 1.17 vs 1.18 =====
+--- 1.17/include/asm-i386/acpi.h	2004-05-07 05:59:18 +09:00
++++ 1.18/include/asm-i386/acpi.h	2005-02-18 23:53:58 +09:00
+@@ -121,6 +121,8 @@ extern int acpi_ioapic;
+ extern int acpi_strict;
+ extern int acpi_disabled;
+ extern int acpi_ht;
++extern int acpi_skip_timer_override;
++void __init check_acpi_pci(void);
+ static inline void disable_acpi(void) 
+ { 
+ 	acpi_disabled = 1;
+===== arch/i386/kernel/Makefile 1.9 vs 1.10 =====
+--- 1.9/arch/i386/kernel/Makefile	2003-09-13 18:13:04 +09:00
++++ 1.10/arch/i386/kernel/Makefile	2005-02-18 23:53:58 +09:00
+@@ -40,7 +40,7 @@ obj-$(CONFIG_ACPI_BOOT)		+= acpi.o
+ obj-$(CONFIG_ACPI_SLEEP)	+= acpi_wakeup.o
+ obj-$(CONFIG_SMP)		+= smp.o smpboot.o trampoline.o
+ obj-$(CONFIG_X86_LOCAL_APIC)	+= mpparse.o apic.o nmi.o
+-obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
++obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o earlyquirk.o
+ obj-$(CONFIG_X86_VISWS_APIC)	+= visws_apic.o
+ obj-$(CONFIG_EDD)             	+= edd.o
+ 
+===== include/asm-x86_64/acpi.h 1.14 vs 1.15 =====
+--- 1.14/include/asm-x86_64/acpi.h	2004-05-07 05:59:18 +09:00
++++ 1.15/include/asm-x86_64/acpi.h	2005-02-18 23:53:58 +09:00
+@@ -118,6 +118,7 @@ extern int acpi_ioapic;
+ extern int acpi_strict;
+ extern int acpi_disabled;
+ extern int acpi_ht;
++extern int acpi_skip_timer_override;
+ static inline void disable_acpi(void) 
+ { 
+ 	acpi_disabled = 1;
+===== arch/i386/kernel/acpi.c 1.33 vs 1.34 =====
+--- 1.33/arch/i386/kernel/acpi.c	2004-09-15 05:27:58 +09:00
++++ 1.34/arch/i386/kernel/acpi.c	2005-02-18 23:53:58 +09:00
+@@ -55,6 +55,7 @@ int acpi_strict;
+ 
+ acpi_interrupt_flags acpi_sci_flags __initdata;
+ int acpi_sci_override_gsi __initdata;
++int acpi_skip_timer_override __initdata;
+ /* --------------------------------------------------------------------------
+                               Boot-time Configuration
+    -------------------------------------------------------------------------- */
+@@ -320,6 +321,12 @@ acpi_parse_int_src_ovr (
+ 		return 0;
+ 	}
+ 
++	if (acpi_skip_timer_override &&
++		intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
++		printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
++		return 0;
++	}
++
+ 	mp_override_legacy_irq (
+ 		intsrc->bus_irq,
+ 		intsrc->flags.polarity,
+@@ -433,6 +440,8 @@ acpi_boot_init (void)
+ 		return result;
+ 	}
+ 
++	check_acpi_pci();
++	
+ 	result = acpi_blacklisted();
+ 	if (result) {
+ 		printk(KERN_NOTICE PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
+===== arch/x86_64/kernel/io_apic.c 1.12 vs 1.13 =====
+--- 1.12/arch/x86_64/kernel/io_apic.c	2004-05-15 12:08:07 +09:00
++++ 1.13/arch/x86_64/kernel/io_apic.c	2005-02-18 23:53:58 +09:00
+@@ -259,10 +259,14 @@ void __init check_ioapic(void) 
+ 				case PCI_VENDOR_ID_VIA:
+ 					return;
+ 				case PCI_VENDOR_ID_NVIDIA: 
++#ifdef CONFIG_ACPI
++				/* All timer overrides on Nvidia
++				   seem to be wrong. Skip them. */
++					acpi_skip_timer_override = 1;
+ 					printk(KERN_INFO 
+-     "PCI bridge %02x:%02x from %x found. Setting \"noapic\". Overwrite with \"apic\"\n",
+-					       num,slot,vendor); 
+-					skip_ioapic_setup = 1;
++			"Nvidia board detected. Ignoring ACPI timer override.\n");
++#endif
++					/* RED-PEN skip them on mptables too? */
+ 					return;
+ 				} 
+ 
+===== arch/x86_64/kernel/acpi.c 1.20 vs 1.21 =====
+--- 1.20/arch/x86_64/kernel/acpi.c	2004-05-07 06:30:26 +09:00
++++ 1.21/arch/x86_64/kernel/acpi.c	2005-02-18 23:53:58 +09:00
+@@ -53,6 +53,7 @@ int acpi_strict;
+ 
+ acpi_interrupt_flags acpi_sci_flags __initdata;
+ int acpi_sci_override_gsi __initdata;
++int acpi_skip_timer_override __initdata;
+ /* --------------------------------------------------------------------------
+                               Boot-time Configuration
+    -------------------------------------------------------------------------- */
+@@ -330,6 +331,12 @@ acpi_parse_int_src_ovr (
+ 	if (intsrc->bus_irq == acpi_fadt.sci_int) {
+ 		acpi_sci_ioapic_setup(intsrc->global_irq,
+ 			intsrc->flags.polarity, intsrc->flags.trigger);
++		return 0;
++	}
++
++	if (acpi_skip_timer_override &&
++		intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
++		printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
+ 		return 0;
+ 	}
+ 
+===== include/asm-i386/pci-direct.h 1.0 vs 1.1 =====
+--- /dev/null	2004-10-08 15:20:27 +09:00
++++ 1.1/include/asm-i386/pci-direct.h	2005-02-18 23:53:58 +09:00
+@@ -0,0 +1 @@
++#include "asm-x86_64/pci-direct.h"
+===== arch/i386/kernel/earlyquirk.c 1.0 vs 1.1 =====
+--- /dev/null	2004-10-08 15:20:27 +09:00
++++ 1.1/arch/i386/kernel/earlyquirk.c	2005-02-18 23:53:58 +09:00
+@@ -0,0 +1,53 @@
++/* 
++ * Do early PCI probing for bug detection when the main PCI subsystem is 
++ * not up yet.
++ */
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/pci.h>
++#include <asm/pci-direct.h>
++#include <asm/acpi.h>
++
++#ifdef CONFIG_ACPI
++static int __init check_bridge(int vendor, int device) 
++{
++	/* According to Nvidia all timer overrides are bogus. Just ignore
++	   them all. */
++	if (vendor == PCI_VENDOR_ID_NVIDIA) { 
++		acpi_skip_timer_override = 1; 		
++	}
++	return 0;
++}
++   
++void __init check_acpi_pci(void) 
++{ 
++	int num,slot,func; 
++
++	/* Assume the machine supports type 1. If not it will 
++	   always read ffffffff and should not have any side effect. */
++
++	/* Poor man's PCI discovery */
++	for (num = 0; num < 32; num++) { 
++		for (slot = 0; slot < 32; slot++) { 
++			for (func = 0; func < 8; func++) { 
++				u32 class;
++				u32 vendor;
++				class = read_pci_config(num,slot,func,
++							PCI_CLASS_REVISION);
++				if (class == 0xffffffff)
++					break; 
++
++				if ((class >> 16) != PCI_CLASS_BRIDGE_PCI)
++					continue; 
++				
++				vendor = read_pci_config(num, slot, func, 
++							 PCI_VENDOR_ID);
++				
++				if (check_bridge(vendor&0xffff, vendor >> 16))
++					return; 
++			} 
++			
++		}
++	}
++}
++#endif /* CONFIG_ACPI */

Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-2.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-2.diff	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-2.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -0,0 +1,49 @@
+# origin: willy (BitKeeper)
+# cset: 1.1572 (2.4) key=423026b8MRaI5S3ifsZAsfFXTtbKRg
+# URL: http://linux.bkbits.net:8080/linux-2.4/cset@423026b8MRaI5S3ifsZAsfFXTtbKRg
+# inclusion: upstream
+# descrition: [PATCH] acpi.h needs <linux/init.h>
+# revision date: Wed, 23 Mar 2005 18:05:50 +0900
+#
+# S rset: ChangeSet|1.1571..1.1572
+# I rset: include/asm-i386/acpi.h|1.18..1.19
+#
+# Key:
+# S: Skipped  ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated  Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted  Manually deleted by subsequent user edit
+# R: Revised  Manually revised by subsequent user edit
+#
+#
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/03/10 07:51:36-03:00 willy@w.ods.org 
+#   [PATCH] acpi.h needs <linux/init.h>
+#   
+#   the recent acpi merge in 2.4-BK broke compilation of a few external patches
+#   (eg: iptable_string), because it declares check_acpi_pci() as void __init,
+#   while linux/init.h is not included.
+#   
+#   Here is a trivial patch which solves the problem.
+# 
+# include/asm-i386/acpi.h
+#   2005/03/06 11:35:37-03:00 willy@w.ods.org +2 -0
+#   acpi.h needs <linux/init.h>
+# 
+#
+===== include/asm-i386/acpi.h 1.18 vs 1.19 =====
+--- 1.18/include/asm-i386/acpi.h	2005-02-18 23:53:58 +09:00
++++ 1.19/include/asm-i386/acpi.h	2005-03-06 23:35:37 +09:00
+@@ -28,6 +28,8 @@
+ 
+ #ifdef __KERNEL__
+ 
++#include <linux/init.h>
++
+ #define COMPILER_DEPENDENT_INT64   long long
+ #define COMPILER_DEPENDENT_UINT64  unsigned long long
+ 

Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-3.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-3.diff	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-3.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -0,0 +1,25 @@
+# origin: Horms <horms@verge.net.au>
+# inclusion: submitted upstream
+# descrition: [PATCH] earlyquirk.o is needed for CONFIG_ACPI_BOOT
+#
+#   [PATCH] earlyquirk.o is needed for CONFIG_ACPI_BOOT
+#   
+#   Signed-off-by: Horms <horms@verge.net.au>
+#
+===== arch/i386/kernel/earlyquirk.c 1.1 vs 1.2 =====
+--- a/arch/i386/kernel/Makefile	2005-03-24 15:47:08.391718540 +0900
++++ b/arch/i386/kernel/Makefile.noedit	2005-03-24 15:46:56.433281792 +0900
+@@ -36,11 +36,11 @@
+ obj-$(CONFIG_X86_CPUID)		+= cpuid.o
+ obj-$(CONFIG_MICROCODE)		+= microcode.o
+ obj-$(CONFIG_APM)		+= apm.o
+-obj-$(CONFIG_ACPI_BOOT)		+= acpi.o earlyquirk.o
++obj-$(CONFIG_ACPI_BOOT)		+= acpi.o
+ obj-$(CONFIG_ACPI_SLEEP)	+= acpi_wakeup.o
+ obj-$(CONFIG_SMP)		+= smp.o smpboot.o trampoline.o
+ obj-$(CONFIG_X86_LOCAL_APIC)	+= mpparse.o apic.o nmi.o
+-obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
++obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o earlyquirk.o
+ obj-$(CONFIG_X86_VISWS_APIC)	+= visws_apic.o
+ obj-$(CONFIG_CPU_EMU486)	+= emu.o
+ obj-$(CONFIG_EDD)             	+= edd.o

Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-4.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-4.diff	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override-4.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -0,0 +1,25 @@
+# origin: Horms <horms@verge.net.au>
+# inclusion: submitted upstream
+# descrition: [PATCH] earlyquirk.o is needed for CONFIG_ACPI_BOOT
+#
+#   [PATCH] earlyquirk.o is needed for CONFIG_ACPI_BOOT
+#   
+#   Signed-off-by: Horms <horms@verge.net.au>
+#
+===== arch/i386/kernel/earlyquirk.c 1.1 vs 1.2 =====
+--- a/arch/i386/kernel/Makefile	2005-03-24 15:47:08.391718540 +0900
++++ b/arch/i386/kernel/Makefile.noedit	2005-03-24 15:46:56.433281792 +0900
+@@ -36,11 +36,11 @@
+ obj-$(CONFIG_X86_CPUID)		+= cpuid.o
+ obj-$(CONFIG_MICROCODE)		+= microcode.o
+ obj-$(CONFIG_APM)		+= apm.o
+-obj-$(CONFIG_ACPI_BOOT)		+= acpi.o earlyquirk.o
++obj-$(CONFIG_ACPI_BOOT)		+= acpi.o
+ obj-$(CONFIG_ACPI_SLEEP)	+= acpi_wakeup.o
+ obj-$(CONFIG_SMP)		+= smp.o smpboot.o trampoline.o
+ obj-$(CONFIG_X86_LOCAL_APIC)	+= mpparse.o apic.o nmi.o
+-obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
++obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o earlyquirk.o
+ obj-$(CONFIG_X86_VISWS_APIC)	+= visws_apic.o
+ obj-$(CONFIG_CPU_EMU486)	+= emu.o
+ obj-$(CONFIG_EDD)             	+= edd.o

Deleted: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/142_acpi_skip_timer_override.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -1,219 +0,0 @@
-# origin: Zwane Mwaikambo (lkml), Edward Miller (debian-kernel)
-# inclusion: pending
-# descrition: [ACPI] skip_timer_override backport from 2.6 including early PCI bridge detection.
-# revision date: Thu, 24 Feb 2005 13:54:46 +0900
-#
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/02/18 07:53:21-07:00 zwane@montezuma.fsmlabs.com 
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# include/asm-x86_64/acpi.h
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +1 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# include/asm-i386/pci-direct.h
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +1 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# include/asm-i386/acpi.h
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +2 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# arch/x86_64/kernel/io_apic.c
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +7 -3
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# arch/x86_64/kernel/acpi.c
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +7 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# arch/i386/kernel/earlyquirk.c
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +53 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# arch/i386/kernel/acpi.c
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +9 -0
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-# arch/i386/kernel/Makefile
-#   2005/02/18 07:53:18-07:00 zwane@montezuma.fsmlabs.com +1 -1
-#   ACPI skip_timer_override backport from 2.6 including early PCI bridge detection.
-# 
-diff -Nru a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile
---- a/arch/i386/kernel/Makefile	2005-02-24 20:01:29.000000000 +0900
-+++ b/arch/i386/kernel/Makefile.noedit	2005-02-24 20:03:40.000000000 +0900
-@@ -36,7 +36,7 @@
- obj-$(CONFIG_X86_CPUID)		+= cpuid.o
- obj-$(CONFIG_MICROCODE)		+= microcode.o
- obj-$(CONFIG_APM)		+= apm.o
--obj-$(CONFIG_ACPI_BOOT)		+= acpi.o earlyquirk.o
-+obj-$(CONFIG_ACPI_BOOT)		+= acpi.o
- obj-$(CONFIG_ACPI_SLEEP)	+= acpi_wakeup.o
- obj-$(CONFIG_SMP)		+= smp.o smpboot.o trampoline.o
- obj-$(CONFIG_X86_LOCAL_APIC)	+= mpparse.o apic.o nmi.o
- 
-diff -Nru a/arch/i386/kernel/acpi.c b/arch/i386/kernel/acpi.c
---- a/arch/i386/kernel/acpi.c	2005-02-18 07:53:58 -07:00
-+++ b/arch/i386/kernel/acpi.c	2005-02-18 07:53:58 -07:00
-@@ -55,6 +55,7 @@
- 
- acpi_interrupt_flags acpi_sci_flags __initdata;
- int acpi_sci_override_gsi __initdata;
-+int acpi_skip_timer_override __initdata;
- /* --------------------------------------------------------------------------
-                               Boot-time Configuration
-    -------------------------------------------------------------------------- */
-@@ -320,6 +321,12 @@
- 		return 0;
- 	}
- 
-+	if (acpi_skip_timer_override &&
-+		intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
-+		printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
-+		return 0;
-+	}
-+
- 	mp_override_legacy_irq (
- 		intsrc->bus_irq,
- 		intsrc->flags.polarity,
-@@ -433,6 +440,8 @@
- 		return result;
- 	}
- 
-+	check_acpi_pci();
-+	
- 	result = acpi_blacklisted();
- 	if (result) {
- 		printk(KERN_NOTICE PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
-diff -Nru a/arch/i386/kernel/earlyquirk.c b/arch/i386/kernel/earlyquirk.c
---- a/arch/i386/kernel/earlyquirk.c	2005-02-18 07:53:58 -07:00
-+++ b/arch/i386/kernel/earlyquirk.c	2005-02-18 07:53:58 -07:00
-@@ -0,0 +1,53 @@
-+/* 
-+ * Do early PCI probing for bug detection when the main PCI subsystem is 
-+ * not up yet.
-+ */
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/pci.h>
-+#include <asm/pci-direct.h>
-+#include <asm/acpi.h>
-+
-+#ifdef CONFIG_ACPI
-+static int __init check_bridge(int vendor, int device) 
-+{
-+	/* According to Nvidia all timer overrides are bogus. Just ignore
-+	   them all. */
-+	if (vendor == PCI_VENDOR_ID_NVIDIA) { 
-+		acpi_skip_timer_override = 1; 		
-+	}
-+	return 0;
-+}
-+   
-+void __init check_acpi_pci(void) 
-+{ 
-+	int num,slot,func; 
-+
-+	/* Assume the machine supports type 1. If not it will 
-+	   always read ffffffff and should not have any side effect. */
-+
-+	/* Poor man's PCI discovery */
-+	for (num = 0; num < 32; num++) { 
-+		for (slot = 0; slot < 32; slot++) { 
-+			for (func = 0; func < 8; func++) { 
-+				u32 class;
-+				u32 vendor;
-+				class = read_pci_config(num,slot,func,
-+							PCI_CLASS_REVISION);
-+				if (class == 0xffffffff)
-+					break; 
-+
-+				if ((class >> 16) != PCI_CLASS_BRIDGE_PCI)
-+					continue; 
-+				
-+				vendor = read_pci_config(num, slot, func, 
-+							 PCI_VENDOR_ID);
-+				
-+				if (check_bridge(vendor&0xffff, vendor >> 16))
-+					return; 
-+			} 
-+			
-+		}
-+	}
-+}
-+#endif /* CONFIG_ACPI */
-diff -Nru a/arch/x86_64/kernel/acpi.c b/arch/x86_64/kernel/acpi.c
---- a/arch/x86_64/kernel/acpi.c	2005-02-18 07:53:58 -07:00
-+++ b/arch/x86_64/kernel/acpi.c	2005-02-18 07:53:58 -07:00
-@@ -53,6 +53,7 @@
- 
- acpi_interrupt_flags acpi_sci_flags __initdata;
- int acpi_sci_override_gsi __initdata;
-+int acpi_skip_timer_override __initdata;
- /* --------------------------------------------------------------------------
-                               Boot-time Configuration
-    -------------------------------------------------------------------------- */
-@@ -330,6 +331,12 @@
- 	if (intsrc->bus_irq == acpi_fadt.sci_int) {
- 		acpi_sci_ioapic_setup(intsrc->global_irq,
- 			intsrc->flags.polarity, intsrc->flags.trigger);
-+		return 0;
-+	}
-+
-+	if (acpi_skip_timer_override &&
-+		intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
-+		printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
- 		return 0;
- 	}
- 
-diff -Nru a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
---- a/arch/x86_64/kernel/io_apic.c	2005-02-18 07:53:58 -07:00
-+++ b/arch/x86_64/kernel/io_apic.c	2005-02-18 07:53:58 -07:00
-@@ -259,10 +259,14 @@
- 				case PCI_VENDOR_ID_VIA:
- 					return;
- 				case PCI_VENDOR_ID_NVIDIA: 
-+#ifdef CONFIG_ACPI
-+				/* All timer overrides on Nvidia
-+				   seem to be wrong. Skip them. */
-+					acpi_skip_timer_override = 1;
- 					printk(KERN_INFO 
--     "PCI bridge %02x:%02x from %x found. Setting \"noapic\". Overwrite with \"apic\"\n",
--					       num,slot,vendor); 
--					skip_ioapic_setup = 1;
-+			"Nvidia board detected. Ignoring ACPI timer override.\n");
-+#endif
-+					/* RED-PEN skip them on mptables too? */
- 					return;
- 				} 
- 
-diff -Nru a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h
---- a/include/asm-i386/acpi.h	2005-02-18 07:53:58 -07:00
-+++ b/include/asm-i386/acpi.h	2005-02-18 07:53:58 -07:00
-@@ -121,6 +121,8 @@
- extern int acpi_strict;
- extern int acpi_disabled;
- extern int acpi_ht;
-+extern int acpi_skip_timer_override;
-+void __init check_acpi_pci(void);
- static inline void disable_acpi(void) 
- { 
- 	acpi_disabled = 1;
-diff -Nru a/include/asm-i386/pci-direct.h b/include/asm-i386/pci-direct.h
---- a/include/asm-i386/pci-direct.h	2005-02-18 07:53:58 -07:00
-+++ b/include/asm-i386/pci-direct.h	2005-02-18 07:53:58 -07:00
-@@ -0,0 +1 @@
-+#include "asm-x86_64/pci-direct.h"
-diff -Nru a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h
---- a/include/asm-x86_64/acpi.h	2005-02-18 07:53:58 -07:00
-+++ b/include/asm-x86_64/acpi.h	2005-02-18 07:53:58 -07:00
-@@ -118,6 +118,7 @@
- extern int acpi_strict;
- extern int acpi_disabled;
- extern int acpi_ht;
-+extern int acpi_skip_timer_override;
- static inline void disable_acpi(void) 
- { 
- 	acpi_disabled = 1;

Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/154_cmsg_compat_signedness_fix.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/154_cmsg_compat_signedness_fix.diff	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/154_cmsg_compat_signedness_fix.diff	2005-03-24 06:54:56 UTC (rev 2807)
@@ -0,0 +1,149 @@
+# origin: okir (BitKeeper)
+# cset: 1.1521.1.39 (2.4) key=41e83b4apeFNk8VKyuGgYA-vmB8JEg
+# URL: http://linux.bkbits.net:8080/linux-2.4/cset@41e83b4apeFNk8VKyuGgYA-vmB8JEg
+# inclusion: upstream
+# descrition: [NET]: Fix CMSG32_OK macros.
+# revision date: Thu, 24 Mar 2005 11:05:35 +0900
+#
+# S rset: ChangeSet|1.1521.1.38..1.1521.1.39
+# I rset: arch/ppc64/kernel/sys_ppc32.c|1.10..1.10.1.1
+# I rset: include/asm-x86_64/socket32.h|1.2..1.2.1.1
+# I rset: arch/parisc/kernel/sys_parisc32.c|1.3..1.3.1.1
+# I rset: arch/ia64/ia32/sys_ia32.c|1.45..1.45.1.1
+# I rset: arch/mips64/kernel/linux32.c|1.16..1.16.1.1
+# I rset: arch/sparc64/kernel/sys_sparc32.c|1.35..1.35.1.1
+# I rset: arch/s390x/kernel/linux32.c|1.15..1.15.1.1
+#
+# Key:
+# S: Skipped  ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated  Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted  Manually deleted by subsequent user edit
+# R: Revised  Manually revised by subsequent user edit
+#
+#
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/14 13:36:10-08:00 okir@suse.de 
+#   [NET]: Fix CMSG32_OK macros.
+#   
+#   Needs to check cmsghdr32 not cmsghdr.
+#   
+#   Signed-off-by: David S. Miller <davem@davemloft.net>
+# 
+# include/asm-x86_64/socket32.h
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/sparc64/kernel/sys_sparc32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/s390x/kernel/linux32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/ppc64/kernel/sys_ppc32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/parisc/kernel/sys_parisc32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/mips64/kernel/linux32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+# arch/ia64/ia32/sys_ia32.c
+#   2005/01/14 13:35:40-08:00 okir@suse.de +1 -1
+#   [NET]: Fix CMSG32_OK macros.
+# 
+#
+===== arch/ppc64/kernel/sys_ppc32.c 1.10 vs 1.10.1.1 =====
+--- 1.10/arch/ppc64/kernel/sys_ppc32.c	2004-12-09 06:32:46 +09:00
++++ 1.10.1.1/arch/ppc64/kernel/sys_ppc32.c	2005-01-15 06:35:40 +09:00
+@@ -3274,7 +3274,7 @@ asmlinkage long sys32_setsockopt(int fd,
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== include/asm-x86_64/socket32.h 1.2 vs 1.2.1.1 =====
+--- 1.2/include/asm-x86_64/socket32.h	2004-12-09 06:32:46 +09:00
++++ 1.2.1.1/include/asm-x86_64/socket32.h	2005-01-15 06:35:40 +09:00
+@@ -46,7 +46,7 @@ struct cmsghdr32 {
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== arch/parisc/kernel/sys_parisc32.c 1.3 vs 1.3.1.1 =====
+--- 1.3/arch/parisc/kernel/sys_parisc32.c	2004-12-09 06:32:46 +09:00
++++ 1.3.1.1/arch/parisc/kernel/sys_parisc32.c	2005-01-15 06:35:40 +09:00
+@@ -1815,7 +1815,7 @@ struct cmsghdr32 {
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== arch/ia64/ia32/sys_ia32.c 1.45 vs 1.45.1.1 =====
+--- 1.45/arch/ia64/ia32/sys_ia32.c	2004-12-09 06:32:46 +09:00
++++ 1.45.1.1/arch/ia64/ia32/sys_ia32.c	2005-01-15 06:35:40 +09:00
+@@ -1370,7 +1370,7 @@ struct cmsghdr32 {
+ 	((len) >= sizeof(struct cmsghdr32) ? (struct cmsghdr32 *)(ctl) : (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== arch/mips64/kernel/linux32.c 1.16 vs 1.16.1.1 =====
+--- 1.16/arch/mips64/kernel/linux32.c	2004-12-09 06:32:46 +09:00
++++ 1.16.1.1/arch/mips64/kernel/linux32.c	2005-01-15 06:35:40 +09:00
+@@ -2484,7 +2484,7 @@ struct cmsghdr32 {
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== arch/sparc64/kernel/sys_sparc32.c 1.35 vs 1.35.1.1 =====
+--- 1.35/arch/sparc64/kernel/sys_sparc32.c	2004-12-09 06:32:46 +09:00
++++ 1.35.1.1/arch/sparc64/kernel/sys_sparc32.c	2005-01-15 06:35:40 +09:00
+@@ -2355,7 +2355,7 @@ struct cmsghdr32 {
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
+===== arch/s390x/kernel/linux32.c 1.15 vs 1.15.1.1 =====
+--- 1.15/arch/s390x/kernel/linux32.c	2004-12-09 06:32:46 +09:00
++++ 1.15.1.1/arch/s390x/kernel/linux32.c	2005-01-15 06:35:40 +09:00
+@@ -2307,7 +2307,7 @@ struct cmsghdr32 {
+ 				    (struct cmsghdr32 *)NULL)
+ #define CMSG32_FIRSTHDR(msg)	__CMSG32_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
+ #define CMSG32_OK(ucmlen, ucmsg, mhdr) \
+-	((ucmlen) >= sizeof(struct cmsghdr) && \
++	((ucmlen) >= sizeof(struct cmsghdr32) && \
+ 	 (ucmlen) <= (unsigned long) \
+ 	 ((mhdr)->msg_controllen - \
+ 	  ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))

Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-9
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-9	2005-03-24 06:52:12 UTC (rev 2806)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-9	2005-03-24 06:54:56 UTC (rev 2807)
@@ -6,7 +6,10 @@
 + 139_sparc_context_switch.diff
 + 140_VM_IO.diff
 + 141_acpi_pci_probe.diff
-+ 142_acpi_skip_timer_override.diff
++ 142_acpi_skip_timer_override-1.diff
++ 142_acpi_skip_timer_override-2.diff
++ 142_acpi_skip_timer_override-3.diff
++ 142_acpi_skip_timer_override-4.diff
 + 121_drm-locking-checks-3.diff
 + 143_outs.diff
 + 144_sparc64-sb1500-clock-2.4.diff
@@ -20,3 +23,4 @@
 + 151_atm_get_addr_signedness_fix.diff
 + 152_tty_copy_from_read_buf_signedness_fixes.diff
 + 153_ppp_async_dos.diff
++ 154_cmsg_compat_signedness_fix.diff