rpms/kernel/devel patch-2.6.30-rc3.bz2.sign, NONE, 1.1.2.2 rds-only-on-64-bit-or-x86.patch, NONE, 1.1.10.2 .cvsignore, 1.1014.2.9, 1.1014.2.10 Makefile, 1.97.6.3, 1.97.6.4 TODO, 1.54.6.5, 1.54.6.6 branch, 1.1.2.2, 1.1.2.3 config-arm, 1.2, 1.2.6.1 config-generic, 1.238.6.16, 1.238.6.17 config-ia64-generic, 1.21.6.2, 1.21.6.3 config-nodebug, 1.31.6.1, 1.31.6.2 config-powerpc-generic, 1.33.6.4, 1.33.6.5 config-powerpc64, 1.27.6.1, 1.27.6.2 config-s390x, 1.11.6.1, 1.11.6.2 config-sparc64-generic, 1.21.6.2, 1.21.6.3 config-sparc64-smp, 1.2.16.1, 1.2.16.2 config-x86-generic, 1.68.6.6, 1.68.6.7 config-x86_64-generic, 1.68.2.6, 1.68.2.7 drm-modesetting-radeon.patch, 1.54.6.8, 1.54.6.9 drm-next.patch, 1.6.6.6, 1.6.6.7 drm-nouveau.patch, 1.8.6.9, 1.8.6.10 kernel.spec, 1.1294.2.20, 1.1294.2.21 linux-2.6-defaults-pci_no_msi.patch, 1.4, 1.4.6.1 linux-2.6-execshield.patch, 1.102.6.1, 1.102.6.2 linux-2.6-tracehook.patch, 1.8.6.2, 1.8.6.3 linux-2.6-utrace.patch, 1.107.6.1, 1.107.6.2 linux-2.6-v4l-dvb-fixes.patch, 1.2.8.8, 1.2.8.9 sources, 1.976.2.10, 1.976.2.11 upstream, 1.888.2.9, 1.888.2.10 xen.pvops.patch, 1.1.2.16, 1.1.2.17 xen.pvops.post.patch, 1.1.2.10, 1.1.2.11 xen.pvops.pre.patch, 1.1.2.9, 1.1.2.10 alsa-dont-reset-stream-at-each-prepare-callb.patch, 1.1.2.1, NONE alsa-hda-dont-reset-BDL-unnecessarily.patch, 1.1.2.1, NONE alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch, 1.1.2.1, NONE alsa-pcm-always-reset-invalid-position.patch, 1.1.2.2, NONE alsa-pcm-fix-delta-calc-at-overlap.patch, 1.1.2.2, NONE alsa-pcm-midlevel-add-more-strict-buffer-position.patch, 1.1.2.1, NONE alsa-pcm-safer-boundary-checks.patch, 1.1.2.2, NONE alsa-rewrite-hw_ptr-updaters.patch, 1.1.2.2, NONE drm-intel-gen3-fb-hack.patch, 1.1.2.1, NONE drm-intel-lying-systems-without-lvds.patch, 1.1.2.1, NONE linux-2.6-acer-wmi-bail-on-aao.patch, 1.1.2.1, NONE linux-2.6-acpi-strict-resources.patch, 1.1, NONE linux-2.6-acpi-video-didl-intel-outputs.patch, 1.1.2.4, NONE linux-2.6-add-qcserial.patch, 1.1.2.1, NONE linux-2.6-btrfs-fix-umount-hang.patch, 1.2.2.2, NONE linux-2.6-dma-debug-fixes.patch, 1.1.2.1, NONE linux-2.6-dropwatch-protocol.patch, 1.1.2.2, NONE linux-2.6-e820-acpi3-bios-workaround.patch, 1.1.2.1, NONE linux-2.6-e820-guard-against-pre-acpi3.patch, 1.1.2.1, NONE linux-2.6-e820-mark-esi-clobbered.patch, 1.1.2.1, NONE linux-2.6-e820-save-restore-edi-ebp.patch, 1.1.2.1, NONE linux-2.6-ext4-flush-on-close.patch, 1.1.2.2, NONE linux-2.6-ext4-really-print-warning-once.patch, 1.1.2.1, NONE linux-2.6-fiemap-header-install.patch, 1.2.2.2, NONE linux-2.6-hwmon-atk0110.patch, 1.2, NONE linux-2.6-input-hid-extra-gamepad.patch, 1.1.2.2, NONE linux-2.6-input-wacom-bluetooth.patch, 1.1.2.1, NONE linux-2.6-iommu-fixes.patch, 1.1.2.1, NONE linux-2.6-ipw2x00-age-scan-results-on-resume.patch, 1.1.10.2, NONE linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch, 1.1.2.1, NONE linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch, 1.1.2.1, NONE linux-2.6-kvm-kconfig-irqchip.patch, 1.1.2.1, NONE linux-2.6-kvm-mask-notifiers.patch, 1.1.2.1, NONE linux-2.6-kvm-reset-pit-irq-on-unmask.patch, 1.1.2.1, NONE linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch, 1.1.2.1, NONE linux-2.6-mm-define-unique-value-for-as_unevictable.patch, 1.1.2.1, NONE linux-2.6-net-fix-another-gro-bug.patch, 1.1.2.2, NONE linux-2.6-pci-sysfs-remove-id.patch, 1.1.6.2, NONE linux-2.6-posix-timers-fix-clock-monotonicity.patch, 1.1.2.1, NONE linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch, 1.1.2.1, NONE linux-2.6-posix-timers-fix-rlimit_cpu-fork.patch, 1.1.2.1, NONE linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch, 1.1.2.1, NONE linux-2.6-relatime-by-default.patch, 1.1.2.2, NONE linux-2.6-scsi-cpqarray-set-master.patch, 1.1, NONE linux-2.6-shut-up-efifb.patch, 1.1.2.1, NONE linux-2.6-sony-laptop-rfkill.patch, 1.2.6.3, NONE linux-2.6-usb-cdc-acm-remove-low-latency-flag.patch, 1.1.2.1, NONE linux-2.6-utrace-ftrace.patch, 1.2.6.2, NONE linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch, 1.1.2.1, NONE linux-2.6-v4l-pvrusb2-fixes.patch, 1.1.2.2, NONE linux-2.6.29-alsa-update-quirks.patch, 1.1.2.1, NONE linux-2.6.29.1-sparc-regression.patch, 1.1.2.1, NONE patch-2.6.29.1.bz2.sign, 1.1.2.1, NONE revert-fix-modules_install-via-nfs.patch, 1.1, NONE squashfs-broken-when-pagesize-greater-than-blocksize.patch, 1.1.2.1, NONE

Michael Young myoung at fedoraproject.org
Fri Apr 24 22:28:18 UTC 2009


Author: myoung

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7735

Modified Files:
      Tag: private-myoung-dom0-branch
	.cvsignore Makefile TODO branch config-arm config-generic 
	config-ia64-generic config-nodebug config-powerpc-generic 
	config-powerpc64 config-s390x config-sparc64-generic 
	config-sparc64-smp config-x86-generic config-x86_64-generic 
	drm-modesetting-radeon.patch drm-next.patch drm-nouveau.patch 
	kernel.spec linux-2.6-defaults-pci_no_msi.patch 
	linux-2.6-execshield.patch linux-2.6-tracehook.patch 
	linux-2.6-utrace.patch linux-2.6-v4l-dvb-fixes.patch sources 
	upstream xen.pvops.patch xen.pvops.post.patch 
	xen.pvops.pre.patch 
Added Files:
      Tag: private-myoung-dom0-branch
	patch-2.6.30-rc3.bz2.sign rds-only-on-64-bit-or-x86.patch 
Removed Files:
      Tag: private-myoung-dom0-branch
	alsa-dont-reset-stream-at-each-prepare-callb.patch 
	alsa-hda-dont-reset-BDL-unnecessarily.patch 
	alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch 
	alsa-pcm-always-reset-invalid-position.patch 
	alsa-pcm-fix-delta-calc-at-overlap.patch 
	alsa-pcm-midlevel-add-more-strict-buffer-position.patch 
	alsa-pcm-safer-boundary-checks.patch 
	alsa-rewrite-hw_ptr-updaters.patch 
	drm-intel-gen3-fb-hack.patch 
	drm-intel-lying-systems-without-lvds.patch 
	linux-2.6-acer-wmi-bail-on-aao.patch 
	linux-2.6-acpi-strict-resources.patch 
	linux-2.6-acpi-video-didl-intel-outputs.patch 
	linux-2.6-add-qcserial.patch 
	linux-2.6-btrfs-fix-umount-hang.patch 
	linux-2.6-dma-debug-fixes.patch 
	linux-2.6-dropwatch-protocol.patch 
	linux-2.6-e820-acpi3-bios-workaround.patch 
	linux-2.6-e820-guard-against-pre-acpi3.patch 
	linux-2.6-e820-mark-esi-clobbered.patch 
	linux-2.6-e820-save-restore-edi-ebp.patch 
	linux-2.6-ext4-flush-on-close.patch 
	linux-2.6-ext4-really-print-warning-once.patch 
	linux-2.6-fiemap-header-install.patch 
	linux-2.6-hwmon-atk0110.patch 
	linux-2.6-input-hid-extra-gamepad.patch 
	linux-2.6-input-wacom-bluetooth.patch 
	linux-2.6-iommu-fixes.patch 
	linux-2.6-ipw2x00-age-scan-results-on-resume.patch 
	linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch 
	linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch 
	linux-2.6-kvm-kconfig-irqchip.patch 
	linux-2.6-kvm-mask-notifiers.patch 
	linux-2.6-kvm-reset-pit-irq-on-unmask.patch 
	linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch 
	linux-2.6-mm-define-unique-value-for-as_unevictable.patch 
	linux-2.6-net-fix-another-gro-bug.patch 
	linux-2.6-pci-sysfs-remove-id.patch 
	linux-2.6-posix-timers-fix-clock-monotonicity.patch 
	linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch 
	linux-2.6-posix-timers-fix-rlimit_cpu-fork.patch 
	linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch 
	linux-2.6-relatime-by-default.patch 
	linux-2.6-scsi-cpqarray-set-master.patch 
	linux-2.6-shut-up-efifb.patch 
	linux-2.6-sony-laptop-rfkill.patch 
	linux-2.6-usb-cdc-acm-remove-low-latency-flag.patch 
	linux-2.6-utrace-ftrace.patch 
	linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch 
	linux-2.6-v4l-pvrusb2-fixes.patch 
	linux-2.6.29-alsa-update-quirks.patch 
	linux-2.6.29.1-sparc-regression.patch patch-2.6.29.1.bz2.sign 
	revert-fix-modules_install-via-nfs.patch 
	squashfs-broken-when-pagesize-greater-than-blocksize.patch 
Log Message:
switch to xen-tip/next pvops patch and back to devel Fedora kernel branch



--- NEW FILE patch-2.6.30-rc3.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJ7o+uyGugalF9Dw4RAtIiAJ9Q2FF0AUuE9wb5RVl3ZJRWHxiO4QCfYA6K
EEF3jM6hOhIw5XNsajDXYns=
=i1E9
-----END PGP SIGNATURE-----

rds-only-on-64-bit-or-x86.patch:

--- NEW FILE rds-only-on-64-bit-or-x86.patch ---
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 796773b..29811ac 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -1,7 +1,7 @@
 
 config RDS
 	tristate "Reliable Datagram Sockets (RDS) (EXPERIMENTAL)"
-	depends on INET && INFINIBAND_IPOIB && EXPERIMENTAL
+	depends on INET && INFINIBAND_IPOIB && EXPERIMENTAL && (X86 || 64BIT)
 	depends on INFINIBAND && INFINIBAND_ADDR_TRANS
 	---help---
 	  RDS provides reliable, sequenced delivery of datagrams


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.1014.2.9
retrieving revision 1.1014.2.10
diff -u -r1.1014.2.9 -r1.1014.2.10
--- .cvsignore	14 Apr 2009 22:09:05 -0000	1.1014.2.9
+++ .cvsignore	24 Apr 2009 22:27:02 -0000	1.1014.2.10
@@ -5,4 +5,5 @@
 temp-*
 kernel-2.6.29
 linux-2.6.29.tar.bz2
-patch-2.6.29.1.bz2
+patch-2.6.29-git15.bz2
+patch-2.6.30-rc3.bz2


Index: Makefile
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Makefile,v
retrieving revision 1.97.6.3
retrieving revision 1.97.6.4
diff -u -r1.97.6.3 -r1.97.6.4
--- Makefile	14 Apr 2009 22:09:05 -0000	1.97.6.3
+++ Makefile	24 Apr 2009 22:27:03 -0000	1.97.6.4
@@ -71,6 +71,7 @@
 	@perl -pi -e 's/# CONFIG_B43_DEBUG is not set/CONFIG_B43_DEBUG=y/' config-generic
 	@perl -pi -e 's/# CONFIG_B43LEGACY_DEBUG is not set/CONFIG_B43LEGACY_DEBUG=y/' config-generic
 	@perl -pi -e 's/# CONFIG_MMIOTRACE is not set/CONFIG_MMIOTRACE=y/' config-nodebug
+	@perl -pi -e 's/CONFIG_STRIP_ASM_SYMS=y/# CONFIG_STRIP_ASM_SYMS is not set/' config-nodebug
 
 	@# just in case we're going from extremedebug -> debug
 	@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
@@ -116,6 +117,7 @@
 	@perl -pi -e 's/CONFIG_B43_DEBUG=y/# CONFIG_B43_DEBUG is not set/' config-generic
 	@perl -pi -e 's/CONFIG_B43LEGACY_DEBUG=y/# CONFIG_B43LEGACY_DEBUG is not set/' config-generic
 	@perl -pi -e 's/CONFIG_MMIOTRACE=y/# CONFIG_MMIOTRACE is not set/' config-nodebug
+	@perl -pi -e 's/# CONFIG_STRIP_ASM_SYMS is not set/CONFIG_STRIP_ASM_SYMS=y/' config-nodebug
 
 	@perl -pi -e 's/CONFIG_NR_CPUS=512/CONFIG_NR_CPUS=64/' config-x86_64-generic
 


Index: TODO
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/TODO,v
retrieving revision 1.54.6.5
retrieving revision 1.54.6.6
diff -u -r1.54.6.5 -r1.54.6.6
--- TODO	14 Apr 2009 22:09:06 -0000	1.54.6.5
+++ TODO	24 Apr 2009 22:27:03 -0000	1.54.6.6
@@ -20,9 +20,6 @@
 * linux-2.6-debug-vm-would-have-oomkilled.patch
 	Push for 2.6.29
 
-* linux-2.6-scsi-cpqarray-set-master.patch
-	Queued for 2.6.30 by Jens Axboe
-
 * linux-2.6-cdrom-door-status.patch
 	Getting some testing here before I go back to upstream with more
 	data.  See the thread at:
@@ -32,6 +29,10 @@
 * linux-2.6-hotfixes.patch
 	Empty
 
+* linux-2.6-crash-driver.patch
+	Unlikely to go upstream.
+	https://bugzilla.redhat.com/show_bug.cgi?id=492803
+
 * linux-2.6-debug-always-inline-kzalloc.patch
 	Sent upstream Sep 25 2008
 
@@ -67,13 +68,6 @@
 * linux-2.6-sysrq-c.patch
 	jarod working on upstreaming
 
-* drm-intel-lying-systems-without-lvds.patch
-	will be used as a fallback for 2.6.30 if vbios probing doesn't
-	pan out in time, may go to 2.6.29.x at some point (jarod's doing)
-* linux-2.6-acer-wmi-bail-on-aao.patch
-	suck. something similar-but-less-pretty merged upstream on 20090304,
-	a day after I (jarod) wrote my version... Headed to stable too.
-
 * linux-2.6-silence-acpi-blacklist.patch
 * linux-2.6-silence-fbcon-logo.patch
 * linux-2.6-silence-noise.patch
@@ -89,24 +83,3 @@
 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=126403
 	http://lkml.org/lkml/2006/8/2/208
 
-* linux-2.6-net-tulip-interrupt.patch
-	Queued by DaveM for next release.
-
-* linux-2.6-pci-sysfs-remove-id.patch
-        In jbarnes linux-next tree for 2.6.30
-        Need for KVM PCI device assignment
-        https://bugzilla.redhat.com/487103
-
-* linux-2.6-net-fix-another-gro-bug.patch:
-        virtio_net guest->remote GSO busted with 2.6.29 host
-        https://bugzilla.redhat.com/490266
-        Should be in 2.6.29.1
-
-* linux-2.6-kvm-kconfig-irqchip.patch
-  linux-2.6-kvm-mask-notifiers.patch
-  linux-2.6-kvm-reset-pit-irq-on-unmask.patch
-	Unable to run RHEL-5 Xen within KVM guest
-	https://bugzilla.redhat.com/show_bug.cgi?id=491625
-	Should be in 2.6.29.2
-
-


Index: branch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/branch,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- branch	14 Apr 2009 22:09:07 -0000	1.1.2.2
+++ branch	24 Apr 2009 22:27:04 -0000	1.1.2.3
@@ -1 +1 @@
-F-11
+devel


Index: config-arm
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-arm,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- config-arm	26 Jan 2009 20:24:02 -0000	1.2
+++ config-arm	24 Apr 2009 22:27:04 -0000	1.2.6.1
@@ -8,6 +8,8 @@
 CONFIG_ARCH_VERSATILE_PB=y
 CONFIG_MACH_VERSATILE_AB=y
 
+CONFIG_HIGHMEM=y
+
 # CONFIG_CPU_ICACHE_DISABLE is not set
 # CONFIG_CPU_DCACHE_DISABLE is not set
 # CONFIG_CPU_DCACHE_WRITETHROUGH is not set
@@ -91,3 +93,5 @@
 # CONFIG_DEBUG_USER is not set
 # CONFIG_DEBUG_ERRORS is not set
 # CONFIG_DEBUG_LL is not set
+
+CONFIG_ARM_UNWIND=y


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.238.6.16
retrieving revision 1.238.6.17
diff -u -r1.238.6.16 -r1.238.6.17
--- config-generic	14 Apr 2009 22:09:07 -0000	1.238.6.16
+++ config-generic	24 Apr 2009 22:27:04 -0000	1.238.6.17
@@ -11,11 +11,12 @@
 #
 CONFIG_EXPERIMENTAL=y
 CONFIG_HOTPLUG=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_UEVENT_HELPER_PATH=""
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
 CONFIG_BUILD_DOCSRC=y
+CONFIG_DYNAMIC_DEBUG=y
 
 #
 # General setup
@@ -78,6 +79,7 @@
 CONFIG_PCI=y
 # CONFIG_PCI_DEBUG is not set
 CONFIG_PCI_STUB=y
+CONFIG_PCI_IOV=y
 CONFIG_HT_IRQ=y
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_DEFAULT_ON=y
@@ -515,6 +517,15 @@
 CONFIG_MEGARAID_MAILBOX=m
 CONFIG_MEGARAID_LEGACY=m
 CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MVSAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT2SAS_LOGGING=y
+
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
 
 CONFIG_ATA=y
 CONFIG_ATA_SFF=y
@@ -786,6 +797,9 @@
 CONFIG_IPV6_MROUTE=y
 CONFIG_IPV6_PIMSM_V2=y
 
+CONFIG_RDS=m
+# CONFIG_RDS_DEBUG is not set
+
 CONFIG_NET_9P=m
 CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
@@ -816,6 +830,7 @@
 CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
 CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
 CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
 CONFIG_NETFILTER_XT_MATCH_COMMENT=m
 CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
 CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
@@ -846,6 +861,8 @@
 CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
 CONFIG_NETFILTER_XT_MATCH_TIME=m
 CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
 
 # CONFIG_NETFILTER_DEBUG is not set
 CONFIG_BRIDGE_NETFILTER=y
@@ -1071,6 +1088,9 @@
 CONFIG_NET_DROP_MONITOR=y
 CONFIG_NETDEVICES=y
 
+# disable later --kyle
+CONFIG_COMPAT_NET_DEV_OPS=y
+
 #
 # ARCnet devices
 #
@@ -1231,6 +1251,7 @@
 CONFIG_DE620=m
 CONFIG_CASSINI=m
 # CONFIG_FEC_8XX is not set
+CONFIG_ETHOC=m
 
 #
 # Ethernet (1000 Mbit)
@@ -1245,6 +1266,7 @@
 CONFIG_IGB=m
 # CONFIG_IGB_LRO is not set
 CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
 CONFIG_NS83820=m
 CONFIG_HAMACHI=m
 CONFIG_YELLOWFIN=m
@@ -1278,6 +1300,8 @@
 CONFIG_NIU=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
 CONFIG_TEHUTI=m
 CONFIG_ENIC=m
 CONFIG_MLX4_EN=m
@@ -1360,16 +1384,17 @@
 CONFIG_ATH5K_DEBUG=y
 CONFIG_ATH9K=m
 # CONFIG_ATH9K_DEBUG is not set
+CONFIG_AT76C50X_USB=m
 CONFIG_AIRO=m
 CONFIG_AIRO_CS=m
 CONFIG_ATMEL=m
 # CONFIG_BCM43XX is not set
 CONFIG_B43=m
 CONFIG_B43_PCMCIA=y
-# CONFIG_B43_DEBUG is not set
+CONFIG_B43_DEBUG=y
 # CONFIG_B43_FORCE_PIO is not set
 CONFIG_B43LEGACY=m
-# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DEBUG=y
 CONFIG_B43LEGACY_DMA=y
 CONFIG_B43LEGACY_PIO=y
 CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
@@ -1395,16 +1420,14 @@
 CONFIG_LIBERTAS_DEBUG=y
 CONFIG_LIBERTAS_THINFIRM=m
 CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_IWLCORE=m
-CONFIG_IWLCORE_RFKILL=y
+CONFIG_IWLWIFI=m
 CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLWIFI_RUN_TIME_CALIB=y
 CONFIG_IWLWIFI_DEBUG=y
 CONFIG_IWLWIFI_DEBUGFS=y
 CONFIG_IWLWIFI_RFKILL=y
+CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
 CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
 CONFIG_IWL4965=y
 CONFIG_IWL5000=y
 CONFIG_IWL5000_RUN_TIME_CALIB=y
@@ -1421,6 +1444,7 @@
 CONFIG_PCI_HERMES=m
 CONFIG_PLX_HERMES=m
 CONFIG_PCI_ATMEL=m
+CONFIG_MWL8K=m
 CONFIG_PRISM54=m
 CONFIG_PCMCIA_HERMES=m
 CONFIG_PCMCIA_SPECTRUM=m
@@ -1449,7 +1473,7 @@
 CONFIG_USB_NET_RNDIS_WLAN=m
 CONFIG_ZD1211RW=m
 # CONFIG_ZD1211RW_DEBUG is not set
-
+CONFIG_AR9170_USB=m
 
 #
 # Token Ring devices
@@ -1811,6 +1835,7 @@
 CONFIG_TOUCHSCREEN_MK712=m
 CONFIG_TOUCHSCREEN_PENMOUNT=m
 CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
 CONFIG_TOUCHSCREEN_TOUCHIT213=m
 CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
 CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -1990,6 +2015,7 @@
 CONFIG_SENSORS_F71882FG=m
 CONFIG_SENSORS_F75375S=m
 CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
 CONFIG_SENSORS_GL518SM=m
 CONFIG_SENSORS_GL520SM=m
 CONFIG_SENSORS_HDAPS=m
@@ -2020,6 +2046,7 @@
 CONFIG_SENSORS_PCA9539=m
 CONFIG_SENSORS_PCF8574=m
 CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SIS5595=m
 CONFIG_SENSORS_SMSC47M1=m
 CONFIG_SENSORS_SMSC47M192=m
@@ -2037,6 +2064,8 @@
 CONFIG_SENSORS_W83791D=m
 CONFIG_SENSORS_W83792D=m
 CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LM95241=m
 
 CONFIG_W1=m
 CONFIG_W1_CON=y
@@ -2107,6 +2136,7 @@
 CONFIG_WM8350_WATCHDOG=m
 
 CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
 # CONFIG_NVRAM is not set
 # CONFIG_RTC is not set
 # CONFIG_RTC_DEBUG is not set
@@ -2283,6 +2313,7 @@
 #
 CONFIG_DVB_CAPTURE_DRIVERS=y
 CONFIG_DVB_CORE=m
+CONFIG_DVB_DYNAMIC_MINORS=y
 
 # CONFIG_DVB_FE_CUSTOMISE is not set
 
@@ -2300,7 +2331,12 @@
 CONFIG_DVB_USB_ANYSEE=m
 CONFIG_DVB_USB_DW2102=m
 CONFIG_DVB_DM1105=m
-CONFIG_DVB_DYNAMIC_MINORS=y
+CONFIG_DVB_DRX397XD=m
+CONFIG_DVB_LGDT3304=m
+CONFIG_DVB_S921=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_LGS8GL5=m
+CONFIG_DVB_DUMMY_FE=m
 
 #
 # Supported SAA7146 based PCI Adapters
@@ -2342,6 +2378,7 @@
 CONFIG_DVB_USB_GP8PSK=m
 CONFIG_DVB_USB_M920X=m
 CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_CE6230=m
 CONFIG_DVB_USB_OPERA1=m
 CONFIG_DVB_USB_TTUSB2=m
 CONFIG_DVB_USB_UMT_010=m
@@ -2351,7 +2388,6 @@
 CONFIG_VIDEO_SAA7146=m
 CONFIG_VIDEO_SAA7146_VV=m
 CONFIG_VIDEO_TUNER=m
-CONFIG_DVB_USB_CE6230=m
 # CONFIG_VIDEO_TUNER_CUSTOMISE is not set
 CONFIG_VIDEO_BTCX=m
 CONFIG_VIDEO_PVRUSB2=m
@@ -2372,6 +2408,7 @@
 # CONFIG_FB_FOREIGN_ENDIAN is not set
 CONFIG_FB_3DFX=m
 CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
 # CONFIG_FB_ARC is not set
 # CONFIG_FB_ARK is not set
 CONFIG_FB_ATY128=m
@@ -2443,6 +2480,7 @@
 CONFIG_FB_MB862XX_LIME=y
 # CONFIG_FB_PRE_INIT_FB is not set
 # CONFIG_FB_TMIO is not set
+# CONFIG_FB_BROADSHEET is not set
 
 # CONFIG_FIRMWARE_EDID is not set
 
@@ -2512,6 +2550,8 @@
 #
 CONFIG_SND_AD1889=m
 # CONFIG_SND_WAVEFRONT is not set
+# CONFIG_SND_MSND_PINNACLE is not set
+# CONFIG_SND_MSND_CLASSIC is not set
 
 #
 # PCI devices
@@ -2560,7 +2600,7 @@
 CONFIG_SND_HDA_CODEC_NVHDMI=y
 CONFIG_SND_HDA_GENERIC=y
 CONFIG_SND_HDA_POWER_SAVE=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=5
 CONFIG_SND_HDA_RECONFIG=y
 CONFIG_SND_HDSPM=m
 CONFIG_SND_HIFIER=m
@@ -2695,10 +2735,10 @@
 CONFIG_LOGIRUMBLEPAD2_FF=y
 CONFIG_PANTHERLORD_FF=y
 CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=y
 CONFIG_ZEROPLUS_FF=y
 CONFIG_USB_HIDDEV=y
 CONFIG_USB_IDMOUSE=m
+CONFIG_DRAGONRISE_FF=m
 
 #
 # USB Imaging devices
@@ -2814,6 +2854,9 @@
 CONFIG_USB_SERIAL_CYPRESS_M8=m
 CONFIG_USB_SERIAL_CYBERJACK=m
 CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SYMBOL=m
 CONFIG_USB_SERIAL_EDGEPORT=m
 CONFIG_USB_SERIAL_EDGEPORT_TI=m
 CONFIG_USB_SERIAL_EMPEG=m
@@ -2855,7 +2898,6 @@
 CONFIG_USB_SERIAL_SAFE_PADDED=y
 CONFIG_USB_SERIAL_SIERRAWIRELESS=m
 CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_QUALCOMM=m
 CONFIG_USB_SERIAL_SPCP8X5=m
 CONFIG_USB_SERIAL_TI=m
 CONFIG_USB_SERIAL_VISOR=m
@@ -2945,6 +2987,7 @@
 CONFIG_PCF50633_ADC=m
 CONFIG_PCF50633_GPIO=m
 CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
 CONFIG_CHARGER_PCF50633=m
 CONFIG_REGULATOR_PCF50633=m
 CONFIG_RTC_DRV_PCF50633=m
@@ -2967,6 +3010,7 @@
 CONFIG_EXT2_FS_SECURITY=y
 CONFIG_EXT2_FS_XIP=y
 CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y
@@ -3009,6 +3053,18 @@
 # Autofsv3 is obsolete.
 # CONFIG_AUTOFS_FS is not set
 CONFIG_AUTOFS4_FS=m
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
 
 #
 # CD-ROM/DVD Filesystems
@@ -3033,6 +3089,7 @@
 #
 CONFIG_PROC_FS=y
 CONFIG_PROC_KCORE=y
+CONFIG_PROC_VMCORE=y
 CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_HUGETLBFS=y
@@ -3089,6 +3146,7 @@
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 CONFIG_NFSD_TCP=y
+CONFIG_NFS_FSCACHE=y
 CONFIG_LOCKD=m
 CONFIG_LOCKD_V4=y
 CONFIG_EXPORTFS=m
@@ -3142,8 +3200,7 @@
 CONFIG_DLM=m
 CONFIG_DLM_DEBUG=y
 CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_NOLOCK=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
 
 CONFIG_UBIFS_FS=m
 CONFIG_UBIFS_FS_XATTR=y
@@ -3283,6 +3340,7 @@
 CONFIG_SECURITY_SELINUX_AVC_STATS=y
 CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
 # CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
 CONFIG_AUDIT=y
 CONFIG_AUDITSYSCALL=y
 
@@ -3294,7 +3352,6 @@
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_BLKCIPHER=y
 CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
 # CONFIG_CRYPTO_CRYPTD is not set
 CONFIG_CRYPTO_AES=m
 CONFIG_CRYPTO_ARC4=m
@@ -3361,6 +3418,7 @@
 CONFIG_CRC_ITU_T=m
 CONFIG_CRC_T10DIF=m
 
+CONFIG_CRYPTO_ZLIB=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
 
@@ -3414,6 +3472,8 @@
 
 CONFIG_DETECT_SOFTLOCKUP=y
 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
 
 CONFIG_KEXEC=y
 
@@ -3431,7 +3491,7 @@
 CONFIG_PM_DEBUG=y
 CONFIG_PM_TRACE=y
 # CONFIG_PM_VERBOSE is not set
-# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_TEST_SUSPEND=y
 
 ## BEGIN ISA Junk.
 
@@ -3457,7 +3517,6 @@
 # CONFIG_SCSI_T128 is not set
 # CONFIG_SCSI_U14_34F is not set
 # CONFIG_SCSI_ULTRASTOR is not set
-CONFIG_SCSI_MVSAS=m
 
 # CONFIG_EL1 is not set
 # CONFIG_EL2 is not set
@@ -3585,6 +3644,8 @@
 CONFIG_SND_INDIGO=m
 CONFIG_SND_INDIGOIO=m
 CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
 # CONFIG_SND_SOC is not set
 
 ## END of ISA options.
@@ -3602,6 +3663,8 @@
 # CONFIG_LEDS_NET48XX is not set
 # CONFIG_LEDS_PCA9532 is not set
 # CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_BD2802 is not set
 # CONFIG_LEDS_S3C24XX is not set
 # CONFIG_LEDS_SPITZ is not set
 # CONFIG_LEDS_TOSA is not set
@@ -3619,6 +3682,7 @@
 CONFIG_DMA_ENGINE=y
 CONFIG_NET_DMA=y
 # CONFIG_DMATEST is not set
+CONFIG_ASYNC_TX_DMA=y
 
 CONFIG_UNUSED_SYMBOLS=y
 
@@ -3629,6 +3693,10 @@
 CONFIG_SCHED_TRACER=y
 CONFIG_PROCESS_TRACER=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_WORKQUEUE_TRACER=y
+CONFIG_EVENT_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_KMEMTRACE=y
 CONFIG_DYNAMIC_FTRACE=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_FTRACE_STARTUP_TEST is not set
@@ -3666,6 +3734,7 @@
 CONFIG_UIO_SMX=m
 CONFIG_UIO_PDRV=m
 CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
 CONFIG_UIO_SERCOS3=m
 
 CONFIG_INSTRUMENTATION=y
@@ -3723,6 +3792,7 @@
 
 # CONFIG_INTEL_MENLOW is not set
 CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_ISL29003=m
 CONFIG_IPWIRELESS=m
 CONFIG_RTC_DRV_DS1511=m
 CONFIG_CGROUP_MEM_CONT=y
@@ -3781,6 +3851,7 @@
 
 CONFIG_REGULATOR=y
 # CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
 # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
 CONFIG_REGULATOR_BQ24022=m
 CONFIG_REGULATOR_WM8350=m
@@ -3831,6 +3902,16 @@
 # CONFIG_INPUT_MIMIO is not set
 # CONFIG_TRANZPORT is not set
 # CONFIG_EPL is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_USB_SERIAL_ATEN2011 is not set
+# CONFIG_B3DFG is not set
+# CONFIG_DST is not set
+# CONFIG_IDE_PHISON is not set
+# CONFIG_PLAN9AUTH is not set
+# CONFIG_HECI is not set
+# CONFIG_LINE6_USB is not set
+# CONFIG_USB_SERIAL_QUATECH_ESU100 is not set
+# CONFIG_RT3070 is not set
 
 #
 # Android
@@ -3847,7 +3928,7 @@
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 CONFIG_FUNCTION_TRACER=y
 # CONFIG_FUNCTION_GRAPH_TRACER is not set
-# CONFIG_BOOT_TRACER is not set
+CONFIG_BOOT_TRACER=y
 CONFIG_STACK_TRACER=y
 # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
 CONFIG_EARLY_PRINTK_DBGP=y
@@ -3856,37 +3937,38 @@
 
 CONFIG_SCSI_CXGB3_ISCSI=m
 CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
 CONFIG_FCOE=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
 
+CONFIG_NOP_USB_XCEIV=m
+
+# CONFIG_IMA is not set
+
+# CONFIG_PAGE_POISONING is not set
+
+CONFIG_SLOW_WORK=y
+
 # CONFIG_CRASH_DUMP is not set
 # CONFIG_CRASH is not set
 
+CONFIG_STRIP_ASM_SYMS=y
+
 #
 # added for xen pvops patch
 #
 # CONFIG_PERF_COUNTERS is not set
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-# CONFIG_X86_VSMP is not set
-# CONFIG_X86_UV is not set
 CONFIG_XEN_DOM0=y
 CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_ALLOW_WARNINGS=y
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-# CONFIG_KMEMTRACE is not set
-# CONFIG_WORKQUEUE_TRACER is not set
 CONFIG_XEN_BACKEND=y
 CONFIG_XEN_BLKDEV_BACKEND=y
 CONFIG_XEN_NETDEV_BACKEND=y
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_X86_X2APIC is not set
 CONFIG_RD_GZIP=y
 # CONFIG_RD_BZIP2 is not set
 # CONFIG_RD_LZMA is not set
 # CONFIG_XEN_GNTDEV is not set
-# CONFIG_EVENT_TRACER is not set
 CONFIG_XEN_SYS_HYPERVISOR=y
-# CONFIG_X86_CPU_DEBUG is not set
-# CONFIG_KEXEC_JUMP is not set
-# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_ENABLE_EVENT_TRACING is not set
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_CLASSIC_RCU=y


Index: config-ia64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-ia64-generic,v
retrieving revision 1.21.6.2
retrieving revision 1.21.6.3
diff -u -r1.21.6.2 -r1.21.6.3
--- config-ia64-generic	12 Mar 2009 20:38:55 -0000	1.21.6.2
+++ config-ia64-generic	24 Apr 2009 22:27:04 -0000	1.21.6.3
@@ -70,6 +70,7 @@
 # CONFIG_HW_RANDOM is not set
 # CONFIG_GEN_RTC is not set
 CONFIG_EFI_RTC=y
+CONFIG_RTC_DRV_EFI=y
 
 
 #
@@ -203,9 +204,6 @@
 
 CONFIG_HP_ILO=m
 
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
-
 CONFIG_PARAVIRT_GUEST=y
 CONFIG_PARAVIRT=y
 


Index: config-nodebug
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-nodebug,v
retrieving revision 1.31.6.1
retrieving revision 1.31.6.2
diff -u -r1.31.6.1 -r1.31.6.2
--- config-nodebug	14 Apr 2009 22:09:07 -0000	1.31.6.1
+++ config-nodebug	24 Apr 2009 22:27:04 -0000	1.31.6.2
@@ -2,50 +2,50 @@
 CONFIG_SND_DEBUG=y
 CONFIG_SND_PCM_XRUN_DEBUG=y
 
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_FAILSLAB is not set
-# CONFIG_FAIL_PAGE_ALLOC is not set
-# CONFIG_FAIL_MAKE_REQUEST is not set
-# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
-# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_DEBUG_RT_MUTEXES=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_DEBUG_VM=y
+CONFIG_DEBUG_SPINLOCK=y
+
+CONFIG_FAULT_INJECTION=y
+CONFIG_FAILSLAB=y
+CONFIG_FAIL_PAGE_ALLOC=y
+CONFIG_FAIL_MAKE_REQUEST=y
+CONFIG_FAULT_INJECTION_DEBUG_FS=y
+CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
 # CONFIG_FAIL_IO_TIMEOUT is not set
 
-# CONFIG_SLUB_DEBUG_ON is not set
+CONFIG_SLUB_DEBUG_ON=y
 
-# CONFIG_LOCK_STAT is not set
+CONFIG_LOCK_STAT=y
 
-# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_STACK_USAGE=y
 
 # CONFIG_ACPI_DEBUG is not set
 
-# CONFIG_DEBUG_SG is not set
+CONFIG_DEBUG_SG=y
 
 # CONFIG_DEBUG_PAGEALLOC is not set
 
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_DEBUG_WRITECOUNT=y
+CONFIG_DEBUG_OBJECTS=y
 # CONFIG_DEBUG_OBJECTS_SELFTEST is not set
-# CONFIG_DEBUG_OBJECTS_FREE is not set
-# CONFIG_DEBUG_OBJECTS_TIMERS is not set
+CONFIG_DEBUG_OBJECTS_FREE=y
+CONFIG_DEBUG_OBJECTS_TIMERS=y
 CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
 
-# CONFIG_X86_PTDUMP is not set
+CONFIG_X86_PTDUMP=y
 
-# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_CAN_DEBUG_DEVICES=y
 
-# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
 
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
 
-# CONFIG_DEBUG_NOTIFIERS is not set
+CONFIG_DEBUG_NOTIFIERS=y
 
-# CONFIG_DMA_API_DEBUG is not set
+CONFIG_DMA_API_DEBUG=y
 
-# CONFIG_MMIOTRACE is not set
+CONFIG_MMIOTRACE=y


Index: config-powerpc-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-powerpc-generic,v
retrieving revision 1.33.6.4
retrieving revision 1.33.6.5
diff -u -r1.33.6.4 -r1.33.6.5
--- config-powerpc-generic	24 Mar 2009 22:57:41 -0000	1.33.6.4
+++ config-powerpc-generic	24 Apr 2009 22:27:04 -0000	1.33.6.5
@@ -36,6 +36,7 @@
 # CONFIG_GEN_RTC is not set
 # CONFIG_GEN_RTC_X is not set
 CONFIG_RTC_DRV_PPC=y
+CONFIG_RTC_DRV_GENERIC=y
 CONFIG_PROC_DEVICETREE=y
 # CONFIG_CMDLINE_BOOL is not set
 CONFIG_ELECTRA_IDE=y
@@ -111,11 +112,14 @@
 # CONFIG_PMAC_BACKLIGHT_LEGACY is not set
 CONFIG_LEDS_TRIGGER_TIMER=m
 CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
 
 # FIXME: Should depend on IA64/x86
 # CONFIG_SGI_IOC4 is not set
 
 CONFIG_PPC_EFIKA=y
+CONFIG_PPC_MEDIA5200=y
+
 # CONFIG_PPC_LITE5200 is not set
 CONFIG_PPC_BESTCOMM=y
 CONFIG_PMAC_RACKMETER=m
@@ -198,6 +202,8 @@
 # CONFIG_EDAC_DEBUG is not set
 CONFIG_EDAC_MM_EDAC=m
 CONFIG_EDAC_PASEMI=m
+CONFIG_EDAC_AMD8131=m
+CONFIG_EDAC_AMD8111=m
 
 CONFIG_AXON_RAM=m
 CONFIG_OPROFILE_CELL=y
@@ -253,8 +259,10 @@
 # CONFIG_PPC_SMLPAR is not set
 
 CONFIG_MGCOGE=y
-### breaks usb on mac...? #486511
-# CONFIG_GEF_SBC610 is not set
+CONFIG_GEF_SBC610=y
+CONFIG_GEF_PPC9A=y
+CONFIG_GEF_SBC310=y
+
 CONFIG_QUICC_ENGINE=y
 CONFIG_QE_GPIO=y
 CONFIG_MPC8xxx_GPIO=y
@@ -288,6 +296,8 @@
 
 CONFIG_SIMPLE_GPIO=y
 
+CONFIG_FSL_PQ_MDIO=m
+
 CONFIG_PS3_VRAM=m
 CONFIG_MDIO_GPIO=m
 CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL=m
@@ -300,3 +310,11 @@
 # CONFIG_FHCI_DEBUG is not set
 
 # CONFIG_DRM_RADEON_KMS is not set
+
+CONFIG_AMIGAONE=y
+
+CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
+
+CONFIG_DTL=y
+
+CONFIG_MMC_SDHCI_OF=m


Index: config-powerpc64
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-powerpc64,v
retrieving revision 1.27.6.1
retrieving revision 1.27.6.2
diff -u -r1.27.6.1 -r1.27.6.2
--- config-powerpc64	12 Mar 2009 20:38:56 -0000	1.27.6.1
+++ config-powerpc64	24 Apr 2009 22:27:04 -0000	1.27.6.2
@@ -40,6 +40,7 @@
 CONFIG_CBE_THERM=m
 CONFIG_CBE_CPUFREQ=m
 CONFIG_CBE_CPUFREQ_PMI=m
+CONFIG_CBE_CPUFREQ_PMI_ENABLE=y
 CONFIG_PMAC_RACKMETER=m
 CONFIG_IBMEBUS=y
 CONFIG_SPU_FS=m
@@ -175,3 +176,7 @@
 CONFIG_PPC_IBM_CELL_POWERBUTTON=m
 CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=m
 
+CONFIG_RTC_DRV_PS3=y
+
+CONFIG_CRASH_DUMP=y
+CONFIG_RELOCATABLE=y


Index: config-s390x
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-s390x,v
retrieving revision 1.11.6.1
retrieving revision 1.11.6.2
diff -u -r1.11.6.1 -r1.11.6.2
--- config-s390x	12 Mar 2009 20:38:56 -0000	1.11.6.1
+++ config-s390x	24 Apr 2009 22:27:04 -0000	1.11.6.2
@@ -5,6 +5,11 @@
 CONFIG_NR_CPUS=64
 CONFIG_COMPAT=y
 
+# See bug 496596
+CONFIG_HZ_100=y
+# See bug 496605
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
 CONFIG_MMU=y
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 
@@ -29,7 +34,7 @@
 CONFIG_IPL_VM=y
 # CONFIG_PROCESS_DEBUG is not set
 CONFIG_PFAULT=y
-# CONFIG_SHARED_KERNEL is not set
+CONFIG_SHARED_KERNEL=y
 CONFIG_CMM=m
 CONFIG_CMM_PROC=y
 CONFIG_VIRT_TIMER=y
@@ -40,7 +45,7 @@
 # SCSI low-level drivers
 #
 CONFIG_ZFCP=m
-CONFIG_ZFCPDUMP=m
+CONFIG_ZFCPDUMP=y
 CONFIG_CCW=y
 
 #
@@ -123,10 +128,6 @@
 # CONFIG_IEEE80211 is not set
 # CONFIG_B44 is not set
 
-# The s390 CPU does not have hardware support for big pages at all.
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-
 #
 # Partition Types
 #


Index: config-sparc64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-sparc64-generic,v
retrieving revision 1.21.6.2
retrieving revision 1.21.6.3
diff -u -r1.21.6.2 -r1.21.6.3
--- config-sparc64-generic	14 Apr 2009 22:09:07 -0000	1.21.6.2
+++ config-sparc64-generic	24 Apr 2009 22:27:04 -0000	1.21.6.3
@@ -151,7 +151,7 @@
 CONFIG_ATM_FORE200E_DEBUG=0
 CONFIG_ATM_FORE200E_TX_RETRY=16
 # CONFIG_DRM_TDFX is not set
-CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_ATKBD is not set
 CONFIG_KEYBOARD_SUNKBD=y
 # CONFIG_INPUT_PCSPKR is not set
 CONFIG_INPUT_SPARCSPKR=m
@@ -197,5 +197,3 @@
 CONFIG_SENSORS_ULTRA45=m
 CONFIG_LEDS_SUNFIRE=m
 CONFIG_TADPOLE_TS102_UCTRL=m
-
-# CONFIG_KGDB is not set


Index: config-sparc64-smp
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-sparc64-smp,v
retrieving revision 1.2.16.1
retrieving revision 1.2.16.2
diff -u -r1.2.16.1 -r1.2.16.2
--- config-sparc64-smp	14 Apr 2009 22:09:07 -0000	1.2.16.1
+++ config-sparc64-smp	24 Apr 2009 22:27:04 -0000	1.2.16.2
@@ -1,2 +1 @@
 CONFIG_SMP=y
-CONFIG_KGDB=y


Index: config-x86-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86-generic,v
retrieving revision 1.68.6.6
retrieving revision 1.68.6.7
diff -u -r1.68.6.6 -r1.68.6.7
--- config-x86-generic	14 Apr 2009 22:09:07 -0000	1.68.6.6
+++ config-x86-generic	24 Apr 2009 22:27:04 -0000	1.68.6.7
@@ -9,6 +9,9 @@
 #
 # CONFIG_X86_PC is not set
 CONFIG_X86_GENERICARCH=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+CONFIG_X86_32_NON_STANDARD=y
+
 # CONFIG_X86_ELAN is not set
 # CONFIG_X86_VOYAGER is not set
 # CONFIG_X86_NUMAQ is not set
@@ -67,6 +70,7 @@
 CONFIG_MICROCODE=m
 CONFIG_X86_MSR=y
 CONFIG_X86_CPUID=y
+CONFIG_X86_CPU_DEBUG=m
 CONFIG_EDD=m
 # CONFIG_EDD_OFF is not set
 # CONFIG_NUMA is not set
@@ -83,6 +87,11 @@
 CONFIG_FB_EFI=y
 # CONFIG_FB_N411 is not set
 
+CONFIG_DMAR=y
+CONFIG_DMAR_GFX_WA=y
+CONFIG_DMAR_FLOPPY_WA=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+
 CONFIG_FB_GEODE=y
 CONFIG_FB_GEODE_LX=y
 CONFIG_FB_GEODE_GX=y
@@ -100,6 +109,8 @@
 CONFIG_SCSI_FUTURE_DOMAIN=m
 CONFIG_SCSI_ADVANSYS=m
 
+# CONFIG_CC_STACKPROTECTOR is not set
+
 CONFIG_SECCOMP=y
 
 CONFIG_CAPI_EICON=y
@@ -290,6 +301,8 @@
 CONFIG_EDAC_I5100=m
 CONFIG_EDAC_I5400=m
 CONFIG_EDAC_R82600=m
+CONFIG_EDAC_AMD8131=m
+CONFIG_EDAC_AMD8111=m
 
 CONFIG_SCHED_MC=y
 
@@ -322,6 +335,7 @@
 CONFIG_ACER_WMI=m
 CONFIG_TC1100_WMI=m
 CONFIG_HP_WMI=m
+CONFIG_DELL_WMI=m
 
 # CONFIG_SMSC37B787_WDT is not set
 CONFIG_W83697HF_WDT=m
@@ -383,6 +397,7 @@
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
 CONFIG_THINKPAD_ACPI_BAY=y
 CONFIG_THINKPAD_ACPI_VIDEO=y
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 
 CONFIG_MACINTOSH_DRIVERS=y
 


Index: config-x86_64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86_64-generic,v
retrieving revision 1.68.2.6
retrieving revision 1.68.2.7
diff -u -r1.68.2.6 -r1.68.2.7
--- config-x86_64-generic	14 Apr 2009 22:09:07 -0000	1.68.2.6
+++ config-x86_64-generic	24 Apr 2009 22:27:05 -0000	1.68.2.7
@@ -3,14 +3,18 @@
 # CONFIG_MK8 is not set
 # CONFIG_MPSC is not set
 CONFIG_GENERIC_CPU=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_VSMP is not set
+# CONFIG_X86_UV is not set
 CONFIG_X86_MSR=y
 CONFIG_X86_CPUID=y
+CONFIG_X86_CPU_DEBUG=m
 CONFIG_MTRR=y
 CONFIG_NUMA=y
 CONFIG_K8_NUMA=y
 CONFIG_X86_64_ACPI_NUMA=y
 # CONFIG_NUMA_EMU is not set
-CONFIG_NR_CPUS=64
+CONFIG_NR_CPUS=512
 CONFIG_X86_POWERNOW_K8=m
 CONFIG_X86_POWERNOW_K8_ACPI=y
 CONFIG_X86_P4_CLOCKMOD=m 
@@ -32,6 +36,8 @@
 CONFIG_DMAR_FLOPPY_WA=y
 # CONFIG_DMAR_DEFAULT_ON is not set
 
+CONFIG_KEXEC_JUMP=y
+
 CONFIG_EFI=y
 CONFIG_EFI_VARS=y
 CONFIG_EFI_PCDP=y
@@ -111,6 +117,7 @@
 CONFIG_ACPI_WMI=m
 CONFIG_ACER_WMI=m
 CONFIG_HP_WMI=m
+CONFIG_DELL_WMI=m
 
 CONFIG_THINKPAD_ACPI=m
 # CONFIG_THINKPAD_ACPI_DEBUG is not set
@@ -118,6 +125,7 @@
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
 CONFIG_THINKPAD_ACPI_BAY=y
 CONFIG_THINKPAD_ACPI_VIDEO=y
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 
 CONFIG_HOTPLUG_PCI=y
 CONFIG_HOTPLUG_PCI_COMPAQ=m
@@ -152,6 +160,7 @@
 CONFIG_CRYPTO_TWOFISH_X86_64=m
 # CONFIG_CRYPTO_SALSA20 is not set
 CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
 
 CONFIG_X86_MCE=y
 CONFIG_X86_MCE_INTEL=y
@@ -193,6 +202,8 @@
 CONFIG_EDAC_I82860=m
 CONFIG_EDAC_I82975X=m
 CONFIG_EDAC_R82600=m
+CONFIG_EDAC_AMD8131=m
+CONFIG_EDAC_AMD8111=m
 
 CONFIG_SCHED_MC=y
 
@@ -346,5 +357,6 @@
 CONFIG_POWER_TRACER=y
 CONFIG_HW_BRANCH_TRACER=y
 
+CONFIG_X86_X2APIC=y
 CONFIG_SPARSE_IRQ=y
 CONFIG_NUMA_MIGRATE_IRQ_DESC=y

drm-modesetting-radeon.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.54.6.8 -r 1.54.6.9 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.54.6.8
retrieving revision 1.54.6.9
diff -u -r1.54.6.8 -r1.54.6.9
--- drm-modesetting-radeon.patch	14 Apr 2009 22:09:08 -0000	1.54.6.8
+++ drm-modesetting-radeon.patch	24 Apr 2009 22:27:05 -0000	1.54.6.9
@@ -1,184 +1,3 @@
-commit 02b2eac96ef3cd6a59bf2a13c9ae104f855ff582
-Merge: 1076a8a 24eacd0
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 15:55:42 2009 +1000
-
-    Merge branch 'drm-rawhide' into drm-f11
-
-commit 24eacd0cf8cb65a038934c11ef8ae5da348f1365
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 15:52:28 2009 +1000
-
-    radeon: add another debugging hook to gem code
-
-commit e612721b43a6fb107aa74a41e9438f23bc833051
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 15:32:08 2009 +1000
-
-    radeon: add M7 thinkpad quirk
-
-commit 6a166a2d7b4a4d9ba8ee1535f5ab1d156df6743d
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 13:59:29 2009 +1000
-
-    radeon: IGPs enable snooping in theory
-
-commit b954fe6e4c28e92e636afac1110c203148899129
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 13:19:32 2009 +1000
-
-    radeon: ack irqs before suspend in case any are pending
-
-commit 7ac7ebfef2088c943d20f683a7da1a5dcfe1bce3
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 14 13:18:37 2009 +1000
-
-    radeon: add initial fixed point bandwidth calcs for legacy chips.
-    
-    This does the bandwidth calcs using a 20/12 fixed point representation,
-    and ports all the code from userspace, it needs testing, but it also
-    ICEs gcc so can't really test until that is fixed.
-
-commit 7db0b18f5cbc62b89f904b5f18d046e7bcac83cc
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 13 15:49:34 2009 +1000
-
-    radeon: feed back updated limits to userspace
-
-commit ca7f16ed835965f0f29f38958fa8547331eeba67
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 13 15:45:14 2009 +1000
-
-    radeon: sync atom quirks
-
-commit 173bbeca616f4ffff4d8205f86bfb79c35151de1
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 13 15:35:12 2009 +1000
-
-    radeon: agp mode quirks ported from userspace
-
-commit 1076a8a749c46b964ee49f5d4dc42070b1905e26
-Merge: e94c6e1 8765b83
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Thu Apr 9 20:04:30 2009 +1000
-
-    Merge branch 'drm-rawhide' into drm-f11
-
-commit 8765b83462d03fcbd2b9d2eab647d7c2d362b12a
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Thu Apr 9 20:02:43 2009 +1000
-
-    radeon: commit missed change
-
-commit c6714d8fcdecbba304eb9e0745a4d8b6d0fb54b7
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Thu Apr 9 20:01:12 2009 +1000
-
-    radeon: temporary dac detection fix
-
-commit d96029a52d92bd307e93e4d917c9befff246f196
-Author: Alex Deucher <alexdeucher at gmail.com>
-Date:   Thu Apr 9 20:00:49 2009 +1000
-
-    radeon: fixups ported from userspace tree
-
-commit f9db70a117cc498c20e567cf53b75ccb5ad79927
-Author: Alex Deucher <alexdeucher at gmail.com>
-Date:   Mon Apr 6 13:32:03 2009 -0400
-
-    radeon: fix default sclk/mclk from combios
-    
-    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
-
-commit 28c6f86ef07c8f0067ece9d7fe40718854b19422
-Author: Alex Deucher <alexdeucher at gmail.com>
-Date:   Mon Apr 6 13:29:56 2009 -0400
-
-    radeon: fix crtc routing for CRT1 on r4xx ATOM
-    
-    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
-
-commit 78bf4641b234a99deb3820b8d7baece35a54dce6
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Thu Apr 9 18:41:47 2009 +1000
-
-    radeon: reset edid if none found
-
-commit a6fe700b5e32fd4db97fda76cb32977b5f381ebd
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Thu Apr 9 18:40:57 2009 +1000
-
-    radeon: fix up dual head screens on atombios
-
-commit a6dd68b3a5dee15f59bdaabf37b6a36da18a03f4
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 7 17:25:13 2009 +1000
-
-    radeon: fix pinning/unpinning for frontbuffer
-
-commit 828d4bc8e75d8e8ac532269521d2aeb3b50ee529
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Tue Apr 7 16:58:35 2009 +1000
-
-    radeon: actually unpin cursor on freeing
-
-commit 70c85b35945d11fae318957c7fbc52ce566a6f03
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 6 20:33:56 2009 +1000
-
-    radeon: add info ioctl
-
-commit e94c6e10efb4dec58e4c0ab419050b11a913eaf9
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 6 15:01:00 2009 +1000
-
-    drop initial config args
-
-commit 280d9ff29dead8e85ed603110ed431d99f07fb99
-Merge: 0221c81 54ed280
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Apr 6 14:35:32 2009 +1000
-
-    Merge branch 'drm-rawhide' into drm-f11
-    
-    Conflicts:
-    	drivers/gpu/drm/radeon/r300_cmdbuf.c
-    	drivers/gpu/drm/radeon/radeon_cp.c
-
-commit 54ed2800977d314d8af6c1c47cd718d82f734cb6
-Author: Jerome Glisse <glisse at freedesktop.org>
-Date:   Fri Apr 3 15:01:31 2009 +0200
-
-    radeon: cleanup userspace API
-    
-    Remove old userspace API we don't want to use and
-    rename wait_rendering to wait_idle
-    change mmap to using userspace mmap call
-
-commit 71c5ad46842fcd214a8e926eb9528e084622d488
-Author: Jerome Glisse <glisse at freedesktop.org>
-Date:   Fri Apr 3 13:48:20 2009 +0200
-
-    radeon: remove pin/unpin userspace ioctl
-
-commit 7628d2d9b66fc891fc0b030772a0ebae8e695561
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Fri Apr 3 14:56:19 2009 +1000
-
-    radeon: fix two issues with uncached allocs on PCIE systems
-
-commit 79a5ca0c53c2a149f51f71352a6bbf73bcdc40df
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Wed Apr 1 22:34:53 2009 +1000
-
-    radeon: reorder bm enable vs mode set
-
-commit c9e19d53bafaacd883ad9eafd3090eb6bc4e4837
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Wed Mar 25 21:49:49 2009 +1000
-
-    radeon: add vram limit for testing lower vram
-
 commit dea27f6e83efabdc3e37bc5a91d29d6dab893853
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Mar 18 17:07:07 2009 +1000
@@ -1930,7 +1749,7 @@
 
     drm: import TTM basic objects
 diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
-index 640339e..fdc60ea 100644
+index e0ab173..69de2db 100644
 --- a/arch/x86/mm/pat.c
[...3122 lines suppressed...]
-+#define DRM_IOCTL_RADEON_GEM_WAIT_IDLE	DRM_IOW(DRM_COMMAND_BASE + DRM_RADEON_GEM_WAIT_IDLE, struct drm_radeon_gem_wait_idle) 
-+#define DRM_IOCTL_RADEON_CS		DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS, struct drm_radeon_cs)
-+#define DRM_IOCTL_RADEON_INFO		DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_INFO, struct drm_radeon_info)
-+
  
++#define DRM_IOCTL_RADEON_GEM_INFO   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_INFO, struct drm_radeon_gem_info)
++#define DRM_IOCTL_RADEON_GEM_CREATE   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_CREATE, struct drm_radeon_gem_create)
++#define DRM_IOCTL_RADEON_GEM_MMAP   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_MMAP, struct drm_radeon_gem_mmap)
++#define DRM_IOCTL_RADEON_GEM_PIN   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_PIN, struct drm_radeon_gem_pin)
++#define DRM_IOCTL_RADEON_GEM_UNPIN   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_UNPIN, struct drm_radeon_gem_unpin)
++#define DRM_IOCTL_RADEON_GEM_PREAD   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_PREAD, struct drm_radeon_gem_pread)
++#define DRM_IOCTL_RADEON_GEM_PWRITE   DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_PWRITE, struct drm_radeon_gem_pwrite)
++#define DRM_IOCTL_RADEON_GEM_SET_DOMAIN  DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_DOMAIN, struct drm_radeon_gem_set_domain)
++#define DRM_IOCTL_RADEON_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_RADEON_GEM_WAIT_RENDERING, struct drm_radeon_gem_wait_rendering) 
++#define DRM_IOCTL_RADEON_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS, struct drm_radeon_cs)
++
++
  typedef struct drm_radeon_init {
  	enum {
-@@ -682,6 +703,7 @@ typedef struct drm_radeon_indirect {
+ 		RADEON_INIT_CP = 0x01,
+@@ -680,6 +713,8 @@ typedef struct drm_radeon_indirect {
  #define RADEON_PARAM_VBLANK_CRTC           13   /* VBLANK CRTC */
  #define RADEON_PARAM_FB_LOCATION           14   /* FB location */
  #define RADEON_PARAM_NUM_GB_PIPES          15   /* num GB pipes */
-+#define RADEON_PARAM_DEVICE_ID             16
++#define RADEON_PARAM_KERNEL_MM             16
++#define RADEON_PARAM_DEVICE_ID		   17
  
  typedef struct drm_radeon_getparam {
  	int param;
-@@ -751,4 +773,112 @@ typedef struct drm_radeon_surface_free {
+@@ -734,6 +769,7 @@ typedef struct drm_radeon_setparam {
+ #define RADEON_SETPARAM_NEW_MEMMAP 4		/* Use new memory map */
+ #define RADEON_SETPARAM_PCIGART_TABLE_SIZE 5    /* PCI GART Table Size */
+ #define RADEON_SETPARAM_VBLANK_CRTC 6           /* VBLANK CRTC */
++#define RADEON_SETPARAM_MM_INIT 7               /* DDX wants memory manager but has no modesetting */
+ /* 1.14: Clients can allocate/free a surface
+  */
+ typedef struct drm_radeon_surface_alloc {
+@@ -749,4 +785,106 @@ typedef struct drm_radeon_surface_free {
  #define	DRM_RADEON_VBLANK_CRTC1		1
  #define	DRM_RADEON_VBLANK_CRTC2		2
  
-+/*
-+ * Kernel modesetting world below.
-+ */
-+#define RADEON_GEM_DOMAIN_CPU		0x1
-+#define RADEON_GEM_DOMAIN_GTT		0x2
-+#define RADEON_GEM_DOMAIN_VRAM		0x4
++#define RADEON_GEM_DOMAIN_CPU 0x1   // Cached CPU domain
++#define RADEON_GEM_DOMAIN_GTT 0x2   // GTT or cache flushed
++#define RADEON_GEM_DOMAIN_VRAM 0x4  // VRAM domain
 +
++/* return to userspace start/size of gtt and vram apertures */
 +struct drm_radeon_gem_info {
-+	uint64_t	gart_size;
-+	uint64_t	vram_size;
-+	uint64_t	vram_visible;
++	uint64_t gart_start;
++	uint64_t gart_size;
++	uint64_t vram_start;
++	uint64_t vram_size;
++	uint64_t vram_visible;
 +};
 +
-+#define RADEON_GEM_NO_BACKING_STORE 1
-+
 +struct drm_radeon_gem_create {
-+	uint64_t	size;
-+	uint64_t	alignment;
-+	uint32_t	handle;
-+	uint32_t	initial_domain;
-+	uint32_t	flags;
++	uint64_t size;
++	uint64_t alignment;
++	uint32_t handle;
++	uint32_t initial_domain; // to allow VRAM to be created
++	uint32_t no_backing_store; // for VRAM objects - select whether they need backing store
++	// pretty much front/back/depth don't need it - other things do
 +};
 +
 +struct drm_radeon_gem_mmap {
-+	uint32_t	handle;
-+	uint32_t	pad;
-+	uint64_t	offset;
-+	uint64_t	size;
-+	uint64_t	addr_ptr;
++	uint32_t handle;
++	uint32_t pad;
++	uint64_t offset;
++	uint64_t size;
++	uint64_t addr_ptr;
 +};
 +
 +struct drm_radeon_gem_set_domain {
-+	uint32_t	handle;
-+	uint32_t		read_domains;
-+	uint32_t		write_domain;
++	uint32_t handle;
++	uint32_t read_domains;
++	uint32_t write_domain;
++};
++
++struct drm_radeon_gem_wait_rendering {
++	uint32_t handle;
++};
++
++struct drm_radeon_gem_pin {
++	uint32_t handle;
++	uint32_t pin_domain;
++	uint64_t alignment;
++	uint64_t offset;
 +};
 +
-+struct drm_radeon_gem_wait_idle {
-+	uint32_t	handle;
-+	uint32_t	pad;
++struct drm_radeon_gem_unpin {
++	uint32_t handle;
++	uint32_t pad;
 +};
 +
 +struct drm_radeon_gem_busy {
-+	uint32_t	handle;
-+	uint32_t	busy;
++	uint32_t handle;
++	uint32_t busy;
 +};
 +
 +struct drm_radeon_gem_pread {
@@ -39383,8 +38670,7 @@
 +	/** Length of data to read */
 +	uint64_t size;
 +	/** Pointer to write the data into. */
-+	/* void *, but pointers are not 32/64 compatible */
-+	uint64_t data_ptr;
++	uint64_t data_ptr;	/* void *, but pointers are not 32/64 compatible */
 +};
 +
 +struct drm_radeon_gem_pwrite {
@@ -39396,43 +38682,28 @@
 +	/** Length of data to write */
 +	uint64_t size;
 +	/** Pointer to read the data from. */
-+	/* void *, but pointers are not 32/64 compatible */
-+	uint64_t data_ptr;
++	uint64_t data_ptr;	/* void *, but pointers are not 32/64 compatible */
 +};
 +
-+#define RADEON_CHUNK_ID_RELOCS	0x01
-+#define RADEON_CHUNK_ID_IB	0x02
 +
-+struct drm_radeon_cs_chunk {
-+	uint32_t		chunk_id;
-+	uint32_t		length_dw;
-+	uint64_t		chunk_data;
-+};
++/* New interface which obsolete all previous interface.
++ */
++#define RADEON_CHUNK_ID_RELOCS 0x01
++#define RADEON_CHUNK_ID_IB     0x02
++#define RADEON_CHUNK_ID_OLD 0xff
 +
-+struct drm_radeon_cs_reloc {
-+	uint32_t		handle;
-+	uint32_t		read_domains;
-+	uint32_t		write_domain;
-+	uint32_t		flags;
++struct drm_radeon_cs_chunk {
++	uint32_t chunk_id;
++	uint32_t length_dw;
++	uint64_t chunk_data;
 +};
 +
 +struct drm_radeon_cs {
-+	uint32_t		num_chunks;
-+	uint32_t		cs_id;
-+	/* this points to uint64_t * which point to cs chunks */
-+	uint64_t		chunks;
-+	/* updates to the limits after this CS ioctl */
-+	uint64_t		gart_limit;
-+	uint64_t		vram_limit;
-+};
-+
-+#define RADEON_INFO_DEVICE_ID		0x00
-+#define RADEON_INFO_NUM_GB_PIPES	0x01
-+
-+struct drm_radeon_info {
-+	uint32_t		request;
-+	uint32_t		pad;
-+	uint64_t		value;
++	uint32_t	num_chunks;
++	uint32_t        cs_id;
++	uint64_t	chunks; /* this points to uint64_t * which point to
++				   cs chunks */
 +};
 +
++
  #endif

drm-next.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.6.6.6 -r 1.6.6.7 drm-next.patch
Index: drm-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-next.patch,v
retrieving revision 1.6.6.6
retrieving revision 1.6.6.7
diff -u -r1.6.6.6 -r1.6.6.7
--- drm-next.patch	14 Apr 2009 22:09:11 -0000	1.6.6.6
+++ drm-next.patch	24 Apr 2009 22:27:07 -0000	1.6.6.7
@@ -1,3 +1,659 @@
+commit 41f13fe81dd1b08723ab9f3fc3c7f29cfa81f1a5
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Mon Mar 16 15:37:02 2009 -0400
+
+    drm/radeon: fix logic in r600_page_table_init() to match ati_gart
+    
+    This fixes page table init on rs600.
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 06f0a488c1b642d3cd7769da66600e5148c3fad8
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Mar 13 09:35:32 2009 +1000
+
+    drm/radeon: r600 ptes are 64-bit, cleanup cleanup function.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 03efb8853c35aff51c7b901bf412f32765fe0fd9
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 10 18:36:38 2009 +1000
+
+    drm/radeon: don't call irq changes on r600 suspend/resume
+    
+    Until we sort out r600 IRQs don't do this.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit d02f7fa77d97a28a4276939f35e44ae995ad13d7
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 10 18:34:23 2009 +1000
+
+    drm/radeon: fix r600 writeback across suspend/resume
+    
+    This update was done in mainline radeon, but not in the r600.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 6546bf6d6cbf1f9ac350fd278a1d937d4bb9ad06
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 15:31:20 2009 +1000
+
+    drm/radeon: fix r600 writeback setup.
+    
+    This fixes 2 bugs:
+    1. the AGP calculation wasn't consistent with the PCI(E) calc for the
+    RPTR_ADDR registers. This consolidates the writes and fixes it up.
+    
+    2. The scratch address was being incorrectly calculated, this breaks
+    it out into a lot more linear steps.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 1847a549ac4db1272dea13d86331c492a2640b3b
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:47:18 2009 +1000
+
+    drm: fix warnings about new mappings in info code.
+    
+    This fixes up the warnings in the debugfs code that conflicted
+    with the mapping fixups.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 8f497aade8df2a619eacda927a43ebe82167a84c
+Author: Hannes Eder <hannes at hanneseder.net>
+Date:   Thu Mar 5 20:14:18 2009 +0100
+
+    drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.c
+    
+    Fix this sparse warning:
+      drivers/gpu/drm/radeon/r600_cp.c:1811:52: warning: Using plain integer as NULL pointer
+      drivers/gpu/drm/radeon/radeon_cp.c:1363:52: warning: Using plain integer as NULL pointer
+      drivers/gpu/drm/radeon/radeon_state.c:1983:61: warning: Using plain integer as NULL pointer
+    
+    Signed-off-by: Hannes Eder <hannes at hanneseder.net>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit a763d7dc0adb1159c1a52d43e566409da9fa59f0
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:17:08 2009 +1000
+
+    drm/radeon: fix r600 pci mapping calls.
+    
+    This realigns the r600 pci mapping calls with the ati pcigart ones,
+    fixing the direction and using the correct interface.
+    
+    Suggested by Jerome Glisse.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 08932156cc2d4f8807dc5ca5c3d6ccd85080610a
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Sat Mar 7 18:21:21 2009 -0500
+
+    drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup()
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 53c379e9462b59d4e166429ff064aaf0e7743795
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:12:28 2009 +1000
+
+    radeon: call the correct idle function, logic got inverted.
+    
+    This calls the correct idle function for the R600 and previous chips.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 800b69951174f7de294da575d7e7921041a7e783
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Fri Mar 6 11:47:54 2009 -0500
+
+    drm/radeon: RS600: fix interrupt handling
+    
+    the checks weren't updated when RS600 support
+    was added.
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at linux.ie>
+
+commit a7d13ad0e2c1b0572492fd53ca1a090794e2f8e2
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Feb 26 10:15:24 2009 +1000
+
+    drm/r600: fix rptr address along lines of previous fixes to radeon.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit eb1d91954ededc00ddcfb51e2626f114ff351524
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Feb 26 10:14:40 2009 +1000
+
+    drm/r600: fixup r600 gart table accessor like ati_pcigart.c
+    
+    This attempts to fixup the r600 GART accessors so they work on other arches.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 6abf66018f7fe231720e50f9a47b142182388869
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Feb 26 10:13:47 2009 +1000
+
+    drm/ati_pcigart: use memset_io to reset the memory
+    
+    Also don't setup pci_gart if we aren't going to need it.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 87f0da55353e23826a54bff57c457a13b97d18f1
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Feb 26 10:12:10 2009 +1000
+
+    drm: add DRM_READ/WRITE64 wrappers around readq/writeq.
+    
+    The readq/writeq stuff is from Dave Miller, and he
+    warns users to be careful about using these. Plans are only
+    r600 to use it so far.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 8ced9c75160947d2235fba75de9413e087e1171a
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Wed Feb 25 17:02:19 2009 -0500
+
+    radeon: add RS600 pci ids
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit c1556f71513f2e660fb2bbdc29344361b1ebff35
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Wed Feb 25 16:57:49 2009 -0500
+
+    radeon: add support for rs600 GPUs
+    
+    RS600s are an AMD IGP for Intel CPUs, that look like RS690s from
+    a lot of perspectives but look like r600s from a memory controller
+    point of view.
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 7659e9804b7a66047433182d86393d38ba4eff79
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Wed Feb 25 15:55:01 2009 -0500
+
+    radeon: fix r600 AGP support
+    
[...6622 lines suppressed...]
- #define DRM_IOCTL_MGA_DMA_BOOTSTRAP DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_DMA_BOOTSTRAP, drm_mga_dma_bootstrap_t)
- 
- typedef struct _drm_mga_warp_index {
-@@ -310,7 +312,7 @@ typedef struct drm_mga_dma_bootstrap {
- 	 */
- 	/*@{ */
- 	unsigned long texture_handle; /**< Handle used to map AGP textures. */
--	uint32_t texture_size;	      /**< Size of the AGP texture region. */
-+	__u32 texture_size;	      /**< Size of the AGP texture region. */
- 	/*@} */
- 
- 	/**
-@@ -319,7 +321,7 @@ typedef struct drm_mga_dma_bootstrap {
- 	 * On return from the DRM_MGA_DMA_BOOTSTRAP ioctl, this field will be
- 	 * filled in with the actual AGP mode.  If AGP was not available
- 	 */
--	uint32_t primary_size;
-+	__u32 primary_size;
- 
- 	/**
- 	 * Requested number of secondary DMA buffers.
-@@ -329,7 +331,7 @@ typedef struct drm_mga_dma_bootstrap {
- 	 * allocated.  Particularly when PCI DMA is used, this may be
- 	 * (subtantially) less than the number requested.
- 	 */
--	uint32_t secondary_bin_count;
-+	__u32 secondary_bin_count;
- 
- 	/**
- 	 * Requested size of each secondary DMA buffer.
-@@ -338,7 +340,7 @@ typedef struct drm_mga_dma_bootstrap {
- 	 * dma_mga_dma_bootstrap::secondary_bin_count, it is \b not allowed
- 	 * to reduce dma_mga_dma_bootstrap::secondary_bin_size.
- 	 */
--	uint32_t secondary_bin_size;
-+	__u32 secondary_bin_size;
- 
- 	/**
- 	 * Bit-wise mask of AGPSTAT2_* values.  Currently only \c AGPSTAT2_1X,
-@@ -350,12 +352,12 @@ typedef struct drm_mga_dma_bootstrap {
- 	 * filled in with the actual AGP mode.  If AGP was not available
- 	 * (i.e., PCI DMA was used), this value will be zero.
- 	 */
--	uint32_t agp_mode;
-+	__u32 agp_mode;
- 
- 	/**
- 	 * Desired AGP GART size, measured in megabytes.
- 	 */
--	uint8_t agp_size;
-+	__u8 agp_size;
- } drm_mga_dma_bootstrap_t;
- 
- typedef struct drm_mga_clear {
 diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
-index 73ff51f..fe3e3a4 100644
+index 73ff51f..937a275 100644
 --- a/include/drm/radeon_drm.h
 +++ b/include/drm/radeon_drm.h
-@@ -33,6 +33,8 @@
- #ifndef __RADEON_DRM_H__
- #define __RADEON_DRM_H__
- 
-+#include <linux/types.h>
-+
- /* WARNING: If you change any of these defines, make sure to change the
-  * defines in the X server file (radeon_sarea.h)
-  */
-@@ -304,6 +306,8 @@ typedef union {
+@@ -304,6 +304,8 @@ typedef union {
  
  #define RADEON_SCRATCH_REG_OFFSET	32
  
@@ -36314,7 +31890,7 @@
  #define RADEON_NR_SAREA_CLIPRECTS	12
  
  /* There are 2 heaps (local/GART).  Each region within a heap is a
-@@ -526,7 +530,8 @@ typedef struct drm_radeon_init {
+@@ -526,7 +528,8 @@ typedef struct drm_radeon_init {
  		RADEON_INIT_CP = 0x01,
  		RADEON_CLEANUP_CP = 0x02,
  		RADEON_INIT_R200_CP = 0x03,
@@ -36324,117 +31900,3 @@
  	} func;
  	unsigned long sarea_priv_offset;
  	int is_pci;
-@@ -722,7 +727,7 @@ typedef struct drm_radeon_irq_wait {
- 
- typedef struct drm_radeon_setparam {
- 	unsigned int param;
--	int64_t value;
-+	__s64 value;
- } drm_radeon_setparam_t;
- 
- #define RADEON_SETPARAM_FB_LOCATION    1	/* determined framebuffer location */
-diff --git a/include/drm/via_drm.h b/include/drm/via_drm.h
-index a3b5c10..170786e 100644
---- a/include/drm/via_drm.h
-+++ b/include/drm/via_drm.h
-@@ -24,6 +24,8 @@
- #ifndef _VIA_DRM_H_
- #define _VIA_DRM_H_
- 
-+#include <linux/types.h>
-+
- /* WARNING: These defines must be the same as what the Xserver uses.
-  * if you change them, you must change the defines in the Xserver.
-  */
-@@ -114,19 +116,19 @@
- #define VIA_MEM_UNKNOWN 4
- 
- typedef struct {
--	uint32_t offset;
--	uint32_t size;
-+	__u32 offset;
-+	__u32 size;
- } drm_via_agp_t;
- 
- typedef struct {
--	uint32_t offset;
--	uint32_t size;
-+	__u32 offset;
-+	__u32 size;
- } drm_via_fb_t;
- 
- typedef struct {
--	uint32_t context;
--	uint32_t type;
--	uint32_t size;
-+	__u32 context;
-+	__u32 type;
-+	__u32 size;
- 	unsigned long index;
- 	unsigned long offset;
- } drm_via_mem_t;
-@@ -148,9 +150,9 @@ typedef struct _drm_via_futex {
- 		VIA_FUTEX_WAIT = 0x00,
- 		VIA_FUTEX_WAKE = 0X01
- 	} func;
--	uint32_t ms;
--	uint32_t lock;
--	uint32_t val;
-+	__u32 ms;
-+	__u32 lock;
-+	__u32 val;
- } drm_via_futex_t;
- 
- typedef struct _drm_via_dma_init {
-@@ -211,7 +213,7 @@ typedef struct _drm_via_cmdbuf_size {
- 		VIA_CMDBUF_LAG = 0x02
- 	} func;
- 	int wait;
--	uint32_t size;
-+	__u32 size;
- } drm_via_cmdbuf_size_t;
- 
- typedef enum {
-@@ -236,8 +238,8 @@ enum drm_via_irqs {
- struct drm_via_wait_irq_request {
- 	unsigned irq;
- 	via_irq_seq_type_t type;
--	uint32_t sequence;
--	uint32_t signal;
-+	__u32 sequence;
-+	__u32 signal;
- };
- 
- typedef union drm_via_irqwait {
-@@ -246,7 +248,7 @@ typedef union drm_via_irqwait {
- } drm_via_irqwait_t;
- 
- typedef struct drm_via_blitsync {
--	uint32_t sync_handle;
-+	__u32 sync_handle;
- 	unsigned engine;
- } drm_via_blitsync_t;
- 
-@@ -257,16 +259,16 @@ typedef struct drm_via_blitsync {
-  */
- 
- typedef struct drm_via_dmablit {
--	uint32_t num_lines;
--	uint32_t line_length;
-+	__u32 num_lines;
-+	__u32 line_length;
- 
--	uint32_t fb_addr;
--	uint32_t fb_stride;
-+	__u32 fb_addr;
-+	__u32 fb_stride;
- 
- 	unsigned char *mem_addr;
--	uint32_t mem_stride;
-+	__u32 mem_stride;
- 
--	uint32_t flags;
-+	__u32 flags;
- 	int to_fb;
- 
- 	drm_via_blitsync_t sync;

drm-nouveau.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.8.6.9 -r 1.8.6.10 drm-nouveau.patch
Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.8.6.9
retrieving revision 1.8.6.10
diff -u -r1.8.6.9 -r1.8.6.10
--- drm-nouveau.patch	14 Apr 2009 22:09:12 -0000	1.8.6.9
+++ drm-nouveau.patch	24 Apr 2009 22:27:08 -0000	1.8.6.10
@@ -103,7 +103,7 @@
  	if (mask & ~fence->type) {
  		DRM_ERROR("Wait trying to extend fence type"
 diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
-index 4984aa8..dee9b40 100644
+index c1173d8..2e4e667 100644
 --- a/drivers/gpu/drm/drm_gem.c
 +++ b/drivers/gpu/drm/drm_gem.c
 @@ -280,48 +280,58 @@ drm_gem_close_ioctl(struct drm_device *dev, void *data,
@@ -236,7 +236,7 @@
  		drm_put_minor(&dev->control);
 diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile
 new file mode 100644
-index 0000000..06483d0
+index 0000000..12af41b
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/Makefile
 @@ -0,0 +1,24 @@
@@ -249,8 +249,8 @@
 +             nouveau_object.o nouveau_irq.o nouveau_notifier.o \
 +             nouveau_swmthd.o nouveau_sgdma.o nouveau_dma.o \
 +             nouveau_bo.o nouveau_fence.o nouveau_gem.o \
-+             nouveau_hw.o nouveau_calc.o nouveau_bios.o nouveau_i2c.o \
-+	     nouveau_display.o nouveau_fbcon.o nouveau_backlight.o \
++             nouveau_bios.o nouveau_display.o nouveau_fbcon.o \
++	     nouveau_backlight.o \
 +             nv04_timer.o \
 +             nv04_mc.o nv40_mc.o nv50_mc.o \
 +             nv04_fb.o nv10_fb.o nv40_fb.o \
@@ -259,17 +259,17 @@
 +             nv40_graph.o nv50_graph.o \
 +             nv04_instmem.o nv50_instmem.o \
 +             nv50_crtc.o nv50_dac.o nv50_sor.o nv50_connector.o \
-+             nv50_cursor.o nv50_display.o nv50_fbcon.o
++             nv50_cursor.o nv50_i2c.o nv50_display.o nv50_fbcon.o
 +
 +nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
 +
 +obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o
 diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
 new file mode 100644
-index 0000000..e3d354f
+index 0000000..3fc521e
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
-@@ -0,0 +1,152 @@
+@@ -0,0 +1,156 @@
 +/*
 + * Copyright (C) 2009 Red Hat <mjg at redhat.com>
 + *
@@ -312,6 +312,7 @@
 +static int nv40_get_intensity(struct backlight_device *bd)
 +{
 +	struct drm_device *dev = bl_get_data(bd);
++	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +	int val = (nv_rd32(NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK) >> 16;
 +
 +	return val;
@@ -320,6 +321,7 @@
 +static int nv40_set_intensity(struct backlight_device *bd)
 +{
 +	struct drm_device *dev = bl_get_data(bd);
++	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +	int val = bd->props.brightness;
 +	int reg = nv_rd32(NV40_PMC_BACKLIGHT);
 +
@@ -338,6 +340,7 @@
 +static int nv50_get_intensity(struct backlight_device *bd)
 +{
 +	struct drm_device *dev = bl_get_data(bd);
++	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +
 +	return nv_rd32(NV50_PDISPLAY_BACKLIGHT);
 +}
@@ -345,6 +348,7 @@
 +static int nv50_set_intensity(struct backlight_device *bd)
 +{
 +	struct drm_device *dev = bl_get_data(bd);
++	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +	int val = bd->props.brightness;
 +
 +	nv_wr32(NV50_PDISPLAY_BACKLIGHT, val | NV50_PDISPLAY_BACKLIGHT_ENABLE);
@@ -424,65 +428,45 @@
 +}	
 diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
 new file mode 100644
-index 0000000..fd3e08a
+index 0000000..bcbedb7
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -0,0 +1,4577 @@
+@@ -0,0 +1,854 @@
 +/*
-+ * Copyright 2005-2006 Erik Waling
-+ * Copyright 2006 Stephane Marchesin
-+ * Copyright 2007-2009 Stuart Bennett
++ * Copyright (C) 2005-2006 Erik Waling
++ * Copyright (C) 2006 Stephane Marchesin
++ * Copyright (C) 2007-2008 Stuart Bennett
++ * Copyright (C) 2008 Maarten Maathuis.
++ * All Rights Reserved.
 + *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
 + *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
++ * The above copyright notice and this permission notice (including the
++ * next paragraph) shall be included in all copies or substantial
++ * portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
++ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 + *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+ * SOFTWARE.
 + */
 +
-+#include "drmP.h"
++#include <asm/byteorder.h>
++#include "nouveau_bios.h"
 +#include "nouveau_drv.h"
-+#include "nouveau_hw.h"
-+
-+/* these defines are made up */
-+#define NV_CIO_CRE_44_HEADA 0x0
-+#define NV_CIO_CRE_44_HEADB 0x3
-+#define FEATURE_MOBILE 0x10	/* also FEATURE_QUADRO for BMP */
-+#define LEGACY_I2C_CRT 0x80
-+
-+#define EDID1_LEN 128
-+
-+#define BIOSLOG(sip, fmt, arg...) NV_DEBUG(sip, fmt, ##arg)
-+#define LOG_OLD_VALUE(x) //x
-+
-+#define BIOS_USLEEP(n) msleep((n)/1000)
-+
-+#define ROM16(x) le16_to_cpu(*(uint16_t *)&(x))
-+#define ROM32(x) le32_to_cpu(*(uint32_t *)&(x))
 +
-+static int crtchead = 0;
-+
-+/* this will need remembering across a suspend */
-+static uint32_t saved_nv_pfb_cfg0;
-+
-+typedef struct {
-+	bool execute;
-+	bool repeat;
-+} init_exec_t;
-+
-+static bool nv_cksum(const uint8_t *data, unsigned int length)
++/* returns true if it mismatches */
++static bool nv_checksum(const uint8_t *data, unsigned int length)
 +{
 +	/* there's a few checksums in the BIOS, so here's a generic checking function */
 +	int i;
@@ -497,74 +481,51 @@
 +	return false;
 +}
 +
-+static int
-+score_vbios(struct drm_device *dev, const uint8_t *data, const bool writeable)
++static int nv_valid_bios(struct drm_device *dev, uint8_t *data)
 +{
++	/* check for BIOS signature */
 +	if (!(data[0] == 0x55 && data[1] == 0xAA)) {
-+		NV_TRACEWARN(dev, "... BIOS signature not found\n");
++		DRM_ERROR("BIOS signature not found.\n");
 +		return 0;
 +	}
 +
[...20829 lines suppressed...]
-+#define NV_PRAMDAC_NVPLL_COEFF				0x00680500
-+#define NV_PRAMDAC_MPLL_COEFF				0x00680504
-+#define NV_PRAMDAC_VPLL_COEFF				0x00680508
-+#	define NV30_RAMDAC_ENABLE_VCO2				(8 << 4)
-+
-+#define NV_PRAMDAC_PLL_COEFF_SELECT			0x0068050c
-+#	define NV_RAMDAC_PLL_SELECT_USE_VPLL2_TRUE		(4 << 0)
-+#	define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_MPLL	(1 << 8)
-+#	define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_VPLL	(2 << 8)
-+#	define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_NVPLL	(4 << 8)
-+#	define NV_RAMDAC_PLL_SELECT_PLL_SOURCE_VPLL2		(8 << 8)
-+#	define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO_DB2	(1 << 28)
-+#	define NV_RAMDAC_PLL_SELECT_VCLK2_RATIO_DB2		(2 << 28)
-+
-+#define NV_PRAMDAC_PLL_SETUP_CONTROL			0x00680510
-+#define NV_RAMDAC_VPLL2					0x00680520
-+#define NV_PRAMDAC_SEL_CLK				0x00680524
-+#define NV_RAMDAC_DITHER_NV11				0x00680528
-+#define NV_PRAMDAC_DACCLK				0x0068052c
-+#	define NV_PRAMDAC_DACCLK_SEL_DACCLK			(1 << 0)
-+
-+#define NV_RAMDAC_NVPLL_B				0x00680570
-+#define NV_RAMDAC_MPLL_B				0x00680574
-+#define NV_RAMDAC_VPLL_B				0x00680578
-+#define NV_RAMDAC_VPLL2_B				0x0068057c
-+#	define NV31_RAMDAC_ENABLE_VCO2				(8 << 28)
-+#define NV_PRAMDAC_580					0x00680580
-+#	define NV_RAMDAC_580_VPLL1_ACTIVE			(1 << 8)
-+#	define NV_RAMDAC_580_VPLL2_ACTIVE			(1 << 28)
-+
-+#define NV_PRAMDAC_GENERAL_CONTROL			0x00680600
-+#define NV_PRAMDAC_TEST_CONTROL				0x00680608
-+#	define NV_PRAMDAC_TEST_CONTROL_TP_INS_EN_ASSERTED	(1 << 12)
-+#	define NV_PRAMDAC_TEST_CONTROL_PWRDWN_DAC_OFF		(1 << 16)
-+#	define NV_PRAMDAC_TEST_CONTROL_SENSEB_ALLHI		(1 << 28)
-+#define NV_PRAMDAC_TESTPOINT_DATA			0x00680610
-+#	define NV_PRAMDAC_TESTPOINT_DATA_NOTBLANK		(8 << 28)
-+#define NV_PRAMDAC_630					0x00680630
-+#define NV_PRAMDAC_634					0x00680634
-+
-+#define NV_PRAMDAC_FP_VDISPLAY_END			0x00680800
-+#define NV_PRAMDAC_FP_VTOTAL				0x00680804
-+#define NV_PRAMDAC_FP_VCRTC				0x00680808
-+#define NV_PRAMDAC_FP_VSYNC_START			0x0068080c
-+#define NV_PRAMDAC_FP_VSYNC_END				0x00680810
-+#define NV_PRAMDAC_FP_VVALID_START			0x00680814
-+#define NV_PRAMDAC_FP_VVALID_END			0x00680818
-+#define NV_PRAMDAC_FP_HDISPLAY_END			0x00680820
-+#define NV_PRAMDAC_FP_HTOTAL				0x00680824
-+#define NV_PRAMDAC_FP_HCRTC				0x00680828
-+#define NV_PRAMDAC_FP_HSYNC_START			0x0068082c
-+#define NV_PRAMDAC_FP_HSYNC_END				0x00680830
-+#define NV_PRAMDAC_FP_HVALID_START			0x00680834
-+#define NV_PRAMDAC_FP_HVALID_END			0x00680838
-+
-+#define NV_RAMDAC_FP_DITHER				0x0068083c
-+#define NV_PRAMDAC_FP_TG_CONTROL			0x00680848
-+#	define NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS		(1 << 0)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_VSYNC_DISABLE		(2 << 0)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS		(1 << 4)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_HSYNC_DISABLE		(2 << 4)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_MODE_SCALE		(0 << 8)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_MODE_CENTER		(1 << 8)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_MODE_NATIVE		(2 << 8)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_READ_PROG		(1 << 20)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12		(1 << 24)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS		(1 << 28)
-+#	define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_DISABLE		(2 << 28)
-+#define NV_PRAMDAC_850					0x00680850
-+#define NV_PRAMDAC_85C					0x0068085c
-+#define NV_PRAMDAC_FP_DEBUG_0				0x00680880
-+#	define NV_PRAMDAC_FP_DEBUG_0_XSCALE_ENABLE		(1 << 0)
-+#	define NV_PRAMDAC_FP_DEBUG_0_YSCALE_ENABLE		(1 << 4)
-+/* This doesn't seem to be essential for tmds, but still often set */
-+#	define NV_RAMDAC_FP_DEBUG_0_TMDS_ENABLED		(8 << 4)
-+#	define NV_PRAMDAC_FP_DEBUG_0_XINTERP_BILINEAR		(1 << 8)
-+#	define NV_PRAMDAC_FP_DEBUG_0_YINTERP_BILINEAR		(1 << 12)
-+#	define NV_PRAMDAC_FP_DEBUG_0_XWEIGHT_ROUND		(1 << 20)
-+#	define NV_PRAMDAC_FP_DEBUG_0_YWEIGHT_ROUND		(1 << 24)
-+#define NV_PRAMDAC_FP_DEBUG_1				0x00680884
-+#	define NV_PRAMDAC_FP_DEBUG_1_XSCALE_VALUE		11:0
-+#	define NV_PRAMDAC_FP_DEBUG_1_XSCALE_TESTMODE_ENABLE	(1 << 12)
-+#	define NV_PRAMDAC_FP_DEBUG_1_YSCALE_VALUE		27:16
-+#	define NV_PRAMDAC_FP_DEBUG_1_YSCALE_TESTMODE_ENABLE	(1 << 28)
-+#define NV_PRAMDAC_FP_DEBUG_2				0x00680888
-+#define NV_PRAMDAC_FP_DEBUG_3				0x0068088C
-+
-+/* Some unknown regs, purely for NV30 it seems. */
-+#define NV_PRAMDAC_890					0x00680890
-+#define NV_PRAMDAC_89C					0x0068089C
-+
-+/* see NV_PRAMDAC_INDIR_TMDS in rules.xml */
-+#define NV_PRAMDAC_FP_TMDS_CONTROL			0x006808b0
-+#	define NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE		(1 << 16)
-+#define NV_PRAMDAC_FP_TMDS_DATA				0x006808b4
-+
-+/* Some kind of switch */
-+#define NV_PRAMDAC_900					0x00680900
-+#define NV_PRAMDAC_A20					0x00680A20
-+#define NV_PRAMDAC_A24					0x00680A24
-+#define NV_PRAMDAC_A34					0x00680A34
-+
-+/* names fabricated from NV_USER_DAC info */
-+#define NV_PRMDIO_PIXEL_MASK		0x006813c6
-+#	define NV_PRMDIO_PIXEL_MASK_MASK	0xff
-+#define NV_PRMDIO_READ_MODE_ADDRESS	0x006813c7
-+#define NV_PRMDIO_WRITE_MODE_ADDRESS	0x006813c8
-+#define NV_PRMDIO_PALETTE_DATA		0x006813c9
-+
-+#define NV_PGRAPH_DEBUG_0		0x00400080
-+#define NV_PGRAPH_DEBUG_1		0x00400084
-+#define NV_PGRAPH_DEBUG_2_NV04		0x00400088
-+#define NV_PGRAPH_DEBUG_2		0x00400620
-+#define NV_PGRAPH_DEBUG_3		0x0040008c
-+#define NV_PGRAPH_DEBUG_4		0x00400090
-+#define NV_PGRAPH_INTR			0x00400100
-+#define NV_PGRAPH_INTR_EN		0x00400140
-+#define NV_PGRAPH_CTX_CONTROL		0x00400144
-+#define NV_PGRAPH_CTX_CONTROL_NV04	0x00400170
-+#define NV_PGRAPH_ABS_UCLIP_XMIN	0x0040053C
-+#define NV_PGRAPH_ABS_UCLIP_YMIN	0x00400540
-+#define NV_PGRAPH_ABS_UCLIP_XMAX	0x00400544
-+#define NV_PGRAPH_ABS_UCLIP_YMAX	0x00400548
-+#define NV_PGRAPH_BETA_AND		0x00400608
-+#define NV_PGRAPH_LIMIT_VIOL_PIX	0x00400610
-+#define NV_PGRAPH_BOFFSET0		0x00400640
-+#define NV_PGRAPH_BOFFSET1		0x00400644
-+#define NV_PGRAPH_BOFFSET2		0x00400648
-+#define NV_PGRAPH_BLIMIT0		0x00400684
-+#define NV_PGRAPH_BLIMIT1		0x00400688
-+#define NV_PGRAPH_BLIMIT2		0x0040068c
-+#define NV_PGRAPH_STATUS		0x00400700
-+#define NV_PGRAPH_SURFACE		0x00400710
-+#define NV_PGRAPH_STATE			0x00400714
-+#define NV_PGRAPH_FIFO			0x00400720
-+#define NV_PGRAPH_PATTERN_SHAPE		0x00400810
-+#define NV_PGRAPH_TILE			0x00400b00
-+
-+#define NV_PVIDEO_INTR_EN		0x00008140
-+#define NV_PVIDEO_BUFFER		0x00008700
-+#define NV_PVIDEO_STOP			0x00008704
-+#define NV_PVIDEO_UVPLANE_BASE(buff)	(0x00008800+(buff)*4)
-+#define NV_PVIDEO_UVPLANE_LIMIT(buff)	(0x00008808+(buff)*4)
-+#define NV_PVIDEO_UVPLANE_OFFSET_BUFF(buff)	(0x00008820+(buff)*4)
-+#define NV_PVIDEO_BASE(buff)		(0x00008900+(buff)*4)
-+#define NV_PVIDEO_LIMIT(buff)		(0x00008908+(buff)*4)
-+#define NV_PVIDEO_LUMINANCE(buff)	(0x00008910+(buff)*4)
-+#define NV_PVIDEO_CHROMINANCE(buff)	(0x00008918+(buff)*4)
-+#define NV_PVIDEO_OFFSET_BUFF(buff)	(0x00008920+(buff)*4)
-+#define NV_PVIDEO_SIZE_IN(buff)		(0x00008928+(buff)*4)
-+#define NV_PVIDEO_POINT_IN(buff)	(0x00008930+(buff)*4)
-+#define NV_PVIDEO_DS_DX(buff)		(0x00008938+(buff)*4)
-+#define NV_PVIDEO_DT_DY(buff)		(0x00008940+(buff)*4)
-+#define NV_PVIDEO_POINT_OUT(buff)	(0x00008948+(buff)*4)
-+#define NV_PVIDEO_SIZE_OUT(buff)	(0x00008950+(buff)*4)
-+#define NV_PVIDEO_FORMAT(buff)		(0x00008958+(buff)*4)
-+#	define NV_PVIDEO_FORMAT_PLANAR			(1 << 0)
-+#	define NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8	(1 << 16)
-+#	define NV_PVIDEO_FORMAT_DISPLAY_COLOR_KEY	(1 << 20)
-+#	define NV_PVIDEO_FORMAT_MATRIX_ITURBT709	(1 << 24)
-+#define NV_PVIDEO_COLOR_KEY		0x00008B00
-+
-+/* NV04 overlay defines from VIDIX & Haiku */
-+#define NV_PVIDEO_INTR_EN_0		0x00680140
-+#define NV_PVIDEO_STEP_SIZE		0x00680200
-+#define NV_PVIDEO_CONTROL_Y		0x00680204
-+#define NV_PVIDEO_CONTROL_X		0x00680208
-+#define NV_PVIDEO_BUFF0_START_ADDRESS	0x0068020c
-+#define NV_PVIDEO_BUFF0_PITCH_LENGTH	0x00680214
-+#define NV_PVIDEO_BUFF0_OFFSET		0x0068021c
-+#define NV_PVIDEO_BUFF1_START_ADDRESS	0x00680210
-+#define NV_PVIDEO_BUFF1_PITCH_LENGTH	0x00680218
-+#define NV_PVIDEO_BUFF1_OFFSET		0x00680220
-+#define NV_PVIDEO_OE_STATE		0x00680224
-+#define NV_PVIDEO_SU_STATE		0x00680228
-+#define NV_PVIDEO_RM_STATE		0x0068022c
-+#define NV_PVIDEO_WINDOW_START		0x00680230
-+#define NV_PVIDEO_WINDOW_SIZE		0x00680234
-+#define NV_PVIDEO_FIFO_THRES_SIZE	0x00680238
-+#define NV_PVIDEO_FIFO_BURST_LENGTH	0x0068023c
-+#define NV_PVIDEO_KEY			0x00680240
-+#define NV_PVIDEO_OVERLAY		0x00680244
-+#define NV_PVIDEO_RED_CSC_OFFSET	0x00680280
-+#define NV_PVIDEO_GREEN_CSC_OFFSET	0x00680284
-+#define NV_PVIDEO_BLUE_CSC_OFFSET	0x00680288
-+#define NV_PVIDEO_CSC_ADJUST		0x0068028c
-+
-+#endif
 diff --git a/include/drm/Kbuild b/include/drm/Kbuild
 index b940fdf..cfa6af4 100644
 --- a/include/drm/Kbuild
@@ -49125,7 +42929,7 @@
  unifdef-y += via_drm.h
 +unifdef-y += nouveau_drm.h
 diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 04fbd1e..f2a6bff 100644
+index b61b0c6..5b7ce2d 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -1267,6 +1267,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.20
retrieving revision 1.1294.2.21
diff -u -r1.1294.2.20 -r1.1294.2.21
--- kernel.spec	14 Apr 2009 22:49:22 -0000	1.1294.2.20
+++ kernel.spec	24 Apr 2009 22:27:09 -0000	1.1294.2.21
@@ -3,7 +3,7 @@
 # For a stable, released kernel, released_kernel should be 1. For rawhide
 # and/or a kernel built from an rc or git snapshot, released_kernel should
 # be 0.
-%define released_kernel 1
+%define released_kernel 0
 
 # Versions of various parts
 
@@ -38,7 +38,7 @@
 %if 0%{?released_kernel}
 
 # Do we have a -stable update to apply?
-%define stable_update 1
+%define stable_update 0
 # Is it a -stable RC?
 %define stable_rc 0
 # Set rpm version accordingly
@@ -57,7 +57,7 @@
 # The next upstream release sublevel (base_sublevel+1)
 %define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
 # The rc snapshot level
-%define rcrev 0
+%define rcrev 3
 # The git snapshot level
 %define gitrev 0
 # Set rpm version accordingly
@@ -121,7 +121,7 @@
 # Set debugbuildsenabled to 1 for production (build separate debug kernels)
 #  and 0 for rawhide (all kernels are debug kernels).
 # See also 'make debug' and 'make release'.
-%define debugbuildsenabled 1
+%define debugbuildsenabled 0
 
 # Want to build a vanilla kernel build without any non-upstream patches?
 # (well, almost none, we need nonintconfig for build purposes). Default to 0 (off).
@@ -410,9 +410,6 @@
 #
 %define kernel_xen_conflicts glibc < 2.3.5-1, xen < 3.0.1
 
-# upto and including kernel 2.4.9 rpms, the 4Gb+ kernel was called kernel-enterprise
-# now that the smp kernel offers this capability, obsolete the old kernel
-%define kernel_smp_obsoletes kernel-enterprise < 2.4.10
 %define kernel_PAE_obsoletes kernel-smp < 2.6.17, kernel-xen <= 2.6.27-0.2.rc0.git6.fc10
 %define kernel_PAE_provides kernel-xen = %{rpmversion}-%{pkg_release}
 
@@ -593,17 +590,10 @@
 
 Patch21: linux-2.6-tracehook.patch
 Patch22: linux-2.6-utrace.patch
-Patch23: linux-2.6-utrace-ftrace.patch
-
-# Support suspend/resume, other crash fixes
-Patch30: linux-2.6-iommu-fixes.patch
 
 Patch41: linux-2.6-sysrq-c.patch
 
-Patch100: linux-2.6-e820-mark-esi-clobbered.patch
-Patch101: linux-2.6-e820-save-restore-edi-ebp.patch
-Patch102: linux-2.6-e820-acpi3-bios-workaround.patch
-Patch103: linux-2.6-e820-guard-against-pre-acpi3.patch
+Patch50: rds-only-on-64-bit-or-x86.patch
 
 Patch141: linux-2.6-ps3-storage-alias.patch
 Patch143: linux-2.6-g5-therm-shutdown.patch
@@ -622,19 +612,10 @@
 Patch380: linux-2.6-defaults-pci_no_msi.patch
 Patch381: linux-2.6-pciehp-update.patch
 Patch382: linux-2.6-defaults-pciehp.patch
-Patch383: linux-2.6-pci-sysfs-remove-id.patch
 Patch390: linux-2.6-defaults-acpi-video.patch
 Patch391: linux-2.6-acpi-video-dos.patch
-Patch392: linux-2.6-acpi-strict-resources.patch
-Patch393: linux-2.6-hwmon-atk0110.patch
-Patch394: linux-2.6-acpi-video-didl-intel-outputs.patch
-Patch395: linux-2.6-sony-laptop-rfkill.patch
-Patch396: linux-2.6-acer-wmi-bail-on-aao.patch
-Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch450: linux-2.6-input-kill-stupid-messages.patch
 Patch451: linux-2.6-input-fix-toshiba-hotkeys.patch
-Patch452: linux-2.6-input-hid-extra-gamepad.patch
-Patch453: linux-2.6-input-wacom-bluetooth.patch
 
 Patch460: linux-2.6-serial-460800.patch
 
@@ -642,32 +623,17 @@
 Patch480: increase-MAX_LOCKDEP_ENTRIES.patch
 
 Patch510: linux-2.6-silence-noise.patch
-Patch511: linux-2.6-shut-up-efifb.patch
 Patch530: linux-2.6-silence-fbcon-logo.patch
 Patch570: linux-2.6-selinux-mprotect-checks.patch
 Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
-Patch590: linux-2.6.29.1-sparc-regression.patch
+
 Patch600: linux-2.6-defaults-alsa-hda-beep-off.patch
-Patch601: alsa-rewrite-hw_ptr-updaters.patch
-Patch602: alsa-pcm-always-reset-invalid-position.patch
-Patch603: alsa-pcm-fix-delta-calc-at-overlap.patch
-Patch604: alsa-pcm-safer-boundary-checks.patch
-Patch605: alsa-hda-dont-reset-BDL-unnecessarily.patch
-Patch606: alsa-dont-reset-stream-at-each-prepare-callb.patch
-Patch607: alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch
-Patch608: alsa-pcm-midlevel-add-more-strict-buffer-position.patch
 Patch610: hda_intel-prealloc-4mb-dmabuffer.patch
-Patch611: linux-2.6.29-alsa-update-quirks.patch
 
 Patch670: linux-2.6-ata-quirk.patch
 
 Patch680: linux-2.6-rt2x00-asus-leds.patch
 Patch681: linux-2.6-mac80211-age-scan-results-on-resume.patch
-Patch682: linux-2.6-ipw2x00-age-scan-results-on-resume.patch
-Patch683: linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch
-Patch684: linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch
-
-Patch700: linux-2.6-dma-debug-fixes.patch
 
 Patch800: linux-2.6-crash-driver.patch
 
@@ -686,8 +652,6 @@
 Patch1816: drm-no-gem-on-i8xx.patch
 Patch1818: drm-i915-resume-force-mode.patch
 Patch1819: drm-intel-big-hammer.patch
-Patch1821: drm-intel-lying-systems-without-lvds.patch
-Patch1822: drm-intel-gen3-fb-hack.patch
 
 # kludge to make ich9 e1000 work
 Patch2000: linux-2.6-e1000-ich9.patch
@@ -703,51 +667,13 @@
 Patch2899: linux-2.6-v4l-dvb-fixes.patch
 Patch2900: linux-2.6-v4l-dvb-update.patch
 Patch2901: linux-2.6-v4l-dvb-experimental.patch
-Patch2902: linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch
 Patch2903: linux-2.6-revert-dvb-net-kabi-change.patch
 
 # fs fixes
-Patch2920: linux-2.6-ext4-flush-on-close.patch
-Patch2921: linux-2.6-ext4-really-print-warning-once.patch
-
 Patch3000: linux-2.6-btrfs-experimental-branch.patch
-Patch3001: linux-2.6-btrfs-fix-umount-hang.patch
-Patch3010: linux-2.6-relatime-by-default.patch
-Patch3020: linux-2.6-fiemap-header-install.patch
-
-Patch4000: linux-2.6-usb-cdc-acm-remove-low-latency-flag.patch
-
-Patch5000: linux-2.6-add-qcserial.patch
-
-# patches headed for -stable
-# fix oops in md raid1 (#495550)
-Patch6000: linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
-# fix squashfs on systems where pagesize > blocksize (ia64, ppc64 w/64k pages)
-Patch6010: squashfs-broken-when-pagesize-greater-than-blocksize.patch
-# fix duplicated flags value
-Patch7000: linux-2.6-mm-define-unique-value-for-as_unevictable.patch
-# fix posix clock monotonicity
-Patch7001: linux-2.6-posix-timers-fix-clock-monotonicity.patch
-# make RLIMIT_CPU work again
-Patch7002: linux-2.6-posix-timers-fix-rlimit_cpu-fork.patch
-Patch7003: linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
-Patch7004: linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
-
-Patch9001: revert-fix-modules_install-via-nfs.patch
 
 Patch9002: cpufreq-add-atom-to-p4-clockmod.patch
 
-#Adding dropwatch into rawhide until we get to 2.6.30
-Patch9003: linux-2.6-dropwatch-protocol.patch
-
-# fix for net lockups, will be in 2.6.29.1
-Patch9101: linux-2.6-net-fix-another-gro-bug.patch
-
-# kvm fixes
-Patch9300: linux-2.6-kvm-kconfig-irqchip.patch
-Patch9301: linux-2.6-kvm-mask-notifiers.patch
-Patch9302: linux-2.6-kvm-reset-pit-irq-on-unmask.patch
-
 Patch9997: xen.pvops.pre.patch
 Patch9998: xen.pvops.patch
 Patch9999: xen.pvops.post.patch
@@ -945,14 +871,12 @@
 %endif
 
 # more sanity checking; do it quietly
-if [ "%{patches}" != "%%{patches}" ] ; then
-  for patch in %{patches} ; do
-    if [ ! -f $patch ] ; then
-      echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
-      exit 1
-    fi
-  done
-fi 2>/dev/null
+for patch in %{patches} ; do
+  if [ ! -f $patch ] ; then
+    echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
+    exit 1
+  fi
+done 2>/dev/null
 
 patch_command='patch -p1 -F1 -s'
 ApplyPatch()
@@ -975,6 +899,20 @@
   esac
 }
 
+# don't apply patch if it's empty
+ApplyOptionalPatch()
+{
+  local patch=$1
+  shift
+  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
+    exit 1
+  fi
+  local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
+  if [ "$C" -gt 9 ]; then
+    ApplyPatch $patch ${1+"$@"}
+  fi
+}
+
 # First we unpack the kernel tarball.
 # If this isn't the first make prep, we use links to the existing clean tarball
 # which speeds things up quite a bit.
@@ -1114,7 +1052,7 @@
   done
 %endif
 
-#ApplyPatch git-linus.diff
+#ApplyOptionalPatch git-linus.diff
 
 # This patch adds a "make nonint_oldconfig" which is non-interactive and
 # also gives a list of missing options at the end. Useful for automated
@@ -1126,41 +1064,29 @@
 #
 # misc small stuff to make things compile
 #
-C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-compile-fixes.patch | awk '{print $1}')
-if [ "$C" -gt 10 ]; then
-ApplyPatch linux-2.6-compile-fixes.patch
-fi
+ApplyOptionalPatch linux-2.6-compile-fixes.patch
 
 %if !%{nopatches}
 
 # revert patches from upstream that conflict or that we get via other means
-C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-upstream-reverts.patch | awk '{print $1}')
-if [ "$C" -gt 10 ]; then
-ApplyPatch linux-2.6-upstream-reverts.patch -R
-fi
+ApplyOptionalPatch linux-2.6-upstream-reverts.patch -R
 
 #ApplyPatch git-cpufreq.patch
-ApplyPatch git-bluetooth.patch
+#ApplyPatch git-bluetooth.patch
 
 ApplyPatch linux-2.6-hotfixes.patch
 
 # Roland's utrace ptrace replacement.
 ApplyPatch linux-2.6-tracehook.patch
 ApplyPatch linux-2.6-utrace.patch
-#ApplyPatch linux-2.6-utrace-ftrace.patch
-
-# IOMMU fixes backported to 2.6.29
-ApplyPatch linux-2.6-iommu-fixes.patch
 
 # enable sysrq-c on all kernels, not only kexec
 ApplyPatch linux-2.6-sysrq-c.patch
 
+ApplyPatch rds-only-on-64-bit-or-x86.patch
+
 # Architecture patches
 # x86(-64)
-ApplyPatch linux-2.6-e820-mark-esi-clobbered.patch
-ApplyPatch linux-2.6-e820-save-restore-edi-ebp.patch
-ApplyPatch linux-2.6-e820-acpi3-bios-workaround.patch
-ApplyPatch linux-2.6-e820-guard-against-pre-acpi3.patch
 
 #
 # PowerPC
@@ -1180,51 +1106,34 @@
 #
 # SPARC64
 #
-
 ApplyPatch linux-2.6.29-sparc-IOC_TYPECHECK.patch
-ApplyPatch linux-2.6.29.1-sparc-regression.patch
+
 #
 # Exec shield
 #
-#ApplyPatch linux-2.6-execshield.patch
+ApplyPatch linux-2.6-execshield.patch
 
 #
 # bugfixes to drivers and filesystems
 #
 
 # ext4
-ApplyPatch linux-2.6-ext4-flush-on-close.patch
-ApplyPatch linux-2.6-ext4-really-print-warning-once.patch
 
 # xfs
 
 # btrfs
-ApplyPatch linux-2.6-btrfs-experimental-branch.patch
-ApplyPatch linux-2.6-btrfs-fix-umount-hang.patch
-
-# relatime
-ApplyPatch linux-2.6-relatime-by-default.patch
-
-# put fiemap.h into kernel-headers
-ApplyPatch linux-2.6-fiemap-header-install.patch
+#ApplyPatch linux-2.6-btrfs-experimental-branch.patch
 
 # USB
-ApplyPatch linux-2.6-add-qcserial.patch
-ApplyPatch linux-2.6-usb-cdc-acm-remove-low-latency-flag.patch
 
 # ACPI
 ApplyPatch linux-2.6-defaults-acpi-video.patch
 ApplyPatch linux-2.6-acpi-video-dos.patch
-ApplyPatch linux-2.6-acpi-strict-resources.patch
-ApplyPatch linux-2.6-hwmon-atk0110.patch
-ApplyPatch linux-2.6-acpi-video-didl-intel-outputs.patch
-ApplyPatch linux-2.6-sony-laptop-rfkill.patch
-ApplyPatch linux-2.6-acer-wmi-bail-on-aao.patch
 
 # Various low-impact patches to aid debugging.
 ApplyPatch linux-2.6-debug-sizeof-structs.patch
-ApplyPatch linux-2.6-debug-nmi-timeout.patch
-ApplyPatch linux-2.6-debug-taint-vm.patch
+#ApplyPatch linux-2.6-debug-nmi-timeout.patch
+#ApplyPatch linux-2.6-debug-taint-vm.patch
 ApplyPatch linux-2.6-debug-spinlock-taint.patch
 ApplyPatch linux-2.6-debug-vm-would-have-oomkilled.patch
 ApplyPatch linux-2.6-debug-always-inline-kzalloc.patch
@@ -1238,29 +1147,14 @@
 #ApplyPatch linux-2.6-pciehp-update.patch
 # default to enabling passively listening for hotplug events
 #ApplyPatch linux-2.6-defaults-pciehp.patch
-# Add /sys/bus/pci/devices/*/remove_id
-ApplyPatch linux-2.6-pci-sysfs-remove-id.patch
 
 #
 # SCSI Bits.
 #
-# fix cpqarray pci enable
-ApplyPatch linux-2.6-scsi-cpqarray-set-master.patch
 
 # ALSA
 # squelch hda_beep by default
 ApplyPatch linux-2.6-defaults-alsa-hda-beep-off.patch
-ApplyPatch linux-2.6.29-alsa-update-quirks.patch
-
-# fix alsa for pulseaudio
-ApplyPatch alsa-rewrite-hw_ptr-updaters.patch
-ApplyPatch alsa-pcm-always-reset-invalid-position.patch
-ApplyPatch alsa-pcm-fix-delta-calc-at-overlap.patch
-ApplyPatch alsa-pcm-safer-boundary-checks.patch
-ApplyPatch alsa-hda-dont-reset-BDL-unnecessarily.patch
-ApplyPatch alsa-dont-reset-stream-at-each-prepare-callb.patch
-ApplyPatch alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch
-ApplyPatch alsa-pcm-midlevel-add-more-strict-buffer-position.patch
 ApplyPatch hda_intel-prealloc-4mb-dmabuffer.patch
 
 # Networking
@@ -1272,12 +1166,6 @@
 # Get away from having to poll Toshibas
 ApplyPatch linux-2.6-input-fix-toshiba-hotkeys.patch
 
-# HID: add support for another version of 0e8f:0003 device in hid-pl
-ApplyPatch linux-2.6-input-hid-extra-gamepad.patch
-
-# HID: add support for Bluetooth Wacom pads
-ApplyPatch linux-2.6-input-wacom-bluetooth.patch
-
 # Allow to use 480600 baud on 16C950 UARTs
 ApplyPatch linux-2.6-serial-460800.patch
 
@@ -1286,16 +1174,13 @@
 # Silence some useless messages that still get printed with 'quiet'
 ApplyPatch linux-2.6-silence-noise.patch
 
-# Avoid efifb spew
-ApplyPatch linux-2.6-shut-up-efifb.patch
-
 # Make fbcon not show the penguins with 'quiet'
 ApplyPatch linux-2.6-silence-fbcon-logo.patch
 
 # Fix the SELinux mprotect checks on executable mappings
-ApplyPatch linux-2.6-selinux-mprotect-checks.patch
+#ApplyPatch linux-2.6-selinux-mprotect-checks.patch
 # Fix SELinux for sparc
-ApplyPatch linux-2.6-sparc-selinux-mprotect-checks.patch
+#ApplyPatch linux-2.6-sparc-selinux-mprotect-checks.patch
 
 # Changes to upstream defaults.
 
@@ -1304,18 +1189,10 @@
 ApplyPatch linux-2.6-ata-quirk.patch
 
 # rt2x00: back-port activity LED init patches
-ApplyPatch linux-2.6-rt2x00-asus-leds.patch
+#ApplyPatch linux-2.6-rt2x00-asus-leds.patch
 
 # back-port scan result aging patches
-ApplyPatch linux-2.6-mac80211-age-scan-results-on-resume.patch
-ApplyPatch linux-2.6-ipw2x00-age-scan-results-on-resume.patch
-
-# back-port iwlwifi rfkill while device down patches
-ApplyPatch linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch
-ApplyPatch linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch
-
-# Fix up DMA debug code
-ApplyPatch linux-2.6-dma-debug-fixes.patch
+#ApplyPatch linux-2.6-mac80211-age-scan-results-on-resume.patch
 
 # /dev/crash driver.
 ApplyPatch linux-2.6-crash-driver.patch
@@ -1331,56 +1208,29 @@
 
 ApplyPatch agp-set_memory_ucwb.patch
 # Nouveau DRM + drm fixes
-ApplyPatch drm-next.patch
-ApplyPatch drm-modesetting-radeon.patch
-ApplyPatch drm-nouveau.patch
+#ApplyPatch drm-next.patch
+#ApplyPatch drm-modesetting-radeon.patch
+#ApplyPatch drm-nouveau.patch
 # pm broken on my thinkpad t60p - airlied
 #ApplyPatch drm-radeon-pm.patch
 ApplyPatch drm-no-gem-on-i8xx.patch
 ApplyPatch drm-i915-resume-force-mode.patch
 ApplyPatch drm-intel-big-hammer.patch
-ApplyPatch drm-intel-lying-systems-without-lvds.patch
-ApplyPatch drm-intel-gen3-fb-hack.patch
 
 # linux1394 git patches
-ApplyPatch linux-2.6-firewire-git-update.patch
-C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-firewire-git-pending.patch | awk '{print $1}')
-#if [ "$C" -gt 10 ]; then
-#ApplyPatch linux-2.6-firewire-git-pending.patch
-#fi
+#ApplyPatch linux-2.6-firewire-git-update.patch
+#ApplyOptionalPatch linux-2.6-firewire-git-pending.patch
 
 # silence the ACPI blacklist code
 ApplyPatch linux-2.6-silence-acpi-blacklist.patch
 
 # V4L/DVB updates/fixes/experimental drivers
-ApplyPatch linux-2.6-v4l-dvb-fixes.patch
-ApplyPatch linux-2.6-v4l-dvb-update.patch
-ApplyPatch linux-2.6-v4l-dvb-experimental.patch
-ApplyPatch linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch
-ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
-
-# patches headed for -stable
-ApplyPatch linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
-ApplyPatch squashfs-broken-when-pagesize-greater-than-blocksize.patch
-ApplyPatch linux-2.6-mm-define-unique-value-for-as_unevictable.patch
-ApplyPatch linux-2.6-posix-timers-fix-clock-monotonicity.patch
-#ApplyPatch linux-2.6-posix-timers-fix-rlimit_cpu-fork.patch
-ApplyPatch linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
-ApplyPatch linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
-
-# revert 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6
-ApplyPatch revert-fix-modules_install-via-nfs.patch
-
-ApplyPatch cpufreq-add-atom-to-p4-clockmod.patch
-
-#ApplyPatch linux-2.6-dropwatch-protocol.patch
-
-ApplyPatch linux-2.6-net-fix-another-gro-bug.patch
-
-# kvm fixes
-ApplyPatch linux-2.6-kvm-kconfig-irqchip.patch
-ApplyPatch linux-2.6-kvm-mask-notifiers.patch
-ApplyPatch linux-2.6-kvm-reset-pit-irq-on-unmask.patch
+#ApplyPatch linux-2.6-v4l-dvb-fixes.patch
+#ApplyPatch linux-2.6-v4l-dvb-update.patch
+#ApplyPatch linux-2.6-v4l-dvb-experimental.patch
+#ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
+
+#ApplyPatch cpufreq-add-atom-to-p4-clockmod.patch
 
 ApplyPatch xen.pvops.pre.patch
 ApplyPatch xen.pvops.patch
@@ -1639,7 +1489,7 @@
     rm -f modinfo modnames
 
     # remove files that will be auto generated by depmod at rpm -i time
-    for i in alias ccwmap dep ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols usbmap
+    for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
     do
       rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
     done
@@ -1969,177 +1819,172 @@
 # plz don't put in a version string unless you're going to tag
 # and build.
 
+#	 _______________________________
+#	< STOP! THIS BRANCH IS FOR F12! >
+#	 -------------------------------
+#	        \   ^__^
+#	         \  (oo)\_______
+#	            (__)\       )\/\
+#	                ||----w |
+#	                ||     ||
 %changelog
-* Tue Apr 14 2009 Michael Young <m.a.young at durham.ac.uk>
-- follow the 2.6.29.1 stable branch for the moment
-- reset a few config settings to Fedora defaults
-- drop the squashfs 3 patches as we can't build both
-- docs won't build, so don't build them
-
-* Tue Apr 14 2009 Marcelo Tosatti <mtosatti at redhat.com>
-- kvm fixes for bz#491625
-
-* Tue Apr 14 2009 Jarod Wilson <jarod at redhat.com>
-- Make squashfs behave on systems where pagesize > blocksize (Doug Chapman)
-
-* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com>
-- Add missing patch for broken RLIMIT_CPU
-
-* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com>
-- Fix warnings/errors in USB cdc-acm modem driver (#495446)
-
-* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com>
-- Timer fixes headed for -stable
-
-* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com>
-- Fix duplicated flag value in pagemap.h (-stable patch)
-
-* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com>
-- acer-wmi: use upstream code to blacklist an additional model
-- Trivial fix to drm-modesetting-radeon to fix failure to apply
-
-* Tue Apr 14 2009 Dave Airlie <airlied at redhat.com> 2.6.29.1-73
-- drm-modesetting-radeon.patch: more bug fixes
-
-* Mon Apr 13 2009 Chuck Ebbert <cebbert at redhat.com>
-- Fix oops in md raid1 resync (#495550)
-
-* Mon Apr 13 2009 Eric Sandeen <sandeen at redhat.com>
-- Turn of CONFIG_SND_HDA_POWER_SAVE_DEFAULT again (#493972)
-
-* Mon Apr 13 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.1-70
-- merge alsa fixes from wwoods:
-  alsa-hda-dont-reset-BDL-unnecessarily.patch
-  alsa-dont-reset-stream-at-each-prepare-callb.patch
-  alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch
-  alsa-pcm-midlevel-add-more-strict-buffer-position.patch
-    bbf6ad13, fa00e046 from alsa-kernel/master (and deps)
-
-* Mon Apr 13 2009 John W. Linville <linville at redhat.com>
-- Remove back-port iwlwifi rfkill while device down patches (#495003)
-
-* Fri Apr 10 2009 David Woodhouse <David.Woodhouse at intel.com>
-- Fix suspend/resume with Intel IOMMU, handle devices behind PCI-PCI
-  bridges, cope with BIOS claiming IOMMU is at address zero.
-
-* Thu Apr 09 2009 Chuck Ebbert <cebbert at redhat.com>
-- Only print ext4 allocator fallback warning once.
-
-* Thu Apr 09 2009 Dennis Gilmore <dennis at ausil.us> 2.6.29.1-59
-- add patch to fix regression on sparc
-
-* Thu Apr 09 2009 Adam Jackson <ajax at redhat.com>
-- drm-intel-gen3-fb-hack.patch: Allow up to 4k framebuffers on 9[14]5.  3D
-  will be broken if you do that, but at least dualhead will be less broken.
+* Fri Apr 24 2009 Michael Young <m.a.young at durham.ac.uk>
+- switch back to devel kernel branch
+- switch pvops to xen-tip/next branch
+- remove added config options now in main fedora configuration
+- add in new config options required by new pvops patch
+- relocate the below comment stranded by the devel switch
+-* Tue Apr 14 2009 Michael Young <m.a.young at durham.ac.uk>
+-- follow the 2.6.29.1 stable branch for the moment
+-- reset a few config settings to Fedora defaults
+-- drop the squashfs 3 patches as we can't build both
+-- docs won't build, so don't build them
+
+* Wed Apr 22 2009 Dave Jones <davej at redhat.com> 2.6.30-0.67.rc3
+- Disable SYSFS_DEPRECATED on ia64
+
+* Wed Apr 22 2009 Kyle McMartin <kyle at redhat.com>
+- Linux 2.6.30-rc3
+- PROC_VMCORE=y: Exports the dump image of crashed
+  kernel in ELF format
+
+* Wed Apr 22 2009 Neil Horman <nhorman at redhat.com>
+- Enable RELOCATABLE and CRASH_DUMP for powerpc64
+- With this we can remove the -kdump build variant
+- for the ppc64 arch
+
+* Tue Apr 21 2009 Chuck Ebbert <cebbert at redhat.com>
+- Don't include the modules.*.bin files in the RPM package.
+
+* Tue Apr 21 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc2-git7
+
+* Mon Apr 20 2009 Dave Jones <davej at redhat.com>
+- Various s390x config tweaks. (#496596, #496601, #496605, #496607)
+
+* Mon Apr 20 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc2-git6
+
+* Sat Apr 18 2009 Chuck Ebbert <cebbert at redhat.com>
+- Set CONFIG_UEVENT_HELPER_PATH to the empty string (#496296)
+
+* Fri Apr 17 2009 Dave Jones <davej at redhat.com>
+- 2.6.30-rc2-git3
+
+* Thu Apr 16 2009 Kyle McMartin <kyle at redhat.com> 2.6.30-0.58.rc2.git1
+- 2.6.30-rc2-git1
+
+* Wed Apr 15 2009 Kyle McMartin <kyle at redhat.com> 2.6.30-0.57.rc2
+- 2.6.30-rc2
+
+* Tue Apr 14 2009 Kyle McMartin <kyle at redhat.com>
+- 2.6.30-rc1-git7
+- CONFIG_TOUCHSCREEN_AD7879_I2C=m
+- CONFIG_STRIP_ASM_SYMS=y, off for -debug
+
+* Mon Apr 13 2009 Kyle McMartin <kyle at redhat.com>
+- ppc-fix-parport_pc.patch: add from linuxppc-dev@
+
+* Mon Apr 13 2009 Kyle McMartin <kyle at redhat.com>
+- execshield: fix build (load_user_cs_desc is 32-bit only in tlb.c)
+
+* Sun Apr 12 2009 Kyle McMartin <kyle at redhat.com>
+- 2.6.30-rc1-git5
+- revert-fix-modules_install-via-nfs.patch: reverted upstream
+
+* Thu Apr 09 2009 Kyle McMartin <kyle at redhat.com>
+- actually drop utrace-ftrace from srpm.
+
+* Thu Apr 09 2009 Kyle McMartin <kyle at redhat.com>
+- 2.6.30-rc1-git2
+- CONFIG_IGBVF=m
+- CONFIG_NETFILTER_XT_TARGET_LED=m
 
 * Thu Apr 09 2009 Dave Jones <davej at redhat.com>
 - Bring back the /dev/crash driver. (#492803)
 
-* Thu Apr 09 2009 Dave Airlie <airlied at redhat.com>
-- radeon: fix some kms bugs, dac detect + screen resize
-
-* Wed Apr 08 2009 Adam Jackson <ajax at redhat.com>
-- Drop the PAT patch, sufficiently upstreamed now.
-
-* Wed Apr 08 2009 Dave Jones <davej at redhat.com> 2.6.29.1-58
+* Wed Apr 08 2009 Dave Jones <davej at redhat.com>
 - disable MMIOTRACE in non-debug builds (#494584)
 
-* Wed Apr 08 2009 Ben Skeggs <bskeggs at redhat.com>
-- drm-nouveau.patch: nv50 kms fixes (PROM access, i2c, clean some warnings)
+* Wed Apr 08 2009 Kyle McMartin <kyle at redhat.com> 2.6.30-0.44.rc1
+- 2.6.30-rc1
+- linux-2.6-hwmon-atk0110.patch: drop
+- CONFIG_DETECT_HUNG_TASK=y
+- # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+
+* Tue Apr  7 2009 Roland McGrath <roland at redhat.com>
+- utrace update, drop unfinished utrace-ftrace
 
 * Tue Apr 07 2009 Kyle McMartin <kyle at redhat.com>
-- linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch (#493053)
+- Linux 2.6.29-git15
+- EXT3_DEFAULTS_TO_ORDERED on for now.
+- X86_X2APIC enabled.
+- LEDS_LP5521, LEDS_BD2802 off... look not generally relevant.
+- LIBFCOE on.
 
 * Tue Apr 07 2009 Dave Jones <davej at redhat.com>
 - Enable CONFIG_CIFS_STATS (#494545)
 
-* Tue Apr 07 2009 Dave Airlie <airlied at redhat.com>
-- drm-modesetting-radeon: repair vt switch
+* Mon Apr 06 2009 Kyle McMartin <kyle at redhat.com>
+- linux-2.6-execshield.patch: rebase for 2.6.30
 
-* Mon Apr 06 2009 Ben Skeggs <bskeggs at redhat.com>
-- drm-nouveau.patch: rebase on drm-f11
-
-* Mon Apr 06 2009 Dave Airlie <airlied at redhat.com>
-- radeon: bust APIs and move to what we want in the end.
-
-* Sun Apr 05 2009 Ben Skeggs <bskeggs at redhat.com>
-- drm-nouveau.patch: big update.  mostly cleanups, few functional changes
-    Big code cleanup (the scary looking, but hopefully harmless part)
-    Now using "full-featured" VBIOS parser from DDX
-    Remove custom i2c code in favour of i2c_algo_bit
-    Refuse to suspend, we can't possibly resume just yet
-    Fix ramht insertions when a collision happens (rh#492427)
-    No kms warning on pre-nv50 when kms not acutally enabled (rh#493222)
-
-* Sat Apr 04 2009 Matthew Garrett <mjg at redhat.com>
-- linux-2.6-add-qcserial.patch: Add the qcserial driver for Qualcomm modems
-
-* Fri Apr 03 2009 Jarod Wilson <jarod at redhat.com>
-- Don't set up non-existent LVDS on systems with mobile Intel graphics chips
-  that lie about having LVDS (like my Dell Studio Hybrid). Makes plymouth
-  graphical boot function properly.
-- Don't let acer-wmi do stupid things on unsupported systems (like, create
-  a bogus rfkill entry in sysfs that effectively neuters wireless in
-  NetworkManager on the Aspire One)
-
-* Fri Apr 03 2009 Chuck Ebbert <cebbert at redhat.com>
-- x86 E820 fixes from 2.6.30
-
-* Fri Apr 03 2009 Dave Jones <davej at redhat.com>
-- x86/dma: unify definition of pci_unmap_addr* and pci_unmap_len macros
-
-* Thu Apr 02 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.1-46
-- Enable debug builds and turn of debugging in the regular kernel.
-- Remove dma-debug patches.
-- Leave CONFIG_PCI_MSI_DEFAULT_ON set.
-
-* Thu Apr 02 2009 Chuck Ebbert <cebbert at redhat.com>
-- Linux 2.6.29.1
-- Removed upstream commit d64260d58865004c6354e024da3450fdd607ea07
-  from v4l-dvb-fixes: merged in 2.6.29.1
-
-* Thu Apr 02 2009 John W. Linville <linville at redhat.com>
-- iwl3945: rely on priv->lock to protect priv access
-
-* Thu Apr 02 2009 John W. Linville <linville at redhat.com>
-- back-port iwlwifi rfkill while device down patches
+* Mon Apr 06 2009 Kyle McMartin <kyle at redhat.com>
+- Linux 2.6.29-git13
+- drop patches merged upstream:
+  - fix-ppc-debug_kmap_atomic.patch
+  - fix-staging-at76.patch
+  - linux-2.6-acpi-video-didl-intel-outputs.patch
+  - linux-2.6-acpi-strict-resources.patch
+  - linux-2.6-sony-laptop-rfkill.patch
+  - linux-2.6-btrfs-fix-umount-hang.patch
+  - linux-2.6-fiemap-header-install.patch
+  - linux-2.6-debug-dma-api.patch
+  - dma-api-debug-fixes.patch
+  - linux-2.6-ext4-flush-on-close.patch
+  - linux-2.6-relatime-by-default.patch
+  - linux-2.6-pci-sysfs-remove-id.patch
+  - linux-2.6-scsi-cpqarray-set-master.patch
+  - alsa-rewrite-hw_ptr-updaters.patch
+  - alsa-pcm-always-reset-invalid-position.patch
+  - alsa-pcm-fix-delta-calc-at-overlap.patch
+  - alsa-pcm-safer-boundary-checks.patch
+  - linux-2.6-input-hid-extra-gamepad.patch
+  - linux-2.6-ipw2x00-age-scan-results-on-resume.patch
+  - linux-2.6-dropwatch-protocol.patch
+  - linux-2.6-net-fix-gro-bug.patch
+  - linux-2.6-net-fix-another-gro-bug.patch
+  - linux-2.6-net-xfrm-fix-spin-unlock.patch
+  - linux-2.6.29-pat-change-is_linear_pfn_mapping-to-not-use-vm_pgoff.patch
+  - linux-2.6.29-pat-pci-change-prot-for-inherit.patch
 
 * Thu Apr 02 2009 Josef Bacik <josef at toxicpanda.com>
-- linux-2.6-btrfs-fix-umount-hang.patch: fix hang on umount
+- linux-2.6-btrfs-fix-umount-hang.patch: fix umount hang on btrfs
 
-* Wed Apr 01 2009 Matthew Garrett <mjg at redhat.com>
-- linux-2.6-shut-up-efifb.patch: avoid efifb errors on unsupported hardware
+* Thu Apr 02 2009 Kyle McMartin <kyle at redhat.com>
+- fix-ppc-debug_kmap_atomic.patch: fix build failures on ppc.
 
-* Wed Apr 01 2009 Matthew Garrett <mjg at redhat.com>
-- linux-2.6-acpi-video-didl-intel-outputs.patch: fix enabling of asle
+* Thu Apr 02 2009 Kyle McMartin <kyle at redhat.com>
+- Linux 2.6.29-git9
 
-* Wed Apr 01 2009 Dave Airlie <airlied at redhat.com>
-- drm-radeon-reorder-bm.patch: attempt PM fix for PCI/AGP cards
+* Tue Mar 31 2009 Kyle McMartin <kyle at redhat.com>
+- rds-only-on-64-bit-or-x86.patch: add
+- at76-netdev_ops.patch: add
 
-* Tue Mar 31 2009 Matthew Garrett <mjg at redhat.com> 2.6.29.1-35.rc1
-- linux-2.6.29-alsa-update-quirks.patch: Backport some HDA quirk support
-
-* Tue Mar 31 2009 Chuck Ebbert <cebbert at redhat.com>
-- Linux 2.6.29.1-rc1
-- Dropped patches, merged upstream:
-    linux-2.6-net-fix-gro-bug.patch
-    linux-2.6-net-xfrm-fix-spin-unlock.patch
-    linux-2.6.29-pat-change-is_linear_pfn_mapping-to-not-use-vm_pgoff.patch
-    linux-2.6.29-pat-pci-change-prot-for-inherit.patch
+* Tue Mar 31 2009 Kyle McMartin <kyle at redhat.com>
+- Linux 2.6.29-git8
+- linux-2.6-net-fix-another-gro-bug.patch: upstream.
 
 * Tue Mar 31 2009 Eric Sandeen <sandeen at redhat.com>
 - add fiemap.h to kernel-headers
 - build ext4 (and jbd2 and crc16) into the kernel
 
-* Tue Mar 31 2009 Matthew Garrett <mjg at redhat.com>
-- update the sony laptop code
-
-* Tue Mar 31 2009 Ben Skeggs <bskeggs at redhat.com>
-- drm-nouveau.patch: support version 3.0 pll limits table
-  may help with rh#492575
-
-* Mon Mar 30 2009 Matthew Garrett <mjg at redhat.com>
-- linux-2.6-input-wacom-bluetooth.patch: Add support for Bluetooth wacom pads
+* Tue Mar 31 2009 Kyle McMartin <kyle at redhat.com>
+- Linux 2.6.29-git7
+- fix-staging-at76.patch: pull patch from linux-wireless to fix...
+
+* Mon Mar 30 2009 Kyle McMartin <kyle at redhat.com> 2.6.30-0.28.rc0.git6
+- Linux 2.6.29-git6
+- Bunch of stuff disabled, most merged, some needs rebasing.
 
 * Mon Mar 30 2009 Chuck Ebbert <cebbert at redhat.com>
 - Make the .shared-srctree file a list so more than two checkouts

linux-2.6-defaults-pci_no_msi.patch:

Index: linux-2.6-defaults-pci_no_msi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-defaults-pci_no_msi.patch,v
retrieving revision 1.4
retrieving revision 1.4.6.1
diff -u -r1.4 -r1.4.6.1
--- linux-2.6-defaults-pci_no_msi.patch	4 Feb 2009 17:50:39 -0000	1.4
+++ linux-2.6-defaults-pci_no_msi.patch	24 Apr 2009 22:27:10 -0000	1.4.6.1
@@ -1,10 +1,8 @@
-diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index d8362cf..30d6053 100644
---- a/Documentation/kernel-parameters.txt
-+++ b/Documentation/kernel-parameters.txt
-@@ -1674,6 +1674,9 @@ and is between 256 and 4096 characters. It is defined in the file
+--- linux-2.6.29.noarch/Documentation/kernel-parameters.txt~	2009-04-20 13:36:09.000000000 -0400
++++ linux-2.6.29.noarch/Documentation/kernel-parameters.txt	2009-04-20 13:36:33.000000000 -0400
+@@ -1723,6 +1723,9 @@ and is between 256 and 4096 characters. 
  				root domains (aka PCI segments, in ACPI-speak).
- 		nommconf	[X86-32,X86_64] Disable use of MMCONFIG for PCI
+ 		nommconf	[X86] Disable use of MMCONFIG for PCI
  				Configuration
 +		msi		[MSI] If the PCI_MSI kernel config parameter is
 +				enabled, this kernel boot option can be used to

linux-2.6-execshield.patch:

Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-execshield.patch,v
retrieving revision 1.102.6.1
retrieving revision 1.102.6.2
diff -u -r1.102.6.1 -r1.102.6.2
--- linux-2.6-execshield.patch	12 Mar 2009 20:38:57 -0000	1.102.6.1
+++ linux-2.6-execshield.patch	24 Apr 2009 22:27:10 -0000	1.102.6.2
@@ -1,5 +1,5 @@
 diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
-index dc27705..34ed3a2 100644
+index 5623c50..353a24e 100644
 --- a/arch/x86/include/asm/desc.h
 +++ b/arch/x86/include/asm/desc.h
 @@ -6,6 +6,7 @@
@@ -10,7 +10,7 @@
  
  static inline void fill_ldt(struct desc_struct *desc,
  			    const struct user_desc *info)
-@@ -95,6 +96,9 @@ static inline int desc_empty(const void *ptr)
+@@ -94,6 +95,9 @@ static inline int desc_empty(const void *ptr)
  
  #define load_TLS(t, cpu) native_load_tls(t, cpu)
  #define set_ldt native_set_ldt
@@ -20,7 +20,7 @@
  
  #define write_ldt_entry(dt, entry, desc)	\
  	native_write_ldt_entry(dt, entry, desc)
-@@ -379,6 +383,27 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist)
+@@ -380,6 +384,27 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist)
  	_set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS);
  }
  
@@ -73,10 +73,10 @@
  
  #ifdef CONFIG_SMP
 diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
-index e299287..aaa8a35 100644
+index 7727aa8..5d6083c 100644
 --- a/arch/x86/include/asm/paravirt.h
 +++ b/arch/x86/include/asm/paravirt.h
-@@ -113,6 +113,9 @@ struct pv_cpu_ops {
+@@ -138,6 +138,9 @@ struct pv_cpu_ops {
  	void (*store_gdt)(struct desc_ptr *);
  	void (*store_idt)(struct desc_ptr *);
  	void (*set_ldt)(const void *desc, unsigned entries);
@@ -86,7 +86,7 @@
  	unsigned long (*store_tr)(void);
  	void (*load_tls)(struct thread_struct *t, unsigned int cpu);
  #ifdef CONFIG_X86_64
-@@ -860,6 +863,12 @@ static inline void set_ldt(const void *addr, unsigned entries)
+@@ -953,6 +956,12 @@ static inline void set_ldt(const void *addr, unsigned entries)
  {
  	PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries);
  }
@@ -100,10 +100,10 @@
  {
  	PVOP_VCALL1(pv_cpu_ops.store_gdt, dtr);
 diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
-index 3bfd523..99c8119 100644
+index 34c5237..4fc080f 100644
 --- a/arch/x86/include/asm/processor.h
 +++ b/arch/x86/include/asm/processor.h
-@@ -158,6 +158,9 @@ static inline int hlt_works(int cpu)
+@@ -159,6 +159,9 @@ static inline int hlt_works(int cpu)
  
  #define cache_line_size()	(boot_cpu_data.x86_cache_alignment)
  
@@ -114,12 +114,12 @@
  
  extern struct pt_regs *idle_regs(struct pt_regs *);
 diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
-index 83492b1..a84c787 100644
+index c4f6678..0a680c0 100644
 --- a/arch/x86/kernel/cpu/common.c
 +++ b/arch/x86/kernel/cpu/common.c
-@@ -708,6 +708,21 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
- 	 * we do "generic changes."
- 	 */
+@@ -789,6 +789,20 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
+ 	/* Filter out anything that depends on CPUID levels we don't have */
+ 	filter_cpuid_features(c, true);
  
 +	/*
 +	 *  emulation of NX with segment limits unfortunately means
@@ -135,15 +135,14 @@
 +			clear_cpu_cap(c, X86_FEATURE_SEP);
 +	}
 +
-+
  	/* If the model name is still unset, do table lookup. */
  	if (!c->x86_model_id[0]) {
- 		char *p;
+ 		const char *p;
 diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
-index c6520a4..2066aa1 100644
+index 8e45f44..13c0535 100644
 --- a/arch/x86/kernel/paravirt.c
 +++ b/arch/x86/kernel/paravirt.c
-@@ -352,6 +352,9 @@ struct pv_cpu_ops pv_cpu_ops = {
+@@ -369,6 +369,9 @@ struct pv_cpu_ops pv_cpu_ops = {
  	.read_tscp = native_read_tscp,
  	.load_tr_desc = native_load_tr_desc,
  	.set_ldt = native_set_ldt,
@@ -154,19 +153,21 @@
  	.load_idt = native_load_idt,
  	.store_gdt = native_store_gdt,
 diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
-index bd4da2a..60823d4 100644
+index 76f8f84..4118f17 100644
 --- a/arch/x86/kernel/process_32.c
 +++ b/arch/x86/kernel/process_32.c
-@@ -343,6 +343,8 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp,
+@@ -301,7 +301,10 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
  void
  start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
  {
 +	int cpu;
 +
- 	__asm__("movl %0, %%gs" : : "r"(0));
+ 	set_user_gs(regs, 0);
++
  	regs->fs		= 0;
  	set_fs(USER_DS);
-@@ -352,6 +354,11 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
+ 	regs->ds		= __USER_DS;
+@@ -310,6 +313,11 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
  	regs->cs		= __USER_CS;
  	regs->ip		= new_ip;
  	regs->sp		= new_sp;
@@ -178,7 +179,7 @@
  	/*
  	 * Free the old FP and other extended state
  	 */
-@@ -519,7 +526,8 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -356,7 +364,8 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
  	/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
  
  	__unlazy_fpu(prev_p);
@@ -188,7 +189,7 @@
  
  	/* we're going to use this soon, after a few expensive things */
  	if (next_p->fpu_counter > 5)
-@@ -692,3 +700,41 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
+@@ -509,3 +518,41 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
  	unsigned long range_end = mm->brk + 0x02000000;
  	return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
  }
@@ -230,34 +231,13 @@
 +	mm->context.exec_limit = 0;
 +	set_user_cs(&mm->context.user_cs, 0);
 +}
-diff --git a/arch/x86/kernel/tlb_32.c b/arch/x86/kernel/tlb_32.c
-index ce50546..bd6593a 100644
---- a/arch/x86/kernel/tlb_32.c
-+++ b/arch/x86/kernel/tlb_32.c
-@@ -2,6 +2,7 @@
- #include <linux/cpu.h>
- #include <linux/interrupt.h>
- 
-+#include <asm/desc.h>
- #include <asm/tlbflush.h>
- 
- DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate)
-@@ -91,6 +92,8 @@ void smp_invalidate_interrupt(struct pt_regs *regs)
- 	unsigned long cpu;
- 
- 	cpu = get_cpu();
-+	if (current->active_mm)
-+		load_user_cs_desc(cpu, current->active_mm);
- 
- 	if (!cpu_isset(cpu, flush_cpumask))
- 		goto out;
 diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
-index a9e7548..af0f8f0 100644
+index a1d2883..453b616 100644
 --- a/arch/x86/kernel/traps.c
 +++ b/arch/x86/kernel/traps.c
-@@ -160,6 +160,76 @@ static int lazy_iobitmap_copy(void)
- 
- 	return 0;
+@@ -118,6 +118,76 @@ die_if_kernel(const char *str, struct pt_regs *regs, long err)
+ 	if (!user_mode_vm(regs))
+ 		die(str, regs, err);
  }
 +
 +static inline int
@@ -332,7 +312,7 @@
  #endif
  
  static void __kprobes
-@@ -323,6 +393,29 @@ do_general_protection(struct pt_regs *regs, long error_code)
+@@ -276,6 +346,29 @@ do_general_protection(struct pt_regs *regs, long error_code)
  	if (!user_mode(regs))
  		goto gp_in_kernel;
  
@@ -362,7 +342,7 @@
  	tsk->thread.error_code = error_code;
  	tsk->thread.trap_no = 13;
  
-@@ -934,19 +1027,37 @@ dotraplinkage void __kprobes do_device_not_available(struct pt_regs regs)
+@@ -888,19 +981,37 @@ do_device_not_available(struct pt_regs *regs, long error_code)
  }
  
  #ifdef CONFIG_X86_32
@@ -388,7 +368,7 @@
 -	info.si_signo = SIGILL;
 -	info.si_errno = 0;
 -	info.si_code = ILL_BADSTK;
--	info.si_addr = 0;
+-	info.si_addr = NULL;
 -	if (notify_die(DIE_TRAP, "iret exception",
 -			regs, error_code, 32, SIGILL) == NOTIFY_STOP)
 -		return;
@@ -409,11 +389,27 @@
  }
  #endif
  
+diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
+index fd3da1d..ac54294 100644
+--- a/arch/x86/mm/init.c
++++ b/arch/x86/mm/init.c
+@@ -163,7 +163,11 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+ 	set_nx();
+ 	if (nx_enabled)
+ 		printk(KERN_INFO "NX (Execute Disable) protection: active\n");
++	else
+ #endif
++	if (exec_shield)
++		printk(KERN_INFO "Using x86 segment limits to approximate "
++			"NX protection\n");
+ 
+ 	/* Enable PSE if available */
+ 	if (cpu_has_pse)
 diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
-index 2cef050..a18ae07 100644
+index 749559e..ad9943c 100644
 --- a/arch/x86/mm/init_32.c
 +++ b/arch/x86/mm/init_32.c
-@@ -617,7 +617,7 @@ static int disable_nx __initdata;
+@@ -602,7 +602,7 @@ static int disable_nx __initdata;
   * Control non executable mappings.
   *
   * on      Enable
@@ -422,7 +418,7 @@
   */
  static int __init noexec_setup(char *str)
  {
-@@ -626,14 +626,12 @@ static int __init noexec_setup(char *str)
+@@ -611,14 +611,12 @@ static int __init noexec_setup(char *str)
  			__supported_pte_mask |= _PAGE_NX;
  			disable_nx = 0;
  		}
@@ -443,20 +439,8 @@
  
  	return 0;
  }
-@@ -892,7 +890,11 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
- 	set_nx();
- 	if (nx_enabled)
- 		printk(KERN_INFO "NX (Execute Disable) protection: active\n");
-+	else
- #endif
-+	if (exec_shield)
-+		printk(KERN_INFO "Using x86 segment limits to approximate "
-+			"NX protection\n");
- 
- 	/* Enable PSE if available */
- 	if (cpu_has_pse)
 diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c
-index 56fe712..30d2be7 100644
+index 1658296..72056cf 100644
 --- a/arch/x86/mm/mmap.c
 +++ b/arch/x86/mm/mmap.c
 @@ -111,13 +111,16 @@ static unsigned long mmap_legacy_base(void)
@@ -477,6 +461,31 @@
  		mm->unmap_area = arch_unmap_area_topdown;
  	}
  }
+diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
+index 821e970..ea5a4c3 100644
+--- a/arch/x86/mm/tlb.c
++++ b/arch/x86/mm/tlb.c
+@@ -6,6 +6,7 @@
+ #include <linux/interrupt.h>
+ #include <linux/module.h>
+ 
++#include <asm/desc.h>
+ #include <asm/tlbflush.h>
+ #include <asm/mmu_context.h>
+ #include <asm/apic.h>
+@@ -129,6 +130,12 @@ void smp_invalidate_interrupt(struct pt_regs *regs)
+ 	union smp_flush_state *f;
+ 
+ 	cpu = smp_processor_id();
++
++#ifdef CONFIG_X86_32
++	if (current->active_mm)
++		load_user_cs_desc(cpu, current->active_mm);
++#endif
++
+ 	/*
+ 	 * orig_rax contains the negated interrupt vector.
+ 	 * Use that to determine where the sender put the data.
 diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
 index 1241f11..3f2c44c 100644
 --- a/arch/x86/vdso/vdso32-setup.c
@@ -491,10 +500,10 @@
  			ret = addr;
  			goto up_fail;
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index b58e963..cdc83ce 100644
+index 82cd39a..702e3a0 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -316,6 +316,24 @@ static void xen_set_ldt(const void *addr, unsigned entries)
+@@ -282,6 +282,24 @@ static void xen_set_ldt(const void *addr, unsigned entries)
  	xen_mc_issue(PARAVIRT_LAZY_CPU);
  }
  
@@ -519,7 +528,7 @@
  static void xen_load_gdt(const struct desc_ptr *dtr)
  {
  	unsigned long *frames;
-@@ -1232,6 +1250,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
+@@ -792,6 +810,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
  
  	.load_tr_desc = paravirt_nop,
  	.set_ldt = xen_set_ldt,
@@ -530,10 +539,10 @@
  	.load_idt = xen_load_idt,
  	.load_tls = xen_load_tls,
 diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 33b7235..ce1f044 100644
+index 40381df..f856fab 100644
 --- a/fs/binfmt_elf.c
 +++ b/fs/binfmt_elf.c
-@@ -80,7 +80,7 @@ static struct linux_binfmt elf_format = {
+@@ -73,7 +73,7 @@ static struct linux_binfmt elf_format = {
  		.hasvdso	= 1
  };
  
@@ -542,7 +551,7 @@
  
  static int set_brk(unsigned long start, unsigned long end)
  {
-@@ -735,6 +735,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -721,6 +721,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  			break;
  		}
  
@@ -554,7 +563,7 @@
  	/* Some simple consistency checks for the interpreter */
  	if (elf_interpreter) {
  		retval = -ELIBBAD;
-@@ -754,6 +759,15 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -740,6 +745,15 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  	if (retval)
  		goto out_free_dentry;
  
@@ -570,7 +579,7 @@
  	/* OK, This is the point of no return */
  	current->flags &= ~PF_FORKNOEXEC;
  	current->mm->def_flags = def_flags;
-@@ -761,7 +775,8 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -747,7 +761,8 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  	/* Do this immediately, since STACK_TOP as used in setup_arg_pages
  	   may depend on the personality.  */
  	SET_PERSONALITY(loc->elf_ex);
@@ -580,7 +589,7 @@
  		current->personality |= READ_IMPLIES_EXEC;
  
  	if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space)
-@@ -926,7 +941,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -912,7 +927,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  					    interpreter,
  					    &interp_map_addr,
  					    load_bias);
@@ -589,34 +598,11 @@
  			/*
  			 * load_elf_interp() returns relocation
  			 * adjustment
-diff --git a/fs/proc/array.c b/fs/proc/array.c
-index 7e4877d..0c368c1 100644
---- a/fs/proc/array.c
-+++ b/fs/proc/array.c
-@@ -424,8 +424,16 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
- 		unlock_task_sighand(task, &flags);
- 	}
- 
--	if (!whole || num_threads < 2)
--		wchan = get_wchan(task);
-+	if (!whole || num_threads < 2) {
-+		const struct cred *cred;
-+
-+		wchan = 0;
-+		cred = __task_cred(task);
-+		if (current_uid() == cred->uid || current_euid() == cred->uid ||
-+			capable(CAP_SYS_NICE))
-+				wchan = get_wchan(task);
-+	}
-+
- 	if (!whole) {
- 		min_flt = task->min_flt;
- 		maj_flt = task->maj_flt;
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 065cdf8..aa94aa9 100644
+index bff1f0d..88c5efa 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
-@@ -1135,7 +1135,13 @@ extern int install_special_mapping(struct mm_struct *mm,
+@@ -1138,7 +1138,13 @@ extern int install_special_mapping(struct mm_struct *mm,
  				   unsigned long addr, unsigned long len,
  				   unsigned long flags, struct page **pages);
  
@@ -632,10 +618,10 @@
  extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
  	unsigned long len, unsigned long prot,
 diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 92915e8..4bfd050 100644
+index 0e80e26..af904ea 100644
 --- a/include/linux/mm_types.h
 +++ b/include/linux/mm_types.h
-@@ -194,6 +194,9 @@ struct mm_struct {
+@@ -198,6 +198,9 @@ struct mm_struct {
  	unsigned long (*get_unmapped_area) (struct file *filp,
  				unsigned long addr, unsigned long len,
  				unsigned long pgoff, unsigned long flags);
@@ -663,12 +649,12 @@
  /*
   * GPG2 wants 64kB of mlocked memory, to make sure pass phrases
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 8c216e0..79eca33 100644
+index b94f354..aed6221 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -98,6 +98,9 @@ struct robust_list_head;
- struct bio;
+@@ -99,6 +99,9 @@ struct bio;
  struct bts_tracer;
+ struct fs_struct;
  
 +extern int exec_shield;
 +extern int print_fatal_signals;
@@ -676,7 +662,7 @@
  /*
   * List of flags we want to share for kernel threads,
   * if only because they are not used by them anyway.
-@@ -346,6 +349,10 @@ extern int sysctl_max_map_count;
+@@ -351,6 +354,10 @@ extern int sysctl_max_map_count;
  extern unsigned long
  arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
  		       unsigned long, unsigned long);
@@ -688,10 +674,10 @@
  arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr,
  			  unsigned long len, unsigned long pgoff,
 diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index c5ef44f..f7abce4 100644
+index 82350f8..d89dd29 100644
 --- a/kernel/sysctl.c
 +++ b/kernel/sysctl.c
-@@ -85,6 +85,26 @@ extern int sysctl_nr_open_min, sysctl_nr_open_max;
+@@ -86,6 +86,26 @@ extern int sysctl_nr_open_min, sysctl_nr_open_max;
  #ifndef CONFIG_MMU
  extern int sysctl_nr_trim_pages;
  #endif
@@ -718,7 +704,7 @@
  #ifdef CONFIG_RCU_TORTURE_TEST
  extern int rcutorture_runnable;
  #endif /* #ifdef CONFIG_RCU_TORTURE_TEST */
-@@ -379,6 +399,14 @@ static struct ctl_table kern_table[] = {
+@@ -377,6 +397,14 @@ static struct ctl_table kern_table[] = {
  		.proc_handler	= &proc_dointvec,
  	},
  	{
@@ -734,10 +720,10 @@
  		.procname	= "core_uses_pid",
  		.data		= &core_uses_pid,
 diff --git a/mm/mmap.c b/mm/mmap.c
-index 00ced3e..931bc3b 100644
+index 4a38411..12ca810 100644
 --- a/mm/mmap.c
 +++ b/mm/mmap.c
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
  #include <linux/mempolicy.h>
  #include <linux/rmap.h>
  #include <linux/mmu_notifier.h>
@@ -745,7 +731,7 @@
  
  #include <asm/uaccess.h>
  #include <asm/cacheflush.h>
-@@ -43,6 +44,18 @@
+@@ -44,6 +45,18 @@
  #define arch_rebalance_pgtables(addr, len)		(addr)
  #endif
  
@@ -764,7 +750,7 @@
  static void unmap_region(struct mm_struct *mm,
  		struct vm_area_struct *vma, struct vm_area_struct *prev,
  		unsigned long start, unsigned long end);
-@@ -391,6 +404,8 @@ static inline void
+@@ -392,6 +405,8 @@ static inline void
  __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
  		struct vm_area_struct *prev, struct rb_node *rb_parent)
  {
@@ -773,7 +759,7 @@
  	if (prev) {
  		vma->vm_next = prev->vm_next;
  		prev->vm_next = vma;
-@@ -493,6 +508,8 @@ __vma_unlink(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -494,6 +509,8 @@ __vma_unlink(struct mm_struct *mm, struct vm_area_struct *vma,
  	rb_erase(&vma->vm_rb, &mm->mm_rb);
  	if (mm->mmap_cache == vma)
  		mm->mmap_cache = prev;
@@ -782,7 +768,7 @@
  }
  
  /*
-@@ -802,6 +819,8 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm,
+@@ -803,6 +820,8 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm,
  		} else					/* cases 2, 5, 7 */
  			vma_adjust(prev, prev->vm_start,
  				end, prev->vm_pgoff, NULL);
@@ -791,7 +777,7 @@
  		return prev;
  	}
  
-@@ -956,7 +975,8 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
+@@ -957,7 +976,8 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
  	/* Obtain the address to map to. we verify (or select) it and ensure
  	 * that it represents a valid section of the address space.
  	 */
@@ -801,7 +787,7 @@
  	if (addr & ~PAGE_MASK)
  		return addr;
  
-@@ -1436,13 +1456,17 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
+@@ -1440,13 +1460,17 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
  }
  
  unsigned long
@@ -822,7 +808,7 @@
  	if (file && file->f_op && file->f_op->get_unmapped_area)
  		get_area = file->f_op->get_unmapped_area;
  	addr = get_area(file, addr, len, pgoff, flags);
-@@ -1456,8 +1480,76 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
+@@ -1460,8 +1484,76 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
  
  	return arch_rebalance_pgtables(addr, len);
  }
@@ -900,7 +886,7 @@
  
  /* Look up the first VMA which satisfies  addr < vm_end,  NULL if none. */
  struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
-@@ -1532,6 +1624,14 @@ out:
+@@ -1536,6 +1628,14 @@ out:
  	return prev ? prev->vm_next : vma;
  }
  
@@ -915,7 +901,7 @@
  /*
   * Verify that the stack growth is acceptable and
   * update accounting. This is shared with both the
-@@ -1548,7 +1648,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1552,7 +1652,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
  		return -ENOMEM;
  
  	/* Stack limit test */
@@ -924,7 +910,7 @@
  		return -ENOMEM;
  
  	/* mlock limit tests */
-@@ -1858,10 +1958,14 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1862,10 +1962,14 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
  	if (new->vm_ops && new->vm_ops->open)
  		new->vm_ops->open(new);
  
@@ -941,7 +927,7 @@
  		vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
  
  	return 0;
-@@ -2110,6 +2214,7 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2114,6 +2218,7 @@ void exit_mmap(struct mm_struct *mm)
  	vm_unacct_memory(nr_accounted);
  	free_pgtables(tlb, vma, FIRST_USER_ADDRESS, 0);
  	tlb_finish_mmu(tlb, 0, end);

linux-2.6-tracehook.patch:

Index: linux-2.6-tracehook.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-tracehook.patch,v
retrieving revision 1.8.6.2
retrieving revision 1.8.6.3
diff -u -r1.8.6.2 -r1.8.6.3
--- linux-2.6-tracehook.patch	24 Mar 2009 22:57:43 -0000	1.8.6.2
+++ linux-2.6-tracehook.patch	24 Apr 2009 22:27:12 -0000	1.8.6.3
@@ -19,7 +19,7 @@
  2 files changed, 51 insertions(+), 43 deletions(-)
 
 diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
-index 6186a78..b622498 100644  
+index c7aa154..4ec4821 100644  
 --- a/include/linux/tracehook.h
 +++ b/include/linux/tracehook.h
 @@ -1,7 +1,7 @@
@@ -31,7 +31,7 @@
   *
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
-@@ -469,22 +469,29 @@ static inline int tracehook_get_signal(s
+@@ -464,22 +464,29 @@ static inline int tracehook_get_signal(s
  
  /**
   * tracehook_notify_jctl - report about job control stop/continue
@@ -70,10 +70,10 @@
  
  #define DEATH_REAP			-1
 diff --git a/kernel/signal.c b/kernel/signal.c
-index 2a74fe8..9a0d98f 100644  
+index d803473..424eff2 100644  
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
-@@ -691,7 +691,7 @@ static int prepare_signal(int sig, struc
+@@ -702,7 +702,7 @@ static int prepare_signal(int sig, struc
  
  		if (why) {
  			/*
@@ -82,7 +82,7 @@
  			 * will take ->siglock, notice SIGNAL_CLD_MASK, and
  			 * notify its parent. See get_signal_to_deliver().
  			 */
-@@ -1629,29 +1629,6 @@ void ptrace_notify(int exit_code)
+@@ -1665,29 +1665,6 @@ void ptrace_notify(int exit_code)
  	spin_unlock_irq(&current->sighand->siglock);
  }
  
@@ -112,7 +112,7 @@
  /*
   * This performs the stopping for SIGSTOP and other stop signals.
   * We have to stop all threads in the thread group.
-@@ -1662,6 +1639,7 @@ static int do_signal_stop(int signr)
+@@ -1698,6 +1675,7 @@ static int do_signal_stop(int signr)
  {
  	struct signal_struct *sig = current->signal;
  	int stop_count;
@@ -120,7 +120,7 @@
  
  	if (sig->group_stop_count > 0) {
  		/*
-@@ -1701,8 +1679,30 @@ static int do_signal_stop(int signr)
+@@ -1737,8 +1715,30 @@ static int do_signal_stop(int signr)
  	current->exit_code = sig->group_exit_code;
  	__set_current_state(TASK_STOPPED);
  
@@ -152,7 +152,7 @@
  	return 1;
  }
  
-@@ -1771,14 +1771,15 @@ relock:
+@@ -1807,14 +1807,15 @@ relock:
  		int why = (signal->flags & SIGNAL_STOP_CONTINUED)
  				? CLD_CONTINUED : CLD_STOPPED;
  		signal->flags &= ~SIGNAL_CLD_MASK;
@@ -174,7 +174,7 @@
  		goto relock;
  	}
  
-@@ -1936,14 +1937,14 @@ void exit_signals(struct task_struct *ts
+@@ -1979,14 +1980,14 @@ void exit_signals(struct task_struct *ts
  	if (unlikely(tsk->signal->group_stop_count) &&
  			!--tsk->signal->group_stop_count) {
  		tsk->signal->flags = SIGNAL_STOP_STOPPED;

linux-2.6-utrace.patch:

Index: linux-2.6-utrace.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace.patch,v
retrieving revision 1.107.6.1
retrieving revision 1.107.6.2
diff -u -r1.107.6.1 -r1.107.6.2
--- linux-2.6-utrace.patch	24 Mar 2009 22:57:43 -0000	1.107.6.1
+++ linux-2.6-utrace.patch	24 Apr 2009 22:27:12 -0000	1.107.6.2
@@ -30,17 +30,17 @@
  fs/proc/array.c                   |    3 +
  include/linux/init_task.h         |    1 +
  include/linux/sched.h             |    6 +
- include/linux/tracehook.h         |   50 +-
+ include/linux/tracehook.h         |   61 +-
  include/linux/utrace.h            |  692 +++++++++++
  include/linux/utrace_struct.h     |   58 +
  init/Kconfig                      |    9 +
  kernel/Makefile                   |    1 +
  kernel/ptrace.c                   |   18 +-
- kernel/utrace.c                   | 2348 +++++++++++++++++++++++++++++++++++++
- 12 files changed, 3756 insertions(+), 3 deletions(-)
+ kernel/utrace.c                   | 2351 +++++++++++++++++++++++++++++++++++++
+ 12 files changed, 3770 insertions(+), 3 deletions(-)
 
 diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
-index 1462ed8..f5da1b4 100644  
+index a3a83d3..0a07ba9 100644  
 --- a/Documentation/DocBook/Makefile
 +++ b/Documentation/DocBook/Makefile
 @@ -9,7 +9,7 @@
@@ -51,7 +51,7 @@
 +	    kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml utrace.xml \
  	    gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
  	    genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
- 	    mac80211.xml debugobjects.xml sh.xml regulator.xml
+ 	    mac80211.xml debugobjects.xml sh.xml regulator.xml \
 diff --git a/Documentation/DocBook/utrace.tmpl b/Documentation/DocBook/utrace.tmpl
 new file mode 100644
 index ...b802c55 100644  
@@ -651,10 +651,10 @@
  	if (p->files)
  		fdt = files_fdtable(p->files);
 diff --git a/include/linux/init_task.h b/include/linux/init_task.h
-index e752d97..39eebc8 100644  
+index dcfb933..5625de6 100644  
 --- a/include/linux/init_task.h
 +++ b/include/linux/init_task.h
-@@ -181,6 +181,7 @@ extern struct cred init_cred;
+@@ -183,6 +183,7 @@ extern struct cred init_cred;
  		[PIDTYPE_SID]  = INIT_PID_LINK(PIDTYPE_SID),		\
  	},								\
  	.dirties = INIT_PROP_LOCAL_SINGLE(dirties),			\
@@ -663,7 +663,7 @@
  	INIT_TRACE_IRQFLAGS						\
  	INIT_LOCKDEP							\
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 011db2f..786ef2d 100644  
+index 98e1fe5..e9c3350 100644  
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
 @@ -59,6 +59,7 @@ struct sched_param {
@@ -674,7 +674,7 @@
  
  #include <asm/system.h>
  #include <asm/page.h>
-@@ -1287,6 +1288,11 @@ struct task_struct {
+@@ -1290,6 +1291,11 @@ struct task_struct {
  #endif
  	seccomp_t seccomp;
  
@@ -687,7 +687,7 @@
     	u32 parent_exec_id;
     	u32 self_exec_id;
 diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
-index b622498..6ff7277 100644  
+index 4ec4821..a7de30f 100644  
 --- a/include/linux/tracehook.h
 +++ b/include/linux/tracehook.h
 @@ -49,6 +49,7 @@
@@ -796,18 +796,18 @@
  	if (stepping)
  		ptrace_notify(SIGTRAP);
  }
-@@ -400,6 +422,8 @@ static inline int tracehook_consider_ign
- 						    int sig,
- 						    void __user *handler)
+@@ -397,6 +419,8 @@ static inline void tracehook_signal_hand
+ static inline int tracehook_consider_ignored_signal(struct task_struct *task,
+ 						    int sig)
  {
 +	if (unlikely(task_utrace_flags(task) & UTRACE_EVENT(SIGNAL_IGN)))
 +		return 1;
  	return (task_ptrace(task) & PT_PTRACED) != 0;
  }
  
-@@ -421,6 +445,9 @@ static inline int tracehook_consider_fat
- 						  int sig,
- 						  void __user *handler)
+@@ -416,6 +440,9 @@ static inline int tracehook_consider_ign
+ static inline int tracehook_consider_fatal_signal(struct task_struct *task,
+ 						  int sig)
  {
 +	if (unlikely(task_utrace_flags(task) & (UTRACE_EVENT(SIGNAL_TERM) |
 +						UTRACE_EVENT(SIGNAL_CORE))))
@@ -815,7 +815,7 @@
  	return (task_ptrace(task) & PT_PTRACED) != 0;
  }
  
-@@ -435,6 +462,8 @@ static inline int tracehook_consider_fat
+@@ -430,6 +457,8 @@ static inline int tracehook_consider_fat
   */
  static inline int tracehook_force_sigpending(void)
  {
@@ -824,7 +824,7 @@
  	return 0;
  }
  
-@@ -464,6 +493,8 @@ static inline int tracehook_get_signal(s
+@@ -459,6 +488,8 @@ static inline int tracehook_get_signal(s
  				       siginfo_t *info,
  				       struct k_sigaction *return_ka)
  {
@@ -833,7 +833,7 @@
  	return 0;
  }
  
-@@ -491,6 +522,8 @@ static inline int tracehook_get_signal(s
+@@ -486,6 +517,8 @@ static inline int tracehook_get_signal(s
   */
  static inline int tracehook_notify_jctl(int notify, int why)
  {
@@ -842,26 +842,37 @@
  	return notify ?: (current->ptrace & PT_PTRACED) ? why : 0;
  }
  
-@@ -514,6 +547,8 @@ static inline int tracehook_notify_jctl(
+@@ -509,6 +542,8 @@ static inline int tracehook_notify_jctl(
  static inline int tracehook_notify_death(struct task_struct *task,
  					 void **death_cookie, int group_dead)
  {
 +	*death_cookie = task_utrace_struct(task);
 +
- 	if (task->exit_signal == -1)
+ 	if (task_detached(task))
  		return task->ptrace ? SIGCHLD : DEATH_REAP;
  
-@@ -550,6 +585,9 @@ static inline void tracehook_report_deat
+@@ -545,6 +580,20 @@ static inline void tracehook_report_deat
  					  int signal, void *death_cookie,
  					  int group_dead)
  {
++	/*
++	 * This barrier ensures that our caller's setting of
++	 * @task->exit_state precedes checking @task->utrace_flags here.
++	 * If utrace_set_events() was just called to enable
++	 * UTRACE_EVENT(DEATH), then we are obliged to call
++	 * utrace_report_death() and not miss it.  utrace_set_events()
++	 * uses tasklist_lock to synchronize enabling the bit with the
++	 * actual change to @task->exit_state, but we need this barrier
++	 * to be sure we see a flags change made just before our caller
++	 * took the tasklist_lock.
++	 */
 +	smp_mb();
 +	if (task_utrace_flags(task) & _UTRACE_DEATH_EVENTS)
 +		utrace_report_death(task, death_cookie, group_dead, signal);
  }
  
  #ifdef TIF_NOTIFY_RESUME
-@@ -579,10 +617,20 @@ static inline void set_notify_resume(str
+@@ -574,10 +623,20 @@ static inline void set_notify_resume(str
   * asynchronously, this will be called again before we return to
   * user mode.
   *
@@ -1646,10 +1657,10 @@
 +
 +#endif	/* linux/utrace_struct.h */
 diff --git a/init/Kconfig b/init/Kconfig
-index 6a5c5fe..4b5ab3e 100644  
+index f2f9b53..0d104d9 100644  
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1060,6 +1060,15 @@ config STOP_MACHINE
+@@ -1141,6 +1141,15 @@ config STOP_MACHINE
  	help
  	  Need stop_machine() primitive.
  
@@ -1666,7 +1677,7 @@
  
  config PREEMPT_NOTIFIERS
 diff --git a/kernel/Makefile b/kernel/Makefile
-index e4791b3..7bff724 100644  
+index 4242366..a79634e 100644  
 --- a/kernel/Makefile
 +++ b/kernel/Makefile
 @@ -68,6 +68,7 @@ obj-$(CONFIG_IKCONFIG) += configs.o
@@ -1678,7 +1689,7 @@
  obj-$(CONFIG_AUDITSYSCALL) += auditsc.o
  obj-$(CONFIG_AUDIT_TREE) += audit_tree.o
 diff --git a/kernel/ptrace.c b/kernel/ptrace.c
-index c9cf48b..41e9542 100644  
+index aaad0ec..8ba9b73 100644  
 --- a/kernel/ptrace.c
 +++ b/kernel/ptrace.c
 @@ -16,6 +16,7 @@
@@ -1689,7 +1700,7 @@
  #include <linux/security.h>
  #include <linux/signal.h>
  #include <linux/audit.h>
-@@ -172,6 +173,14 @@ bool ptrace_may_access(struct task_struc
+@@ -176,6 +177,14 @@ bool ptrace_may_access(struct task_struc
  	return (!err ? true : false);
  }
  
@@ -1704,7 +1715,7 @@
  int ptrace_attach(struct task_struct *task)
  {
  	int retval;
-@@ -210,6 +219,11 @@ repeat:
+@@ -214,6 +223,11 @@ repeat:
  		goto repeat;
  	}
  
@@ -1716,7 +1727,7 @@
  	if (!task->mm)
  		goto bad;
  	/* the same process cannot be attached many times */
-@@ -515,7 +529,9 @@ int ptrace_traceme(void)
+@@ -590,7 +604,9 @@ int ptrace_traceme(void)
  	 */
  repeat:
  	task_lock(current);
@@ -1729,10 +1740,10 @@
  		 */
 diff --git a/kernel/utrace.c b/kernel/utrace.c
 new file mode 100644
-index ...115be79 100644  
+index ...c2bb162 100644  
 --- /dev/null
 +++ b/kernel/utrace.c
-@@ -0,0 +1,2348 @@
+@@ -0,0 +1,2351 @@
 +/*
 + * utrace infrastructure interface for debugging user processes
 + *
@@ -3249,25 +3260,7 @@
 +		 */
 +		return true;
 +
-+	if (unlikely(report.result == UTRACE_SYSCALL_ABORT))
-+		return true;
-+
-+	if (signal_pending(task)) {
-+		/*
-+		 * Clear TIF_SIGPENDING if it no longer needs to be set.
-+		 * It may have been set as part of quiescence, and won't
-+		 * ever have been cleared by another thread.  For other
-+		 * reports, we can just leave it set and will go through
-+		 * utrace_get_signal() to reset things.  But here we are
-+		 * about to enter a syscall, which might bail out with an
-+		 * -ERESTART* error if it's set now.
-+		 */
-+		spin_lock_irq(&task->sighand->siglock);
-+		recalc_sigpending();
-+		spin_unlock_irq(&task->sighand->siglock);
-+	}
-+
-+	return false;
++	return report.result == UTRACE_SYSCALL_ABORT;
 +}
 +
 +/*
@@ -3498,12 +3491,29 @@
 +			set_tsk_thread_flag(task, TIF_SIGPENDING);
 +		break;
 +
-+	case UTRACE_SINGLESTEP:
-+		user_enable_single_step(task);
-+		break;
-+
 +	case UTRACE_BLOCKSTEP:
-+		user_enable_block_step(task);
++		if (likely(arch_has_block_step())) {
++			user_enable_block_step(task);
++			break;
++		}
++
++		/*
++		 * This means some callback is to blame for failing
++		 * to check arch_has_block_step() itself.  Warn and
++		 * then fall through to treat it as SINGLESTEP.
++		 */
++		WARN_ON(1);
++
++	case UTRACE_SINGLESTEP:
++		if (likely(arch_has_single_step()))
++			user_enable_single_step(task);
++		else
++			/*
++			 * This means some callback is to blame for failing
++			 * to check arch_has_single_step() itself.  Spew
++			 * about it so the loser will fix his module.
++			 */
++			WARN_ON(1);
 +		break;
 +
 +	case UTRACE_REPORT:
@@ -3548,11 +3558,15 @@
 +	}
 +
 +	/*
-+	 * If UTRACE_INTERRUPT was just used, we don't bother with a
-+	 * report here.  We will report and stop in utrace_get_signal().
++	 * If UTRACE_INTERRUPT was just used, we don't bother with a report
++	 * here.  We will report and stop in utrace_get_signal().  In case
++	 * of a race with utrace_control(), make sure we don't momentarily
++	 * return to user mode because TIF_SIGPENDING was not set yet.
 +	 */
-+	if (unlikely(utrace->interrupt))
++	if (unlikely(utrace->interrupt)) {
++		set_thread_flag(TIF_SIGPENDING);
 +		return;
++	}
 +
 +	/*
 +	 * Do a simple reporting pass, with no callback after report_quiesce.

linux-2.6-v4l-dvb-fixes.patch:

Index: linux-2.6-v4l-dvb-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-fixes.patch,v
retrieving revision 1.2.8.8
retrieving revision 1.2.8.9
diff -u -r1.2.8.8 -r1.2.8.9
--- linux-2.6-v4l-dvb-fixes.patch	14 Apr 2009 22:09:18 -0000	1.2.8.8
+++ linux-2.6-v4l-dvb-fixes.patch	24 Apr 2009 22:27:13 -0000	1.2.8.9
@@ -315,6 +315,7 @@
       V4L/DVB (11051): v4l-dvb: replace remaining references to the old mailinglist.
       V4L/DVB (11052): bt819: remove an unused header
       V4L/DVB (11053): saa7134: set v4l2_dev field of video_device
+      V4L/DVB (11098): v4l2-common: remove incorrect MODULE test
       V4L/DVB (11100): au8522: fix compilation warning.
       V4L/DVB (11112): v4l2-subdev: add support for TRY_FMT, ENUM_FMT and G/S_PARM.
       V4L/DVB (11113): ov7670: convert to v4l2_subdev
@@ -98394,6 +98395,19 @@
     to high class IDs.
  
     This function returns the first ID that follows after the given ID.
+@@ -910,10 +797,10 @@ struct v4l2_subdev *v4l2_i2c_new_subdev(struct i2c_adapter *adapter,
+ 	struct i2c_board_info info;
+ 
+ 	BUG_ON(!dev);
+-#ifdef MODULE
++
+ 	if (module_name)
+ 		request_module(module_name);
+-#endif
++
+ 	/* Setup the i2c board info with the device type and
+ 	   the device address. */
+ 	memset(&info, 0, sizeof(info));
 @@ -927,11 +814,11 @@ struct v4l2_subdev *v4l2_i2c_new_subdev(struct i2c_adapter *adapter,
  	   We need better support from the kernel so that we
  	   can easily wait for the load to finish. */
@@ -98423,6 +98437,19 @@
  }
  EXPORT_SYMBOL_GPL(v4l2_i2c_new_subdev);
  
+@@ -958,10 +850,10 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter,
+ 	struct i2c_board_info info;
+ 
+ 	BUG_ON(!dev);
+-#ifdef MODULE
++
+ 	if (module_name)
+ 		request_module(module_name);
+-#endif
++
+ 	/* Setup the i2c board info with the device type and
+ 	   the device address. */
+ 	memset(&info, 0, sizeof(info));
 @@ -974,11 +866,11 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter,
  	   We need better support from the kernel so that we
  	   can easily wait for the load to finish. */


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.976.2.10
retrieving revision 1.976.2.11
diff -u -r1.976.2.10 -r1.976.2.11
--- sources	14 Apr 2009 22:09:21 -0000	1.976.2.10
+++ sources	24 Apr 2009 22:27:15 -0000	1.976.2.11
@@ -1,2 +1,2 @@
 64921b5ff5cdadbccfcd3820f03be7d8  linux-2.6.29.tar.bz2
-87c6fbf4096b644d66d4da8bb00641a5  patch-2.6.29.1.bz2
+cd69d16ea42bbf20d0a505690be45868  patch-2.6.30-rc3.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/upstream,v
retrieving revision 1.888.2.9
retrieving revision 1.888.2.10
diff -u -r1.888.2.9 -r1.888.2.10
--- upstream	14 Apr 2009 22:09:22 -0000	1.888.2.9
+++ upstream	24 Apr 2009 22:27:16 -0000	1.888.2.10
@@ -1,2 +1,2 @@
 linux-2.6.29.tar.bz2
-patch-2.6.29.1.bz2
+patch-2.6.30-rc3.bz2

xen.pvops.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1.2.16 -r 1.1.2.17 xen.pvops.patch
Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.16
retrieving revision 1.1.2.17
diff -u -r1.1.2.16 -r1.1.2.17
--- xen.pvops.patch	14 Apr 2009 22:09:22 -0000	1.1.2.16
+++ xen.pvops.patch	24 Apr 2009 22:27:17 -0000	1.1.2.17
@@ -1,1843 +1,194 @@
-diff --git a/Documentation/ABI/testing/debugfs-kmemtrace b/Documentation/ABI/testing/debugfs-kmemtrace
+diff --git a/Documentation/ABI/testing/sysfs-devices-cache_disable b/Documentation/ABI/testing/sysfs-devices-cache_disable
 new file mode 100644
-index 0000000..5e6a92a
+index 0000000..175bb4f
 --- /dev/null
-+++ b/Documentation/ABI/testing/debugfs-kmemtrace
-@@ -0,0 +1,71 @@
-+What:		/sys/kernel/debug/kmemtrace/
-+Date:		July 2008
-+Contact:	Eduard - Gabriel Munteanu <eduard.munteanu at linux360.ro>
-+Description:
-+
-+In kmemtrace-enabled kernels, the following files are created:
-+
-+/sys/kernel/debug/kmemtrace/
-+	cpu<n>		(0400)	Per-CPU tracing data, see below. (binary)
-+	total_overruns	(0400)	Total number of bytes which were dropped from
-+				cpu<n> files because of full buffer condition,
-+				non-binary. (text)
-+	abi_version	(0400)	Kernel's kmemtrace ABI version. (text)
-+
-+Each per-CPU file should be read according to the relay interface. That is,
-+the reader should set affinity to that specific CPU and, as currently done by
-+the userspace application (though there are other methods), use poll() with
-+an infinite timeout before every read(). Otherwise, erroneous data may be
-+read. The binary data has the following _core_ format:
-+
-+	Event ID	(1 byte)	Unsigned integer, one of:
-+		0 - represents an allocation (KMEMTRACE_EVENT_ALLOC)
-+		1 - represents a freeing of previously allocated memory
-+		    (KMEMTRACE_EVENT_FREE)
-+	Type ID		(1 byte)	Unsigned integer, one of:
-+		0 - this is a kmalloc() / kfree()
-+		1 - this is a kmem_cache_alloc() / kmem_cache_free()
-+		2 - this is a __get_free_pages() et al.
-+	Event size	(2 bytes)	Unsigned integer representing the
-+					size of this event. Used to extend
-+					kmemtrace. Discard the bytes you
-+					don't know about.
-+	Sequence number	(4 bytes)	Signed integer used to reorder data
-+					logged on SMP machines. Wraparound
-+					must be taken into account, although
-+					it is unlikely.
-+	Caller address	(8 bytes)	Return address to the caller.
-+	Pointer to mem	(8 bytes)	Pointer to target memory area. Can be
-+					NULL, but not all such calls might be
-+					recorded.
-+
-+In case of KMEMTRACE_EVENT_ALLOC events, the next fields follow:
-+
-+	Requested bytes	(8 bytes)	Total number of requested bytes,
-+					unsigned, must not be zero.
-+	Allocated bytes (8 bytes)	Total number of actually allocated
-+					bytes, unsigned, must not be lower
-+					than requested bytes.
-+	Requested flags	(4 bytes)	GFP flags supplied by the caller.
-+	Target CPU	(4 bytes)	Signed integer, valid for event id 1.
-+					If equal to -1, target CPU is the same
-+					as origin CPU, but the reverse might
-+					not be true.
-+
-+The data is made available in the same endianness the machine has.
-+
-+Other event ids and type ids may be defined and added. Other fields may be
-+added by increasing event size, but see below for details.
-+Every modification to the ABI, including new id definitions, are followed
-+by bumping the ABI version by one.
-+
-+Adding new data to the packet (features) is done at the end of the mandatory
-+data:
-+	Feature size	(2 byte)
-+	Feature ID	(1 byte)
-+	Feature data	(Feature size - 3 bytes)
-+
-+
-+Users:
-+	kmemtrace-user - git://repo.or.cz/kmemtrace-user.git
-+
-diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt
-index 2a3fcc5..d9aa43d 100644
---- a/Documentation/DMA-API.txt
-+++ b/Documentation/DMA-API.txt
-@@ -609,3 +609,109 @@ size is the size (and should be a page-sized multiple).
- The return value will be either a pointer to the processor virtual
- address of the memory, or an error (via PTR_ERR()) if any part of the
- region is occupied.
-+
-+Part III - Debug drivers use of the DMA-API
-+-------------------------------------------
-+
-+The DMA-API as described above as some constraints. DMA addresses must be
-+released with the corresponding function with the same size for example. With
-+the advent of hardware IOMMUs it becomes more and more important that drivers
-+do not violate those constraints. In the worst case such a violation can
-+result in data corruption up to destroyed filesystems.
-+
-+To debug drivers and find bugs in the usage of the DMA-API checking code can
-+be compiled into the kernel which will tell the developer about those
-+violations. If your architecture supports it you can select the "Enable
-+debugging of DMA-API usage" option in your kernel configuration. Enabling this
-+option has a performance impact. Do not enable it in production kernels.
-+
-+If you boot the resulting kernel will contain code which does some bookkeeping
-+about what DMA memory was allocated for which device. If this code detects an
-+error it prints a warning message with some details into your kernel log. An
-+example warning message may look like this:
-+
-+------------[ cut here ]------------
-+WARNING: at /data2/repos/linux-2.6-iommu/lib/dma-debug.c:448
-+	check_unmap+0x203/0x490()
-+Hardware name:
-+forcedeth 0000:00:08.0: DMA-API: device driver frees DMA memory with wrong
-+	function [device address=0x00000000640444be] [size=66 bytes] [mapped as
-+single] [unmapped as page]
-+Modules linked in: nfsd exportfs bridge stp llc r8169
-+Pid: 0, comm: swapper Tainted: G        W  2.6.28-dmatest-09289-g8bb99c0 #1
-+Call Trace:
-+ <IRQ>  [<ffffffff80240b22>] warn_slowpath+0xf2/0x130
-+ [<ffffffff80647b70>] _spin_unlock+0x10/0x30
-+ [<ffffffff80537e75>] usb_hcd_link_urb_to_ep+0x75/0xc0
-+ [<ffffffff80647c22>] _spin_unlock_irqrestore+0x12/0x40
-+ [<ffffffff8055347f>] ohci_urb_enqueue+0x19f/0x7c0
-+ [<ffffffff80252f96>] queue_work+0x56/0x60
-+ [<ffffffff80237e10>] enqueue_task_fair+0x20/0x50
-+ [<ffffffff80539279>] usb_hcd_submit_urb+0x379/0xbc0
-+ [<ffffffff803b78c3>] cpumask_next_and+0x23/0x40
-+ [<ffffffff80235177>] find_busiest_group+0x207/0x8a0
-+ [<ffffffff8064784f>] _spin_lock_irqsave+0x1f/0x50
-+ [<ffffffff803c7ea3>] check_unmap+0x203/0x490
-+ [<ffffffff803c8259>] debug_dma_unmap_page+0x49/0x50
-+ [<ffffffff80485f26>] nv_tx_done_optimized+0xc6/0x2c0
-+ [<ffffffff80486c13>] nv_nic_irq_optimized+0x73/0x2b0
-+ [<ffffffff8026df84>] handle_IRQ_event+0x34/0x70
-+ [<ffffffff8026ffe9>] handle_edge_irq+0xc9/0x150
-+ [<ffffffff8020e3ab>] do_IRQ+0xcb/0x1c0
-+ [<ffffffff8020c093>] ret_from_intr+0x0/0xa
-+ <EOI> <4>---[ end trace f6435a98e2a38c0e ]---
-+
-+The driver developer can find the driver and the device including a stacktrace
-+of the DMA-API call which caused this warning.
-+
-+Per default only the first error will result in a warning message. All other
-+errors will only silently counted. This limitation exist to prevent the code
-+from flooding your kernel log. To support debugging a device driver this can
-+be disabled via debugfs. See the debugfs interface documentation below for
-+details.
-+
-+The debugfs directory for the DMA-API debugging code is called dma-api/. In
-+this directory the following files can currently be found:
-+
-+	dma-api/all_errors	This file contains a numeric value. If this
-+				value is not equal to zero the debugging code
-+				will print a warning for every error it finds
-+				into the kernel log. Be carefull with this
-+				option. It can easily flood your logs.
-+
-+	dma-api/disabled	This read-only file contains the character 'Y'
-+				if the debugging code is disabled. This can
-+				happen when it runs out of memory or if it was
-+				disabled at boot time
-+
-+	dma-api/error_count	This file is read-only and shows the total
-+				numbers of errors found.
-+
-+	dma-api/num_errors	The number in this file shows how many
-+				warnings will be printed to the kernel log
-+				before it stops. This number is initialized to
-+				one at system boot and be set by writing into
-+				this file
-+
-+	dma-api/min_free_entries
-+				This read-only file can be read to get the
-+				minimum number of free dma_debug_entries the
-+				allocator has ever seen. If this value goes
-+				down to zero the code will disable itself
-+				because it is not longer reliable.
-+
-+	dma-api/num_free_entries
-+				The current number of free dma_debug_entries
-+				in the allocator.
-+
-+If you have this code compiled into your kernel it will be enabled by default.
-+If you want to boot without the bookkeeping anyway you can provide
-+'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
-+Notice that you can not enable it again at runtime. You have to reboot to do
-+so.
-+
-+When the code disables itself at runtime this is most likely because it ran
-+out of dma_debug_entries. These entries are preallocated at boot. The number
-+of preallocated entries is defined per architecture. If it is too low for you
[...210221 lines suppressed...]
-+	  Bzip2 uses a large amount of memory. For modern kernels you
-+	  will need at least 8MB RAM or more for booting.
-+
-+config INITRAMFS_COMPRESSION_LZMA
-+	bool "LZMA"
-+	depends on RD_LZMA
-+	help
-+	  The most recent compression algorithm.
-+	  Its ratio is best, decompression speed is between the other
-+	  two. Compression is slowest.	The initramfs size is about 33%
-+	  smaller with LZMA in comparison to gzip.
-+
-+endchoice
-diff --git a/usr/Makefile b/usr/Makefile
-index 201f27f..b84894b 100644
---- a/usr/Makefile
-+++ b/usr/Makefile
-@@ -6,13 +6,25 @@ klibcdirs:;
- PHONY += klibcdirs
- 
- 
-+# No compression
-+suffix_$(CONFIG_INITRAMFS_COMPRESSION_NONE)   =
-+
-+# Gzip, but no bzip2
-+suffix_$(CONFIG_INITRAMFS_COMPRESSION_GZIP)   = .gz
-+
-+# Bzip2
-+suffix_$(CONFIG_INITRAMFS_COMPRESSION_BZIP2)  = .bz2
-+
-+# Lzma
-+suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZMA)   = .lzma
-+
- # Generate builtin.o based on initramfs_data.o
--obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o
-+obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o
- 
--# initramfs_data.o contains the initramfs_data.cpio.gz image.
-+# initramfs_data.o contains the compressed initramfs_data.cpio image.
- # The image is included using .incbin, a dependency which is not
- # tracked automatically.
--$(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio.gz FORCE
-+$(obj)/initramfs_data$(suffix_y).o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE
- 
- #####
- # Generate the initramfs cpio archive
-@@ -25,28 +37,28 @@ ramfs-args  := \
-         $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \
-         $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID))
- 
--# .initramfs_data.cpio.gz.d is used to identify all files included
-+# .initramfs_data.cpio.d is used to identify all files included
- # in initramfs and to detect if any files are added/removed.
- # Removed files are identified by directory timestamp being updated
- # The dependency list is generated by gen_initramfs.sh -l
--ifneq ($(wildcard $(obj)/.initramfs_data.cpio.gz.d),)
--	include $(obj)/.initramfs_data.cpio.gz.d
-+ifneq ($(wildcard $(obj)/.initramfs_data.cpio.d),)
-+	include $(obj)/.initramfs_data.cpio.d
- endif
- 
- quiet_cmd_initfs = GEN     $@
-       cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input)
- 
--targets := initramfs_data.cpio.gz
-+targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 initramfs_data.cpio.lzma initramfs_data.cpio
- # do not try to update files included in initramfs
- $(deps_initramfs): ;
- 
- $(deps_initramfs): klibcdirs
--# We rebuild initramfs_data.cpio.gz if:
--# 1) Any included file is newer then initramfs_data.cpio.gz
-+# We rebuild initramfs_data.cpio if:
-+# 1) Any included file is newer then initramfs_data.cpio
- # 2) There are changes in which files are included (added or deleted)
--# 3) If gen_init_cpio are newer than initramfs_data.cpio.gz
-+# 3) If gen_init_cpio are newer than initramfs_data.cpio
- # 4) arguments to gen_initramfs.sh changes
--$(obj)/initramfs_data.cpio.gz: $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs
--	$(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.gz.d
-+$(obj)/initramfs_data.cpio$(suffix_y): $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs
-+	$(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.d
- 	$(call if_changed,initfs)
- 
-diff --git a/usr/initramfs_data.S b/usr/initramfs_data.S
-index c2e1ad4..7c6973d 100644
---- a/usr/initramfs_data.S
-+++ b/usr/initramfs_data.S
-@@ -26,5 +26,5 @@ SECTIONS
- */
- 
- .section .init.ramfs,"a"
--.incbin "usr/initramfs_data.cpio.gz"
-+.incbin "usr/initramfs_data.cpio"
- 
-diff --git a/usr/initramfs_data.bz2.S b/usr/initramfs_data.bz2.S
-new file mode 100644
-index 0000000..bc54d09
---- /dev/null
-+++ b/usr/initramfs_data.bz2.S
-@@ -0,0 +1,29 @@
-+/*
-+  initramfs_data includes the compressed binary that is the
-+  filesystem used for early user space.
-+  Note: Older versions of "as" (prior to binutils 2.11.90.0.23
-+  released on 2001-07-14) dit not support .incbin.
-+  If you are forced to use older binutils than that then the
-+  following trick can be applied to create the resulting binary:
-+
-+
-+  ld -m elf_i386  --format binary --oformat elf32-i386 -r \
-+  -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
-+   ld -m elf_i386  -r -o built-in.o initramfs_data.o
-+
-+  initramfs_data.scr looks like this:
-+SECTIONS
-+{
-+       .init.ramfs : { *(.data) }
-+}
-+
-+  The above example is for i386 - the parameters vary from architectures.
-+  Eventually look up LDFLAGS_BLOB in an older version of the
-+  arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-+
-+  Using .incbin has the advantage over ld that the correct flags are set
-+  in the ELF header, as required by certain architectures.
-+*/
-+
-+.section .init.ramfs,"a"
-+.incbin "usr/initramfs_data.cpio.bz2"
-diff --git a/usr/initramfs_data.gz.S b/usr/initramfs_data.gz.S
-new file mode 100644
-index 0000000..890c8dd
---- /dev/null
-+++ b/usr/initramfs_data.gz.S
-@@ -0,0 +1,29 @@
-+/*
-+  initramfs_data includes the compressed binary that is the
-+  filesystem used for early user space.
-+  Note: Older versions of "as" (prior to binutils 2.11.90.0.23
-+  released on 2001-07-14) dit not support .incbin.
-+  If you are forced to use older binutils than that then the
-+  following trick can be applied to create the resulting binary:
-+
-+
-+  ld -m elf_i386  --format binary --oformat elf32-i386 -r \
-+  -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
-+   ld -m elf_i386  -r -o built-in.o initramfs_data.o
-+
-+  initramfs_data.scr looks like this:
-+SECTIONS
-+{
-+       .init.ramfs : { *(.data) }
-+}
-+
-+  The above example is for i386 - the parameters vary from architectures.
-+  Eventually look up LDFLAGS_BLOB in an older version of the
-+  arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-+
-+  Using .incbin has the advantage over ld that the correct flags are set
-+  in the ELF header, as required by certain architectures.
-+*/
-+
-+.section .init.ramfs,"a"
-+.incbin "usr/initramfs_data.cpio.gz"
-diff --git a/usr/initramfs_data.lzma.S b/usr/initramfs_data.lzma.S
-new file mode 100644
-index 0000000..e11469e
---- /dev/null
-+++ b/usr/initramfs_data.lzma.S
-@@ -0,0 +1,29 @@
-+/*
-+  initramfs_data includes the compressed binary that is the
-+  filesystem used for early user space.
-+  Note: Older versions of "as" (prior to binutils 2.11.90.0.23
-+  released on 2001-07-14) dit not support .incbin.
-+  If you are forced to use older binutils than that then the
-+  following trick can be applied to create the resulting binary:
-+
-+
-+  ld -m elf_i386  --format binary --oformat elf32-i386 -r \
-+  -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
-+   ld -m elf_i386  -r -o built-in.o initramfs_data.o
-+
-+  initramfs_data.scr looks like this:
-+SECTIONS
-+{
-+       .init.ramfs : { *(.data) }
-+}
-+
-+  The above example is for i386 - the parameters vary from architectures.
-+  Eventually look up LDFLAGS_BLOB in an older version of the
-+  arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
-+
-+  Using .incbin has the advantage over ld that the correct flags are set
-+  in the ELF header, as required by certain architectures.
-+*/
-+
-+.section .init.ramfs,"a"
-+.incbin "usr/initramfs_data.cpio.lzma"

xen.pvops.post.patch:

Index: xen.pvops.post.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.post.patch,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -u -r1.1.2.10 -r1.1.2.11
--- xen.pvops.post.patch	14 Apr 2009 22:09:26 -0000	1.1.2.10
+++ xen.pvops.post.patch	24 Apr 2009 22:27:21 -0000	1.1.2.11
@@ -1,28 +1,41 @@
 Reapply and merge in Fedora changes
-fix a mismerge in arch/x86/kernel/cpu/mtrr/generic.c
 remove localversion-tip file to avoid -tip being added to the kernel name
 
---- a/arch/x86/mm/pat.c	2009-02-14 09:16:34.000000000 +0000
-+++ b/arch/x86/mm/pat.c	2009-02-14 12:49:46.000000000 +0000
-@@ -29,6 +30,7 @@
+--- a/arch/x86/mm/init.c	2009-04-23 20:13:34.000000000 +0100
++++ b/arch/x86/mm/init.c	2009-04-24 20:27:42.000000000 +0100
+@@ -163,6 +163,10 @@
+ 	set_nx();
+ 	if (nx_enabled)
+ 		printk(KERN_INFO "NX (Execute Disable) protection: active\n");
++	else
++	if (exec_shield)
++		printk(KERN_INFO "Using x86 segment limits to approximate "
++			"NX protection\n");
+ 
+ 	/* Enable PSE if available */
+ 	if (cpu_has_pse)
+--- a/include/linux/sched.h	2009-04-23 20:13:50.000000000 +0100
++++ b/include/linux/sched.h	2009-04-24 20:27:42.000000000 +0100
+@@ -99,6 +99,9 @@
+ struct fs_struct;
+ struct bts_context;
  
- #ifdef CONFIG_X86_PAT
- int __read_mostly pat_enabled = 1;
-+EXPORT_SYMBOL_GPL(pat_enabled);
++extern int exec_shield;
++extern int print_fatal_signals;
++
+ /*
+  * List of flags we want to share for kernel threads,
+  * if only because they are not used by them anyway.
+--- a/mm/mmap.c	2009-04-23 20:13:53.000000000 +0100
++++ b/mm/mmap.c	2009-04-24 20:27:42.000000000 +0100
+@@ -28,6 +28,7 @@
+ #include <linux/rmap.h>
+ #include <linux/mmu_notifier.h>
+ #include <linux/perf_counter.h>
++#include <linux/random.h>
  
- void __cpuinit pat_disable(const char *reason)
- {
---- a/arch/x86/kernel/apic/nmi.c	2009-02-17 20:51:37.000000000 +0000
-+++ b/arch/x86/kernel/apic/nmi.c	2009-02-18 20:51:13.000000000 +0000
-@@ -442,7 +442,7 @@
- 		 * wait a few IRQs (5 seconds) before doing the oops ...
- 		 */
- 		local_inc(&__get_cpu_var(alert_counter));
--		if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz)
-+		if (local_read(&__get_cpu_var(alert_counter)) == CONFIG_DEBUG_NMI_TIMEOUT * nmi_hz)
- 			/*
- 			 * die_nmi will return ONLY if NOTIFY_STOP happens..
- 			 */
+ #include <asm/uaccess.h>
+ #include <asm/cacheflush.h>
 --- a/drivers/pci/pci.h	2009-02-25 20:16:13.000000000 +0000
 +++ b/drivers/pci/pci.h	2009-02-25 20:40:21.000000000 +0000
 @@ -111,8 +111,10 @@
@@ -36,1130 +49,16 @@
  static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { }
  #endif
  
---- a/drivers/gpu/drm/drm_proc.c	2009-03-04 21:07:25.000000000 +0000
-+++ b/drivers/gpu/drm/drm_proc.c	2009-03-04 21:20:20.000000000 +0000
-@@ -37,697 +37,195 @@
-  * OTHER DEALINGS IN THE SOFTWARE.
-  */
- 
-+#include <linux/seq_file.h>
- #include "drmP.h"
- 
--static int drm_name_info(char *buf, char **start, off_t offset,
--			 int request, int *eof, void *data);
--static int drm_vm_info(char *buf, char **start, off_t offset,
--		       int request, int *eof, void *data);
--static int drm_clients_info(char *buf, char **start, off_t offset,
--			    int request, int *eof, void *data);
--static int drm_queues_info(char *buf, char **start, off_t offset,
--			   int request, int *eof, void *data);
--static int drm_bufs_info(char *buf, char **start, off_t offset,
--			 int request, int *eof, void *data);
--static int drm_vblank_info(char *buf, char **start, off_t offset,
--			   int request, int *eof, void *data);
--static int drm_gem_name_info(char *buf, char **start, off_t offset,
--			     int request, int *eof, void *data);
--static int drm_gem_object_info(char *buf, char **start, off_t offset,
--			       int request, int *eof, void *data);
--#if DRM_DEBUG_CODE
--static int drm_vma_info(char *buf, char **start, off_t offset,
--			int request, int *eof, void *data);
--#endif
-+/***************************************************
-+ * Initialization, etc.
-+ **************************************************/
- 
- /**
-  * Proc file list.
-  */
--static struct drm_proc_list {
--	const char *name;	/**< file name */
--	int (*f) (char *, char **, off_t, int, int *, void *);		/**< proc callback*/
--	u32 driver_features; /**< Required driver features for this entry */
--} drm_proc_list[] = {
-+static struct drm_info_list drm_proc_list[] = {
- 	{"name", drm_name_info, 0},
--	{"mem", drm_mem_info, 0},
- 	{"vm", drm_vm_info, 0},
- 	{"clients", drm_clients_info, 0},
- 	{"queues", drm_queues_info, 0},
- 	{"bufs", drm_bufs_info, 0},
--	{"vblank", drm_vblank_info, 0},
- 	{"gem_names", drm_gem_name_info, DRIVER_GEM},
- 	{"gem_objects", drm_gem_object_info, DRIVER_GEM},
- #if DRM_DEBUG_CODE
--	{"vma", drm_vma_info},
-+	{"vma", drm_vma_info, 0},
- #endif
- };
--
- #define DRM_PROC_ENTRIES ARRAY_SIZE(drm_proc_list)
- 
-+static int drm_proc_open(struct inode *inode, struct file *file)
-+{
-+	struct drm_info_node* node = PDE(inode)->data;
-+
-+	return single_open(file, node->info_ent->show, node);
-+}
-+
-+static const struct file_operations drm_proc_fops = {
-+	.owner = THIS_MODULE,
-+	.open = drm_proc_open,
-+	.read = seq_read,
-+	.llseek = seq_lseek,
-+	.release = single_release,
-+};
-+
-+
- /**
-- * Initialize the DRI proc filesystem for a device.
-+ * Initialize a given set of proc files for a device
-  *
-- * \param dev DRM device.
-- * \param minor device minor number.
-+ * \param files The array of files to create
-+ * \param count The number of files given
-  * \param root DRI proc dir entry.
-- * \param dev_root resulting DRI device proc dir entry.
-- * \return root entry pointer on success, or NULL on failure.
-+ * \param minor device minor number
-+ * \return Zero on success, non-zero on failure
-  *
-- * Create the DRI proc root entry "/proc/dri", the device proc root entry
-- * "/proc/dri/%minor%/", and each entry in proc_list as
-- * "/proc/dri/%minor%/%name%".
-+ * Create a given set of proc files represented by an array of
-+ * gdm_proc_lists in the given root directory.
-  */
--int drm_proc_init(struct drm_minor *minor, int minor_id,
--		  struct proc_dir_entry *root)
-+int drm_proc_create_files(struct drm_info_list *files, int count,
-+			  struct proc_dir_entry *root, struct drm_minor *minor)
- {
- 	struct drm_device *dev = minor->dev;
- 	struct proc_dir_entry *ent;
--	int i, j, ret;
-+	struct drm_info_node *tmp;
- 	char name[64];
-+	int i, ret;
- 
--	sprintf(name, "%d", minor_id);
--	minor->dev_root = proc_mkdir(name, root);
--	if (!minor->dev_root) {
--		DRM_ERROR("Cannot create /proc/dri/%s\n", name);
--		return -1;
--	}
--
--	for (i = 0; i < DRM_PROC_ENTRIES; i++) {
--		u32 features = drm_proc_list[i].driver_features;
-+	for (i = 0; i < count; i++) {
-+		u32 features = files[i].driver_features;
- 
- 		if (features != 0 &&
- 		    (dev->driver->driver_features & features) != features)
- 			continue;
- 
--		ent = create_proc_entry(drm_proc_list[i].name,
--					S_IFREG | S_IRUGO, minor->dev_root);
-+		tmp = drm_alloc(sizeof(struct drm_info_node), _DRM_DRIVER);
-+		ent = create_proc_entry(files[i].name, S_IFREG | S_IRUGO, root);
- 		if (!ent) {
- 			DRM_ERROR("Cannot create /proc/dri/%s/%s\n",
--				  name, drm_proc_list[i].name);
-+				  name, files[i].name);
-+			drm_free(tmp, sizeof(struct drm_info_node),
-+				 _DRM_DRIVER);
- 			ret = -1;
- 			goto fail;
- 		}
--		ent->read_proc = drm_proc_list[i].f;
--		ent->data = minor;
--	}
- 
--	if (dev->driver->proc_init) {
--		ret = dev->driver->proc_init(minor);
--		if (ret) {
--			DRM_ERROR("DRM: Driver failed to initialize "
--				  "/proc/dri.\n");
--			goto fail;
--		}
-+		ent->proc_fops = &drm_proc_fops;
-+		ent->data = tmp;
-+		tmp->minor = minor;
-+		tmp->info_ent = &files[i];
-+		list_add(&(tmp->list), &(minor->proc_nodes.list));
- 	}
--
- 	return 0;
-- fail:
- 
--	for (j = 0; j < i; j++)
--		remove_proc_entry(drm_proc_list[i].name,
--				  minor->dev_root);
--	remove_proc_entry(name, root);
--	minor->dev_root = NULL;
-+fail:
-+	for (i = 0; i < count; i++)
-+		remove_proc_entry(drm_proc_list[i].name, minor->proc_root);
- 	return ret;
- }
- 
- /**
-- * Cleanup the proc filesystem resources.
-+ * Initialize the DRI proc filesystem for a device
-  *
-- * \param minor device minor number.
-+ * \param dev DRM device
-+ * \param minor device minor number
-  * \param root DRI proc dir entry.
-- * \param dev_root DRI device proc dir entry.
-- * \return always zero.
-+ * \param dev_root resulting DRI device proc dir entry.
-+ * \return root entry pointer on success, or NULL on failure.
-  *
-- * Remove all proc entries created by proc_init().
-+ * Create the DRI proc root entry "/proc/dri", the device proc root entry
-+ * "/proc/dri/%minor%/", and each entry in proc_list as
-+ * "/proc/dri/%minor%/%name%".
-  */
--int drm_proc_cleanup(struct drm_minor *minor, struct proc_dir_entry *root)
-+int drm_proc_init(struct drm_minor *minor, int minor_id,
-+		  struct proc_dir_entry *root)
- {
- 	struct drm_device *dev = minor->dev;
--	int i;
- 	char name[64];
-+	int ret;
- 
--	if (!root || !minor->dev_root)
--		return 0;
--
--	if (dev->driver->proc_cleanup)
--		dev->driver->proc_cleanup(minor);
--
--	for (i = 0; i < DRM_PROC_ENTRIES; i++)
--		remove_proc_entry(drm_proc_list[i].name, minor->dev_root);
--	sprintf(name, "%d", minor->index);
--	remove_proc_entry(name, root);
--
--	return 0;
--}
--
--/**
-- * Called when "/proc/dri/.../name" is read.
-- *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-- *
-- * Prints the device name together with the bus id if available.
-- */
--static int drm_name_info(char *buf, char **start, off_t offset, int request,
--			 int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_master *master = minor->master;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	if (!master)
--		return 0;
--
--	*start = &buf[offset];
--	*eof = 0;
--
--	if (master->unique) {
--		DRM_PROC_PRINT("%s %s %s\n",
--			       dev->driver->pci_driver.name,
--			       pci_name(dev->pdev), master->unique);
--	} else {
--		DRM_PROC_PRINT("%s %s\n", dev->driver->pci_driver.name,
--			       pci_name(dev->pdev));
-+	INIT_LIST_HEAD(&minor->proc_nodes.list);
-+	sprintf(name, "%d", minor_id);
-+	minor->proc_root = proc_mkdir(name, root);
-+	if (!minor->proc_root) {
-+		DRM_ERROR("Cannot create /proc/dri/%s\n", name);
-+		return -1;
- 	}
- 
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Called when "/proc/dri/.../vm" is read.
-- *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-- *
-- * Prints information about all mappings in drm_device::maplist.
-- */
--static int drm__vm_info(char *buf, char **start, off_t offset, int request,
--			int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--	struct drm_map *map;
--	struct drm_map_list *r_list;
--
--	/* Hardcoded from _DRM_FRAME_BUFFER,
--	   _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
--	   _DRM_SCATTER_GATHER and _DRM_CONSISTENT */
--	const char *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };
--	const char *type;
--	int i;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
-+	ret = drm_proc_create_files(drm_proc_list, DRM_PROC_ENTRIES,
-+				    minor->proc_root, minor);
-+	if (ret) {
-+		remove_proc_entry(name, root);
-+		minor->proc_root = NULL;
-+		DRM_ERROR("Failed to create core drm proc files\n");
-+		return ret;
- 	}
- 
--	*start = &buf[offset];
--	*eof = 0;
--
--	DRM_PROC_PRINT("slot	 offset	      size type flags	 "
--		       "address mtrr\n\n");
--	i = 0;
--	list_for_each_entry(r_list, &dev->maplist, head) {
--		map = r_list->map;
--		if (!map)
--			continue;
--		if (map->type < 0 || map->type > 5)
--			type = "??";
--		else
--			type = types[map->type];
--		DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08lx ",
--			       i,
--			       map->offset,
--			       map->size, type, map->flags,
--			       (unsigned long) r_list->user_token);
--		if (map->mtrr < 0) {
--			DRM_PROC_PRINT("none\n");
--		} else {
--			DRM_PROC_PRINT("%4d\n", map->mtrr);
-+	if (dev->driver->proc_init) {
-+		ret = dev->driver->proc_init(minor);
-+		if (ret) {
-+			DRM_ERROR("DRM: Driver failed to initialize "
-+				  "/proc/dri.\n");
-+			return ret;
- 		}
--		i++;
--	}
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Simply calls _vm_info() while holding the drm_device::struct_mutex lock.
-- */
--static int drm_vm_info(char *buf, char **start, off_t offset, int request,
--		       int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__vm_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
--}
--
--/**
-- * Called when "/proc/dri/.../queues" is read.
-- *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-- */
--static int drm__queues_info(char *buf, char **start, off_t offset,
--			    int request, int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--	int i;
--	struct drm_queue *q;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
- 	}
--
--	*start = &buf[offset];
--	*eof = 0;
--
--	DRM_PROC_PRINT("  ctx/flags   use   fin"
--		       "   blk/rw/rwf  wait    flushed	   queued"
--		       "      locks\n\n");
--	for (i = 0; i < dev->queue_count; i++) {
--		q = dev->queuelist[i];
--		atomic_inc(&q->use_count);
--		DRM_PROC_PRINT_RET(atomic_dec(&q->use_count),
--				   "%5d/0x%03x %5d %5d"
--				   " %5d/%c%c/%c%c%c %5Zd\n",
--				   i,
--				   q->flags,
--				   atomic_read(&q->use_count),
--				   atomic_read(&q->finalization),
--				   atomic_read(&q->block_count),
--				   atomic_read(&q->block_read) ? 'r' : '-',
--				   atomic_read(&q->block_write) ? 'w' : '-',
--				   waitqueue_active(&q->read_queue) ? 'r' : '-',
--				   waitqueue_active(&q->
--						    write_queue) ? 'w' : '-',
--				   waitqueue_active(&q->
--						    flush_queue) ? 'f' : '-',
--				   DRM_BUFCOUNT(&q->waitlist));
--		atomic_dec(&q->use_count);
--	}
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Simply calls _queues_info() while holding the drm_device::struct_mutex lock.
-- */
--static int drm_queues_info(char *buf, char **start, off_t offset, int request,
--			   int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__queues_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
-+	return 0;
- }
- 
--/**
-- * Called when "/proc/dri/.../bufs" is read.
-- *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-- */
--static int drm__bufs_info(char *buf, char **start, off_t offset, int request,
--			  int *eof, void *data)
-+int drm_proc_remove_files(struct drm_info_list *files, int count,
-+			  struct drm_minor *minor)
- {
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--	struct drm_device_dma *dma = dev->dma;
-+	struct list_head *pos, *q;
-+	struct drm_info_node *tmp;
- 	int i;
- 
--	if (!dma || offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	*start = &buf[offset];
--	*eof = 0;
--
--	DRM_PROC_PRINT(" o     size count  free	 segs pages    kB\n\n");
--	for (i = 0; i <= DRM_MAX_ORDER; i++) {
--		if (dma->bufs[i].buf_count)
--			DRM_PROC_PRINT("%2d %8d %5d %5d %5d %5d %5ld\n",
--				       i,
--				       dma->bufs[i].buf_size,
--				       dma->bufs[i].buf_count,
--				       atomic_read(&dma->bufs[i]
--						   .freelist.count),
--				       dma->bufs[i].seg_count,
--				       dma->bufs[i].seg_count
--				       * (1 << dma->bufs[i].page_order),
--				       (dma->bufs[i].seg_count
--					* (1 << dma->bufs[i].page_order))
--				       * PAGE_SIZE / 1024);
--	}
--	DRM_PROC_PRINT("\n");
--	for (i = 0; i < dma->buf_count; i++) {
--		if (i && !(i % 32))
--			DRM_PROC_PRINT("\n");
--		DRM_PROC_PRINT(" %d", dma->buflist[i]->list);
-+	for (i = 0; i < count; i++) {
-+		list_for_each_safe(pos, q, &minor->proc_nodes.list) {
-+			tmp = list_entry(pos, struct drm_info_node, list);
-+			if (tmp->info_ent == &files[i]) {
-+				remove_proc_entry(files[i].name,
-+						  minor->proc_root);
-+				list_del(pos);
-+				drm_free(tmp, sizeof(struct drm_info_node),
-+					 _DRM_DRIVER);
-+			}
-+		}
- 	}
--	DRM_PROC_PRINT("\n");
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Simply calls _bufs_info() while holding the drm_device::struct_mutex lock.
-- */
--static int drm_bufs_info(char *buf, char **start, off_t offset, int request,
--			 int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__bufs_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
-+	return 0;
- }
- 
- /**
-- * Called when "/proc/dri/.../vblank" is read.
-+ * Cleanup the proc filesystem resources.
-  *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-- */
--static int drm__vblank_info(char *buf, char **start, off_t offset, int request,
--			  int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--	int crtc;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	*start = &buf[offset];
--	*eof = 0;
--
--	for (crtc = 0; crtc < dev->num_crtcs; crtc++) {
--		DRM_PROC_PRINT("CRTC %d enable:     %d\n",
--			       crtc, atomic_read(&dev->vblank_refcount[crtc]));
--		DRM_PROC_PRINT("CRTC %d counter:    %d\n",
--			       crtc, drm_vblank_count(dev, crtc));
--		DRM_PROC_PRINT("CRTC %d last wait:  %d\n",
--			       crtc, dev->last_vblank_wait[crtc]);
--		DRM_PROC_PRINT("CRTC %d in modeset: %d\n",
--			       crtc, dev->vblank_inmodeset[crtc]);
--	}
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Simply calls _vblank_info() while holding the drm_device::struct_mutex lock.
-- */
--static int drm_vblank_info(char *buf, char **start, off_t offset, int request,
--			 int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__vblank_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
--}
--
--/**
-- * Called when "/proc/dri/.../clients" is read.
-+ * \param minor device minor number.
-+ * \param root DRI proc dir entry.
-+ * \param dev_root DRI device proc dir entry.
-+ * \return always zero.
-  *
-- * \param buf output buffer.
-- * \param start start of output data.
-- * \param offset requested start offset.
-- * \param request requested number of bytes.
-- * \param eof whether there is no more data to return.
-- * \param data private data.
-- * \return number of written bytes.
-+ * Remove all proc entries created by proc_init().
-  */
--static int drm__clients_info(char *buf, char **start, off_t offset,
--			     int request, int *eof, void *data)
-+int drm_proc_cleanup(struct drm_minor *minor, struct proc_dir_entry *root)
- {
--	struct drm_minor *minor = (struct drm_minor *) data;
- 	struct drm_device *dev = minor->dev;
--	int len = 0;
--	struct drm_file *priv;
-+	char name[64];
- 
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
-+	if (!root || !minor->proc_root)
- 		return 0;
--	}
--
--	*start = &buf[offset];
--	*eof = 0;
- 
--	DRM_PROC_PRINT("a dev	pid    uid	magic	  ioctls\n\n");
--	list_for_each_entry(priv, &dev->filelist, lhead) {
--		DRM_PROC_PRINT("%c %3d %5d %5d %10u %10lu\n",
--			       priv->authenticated ? 'y' : 'n',
--			       priv->minor->index,
--			       priv->pid,
--			       priv->uid, priv->magic, priv->ioctl_count);
--	}
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--/**
-- * Simply calls _clients_info() while holding the drm_device::struct_mutex lock.
-- */
--static int drm_clients_info(char *buf, char **start, off_t offset,
--			    int request, int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__clients_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
--}
--
--struct drm_gem_name_info_data {
--       int                     len;
--       char                    *buf;
--       int                     eof;
--};
-+	if (dev->driver->proc_cleanup)
-+		dev->driver->proc_cleanup(minor);
- 
--static int drm_gem_one_name_info(int id, void *ptr, void *data)
--{
--	struct drm_gem_object *obj = ptr;
--	struct drm_gem_name_info_data   *nid = data;
-+	drm_proc_remove_files(drm_proc_list, DRM_PROC_ENTRIES, minor);
- 
--	DRM_INFO("name %d size %zd\n", obj->name, obj->size);
--	if (nid->eof)
--		return 0;
-+	sprintf(name, "%d", minor->index);
-+	remove_proc_entry(name, root);
- 
--	nid->len += sprintf(&nid->buf[nid->len],
--			    "%6d %8zd %7d %8d\n",
--			    obj->name, obj->size,
--			    atomic_read(&obj->handlecount.refcount),
--			    atomic_read(&obj->refcount.refcount));
--	if (nid->len > DRM_PROC_LIMIT) {
--		nid->eof = 1;
--		return 0;
--	}
- 	return 0;
- }
- 
--static int drm_gem_name_info(char *buf, char **start, off_t offset,
--			     int request, int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	struct drm_gem_name_info_data nid;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	nid.len = sprintf(buf, "  name     size handles refcount\n");
--	nid.buf = buf;
--	nid.eof = 0;
--	idr_for_each(&dev->object_name_idr, drm_gem_one_name_info, &nid);
--
--	*start = &buf[offset];
--	*eof = 0;
--	if (nid.len > request + offset)
--		return request;
--	*eof = 1;
--	return nid.len - offset;
--}
--
--static int drm_gem_object_info(char *buf, char **start, off_t offset,
--			       int request, int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	*start = &buf[offset];
--	*eof = 0;
--	DRM_PROC_PRINT("%d objects\n", atomic_read(&dev->object_count));
--	DRM_PROC_PRINT("%d object bytes\n", atomic_read(&dev->object_memory));
--	DRM_PROC_PRINT("%d pinned\n", atomic_read(&dev->pin_count));
--	DRM_PROC_PRINT("%d pin bytes\n", atomic_read(&dev->pin_memory));
--	DRM_PROC_PRINT("%d gtt bytes\n", atomic_read(&dev->gtt_memory));
--	DRM_PROC_PRINT("%d gtt total\n", dev->gtt_total);
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--#if DRM_DEBUG_CODE
--
--static int drm__vma_info(char *buf, char **start, off_t offset, int request,
--			 int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int len = 0;
--	struct drm_vma_entry *pt;
--	struct vm_area_struct *vma;
--#if defined(__i386__)
--	unsigned int pgprot;
--#endif
--
--	if (offset > DRM_PROC_LIMIT) {
--		*eof = 1;
--		return 0;
--	}
--
--	*start = &buf[offset];
--	*eof = 0;
--
--	DRM_PROC_PRINT("vma use count: %d, high_memory = %p, 0x%llx\n",
--		       atomic_read(&dev->vma_count),
--		       high_memory, (u64)virt_to_phys(high_memory));
--	list_for_each_entry(pt, &dev->vmalist, head) {
--		if (!(vma = pt->vma))
--			continue;
--		DRM_PROC_PRINT("\n%5d 0x%08lx-0x%08lx %c%c%c%c%c%c 0x%08lx000",
--			       pt->pid,
--			       vma->vm_start,
--			       vma->vm_end,
--			       vma->vm_flags & VM_READ ? 'r' : '-',
--			       vma->vm_flags & VM_WRITE ? 'w' : '-',
--			       vma->vm_flags & VM_EXEC ? 'x' : '-',
--			       vma->vm_flags & VM_MAYSHARE ? 's' : 'p',
--			       vma->vm_flags & VM_LOCKED ? 'l' : '-',
--			       vma->vm_flags & VM_IO ? 'i' : '-',
--			       vma->vm_pgoff);
--
--#if defined(__i386__)
--		pgprot = pgprot_val(vma->vm_page_prot);
--		DRM_PROC_PRINT(" %c%c%c%c%c%c%c%c%c",
--			       pgprot & _PAGE_PRESENT ? 'p' : '-',
--			       pgprot & _PAGE_RW ? 'w' : 'r',
--			       pgprot & _PAGE_USER ? 'u' : 's',
--			       pgprot & _PAGE_PWT ? 't' : 'b',
--			       pgprot & _PAGE_PCD ? 'u' : 'c',
--			       pgprot & _PAGE_ACCESSED ? 'a' : '-',
--			       pgprot & _PAGE_DIRTY ? 'd' : '-',
--			       pgprot & _PAGE_PSE ? 'm' : 'k',
--			       pgprot & _PAGE_GLOBAL ? 'g' : 'l');
--#endif
--		DRM_PROC_PRINT("\n");
--	}
--
--	if (len > request + offset)
--		return request;
--	*eof = 1;
--	return len - offset;
--}
--
--static int drm_vma_info(char *buf, char **start, off_t offset, int request,
--			int *eof, void *data)
--{
--	struct drm_minor *minor = (struct drm_minor *) data;
--	struct drm_device *dev = minor->dev;
--	int ret;
--
--	mutex_lock(&dev->struct_mutex);
--	ret = drm__vma_info(buf, start, offset, request, eof, data);
--	mutex_unlock(&dev->struct_mutex);
--	return ret;
--}
--#endif
---- a/kernel/panic.c
-+++ b/kernel/panic.c
-@@ -194,6 +194,7 @@ const char *print_tainted(void)
- 
- 	return buf;
- }
-+EXPORT_SYMBOL(print_tainted);
- 
- int test_taint(unsigned flag)
- {
---- a/drivers/media/dvb/dvb-usb/Kconfig
-+++ b/drivers/media/dvb/dvb-usb/Kconfig
-@@ -235,8 +239,8 @@ config DVB_USB_OPERA1
- 	tristate "Afatech AF9005 DVB-T USB1.1 support"
- 	depends on DVB_USB && EXPERIMENTAL
- 	depends on 0
--	select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
--	select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
-+	select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
-+	select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE
- 	help
- 	  Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
- 	  and the TerraTec Cinergy T USB XE (Rev.1)
---- a/include/linux/intel-iommu.h	2009-03-23 23:12:14.000000000 +0000
-+++ b/include/linux/intel-iommu.h	2009-04-11 17:05:51.000000000 +0100
-@@ -322,6 +332,7 @@
- extern void free_iommu(struct intel_iommu *iommu);
- extern int dmar_enable_qi(struct intel_iommu *iommu);
- extern void dmar_disable_qi(struct intel_iommu *iommu);
-+extern int dmar_reenable_qi(struct intel_iommu *iommu);
- extern void qi_global_iec(struct intel_iommu *iommu);
- 
- extern int qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid,
---- a/arch/x86/kernel/cpu/mtrr/generic.c	2009-04-12 21:06:32.000000000 +0100
-+++ b/arch/x86/kernel/cpu/mtrr/generic.c	2009-04-12 21:14:30.000000000 +0100
-@@ -59,32 +59,6 @@
- 	}
- }
- 
--/**
-- * BIOS is expected to clear MtrrFixDramModEn bit, see for example
-- * "BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD
-- * Opteron Processors" (26094 Rev. 3.30 February 2006), section
-- * "13.2.1.2 SYSCFG Register": "The MtrrFixDramModEn bit should be set
-- * to 1 during BIOS initalization of the fixed MTRRs, then cleared to
-- * 0 for operation."
-- */
--static inline void k8_check_syscfg_dram_mod_en(void)
--{
--	u32 lo, hi;
--
--	if (!((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
--	      (boot_cpu_data.x86 >= 0x0f)))
--		return;
--
--	rdmsr(MSR_K8_SYSCFG, lo, hi);
--	if (lo & K8_MTRRFIXRANGE_DRAM_MODIFY) {
--		printk(KERN_ERR FW_WARN "MTRR: CPU %u: SYSCFG[MtrrFixDramModEn]"
--		       " not cleared by BIOS, clearing this bit\n",
--		       smp_processor_id());
--		lo &= ~K8_MTRRFIXRANGE_DRAM_MODIFY;
--		mtrr_wrmsr(MSR_K8_SYSCFG, lo, hi);
--	}
--}
--
- /*
-  * Returns the effective MTRR type for the region
-  * Error returns:
---- linux-2.6.29.x86_64/drivers/pci/dmar.c.orig	2009-04-12 21:24:15.000000000 +0100
-+++ linux-2.6.29.x86_64/drivers/pci/dmar.c	2009-04-12 22:13:45.000000000 +0100
-@@ -763,42 +763,6 @@
- }
- 
- /*
-- * Disable Queued Invalidation interface.
-- */
--void dmar_disable_qi(struct intel_iommu *iommu)
--{
--	unsigned long flags;
--	u32 sts;
--	cycles_t start_time = get_cycles();
--
--	if (!ecap_qis(iommu->ecap))
--		return;
--
--	spin_lock_irqsave(&iommu->register_lock, flags);
--
--	sts =  dmar_readq(iommu->reg + DMAR_GSTS_REG);
--	if (!(sts & DMA_GSTS_QIES))
--		goto end;
--
--	/*
--	 * Give a chance to HW to complete the pending invalidation requests.
--	 */
--	while ((readl(iommu->reg + DMAR_IQT_REG) !=
--		readl(iommu->reg + DMAR_IQH_REG)) &&
--		(DMAR_OPERATION_TIMEOUT > (get_cycles() - start_time)))
--		cpu_relax();
--
--	iommu->gcmd &= ~DMA_GCMD_QIE;
--
--	writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG);
--
--	IOMMU_WAIT_OP(iommu, DMAR_GSTS_REG, readl,
--		      !(sts & DMA_GSTS_QIES), sts);
--end:
--	spin_unlock_irqrestore(&iommu->register_lock, flags);
--}
--
--/*
-  * Enable queued invalidation.
-  */
- static void __dmar_enable_qi(struct intel_iommu *iommu)
-@@ -932,172 +896,6 @@
- };
- #define MAX_FAULT_REASON_IDX 	(ARRAY_SIZE(fault_reason_strings) - 1)
- 
--const char *dmar_get_fault_reason(u8 fault_reason)
--{
--	if (fault_reason > MAX_FAULT_REASON_IDX)
--		return "Unknown";
--	else
--		return fault_reason_strings[fault_reason];
--}
--
--void dmar_msi_unmask(unsigned int irq)
--{
--	struct intel_iommu *iommu = get_irq_data(irq);
--	unsigned long flag;
--
--	/* unmask it */
--	spin_lock_irqsave(&iommu->register_lock, flag);
--	writel(0, iommu->reg + DMAR_FECTL_REG);
--	/* Read a reg to force flush the post write */
--	readl(iommu->reg + DMAR_FECTL_REG);
--	spin_unlock_irqrestore(&iommu->register_lock, flag);
--}
--
--void dmar_msi_mask(unsigned int irq)
--{
--	unsigned long flag;
--	struct intel_iommu *iommu = get_irq_data(irq);
--
--	/* mask it */
--	spin_lock_irqsave(&iommu->register_lock, flag);
--	writel(DMA_FECTL_IM, iommu->reg + DMAR_FECTL_REG);
--	/* Read a reg to force flush the post write */
--	readl(iommu->reg + DMAR_FECTL_REG);
--	spin_unlock_irqrestore(&iommu->register_lock, flag);
--}
--
--void dmar_msi_write(int irq, struct msi_msg *msg)
--{
--	struct intel_iommu *iommu = get_irq_data(irq);
--	unsigned long flag;
--
--	spin_lock_irqsave(&iommu->register_lock, flag);
--	writel(msg->data, iommu->reg + DMAR_FEDATA_REG);
--	writel(msg->address_lo, iommu->reg + DMAR_FEADDR_REG);
--	writel(msg->address_hi, iommu->reg + DMAR_FEUADDR_REG);
--	spin_unlock_irqrestore(&iommu->register_lock, flag);
--}
--
--void dmar_msi_read(int irq, struct msi_msg *msg)
--{
--	struct intel_iommu *iommu = get_irq_data(irq);
--	unsigned long flag;
--
--	spin_lock_irqsave(&iommu->register_lock, flag);
--	msg->data = readl(iommu->reg + DMAR_FEDATA_REG);
--	msg->address_lo = readl(iommu->reg + DMAR_FEADDR_REG);
--	msg->address_hi = readl(iommu->reg + DMAR_FEUADDR_REG);
--	spin_unlock_irqrestore(&iommu->register_lock, flag);
--}
--
--static int dmar_fault_do_one(struct intel_iommu *iommu, int type,
--		u8 fault_reason, u16 source_id, unsigned long long addr)
--{
--	const char *reason;
--
--	reason = dmar_get_fault_reason(fault_reason);
--
--	printk(KERN_ERR
--		"DMAR:[%s] Request device [%02x:%02x.%d] "
--		"fault addr %llx \n"
--		"DMAR:[fault reason %02d] %s\n",
--		(type ? "DMA Read" : "DMA Write"),
--		(source_id >> 8), PCI_SLOT(source_id & 0xFF),
--		PCI_FUNC(source_id & 0xFF), addr, fault_reason, reason);
--	return 0;
--}
--
--#define PRIMARY_FAULT_REG_LEN (16)
--irqreturn_t dmar_fault(int irq, void *dev_id)
--{
--	struct intel_iommu *iommu = dev_id;
--	int reg, fault_index;
--	u32 fault_status;
--	unsigned long flag;
--
--	spin_lock_irqsave(&iommu->register_lock, flag);
--	fault_status = readl(iommu->reg + DMAR_FSTS_REG);
--
--	/* TBD: ignore advanced fault log currently */
--	if (!(fault_status & DMA_FSTS_PPF))
--		goto clear_overflow;
--
--	fault_index = dma_fsts_fault_record_index(fault_status);
--	reg = cap_fault_reg_offset(iommu->cap);
--	while (1) {
--		u8 fault_reason;
--		u16 source_id;
--		u64 guest_addr;
--		int type;
--		u32 data;
--
--		/* highest 32 bits */
--		data = readl(iommu->reg + reg +
--				fault_index * PRIMARY_FAULT_REG_LEN + 12);
--		if (!(data & DMA_FRCD_F))
--			break;
--
--		fault_reason = dma_frcd_fault_reason(data);
--		type = dma_frcd_type(data);
--
--		data = readl(iommu->reg + reg +
--				fault_index * PRIMARY_FAULT_REG_LEN + 8);
--		source_id = dma_frcd_source_id(data);
--
--		guest_addr = dmar_readq(iommu->reg + reg +
--				fault_index * PRIMARY_FAULT_REG_LEN);
--		guest_addr = dma_frcd_page_addr(guest_addr);
--		/* clear the fault */
--		writel(DMA_FRCD_F, iommu->reg + reg +
--			fault_index * PRIMARY_FAULT_REG_LEN + 12);
--
--		spin_unlock_irqrestore(&iommu->register_lock, flag);
--
--		dmar_fault_do_one(iommu, type, fault_reason,
--				source_id, guest_addr);
--
--		fault_index++;
--		if (fault_index > cap_num_fault_regs(iommu->cap))
--			fault_index = 0;
--		spin_lock_irqsave(&iommu->register_lock, flag);
--	}
--clear_overflow:
--	/* clear primary fault overflow */
--	fault_status = readl(iommu->reg + DMAR_FSTS_REG);
--	if (fault_status & DMA_FSTS_PFO)
--		writel(DMA_FSTS_PFO, iommu->reg + DMAR_FSTS_REG);
--
--	spin_unlock_irqrestore(&iommu->register_lock, flag);
--	return IRQ_HANDLED;
--}
--
--int dmar_set_interrupt(struct intel_iommu *iommu)
--{
--	int irq, ret;
--
--	irq = create_irq();
--	if (!irq) {
--		printk(KERN_ERR "IOMMU: no free vectors\n");
--		return -EINVAL;
--	}
--
--	set_irq_data(irq, iommu);
--	iommu->irq = irq;
--
--	ret = arch_setup_dmar_msi(irq);
--	if (ret) {
--		set_irq_data(irq, NULL);
--		iommu->irq = 0;
--		destroy_irq(irq);
--		return 0;
--	}
--
--	ret = request_irq(irq, dmar_fault, 0, iommu->name, iommu);
--	if (ret)
--		printk(KERN_ERR "IOMMU: can't request irq\n");
--	return ret;
--}
--
- /*
-  * Re-enable Queued Invalidation interface.
-  */
---- vanilla-2.6.29/kernel/sched.c	2009-03-23 23:12:14.000000000 +0000
-+++ linux.temp/kernel/sched.c	2009-04-14 21:42:33.000000000 +0100
-@@ -4134,9 +4134,25 @@
- EXPORT_PER_CPU_SYMBOL(kstat);
- 
- /*
-- * Return any ns on the sched_clock that have not yet been banked in
-+ * Return any ns on the sched_clock that have not yet been accounted in
-  * @p in case that task is currently running.
-+ *
-+ * Called with task_rq_lock() held on @rq.
-  */
-+static u64 do_task_delta_exec(struct task_struct *p, struct rq *rq)
-+{
-+	u64 ns = 0;
-+
-+	if (task_current(rq, p)) {
-+		update_rq_clock(rq);
-+		ns = rq->clock - p->se.exec_start;
-+		if ((s64)ns < 0)
-+			ns = 0;
-+	}
-+
-+	return ns;
-+}
-+
- unsigned long long task_delta_exec(struct task_struct *p)
- {
- 	unsigned long flags;
+--- a/include/linux/init_task.h	2009-04-23 20:13:50.000000000 +0100
++++ b/include/linux/init_task.h	2009-04-24 20:47:17.000000000 +0100
+@@ -170,6 +170,7 @@
+ 		[PIDTYPE_SID]  = INIT_PID_LINK(PIDTYPE_SID),		\
+ 	},								\
+ 	.dirties = INIT_PROP_LOCAL_SINGLE(dirties),			\
++	INIT_UTRACE(tsk)						\
+ 	INIT_IDS							\
+ 	INIT_PERF_COUNTERS(tsk)						\
+ 	INIT_TRACE_IRQFLAGS						\
 --- a/localversion-tip	2009-02-17 19:49:34.000000000 +0000
 +++ /dev/null	2009-02-17 18:08:14.005240123 +0000
 @@ -1 +0,0 @@

xen.pvops.pre.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1.2.9 -r 1.1.2.10 xen.pvops.pre.patch
Index: xen.pvops.pre.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.pre.patch,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -u -r1.1.2.9 -r1.1.2.10
--- xen.pvops.pre.patch	14 Apr 2009 22:09:26 -0000	1.1.2.9
+++ xen.pvops.pre.patch	24 Apr 2009 22:27:21 -0000	1.1.2.10
@@ -1,2184 +1,98 @@
 temporarily revert various Fedora changes so that the pvops patch applies cleanly
 Affected patches;
-drm-modesetting-radeon.patch - arch/x86/mm/pat.c
-linux-2.6-debug-nmi-timeout.patch - arch/x86/kernel/nmi.c (moved to arch/x86/kernel/apic/nmi.c)
+more linux-2.6-execshield.patch - arch/x86/mm/init.c arch/x86/mm/init_32.c include/linux/sched.h mm/mmap.c
 linux-2.6-defaults-pci_no_msi.patch - drivers/pci/pci.h
-drm-next.patch - drivers/gpu/drm/drm_proc.c
-linux-2.6-debug-taint-vm.patch - kernel/panic.c
-linux-2.6-v4l-dvb-update.patch - drivers/media/dvb/dvb-usb/Kconfig
-linux-2.6.29-pat-fixes.patch - arch/x86/pci/i386.c include/linux/mm.h mm/memory.c
-drm-next.patch - include/drm/drm.h include/drm/drm_mode.h include/drm/i915_drm.h include/drm/mga_drm.h include/drm/radeon_drm.h include/drm/via_drm.h include/linux/dvb/audio.h
-linux-2.6-iommu-fixes.patch - drivers/pci/dmar.c drivers/pci/intel-iommu.c drivers/pci/intr_remapping.c include/linux/dmar.h include/linux/intel-iommu.h
-linux-2.6-posix-timers-fix-clock-monotonicity.patch - kernel/sched.c
+linux-2.6-utrace.patch - include/linux/init_task.h
 
---- a/arch/x86/mm/pat.c	2009-02-14 12:49:46.000000000 +0000
-+++ b/arch/x86/mm/pat.c	2009-02-14 09:16:34.000000000 +0000
-@@ -30,7 +29,6 @@
- 
- #ifdef CONFIG_X86_PAT
- int __read_mostly pat_enabled = 1;
--EXPORT_SYMBOL_GPL(pat_enabled);
- 
- void __cpuinit pat_disable(char *reason)
- {
---- a/arch/x86/kernel/nmi.c	2009-02-18 20:51:13.000000000 +0000
-+++ b/arch/x86/kernel/nmi.c	2009-02-17 20:51:37.000000000 +0000
-@@ -442,7 +442,7 @@
- 		 * wait a few IRQs (5 seconds) before doing the oops ...
- 		 */
- 		local_inc(&__get_cpu_var(alert_counter));
--		if (local_read(&__get_cpu_var(alert_counter)) == CONFIG_DEBUG_NMI_TIMEOUT * nmi_hz)
-+		if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz)
- 			/*
- 			 * die_nmi will return ONLY if NOTIFY_STOP happens..
- 			 */
---- a/drivers/pci/pci.h	2009-02-25 20:40:21.000000000 +0000
-+++ b/drivers/pci/pci.h	2009-02-25 20:16:13.000000000 +0000
-@@ -111,11 +111,9 @@
- 
- #ifdef CONFIG_PCI_MSI
- void pci_no_msi(void);
--void pci_yes_msi(void);
- extern void pci_msi_init_pci_dev(struct pci_dev *dev);
- #else
- static inline void pci_no_msi(void) { }
--static inline void pci_yes_msi(void) { }
- static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { }
+--- a/arch/x86/mm/init.c	2009-04-24 20:27:42.000000000 +0100
++++ b/arch/x86/mm/init.c	2009-04-23 20:13:34.000000000 +0100
+@@ -163,11 +163,7 @@
+ 	set_nx();
+ 	if (nx_enabled)
+ 		printk(KERN_INFO "NX (Execute Disable) protection: active\n");
+-	else
  #endif
- 
---- a/drivers/gpu/drm/drm_proc.c	2009-03-04 18:43:07.000000000 +0000
-+++ b/drivers/gpu/drm/drm_proc.c	2009-03-04 18:35:48.000000000 +0000
-@@ -37,195 +37,697 @@
-  * OTHER DEALINGS IN THE SOFTWARE.
-  */
- 
--#include <linux/seq_file.h>
- #include "drmP.h"
- 
--/***************************************************
-- * Initialization, etc.
-- **************************************************/
-+static int drm_name_info(char *buf, char **start, off_t offset,
-+			 int request, int *eof, void *data);
-+static int drm_vm_info(char *buf, char **start, off_t offset,
-+		       int request, int *eof, void *data);
-+static int drm_clients_info(char *buf, char **start, off_t offset,
-+			    int request, int *eof, void *data);
-+static int drm_queues_info(char *buf, char **start, off_t offset,
-+			   int request, int *eof, void *data);
-+static int drm_bufs_info(char *buf, char **start, off_t offset,
-+			 int request, int *eof, void *data);
-+static int drm_vblank_info(char *buf, char **start, off_t offset,
-+			   int request, int *eof, void *data);
-+static int drm_gem_name_info(char *buf, char **start, off_t offset,
-+			     int request, int *eof, void *data);
-+static int drm_gem_object_info(char *buf, char **start, off_t offset,
-+			       int request, int *eof, void *data);
-+#if DRM_DEBUG_CODE
-+static int drm_vma_info(char *buf, char **start, off_t offset,
-+			int request, int *eof, void *data);
-+#endif
- 
- /**
-  * Proc file list.
-  */
--static struct drm_info_list drm_proc_list[] = {
-+static struct drm_proc_list {
-+	const char *name;	/**< file name */
-+	int (*f) (char *, char **, off_t, int, int *, void *);		/**< proc callback*/
-+	u32 driver_features; /**< Required driver features for this entry */
-+} drm_proc_list[] = {
- 	{"name", drm_name_info, 0},
-+	{"mem", drm_mem_info, 0},
- 	{"vm", drm_vm_info, 0},
- 	{"clients", drm_clients_info, 0},
- 	{"queues", drm_queues_info, 0},
- 	{"bufs", drm_bufs_info, 0},
-+	{"vblank", drm_vblank_info, 0},
- 	{"gem_names", drm_gem_name_info, DRIVER_GEM},
- 	{"gem_objects", drm_gem_object_info, DRIVER_GEM},
- #if DRM_DEBUG_CODE
--	{"vma", drm_vma_info, 0},
-+	{"vma", drm_vma_info},
- #endif
- };
--#define DRM_PROC_ENTRIES ARRAY_SIZE(drm_proc_list)
--
--static int drm_proc_open(struct inode *inode, struct file *file)
--{
--	struct drm_info_node* node = PDE(inode)->data;
--
--	return single_open(file, node->info_ent->show, node);
--}
--
--static const struct file_operations drm_proc_fops = {
--	.owner = THIS_MODULE,
--	.open = drm_proc_open,
--	.read = seq_read,
--	.llseek = seq_lseek,
--	.release = single_release,
--};
- 
-+#define DRM_PROC_ENTRIES ARRAY_SIZE(drm_proc_list)
- 
- /**
-- * Initialize a given set of proc files for a device
-+ * Initialize the DRI proc filesystem for a device.
-  *
-- * \param files The array of files to create
-- * \param count The number of files given
-+ * \param dev DRM device.
-+ * \param minor device minor number.
-  * \param root DRI proc dir entry.
-- * \param minor device minor number
-- * \return Zero on success, non-zero on failure
-+ * \param dev_root resulting DRI device proc dir entry.
-+ * \return root entry pointer on success, or NULL on failure.
-  *
-- * Create a given set of proc files represented by an array of
-- * gdm_proc_lists in the given root directory.
-+ * Create the DRI proc root entry "/proc/dri", the device proc root entry
-+ * "/proc/dri/%minor%/", and each entry in proc_list as
-+ * "/proc/dri/%minor%/%name%".
-  */
--int drm_proc_create_files(struct drm_info_list *files, int count,
--			  struct proc_dir_entry *root, struct drm_minor *minor)
-+int drm_proc_init(struct drm_minor *minor, int minor_id,
-+		  struct proc_dir_entry *root)
- {
- 	struct drm_device *dev = minor->dev;
- 	struct proc_dir_entry *ent;
--	struct drm_info_node *tmp;
-+	int i, j, ret;
- 	char name[64];
--	int i, ret;
- 
--	for (i = 0; i < count; i++) {
--		u32 features = files[i].driver_features;
-+	sprintf(name, "%d", minor_id);
-+	minor->dev_root = proc_mkdir(name, root);
-+	if (!minor->dev_root) {
-+		DRM_ERROR("Cannot create /proc/dri/%s\n", name);
-+		return -1;
-+	}
-+
-+	for (i = 0; i < DRM_PROC_ENTRIES; i++) {
-+		u32 features = drm_proc_list[i].driver_features;
- 
- 		if (features != 0 &&
- 		    (dev->driver->driver_features & features) != features)
- 			continue;
- 
--		tmp = drm_alloc(sizeof(struct drm_info_node), _DRM_DRIVER);
--		ent = create_proc_entry(files[i].name, S_IFREG | S_IRUGO, root);
-+		ent = create_proc_entry(drm_proc_list[i].name,
-+					S_IFREG | S_IRUGO, minor->dev_root);
- 		if (!ent) {
- 			DRM_ERROR("Cannot create /proc/dri/%s/%s\n",
--				  name, files[i].name);
--			drm_free(tmp, sizeof(struct drm_info_node),
--				 _DRM_DRIVER);
-+				  name, drm_proc_list[i].name);
- 			ret = -1;
[...1874 lines suppressed...]
-+{
-+	int irq, ret;
-+
-+	irq = create_irq();
-+	if (!irq) {
-+		printk(KERN_ERR "IOMMU: no free vectors\n");
-+		return -EINVAL;
-+	}
-+
-+	set_irq_data(irq, iommu);
-+	iommu->irq = irq;
-+
-+	ret = arch_setup_dmar_msi(irq);
-+	if (ret) {
-+		set_irq_data(irq, NULL);
-+		iommu->irq = 0;
-+		destroy_irq(irq);
-+		return 0;
-+	}
-+
-+	/* Force fault register is cleared */
-+	iommu_page_fault(irq, iommu);
-+
-+	ret = request_irq(irq, iommu_page_fault, 0, iommu->name, iommu);
-+	if (ret)
-+		printk(KERN_ERR "IOMMU: can't request irq\n");
-+	return ret;
-+}
- 
- static int iommu_init_domains(struct intel_iommu *iommu)
- {
-@@ -1855,40 +2043,11 @@ static int __init init_dmars(void)
- 		}
- 	}
- 
--	/*
--	 * Start from the sane iommu hardware state.
--	 */
- 	for_each_drhd_unit(drhd) {
- 		if (drhd->ignored)
- 			continue;
- 
- 		iommu = drhd->iommu;
--
--		/*
--		 * If the queued invalidation is already initialized by us
--		 * (for example, while enabling interrupt-remapping) then
--		 * we got the things already rolling from a sane state.
--		 */
--		if (iommu->qi)
--			continue;
--
--		/*
--		 * Clear any previous faults.
--		 */
--		dmar_fault(-1, iommu);
--		/*
--		 * Disable queued invalidation if supported and already enabled
--		 * before OS handover.
--		 */
--		dmar_disable_qi(iommu);
--	}
--
--	for_each_drhd_unit(drhd) {
--		if (drhd->ignored)
--			continue;
--
--		iommu = drhd->iommu;
--
- 		if (dmar_enable_qi(iommu)) {
- 			/*
- 			 * Queued Invalidate not enabled, use Register Based
-diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
-index 45effc5..b041a40 100644
---- a/drivers/pci/intr_remapping.c
-+++ b/drivers/pci/intr_remapping.c
-@@ -467,55 +458,11 @@ static int setup_intr_remapping(struct intel_iommu *iommu, int mode)
- 	return 0;
- }
- 
--/*
-- * Disable Interrupt Remapping.
-- */
--static void disable_intr_remapping(struct intel_iommu *iommu)
--{
--	unsigned long flags;
--	u32 sts;
--
--	if (!ecap_ir_support(iommu->ecap))
--		return;
--
--	spin_lock_irqsave(&iommu->register_lock, flags);
--
--	sts = dmar_readq(iommu->reg + DMAR_GSTS_REG);
--	if (!(sts & DMA_GSTS_IRES))
--		goto end;
--
--	iommu->gcmd &= ~DMA_GCMD_IRE;
--	writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG);
--
--	IOMMU_WAIT_OP(iommu, DMAR_GSTS_REG,
--		      readl, !(sts & DMA_GSTS_IRES), sts);
--
--end:
--	spin_unlock_irqrestore(&iommu->register_lock, flags);
--}
--
- int __init enable_intr_remapping(int eim)
- {
- 	struct dmar_drhd_unit *drhd;
- 	int setup = 0;
- 
--	for_each_drhd_unit(drhd) {
--		struct intel_iommu *iommu = drhd->iommu;
--
--		/*
--		 * Clear previous faults.
--		 */
--		dmar_fault(-1, iommu);
--
--		/*
--		 * Disable intr remapping and queued invalidation, if already
--		 * enabled prior to OS handover.
--		 */
--		disable_intr_remapping(iommu);
--
--		dmar_disable_qi(iommu);
--	}
--
- 	/*
- 	 * check for the Interrupt-remapping support
- 	 */
---- a/include/linux/dmar.h	2009-04-11 17:05:51.000000000 +0100
-+++ b/include/linux/dmar.h	2009-03-23 23:12:14.000000000 +0000
-@@ -24,7 +24,6 @@
- #include <linux/acpi.h>
- #include <linux/types.h>
- #include <linux/msi.h>
--#include <linux/irqreturn.h>
- 
- #if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP)
- struct intel_iommu;
-@@ -136,7 +127,6 @@
- extern void dmar_msi_read(int irq, struct msi_msg *msg);
- extern void dmar_msi_write(int irq, struct msi_msg *msg);
- extern int dmar_set_interrupt(struct intel_iommu *iommu);
--extern irqreturn_t dmar_fault(int irq, void *dev_id);
- extern int arch_setup_dmar_msi(unsigned int irq);
- 
- extern int iommu_detected, no_iommu;
---- a/include/linux/intel-iommu.h	2009-04-11 17:05:51.000000000 +0100
-+++ b/include/linux/intel-iommu.h	2009-03-23 23:12:14.000000000 +0000
-@@ -331,8 +321,6 @@
- extern int alloc_iommu(struct dmar_drhd_unit *drhd);
- extern void free_iommu(struct intel_iommu *iommu);
- extern int dmar_enable_qi(struct intel_iommu *iommu);
--extern void dmar_disable_qi(struct intel_iommu *iommu);
--extern int dmar_reenable_qi(struct intel_iommu *iommu);
- extern void qi_global_iec(struct intel_iommu *iommu);
- 
- extern int qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid,
---- linux.temp/kernel/sched.c	2009-04-14 21:42:33.000000000 +0100
-+++ vanilla-2.6.29/kernel/sched.c	2009-03-23 23:12:14.000000000 +0000
-@@ -4134,25 +4134,9 @@
- EXPORT_PER_CPU_SYMBOL(kstat);
- 
- /*
-- * Return any ns on the sched_clock that have not yet been accounted in
-+ * Return any ns on the sched_clock that have not yet been banked in
-  * @p in case that task is currently running.
-- *
-- * Called with task_rq_lock() held on @rq.
-  */
--static u64 do_task_delta_exec(struct task_struct *p, struct rq *rq)
--{
--	u64 ns = 0;
--
--	if (task_current(rq, p)) {
--		update_rq_clock(rq);
--		ns = rq->clock - p->se.exec_start;
--		if ((s64)ns < 0)
--			ns = 0;
--	}
--
--	return ns;
--}
--
- unsigned long long task_delta_exec(struct task_struct *p)
- {
- 	unsigned long flags;
+--- a/include/linux/init_task.h	2009-04-24 20:47:17.000000000 +0100
++++ b/include/linux/init_task.h	2009-04-23 20:13:50.000000000 +0100
+@@ -170,7 +170,6 @@
+ 		[PIDTYPE_SID]  = INIT_PID_LINK(PIDTYPE_SID),		\
+ 	},								\
+ 	.dirties = INIT_PROP_LOCAL_SINGLE(dirties),			\
+-	INIT_UTRACE(tsk)						\
+ 	INIT_IDS							\
+ 	INIT_TRACE_IRQFLAGS						\
+ 	INIT_LOCKDEP							\


--- alsa-dont-reset-stream-at-each-prepare-callb.patch DELETED ---


--- alsa-hda-dont-reset-BDL-unnecessarily.patch DELETED ---


--- alsa-hda_intel-fix-unexpected-ring-buffer-positio.patch DELETED ---


--- alsa-pcm-always-reset-invalid-position.patch DELETED ---


--- alsa-pcm-fix-delta-calc-at-overlap.patch DELETED ---


--- alsa-pcm-midlevel-add-more-strict-buffer-position.patch DELETED ---


--- alsa-pcm-safer-boundary-checks.patch DELETED ---


--- alsa-rewrite-hw_ptr-updaters.patch DELETED ---


--- drm-intel-gen3-fb-hack.patch DELETED ---


--- drm-intel-lying-systems-without-lvds.patch DELETED ---


--- linux-2.6-acer-wmi-bail-on-aao.patch DELETED ---


--- linux-2.6-acpi-strict-resources.patch DELETED ---


--- linux-2.6-acpi-video-didl-intel-outputs.patch DELETED ---


--- linux-2.6-add-qcserial.patch DELETED ---


--- linux-2.6-btrfs-fix-umount-hang.patch DELETED ---


--- linux-2.6-dma-debug-fixes.patch DELETED ---


--- linux-2.6-dropwatch-protocol.patch DELETED ---


--- linux-2.6-e820-acpi3-bios-workaround.patch DELETED ---


--- linux-2.6-e820-guard-against-pre-acpi3.patch DELETED ---


--- linux-2.6-e820-mark-esi-clobbered.patch DELETED ---


--- linux-2.6-e820-save-restore-edi-ebp.patch DELETED ---


--- linux-2.6-ext4-flush-on-close.patch DELETED ---


--- linux-2.6-ext4-really-print-warning-once.patch DELETED ---


--- linux-2.6-fiemap-header-install.patch DELETED ---


--- linux-2.6-hwmon-atk0110.patch DELETED ---


--- linux-2.6-input-hid-extra-gamepad.patch DELETED ---


--- linux-2.6-input-wacom-bluetooth.patch DELETED ---


--- linux-2.6-iommu-fixes.patch DELETED ---


--- linux-2.6-ipw2x00-age-scan-results-on-resume.patch DELETED ---


--- linux-2.6-iwl3945-report-killswitch-changes-even-if-the-interface-is-down.patch DELETED ---


--- linux-2.6-iwlagn-fix-hw-rfkill-while-the-interface-is-down.patch DELETED ---


--- linux-2.6-kvm-kconfig-irqchip.patch DELETED ---


--- linux-2.6-kvm-mask-notifiers.patch DELETED ---


--- linux-2.6-kvm-reset-pit-irq-on-unmask.patch DELETED ---


--- linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch DELETED ---


--- linux-2.6-mm-define-unique-value-for-as_unevictable.patch DELETED ---


--- linux-2.6-net-fix-another-gro-bug.patch DELETED ---


--- linux-2.6-pci-sysfs-remove-id.patch DELETED ---


--- linux-2.6-posix-timers-fix-clock-monotonicity.patch DELETED ---


--- linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch DELETED ---


--- linux-2.6-posix-timers-fix-rlimit_cpu-fork.patch DELETED ---


--- linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch DELETED ---


--- linux-2.6-relatime-by-default.patch DELETED ---


--- linux-2.6-scsi-cpqarray-set-master.patch DELETED ---


--- linux-2.6-shut-up-efifb.patch DELETED ---


--- linux-2.6-sony-laptop-rfkill.patch DELETED ---


--- linux-2.6-usb-cdc-acm-remove-low-latency-flag.patch DELETED ---


--- linux-2.6-utrace-ftrace.patch DELETED ---


--- linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch DELETED ---


--- linux-2.6-v4l-pvrusb2-fixes.patch DELETED ---


--- linux-2.6.29-alsa-update-quirks.patch DELETED ---


--- linux-2.6.29.1-sparc-regression.patch DELETED ---


--- patch-2.6.29.1.bz2.sign DELETED ---


--- revert-fix-modules_install-via-nfs.patch DELETED ---


--- squashfs-broken-when-pagesize-greater-than-blocksize.patch DELETED ---




More information about the fedora-extras-commits mailing list