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(¤t->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