Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at Fri Nov 19 10:54:57 CET 2010. -------- --- kernel-source/kernel-debug.changes 2010-10-27 07:00:19.000000000 +0200 +++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2010-11-18 07:00:22.000000000 +0100 @@ -1,0 +2,130 @@ +Wed Nov 17 17:10:32 CET 2010 - jeffm@suse.com + +- sched: automated per tty task groups. + - Enabled in -desktop flavors for better interactivity. +- commit 2d5d397 + +------------------------------------------------------------------- +Tue Nov 16 21:32:45 CET 2010 - jeffm@suse.de + +- doc/config-options.changes: Updated changes for 2.6.37-rc1 and -rc2. +- commit 0aca8b8 + +------------------------------------------------------------------- +Tue Nov 16 20:08:11 CET 2010 - jeffm@suse.com + +- Update to 2.6.37-rc2. +- commit 1453a04 + +------------------------------------------------------------------- +Mon Nov 15 23:58:59 CET 2010 - jslaby@suse.cz + +- PCI: fix pci_bus_alloc_resource() hang, prefer positive decode + (bnc#651256). +- commit 4404c19 + +------------------------------------------------------------------- +Mon Nov 15 21:33:19 CET 2010 - jeffm@suse.com + +- Update vanilla config files. +- commit 60b4a47 + +------------------------------------------------------------------- +Mon Nov 15 21:30:37 CET 2010 - jeffm@suse.com + +- Update to 2.6.37-rc1-git11. + - Eliminated 2 patches. +- commit 5959a67 + +------------------------------------------------------------------- +Mon Nov 15 20:02:33 CET 2010 - jeffm@suse.com + +- supported.conf: Added missing dependencies. +- commit 0537c35 + +------------------------------------------------------------------- +Sat Nov 13 10:08:17 CET 2010 - jslaby@suse.cz + +- TTY: restore tty_ldisc_wait_idle (bnc#642043). +- commit 84d87bf + +------------------------------------------------------------------- +Fri Nov 12 18:37:10 CET 2010 - jeffm@suse.de + +- Update to 2.6.37-rc1. + - Eliminated 26 patches. + - Xen is disabled. +- commit b9044e3 + +------------------------------------------------------------------- +Thu Nov 11 19:37:05 CET 2010 - gregkh@suse.de + +- Update config files. (bnc#652954) increase the number of possible and + default uarts for users with multi-port serial cards for the i386 and + x86-64 default configs. +- commit 85c87e3 + +------------------------------------------------------------------- +Thu Nov 11 13:48:24 CET 2010 - jslaby@suse.cz + +- rt2x00: Fix max TX power settings (bnc#584028). +- rt2x00: Fix channel configuration for RF3052 (bnc#584028). +- commit 60c0452 + +------------------------------------------------------------------- +Thu Nov 11 11:18:45 CET 2010 - jslaby@suse.cz + +- resources: add a default alignf to simplify find_resource() + (bnc#651256). +- resources: factor out resource_clip() to simplify + find_resource() (bnc#651256). +- resources: ensure callback doesn't allocate outside available + space (bnc#651256). +- resources: handle overflow when aligning start of available area + (bnc#651256). +- resources: support allocating space within a region from the + top down (bnc#651256). +- PCI: allocate bus resources from the top down (bnc#651256). +- x86/PCI: allocate space from the end of a region, not the + beginning (bnc#651256). +- x86: update iomem_resource end based on CPU physical address + capabilities (bnc#651256). +- x86: allocate space within a region top-down (bnc#651256). +- Refresh patches.xen/xen3-patch-2.6.34. +- commit 8c68ad1 + +------------------------------------------------------------------- +Tue Nov 9 15:28:57 CET 2010 - jack@suse.cz + +- novfs: Fix for the issue of kernel dumps core on restart + (bnc#641811). +- commit 76ba833 + +------------------------------------------------------------------- +Fri Oct 29 13:47:35 CEST 2010 - jslaby@suse.cz + +- net: Limit socket I/O iovec total length to INT_MAX + (bnc#650128). +- commit 2ba74bb + +------------------------------------------------------------------- +Fri Oct 29 01:53:34 CEST 2010 - trenn@suse.de + +- Update config files. + Forgot to enable ACPI_EC_DEBUGFS on i386/pae +- commit 66b605b + +------------------------------------------------------------------- +Wed Oct 27 16:27:15 CEST 2010 - jslaby@suse.cz + +- aha152x: enable PCMCIA on 64bit (bnc#630652). +- Update config files. +- commit a91d17c + +------------------------------------------------------------------- +Wed Oct 27 14:51:30 CEST 2010 - jslaby@suse.cz + +- hpet: unmap unused I/O space (bnc#629908 bnc#629901). +- commit dad22c3 + +------------------------------------------------------------------- kernel-default.changes: same change kernel-desktop.changes: same change kernel-docs.changes: same change kernel-net.changes: same change kernel-pae.changes: same change kernel-ppc64.changes: same change kernel-ps3.changes: same change kernel-s390.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-trace.changes: same change kernel-vanilla.changes: same change kernel-vmi.changes: same change calling whatdependson for head-i586 Old: ---- kernel-ec2.changes kernel-ec2.spec kernel-xen.changes kernel-xen.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-debug (Version 2.6.36) +# spec file for package kernel-debug (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -18,7 +18,7 @@ # norootforbuild %define srcversion 2.6.36 -%define patchversion 2.6.36 +%define patchversion 2.6.37-rc2 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -55,8 +55,8 @@ Name: kernel-debug Summary: A Debug Version of the Kernel -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %endif kernel-default.spec: same change kernel-desktop.spec: same change ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-docs (Version 2.6.36) +# spec file for package kernel-docs (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -17,15 +17,15 @@ # norootforbuild -%define patchversion 2.6.36 +%define patchversion 2.6.37-rc2 %define variant %{nil} %include %_sourcedir/kernel-spec-macros Name: kernel-docs Summary: Kernel Documentation -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %endif ++++++ kernel-net.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-net (Version 2.6.36) +# spec file for package kernel-net (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -18,7 +18,7 @@ # norootforbuild %define srcversion 2.6.36 -%define patchversion 2.6.36 +%define patchversion 2.6.37-rc2 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -55,8 +55,8 @@ Name: kernel-net Summary: Minimal kernel with disk and net support -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %endif kernel-pae.spec: same change kernel-ppc64.spec: same change kernel-ps3.spec: same change kernel-s390.spec: same change ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-source (Version 2.6.36) +# spec file for package kernel-source (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ # icecream 0 %define srcversion 2.6.36 -%define patchversion 2.6.36 +%define patchversion 2.6.37-rc2 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -30,8 +30,8 @@ Name: kernel-source Summary: The Linux Kernel Sources -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-syms (Version 2.6.36) +# spec file for package kernel-syms (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -23,8 +23,8 @@ Name: kernel-syms Summary: Kernel Symbol Versions (modversions) -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %define kernel_source_release %(LC_ALL=C rpm -q kernel-devel%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0) @@ -49,9 +49,6 @@ %ifarch s390 Requires: kernel-s390-devel = %version-%source_rel %endif -%ifarch %ix86 x86_64 -Requires: kernel-xen-devel = %version-%source_rel -%endif Provides: multiversion(kernel) Provides: %name = %version-%source_rel Source: README.KSYMS ++++++ kernel-trace.spec ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:39.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kernel-trace (Version 2.6.36) +# spec file for package kernel-trace (Version 2.6.37) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -18,7 +18,7 @@ # norootforbuild %define srcversion 2.6.36 -%define patchversion 2.6.36 +%define patchversion 2.6.37-rc2 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -55,8 +55,8 @@ Name: kernel-trace Summary: The Standard Kernel with Tracing Features -Version: 2.6.36 -Release: 3 +Version: 2.6.37 +Release: 1 %if %using_buildservice %else %endif kernel-vanilla.spec: same change kernel-vmi.spec: same change ++++++ config-options.changes.txt ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:40.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:40.000000000 +0100 @@ -1,4 +1,274 @@ ------------------------------------------------------------------- +Tue Nov 16 20:18:04 CET 2010 - jeffm@suse.de + +- Updated to 2.6.36-rc2: + - SYSFS_DEPRECATED: enable deprecated sysfs features to support + old userspace tools + - Disabled; defaults to n + - Userspace tools should be updated. If they aren't by + release time we can enable this. + + - JUMP_LABEL: Optimize trace point call sites + - With compiler support, allows trace points to be optimized + out entirely until used + - Enabled; defaults to n + + - BLK_DEV_THROTTLING: Block layer bio throttling support + - Adds a blkio cgroup container for creating per-device IO + rate policies + - Enabled; defaults to n + + - IRQ_TIME_ACCOUNTING: Fine granularity task level IRQ time accounting + - Adds a timestamp during transitions between softirq and + hardirq state + - Disabled; defaults to n + - There is a performance impact and its usefulness is + questionable unless you're working on a driver. + + - X86_RESERVE_LOW: Amount of low memory, in kilobytes, to reserve + for the BIOS + - Reserve low memory for the BIOS; Some BIOSes can trash parts + of low memory during suspend/resume or hotplug events + - Set to 64k; the default + + - PM_OPP: Operating Performance Point (OPP) Layer library + - Represents voltage domains for certain SoCs + - Disabled; defaults to n + - openSUSE isn't targetting x86-based SoCs so this is + unnecessary + + - BKL: Big Kernel Lock + - Enabled; defaults to y + - While it would be nice to answer n here, it's really only meant for + developers working on BKL removal + + - SPARSE_RCU_POINTER: RCU debugging: sparse-based checks for pointer usage + - Disabled; defaults to n + + - TEST_LIST_SORT: Linked list sorting test + - Disabled; defaults to n + + - PHONET_PIPECTRLR: Phonet Pipe Controller + - Disabled; defaults to n + - Experimental + + - BLK_DEV_RBD: Rados block device (RBD) + - The Rados block device, which stripes a block device over objects + stored in the Ceph distributed object store. + - Enabled as m; defaults to n + + - Networking features: + - NET_ACT_CSUM: Checksum Updating + - Update a common checksum after some direct packet alterations + - Enabled as m; defaults to n + - NET_IPGRE_DEMUX: IP: GRE demultiplexer + - This is helper module to demultiplex GRE packets on GRE version + field criteria. + - Enabled as m; defaults to n + - IP_VS_PE_SIP: SIP persistence engine + - Allow persistence based on the SIP Call-ID + - Enabled as m; defaults to n + - PPTP: PPP over IPv4 (PPTP) (EXPERIMENTAL) + - In-kernel acceleration for PPTP connections + - Enabled as m; defaults to n + + - File system features: + - FANOTIFY: Filesystem wide access notification + - Enabled; defaults to n + - FANOTIFY_ACCESS_PERMISSIONS: fanotify permissions checking + - Enabled; defaults to n + - NFS_USE_NEW_IDMAPPER: Use the new idmapper upcall routine (NFS) + - Disabled; defaults to n + - Can be enabled when userspace support is confirmed + - NFSD_DEPRECATED: Include support for deprecated syscall interface to NFSD + - Enabled; defaults to y + - Can be disabled when userspace support for the fs-based interface is + confirmed + - 9P_FS_POSIX_ACL: 9P POSIX Access Control Lists + - Enabled; defaults to n + - CEPH_LIB: Ceph core library + - cephlib, which provides the common functionality to both the Ceph + filesystem and to the rados block device (rbd). + - Enabled as m; defaults to n + - PRETTYDEBUG: Include file:line in ceph debug output + - Enabled; defaults to n + - There aren't a lot of ceph users out there and since this is still + experimental, any help in debugging is a plus. + + - New driver support; All are modular + - APDS9802ALS: Medfield Avago APDS9802 ALS Sensor module (APDS9802ALS) + - ALS APDS9802 ambient light sensor + - ISL29020: Intersil ISL29020 ambient light sensor + - SENSORS_BH1770: BH1770GLC / SFH7770 combined ALS - Proximity sensor + - SENSORS_APDS990X: APDS990X combined als and proximity sensors + - PCH_CAN: PCH CAN + - PCH CAN of Topcliff which is an IOH for x86 embedded processor + - PCH_PHUB: PCH Packet Hub of Intel Topcliff + - PCH_GBE: PCH Gigabit Ethernet + - GPIO_PCH: PCH GPIO of Intel Topcliff + - SPI_TOPCLIFF_PCH: Topcliff PCH SPI Controller + - GPIO_BASIC_MMIO: Basic memory-mapped GPIO controllers support + - GPIO_VX855: VIA VX855/VX875 GPIO + - GPIO_74X164: 74x164 serial-in/parallel-out 8-bits shift register + - BATTERY_BQ20Z75: TI BQ20z75 gas gauge + - SENSORS_GPIO_FAN: GPIO fan + - SENSORS_LTC4261: Linear Technology LTC4261 + - SENSORS_W83795: Winbond/Nuvoton W83795G/ADG + - SENSORS_W83795_FANCTRL: Include fan control support (DANGEROUS) + - Disabled; defaults to n + - CAN_TSCAN1: TS-CAN1 PC104 boards + - Technologic Systems' TSCAN-1 PC104 boards. + - OLPC_XO1: OLPC XO-1 support + - Support for non-essential features of the OLPC XO-1 laptop + - SCSI_CXGB4_ISCSI: Chelsio T4 iSCSI support + - BCM63XX_PHY: Broadcom 63xx SOCs internal PHY + - BNA: Brocade 1010/1020 10Gb Ethernet Driver support + - USB_NET_CX82310_ETH: Conexant CX82310 USB ethernet port + - TABLET_USB_HANWANG: Hanwang Art Master III tablet support (USB) + - TOUCHSCREEN_BU21013: BU21013 based touch panel controllers + - SERIO_PS2MULT: TQC PS/2 multiplexer + - I2C_MUX_PCA9541: NXP PCA9541 I2C Master Selector + - I2C_INTEL_MID: Intel Moorestown/Medfield Platform I2C controller + - MFD_MC13XXX: Freescale MC13783 and MC13892 + - MFD_VX855: VIA VX855/VX875 integrated south bridge + - REGULATOR_MAX8952: Maxim MAX8952 Power Management IC + - REGULATOR_LP3972: National Semiconductors LP3972 PMIC regulator driver + - IR_RC5_SZ_DECODER: raw decoder for the RC-5 (streamzap) protocol + - IR_NUVOTON: Nuvoton w836x7hg Consumer Infrared Transceiver + - VIDEO_VIVI: Virtual Video Driver + - VIDEO_SR030PC30: SR030PC30 VGA camera sensor + - VIDEO_VIA_CAMERA: VIAFB camera controller + - SOC_CAMERA_IMX074: imx074 support + - Enabled as module; defaults to n + - SOC_CAMERA_OV6650: ov6650 sensor + - USB_GSPCA_KONICA: Konica USB Camera V4L2 driver + - USB_GSPCA_XIRLINK_CIT: Xirlink C-It USB Camera + - DVB_USB_LME2510: LME DM04/QQBOX DVB-S USB2.0 support + - STUB_POULSBO: Intel GMA500 Stub Driver + - SND_ALOOP: Generic loopback driver (PCM) + - SND_AZT1605: Aztech AZT1605 Driver + - SND_AZT2316: Aztech AZT2316 Driver + - HID_UCLOGIC: UC-Logic + - HID_WALTOP: Waltop + - HID_ROCCAT_PYRA: Roccat Pyra mouse support + - USB_UAS: USB Attached SCSI + - USB_SERIAL_SAMBA: USB Atmel SAM Boot Assistant (SAM-BA) driver + - USB_YUREX: USB YUREX driver support + - MMC_USHC: USB SD Host Controller (USHC) support + - EDAC_MCE_INJ: Simple MCE injection interface over /sysfs + - EDAC_I7300: Intel Clarksboro MCH + - IDEAPAD_LAPTOP: Lenovo IdeaPad Laptop Extras + - IBM_RTL: IBM Premium Real Time Mode + - XO1_RFKILL: OLPC XO-1 software RF kill switch + - R8712U: RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver + - R8712_AP: Realtek RTL8712U AP code + - Disabled; defaults to n + - CARL9170: Linux Community AR9170 802.11n USB support + - This is another driver for the Atheros "otus" 802.11n USB devices. + - CARL9170_LEDS: SoftLED Support + - Necessary for LED blinking + - Enabled; defaults to y + - CARL9170_DEBUGFS: DebugFS Support + - Disabled; defaults to n + - STMMAC_ETH: STMicroelectronics 10/100/1000 Ethernet driver + - STMMAC_DA: STMMAC DMA arbitration scheme + - forces rx priority over tx instead of 1:1 priority + - Disabled; defaults to n + - STMMAC_DUAL_MAC: STMMAC: dual mac support (EXPERIMENTAL) + - Some ST SoCs (for example the stx7141 and stx7200c2) have + two Ethernet Controllers. This option turns on the second + Ethernet device on this kind of platforms. + - Enabled; defaults to n + + - Staging Drivers: + - SENSORS_ISL29018: ISL 29018 light and proximity sensor + - SENSORS_AK8975: Asahi Kasei AK8975 3-Axis Magnetometer + - LIRC_PARALLEL: Homebrew Parallel Port Receiver for LIRC + - SBE_2T3E3: SBE wanPMC-2T3E3 support + - USB_ENESTORAGE: USB ENE card reader support + - BCM_WIMAX: Beceem BCS200/BCS220-3 and BCSM250 wimax support + - FT1000: Flarion ft1000 + - FT1000_USB: ft1000 usb devices + - Enabled as module; defaults to n + - SPEAKUP: Speakup core + - SPEAKUP_SYNTH_ACNTSA: Accent SA synthesizer support + - SPEAKUP_SYNTH_ACNTPC: Accent PC synthesizer support + - SPEAKUP_SYNTH_APOLLO: Apollo II synthesizer support + - SPEAKUP_SYNTH_AUDPTR: Audapter synthesizer support + - SPEAKUP_SYNTH_BNS: Braille 'n' Speak synthesizer support + - SPEAKUP_SYNTH_DECTLK: DECtalk Express synthesizer support + - SPEAKUP_SYNTH_DECEXT: DECtalk External (old) synthesizer support + - SPEAKUP_SYNTH_DECPC: DECtalk PC (big ISA card) synthesizer support + - SPEAKUP_SYNTH_DTLK: DoubleTalk PC synthesizer support + - SPEAKUP_SYNTH_KEYPC: Keynote Gold PC synthesizer support + - SPEAKUP_SYNTH_LTLK: DoubleTalk LT/LiteTalk synthesizer support + - SPEAKUP_SYNTH_SOFT: Userspace software synthesizer support + - SPEAKUP_SYNTH_SPKOUT: Speak Out synthesizer support + - SPEAKUP_SYNTH_TXPRT: Transport synthesizer support + - SPEAKUP_SYNTH_DUMMY: Dummy synthesizer driver (for testing) + - RTC_DRV_MC13XXX: Freescale MC13xxx RTC + - BRCM80211: Broadcom IEEE802.11n WLAN drivers + - AD799X: Analog Devices AD799x ADC driver + - AD7476: Analog Devices AD7475/6/7/8 AD7466/7/8 and AD7495 ADC driver + - ATH6K_LEGACY: Atheros AR6003 support (non mac80211) + - ATH6KL_ENABLE_COEXISTENCE: BT Coexistence support + - Enabled; defaults to n + - ATH6KL_HCI_BRIDGE: HCI over SDIO support + - Enabled; defaults to n + - ATH6KL_CONFIG_GPIO_BT_RESET: Configure BT Reset GPIO + - Disabled; defaults to n + - Maybe should be enabled? + - ATH6KL_CFG80211: CFG80211 support + - Enabled; defaults to n + - ATH6KL_HTC_RAW_INTERFACE: RAW HTC support + - Enabled; defaults to n + - ATH6KL_VIRTUAL_SCATTER_GATHER: Virtual Scatter-Gather support + - Enabled; defaults to n + - ATH6KL_SKIP_ABI_VERSION_CHECK: Skip ABI version check support + - Disabled; defaults to n + - ATH6KL_DEBUG: Debug support + - Disabled; defaults to n + + - Driver options: + - ATH9K_RATE_CONTROL: Atheros ath9k rate control + - Enabled; defaults to y + - IWLWIFI_DEBUG_EXPERIMENTAL_UCODE: Experimental uCode support in iwlwifi + - Disabled; defaults to n + - Users wanting to replace their microcode can build their own kernels + - P54_SPI_DEFAULT_EEPROM: Include fallback EEPROM blob (Prism54) + - Disabled; defaults to n + - VIDEO_SAA7134_RC: Philips SAA7134 Remote Controller support + - Enabled; defaults to y + - SND_HDA_CODEC_HDMI: HDMI/DisplayPort HD-audio codec support for + Intel HD Audio + - Enabled; defaults to y + - LOGIWII_FF: Logitech Speed Force Wireless force feedback support + - Enabled; defaults to y + - KVM_MMU_AUDIT: Audit KVM MMU + - Enabled; defaults to n + - Adds a R/W module parameter which allows auditing at runtime + - MMC_BLOCK_MINORS: Number of minors per MMC block device + - Set to 8; defaults to 8 + - LINE6_USB_DEBUG: Line6 USB - print debug messages + - Disabled; defaults to n + - LINE6_USB_DUMP_CTRL: Line6 USB - dump control messages + - Disabled; defaults to n + - LINE6_USB_DUMP_MIDI: Line6 USB - dump MIDI messages + - Disabled; defaults to n + - LINE6_USB_DUMP_PCM: Line6 USB - dump PCM data + - Disabled; defaults to n + - LINE6_USB_RAW: Line6 USB - raw data communication + - Disabled; defaults to n + - LINE6_USB_IMPULSE_RESPONSE: Line6 USB - measure impulse response + - Measures the impulse response of a Line6 device + - Disabled; defaults to n + - Not required for normal operation + + - Disabled drivers: + - MFD_WM831X_SPI: Wolfson Microelectronics WM831x/2x PMICs with SPI + - Only available in static kernel + +------------------------------------------------------------------- Tue Oct 26 21:55:06 CEST 2010 - trenn@suse.de - Enable ACPI_EC_DEBUGFS=m for Embedded Controller debug facility ++++++ config.conf ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:40.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:40.000000000 +0100 @@ -13,8 +13,8 @@ +i386 i386/pae +i386 -syms i386/vmi +i386 -syms i386/debug -+i386 i386/xen -+i386 -syms i386/ec2 +#+i386 i386/xen +#+i386 -syms i386/ec2 +i386 i386/vanilla +i386 -syms i386/trace @@ -25,8 +25,8 @@ +x86_64 x86_64/default +x86_64 x86_64/desktop -+x86_64 x86_64/xen -+x86_64 -syms x86_64/ec2 +#+x86_64 x86_64/xen +#+x86_64 -syms x86_64/ec2 +x86_64 -syms x86_64/debug +x86_64 x86_64/vanilla +x86_64 -syms x86_64/trace ++++++ config.tar.bz2 ++++++ ++++ 44264 lines of diff (skipped) ++++++ minmem ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:43.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:43.000000000 +0100 @@ -1 +1 @@ -2096000 +1048576 ++++++ needed_space_in_mb ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:43.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:43.000000000 +0100 @@ -1 +1 @@ -6000 +6144 ++++++ patches.arch.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/acpi_ec_delay_param.patch new/patches.arch/acpi_ec_delay_param.patch --- old/patches.arch/acpi_ec_delay_param.patch 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/acpi_ec_delay_param.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -From: Thomas Renninger <trenn@suse.de> -Subject: ACPI: Make Embedded Controller command timeout delay configurable -References: bnc#639261 -Patch-Mainline: not yet - -Here and then there show up machines which need higher timeout values. -Finding this out on affected machines is very cumbersome, because -ACPI_EC_DELAY is a compile option -> make it a configurable via boot param. - -Signed-off-by: Thomas Renninger <trenn@suse.de> - - -diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c -index f31291b..6499cc4 100644 ---- a/drivers/acpi/ec.c -+++ b/drivers/acpi/ec.c -@@ -83,6 +83,11 @@ enum { - EC_FLAGS_BLOCKED, /* Transactions are blocked */ - }; - -+/* ec.c is compiled in acpi namespace so this shows up as acpi.ec_delay param */ -+static unsigned int ec_delay __read_mostly = ACPI_EC_DELAY; -+module_param(ec_delay, uint, 0444); -+MODULE_PARM_DESC(ec_delay, "Timeout(ms) waited until an EC command completes"); -+ - /* If we find an EC via the ECDT, we need to keep a ptr to its context */ - /* External interfaces use first EC only, so remember */ - typedef int (*acpi_ec_query_func) (void *data); -@@ -210,7 +215,7 @@ static int ec_poll(struct acpi_ec *ec) - int repeat = 2; /* number of command restarts */ - while (repeat--) { - unsigned long delay = jiffies + -- msecs_to_jiffies(ACPI_EC_DELAY); -+ msecs_to_jiffies(ec_delay); - do { - /* don't sleep with disabled interrupts */ - if (EC_FLAGS_MSI || irqs_disabled()) { -@@ -265,7 +270,7 @@ static int ec_check_ibf0(struct acpi_ec *ec) - - static int ec_wait_ibf0(struct acpi_ec *ec) - { -- unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY); -+ unsigned long delay = jiffies + msecs_to_jiffies(ec_delay); - /* interrupt wait manually if GPE mode is not active */ - while (time_before(jiffies, delay)) - if (wait_event_timeout(ec->wait, ec_check_ibf0(ec), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/acpi_thermal_passive_blacklist.patch new/patches.arch/acpi_thermal_passive_blacklist.patch --- old/patches.arch/acpi_thermal_passive_blacklist.patch 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/acpi_thermal_passive_blacklist.patch 2010-11-16 20:08:11.000000000 +0100 @@ -4,12 +4,12 @@ Patch-mainline: not yet --- - drivers/acpi/thermal.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 73 insertions(+) + drivers/acpi/thermal.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 93 insertions(+) --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c -@@ -47,6 +47,7 @@ +@@ -41,6 +41,7 @@ #include <linux/kmod.h> #include <linux/reboot.h> #include <linux/device.h> @@ -17,7 +17,7 @@ #include <asm/uaccess.h> #include <linux/thermal.h> #include <acpi/acpi_bus.h> -@@ -1397,6 +1398,66 @@ static void acpi_thermal_guess_offset(st +@@ -984,6 +985,86 @@ static void acpi_thermal_guess_offset(st tz->kelvin_offset = 2732; } @@ -81,10 +81,30 @@ + {}, +}; + ++static int acpi_thermal_set_polling(struct acpi_thermal *tz, int seconds) ++{ ++ if (!tz) ++ return -EINVAL; ++ ++ /* Convert value to deci-seconds */ ++ tz->polling_frequency = seconds * 10; ++ ++ tz->thermal_zone->polling_delay = seconds * 1000; ++ ++ if (tz->tz_enabled) ++ thermal_zone_device_update(tz->thermal_zone); ++ ++ ACPI_DEBUG_PRINT((ACPI_DB_INFO, ++ "Polling frequency set to %lu seconds\n", ++ tz->polling_frequency/10)); ++ ++ return 0; ++} ++ static int acpi_thermal_add(struct acpi_device *device) { int result = 0; -@@ -1428,6 +1489,18 @@ static int acpi_thermal_add(struct acpi_ +@@ -1015,6 +1096,18 @@ static int acpi_thermal_add(struct acpi_ if (result) goto free_memory; @@ -100,6 +120,6 @@ + } + } + - result = acpi_thermal_add_fs(device); - if (result) - goto unregister_thermal_zone; + printk(KERN_INFO PREFIX "%s [%s] (%ld C)\n", + acpi_device_name(device), acpi_device_bid(device), + KELVIN_TO_CELSIUS(tz->temperature)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/i386-unwind-annotations new/patches.arch/i386-unwind-annotations --- old/patches.arch/i386-unwind-annotations 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/i386-unwind-annotations 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -From: jbeulich@novell.com -Subject: fix unwind annotations -Patch-mainline: 2.6.37 - ---- a/arch/x86/kernel/entry_32.S -+++ b/arch/x86/kernel/entry_32.S -@@ -750,14 +750,19 @@ ptregs_##name: \ - #define PTREGSCALL3(name) \ - ALIGN; \ - ptregs_##name: \ -+ CFI_STARTPROC; \ - leal 4(%esp),%eax; \ - pushl %eax; \ -+ CFI_ADJUST_CFA_OFFSET 4; \ - movl PT_EDX(%eax),%ecx; \ - movl PT_ECX(%eax),%edx; \ - movl PT_EBX(%eax),%eax; \ - call sys_##name; \ - addl $4,%esp; \ -- ret -+ CFI_ADJUST_CFA_OFFSET -4; \ -+ ret; \ -+ CFI_ENDPROC; \ -+ENDPROC(ptregs_##name) - - PTREGSCALL1(iopl) - PTREGSCALL0(fork) -@@ -772,15 +777,21 @@ PTREGSCALL1(vm86old) - /* Clone is an oddball. The 4th arg is in %edi */ - ALIGN; - ptregs_clone: -+ CFI_STARTPROC - leal 4(%esp),%eax - pushl %eax -+ CFI_ADJUST_CFA_OFFSET 4 - pushl PT_EDI(%eax) -+ CFI_ADJUST_CFA_OFFSET 4 - movl PT_EDX(%eax),%ecx - movl PT_ECX(%eax),%edx - movl PT_EBX(%eax),%eax - call sys_clone - addl $8,%esp -+ CFI_ADJUST_CFA_OFFSET -8 - ret -+ CFI_ENDPROC -+ENDPROC(ptregs_clone) - - .macro FIXUP_ESPFIX_STACK - /* ---- a/arch/x86/kernel/sys_i386_32.c -+++ b/arch/x86/kernel/sys_i386_32.c -@@ -33,8 +33,8 @@ int kernel_execve(const char *filename, - const char *const envp[]) - { - long __res; -- asm volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" -+ asm volatile ("int $0x80" - : "=a" (__res) -- : "0" (__NR_execve), "ri" (filename), "c" (argv), "d" (envp) : "memory"); -+ : "0" (__NR_execve), "b" (filename), "c" (argv), "d" (envp) : "memory"); - return __res; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/kmsg-fix-parameter-limitations new/patches.arch/kmsg-fix-parameter-limitations --- old/patches.arch/kmsg-fix-parameter-limitations 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/kmsg-fix-parameter-limitations 2010-11-16 20:08:11.000000000 +0100 @@ -26,12 +26,12 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com> --- - include/linux/kernel.h | 2 +- + include/linux/printk.h | 2 +- scripts/kmsg-doc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h +--- a/include/linux/printk.h ++++ b/include/linux/printk.h @@ -416,7 +416,7 @@ extern int hex_to_bin(char ch); /* generate magic string for scripts/kmsg-doc to parse */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/kvm-split-paravirt-ops-by-functionality new/patches.arch/kvm-split-paravirt-ops-by-functionality --- old/patches.arch/kvm-split-paravirt-ops-by-functionality 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/kvm-split-paravirt-ops-by-functionality 2010-11-16 20:08:11.000000000 +0100 @@ -57,23 +57,14 @@ --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -367,7 +367,7 @@ endif - config X86_VSMP bool "ScaleMP vSMP" + select PARAVIRT_GUEST - select PARAVIRT + select PARAVIRT_ALL depends on X86_64 && PCI depends on X86_EXTENDED_PLATFORM ---help--- -@@ -514,7 +514,7 @@ source "arch/x86/xen/Kconfig" - - config VMI - bool "VMI Guest support (DEPRECATED)" -- select PARAVIRT -+ select PARAVIRT_ALL - depends on X86_32 - ---help--- - VMI provides a paravirtualized interface to the VMware ESX server @@ -533,7 +533,6 @@ config VMI config KVM_CLOCK @@ -199,11 +190,11 @@ #ifndef __ASSEMBLY__ +#ifndef CONFIG_PARAVIRT_IRQ - static inline unsigned long __raw_local_save_flags(void) + static inline unsigned long arch_local_save_flags(void) { return native_save_fl(); @@ -110,12 +112,17 @@ static inline unsigned long __raw_local_ - + arch_local_irq_disable(); return flags; } -#else @@ -253,7 +244,7 @@ -#endif /* CONFIG_PARAVIRT */ #ifndef __ASSEMBLY__ - #define raw_local_save_flags(flags) \ + static inline int arch_irqs_disabled_flags(unsigned long flags) --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -6,14 +6,14 @@ @@ -339,7 +330,7 @@ #endif +#ifdef CONFIG_PARAVIRT_IRQ - static inline void raw_safe_halt(void) + static inline void arch_safe_halt(void) { PVOP_VCALL0(pv_irq_ops.safe_halt); @@ -114,14 +121,18 @@ static inline void halt(void) @@ -430,11 +421,11 @@ ((struct paravirt_callee_save) { func }) +#ifdef CONFIG_PARAVIRT_IRQ - static inline unsigned long __raw_local_save_flags(void) + static inline unsigned long arch_local_save_flags(void) { return PVOP_CALLEE0(unsigned long, pv_irq_ops.save_fl); @@ -857,6 +880,7 @@ static inline unsigned long __raw_local_ - raw_local_irq_disable(); + arch_local_irq_disable(); return f; } +#endif /* CONFIG_PARAVIRT_IRQ */ @@ -570,9 +561,9 @@ --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -28,7 +28,7 @@ extern unsigned long empty_zero_page[PAG - extern spinlock_t pgd_lock; - extern struct list_head pgd_list; + extern struct mm_struct *pgd_page_get_mm(struct page *page); + -#ifdef CONFIG_PARAVIRT +#ifdef CONFIG_PARAVIRT_MMU #include <asm/paravirt.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/s390-message-catalog.diff new/patches.arch/s390-message-catalog.diff --- old/patches.arch/s390-message-catalog.diff 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/s390-message-catalog.diff 2010-11-16 20:08:11.000000000 +0100 @@ -7999,8 +7999,8 @@ #else static inline int dev_printk(const char *level, const struct device *dev, ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h +--- a/include/linux/printk.h ++++ b/include/linux/printk.h @@ -412,23 +412,42 @@ extern int hex_to_bin(char ch); #define pr_fmt(fmt) fmt #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86_64-unwind-annotations new/patches.arch/x86_64-unwind-annotations --- old/patches.arch/x86_64-unwind-annotations 2010-10-22 13:32:04.000000000 +0200 +++ new/patches.arch/x86_64-unwind-annotations 2010-11-16 20:08:11.000000000 +0100 @@ -198,7 +198,7 @@ leaq 8(%rsp), \arg /* pt_regs pointer */ call \func jmp ptregscall_common -@@ -702,21 +707,20 @@ END(\label) +@@ -702,12 +707,12 @@ END(\label) ENTRY(ptregscall_common) DEFAULT_FRAME 1 8 /* offset 8: return address */ RESTORE_TOP_OF_STACK %r11, 8 @@ -217,117 +217,49 @@ ret $REST_SKIP /* pop extended registers */ CFI_ENDPROC END(ptregscall_common) - - ENTRY(stub_execve) - CFI_STARTPROC -- popq %r11 -- CFI_ADJUST_CFA_OFFSET -8 -- CFI_REGISTER rip, r11 -+ addq $8, %rsp -+ PARTIAL_FRAME 0 - SAVE_REST - FIXUP_TOP_OF_STACK %r11 - movq %rsp, %rcx -@@ -735,7 +739,7 @@ END(stub_execve) - ENTRY(stub_rt_sigreturn) - CFI_STARTPROC - addq $8, %rsp -- CFI_ADJUST_CFA_OFFSET -8 -+ PARTIAL_FRAME 0 - SAVE_REST - movq %rsp,%rdi - FIXUP_TOP_OF_STACK %r11 -@@ -796,10 +800,12 @@ END(interrupt) - - /* 0(%rsp): ~(interrupt number) */ - .macro interrupt func -- subq $10*8, %rsp -- CFI_ADJUST_CFA_OFFSET 10*8 -+ subq $ORIG_RAX-ARGOFFSET+8, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-ARGOFFSET+8 - call save_args -- PARTIAL_FRAME 0 -+ PARTIAL_FRAME -1 8 -+ CFI_REL_OFFSET rbp, 0 -+ CFI_DEF_CFA_REGISTER rbp - call \func - .endm - -@@ -1036,10 +1042,10 @@ ENTRY(\sym) - INTR_FRAME - PARAVIRT_ADJUST_EXCEPTION_FRAME - pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */ -- subq $15*8,%rsp -- CFI_ADJUST_CFA_OFFSET 15*8 -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1036,7 +1042,7 @@ ENTRY(\sym) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call error_entry - DEFAULT_FRAME 0 + DEFAULT_FRAME -1 movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ call \do_sym -@@ -1054,8 +1060,10 @@ ENTRY(\sym) - PARAVIRT_ADJUST_EXCEPTION_FRAME - pushq $-1 /* ORIG_RAX: no syscall to restart */ - CFI_ADJUST_CFA_OFFSET 8 -- subq $15*8, %rsp -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1054,6 +1060,7 @@ ENTRY(\sym) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid + DEFAULT_FRAME -1 TRACE_IRQS_OFF movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ -@@ -1072,8 +1080,10 @@ ENTRY(\sym) - PARAVIRT_ADJUST_EXCEPTION_FRAME - pushq $-1 /* ORIG_RAX: no syscall to restart */ - CFI_ADJUST_CFA_OFFSET 8 -- subq $15*8, %rsp -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1072,6 +1080,7 @@ ENTRY(\sym) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid + DEFAULT_FRAME -1 TRACE_IRQS_OFF movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ -@@ -1089,10 +1099,10 @@ END(\sym) - ENTRY(\sym) - XCPT_FRAME - PARAVIRT_ADJUST_EXCEPTION_FRAME -- subq $15*8,%rsp -- CFI_ADJUST_CFA_OFFSET 15*8 -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1089,7 +1099,7 @@ END(\sym) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call error_entry - DEFAULT_FRAME 0 + DEFAULT_FRAME -1 movq %rsp,%rdi /* pt_regs pointer */ movq ORIG_RAX(%rsp),%rsi /* get error code */ movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ -@@ -1107,10 +1117,10 @@ END(\sym) - ENTRY(\sym) - XCPT_FRAME - PARAVIRT_ADJUST_EXCEPTION_FRAME -- subq $15*8,%rsp -- CFI_ADJUST_CFA_OFFSET 15*8 -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1107,7 +1117,7 @@ END(\sym) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid - DEFAULT_FRAME 0 + DEFAULT_FRAME -1 TRACE_IRQS_OFF movq %rsp,%rdi /* pt_regs pointer */ movq ORIG_RAX(%rsp),%rsi /* get error code */ -@@ -1402,7 +1412,7 @@ paranoidzeroentry machine_check *machine - - /* ebx: no swapgs flag */ - ENTRY(paranoid_exit) -- INTR_FRAME -+ DEFAULT_FRAME - DISABLE_INTERRUPTS(CLBR_NONE) - TRACE_IRQS_OFF - testl %ebx,%ebx /* swapgs needed? */ @@ -1452,25 +1462,24 @@ END(paranoid_exit) * returns in "no swapgs flag" in %ebx. */ @@ -370,14 +302,6 @@ xorl %ebx,%ebx testl $3,CS+8(%rsp) je error_kernelspace -@@ -1479,7 +1488,6 @@ error_swapgs: - error_sti: - TRACE_IRQS_OFF - ret -- CFI_ENDPROC - - /* - * There are two places in the kernel that can potentially fault with @@ -1489,6 +1497,7 @@ error_sti: * compat mode. Check for these here too. */ @@ -386,22 +310,9 @@ incl %ebx leaq irq_return(%rip),%rcx cmpq %rcx,RIP+8(%rsp) -@@ -1504,6 +1513,7 @@ bstep_iret: - /* Fix truncated RIP */ - movq %rcx,RIP+8(%rsp) - jmp error_swapgs -+ CFI_ENDPROC - END(error_entry) - - -@@ -1532,10 +1542,10 @@ ENTRY(nmi) - INTR_FRAME - PARAVIRT_ADJUST_EXCEPTION_FRAME - pushq_cfi $-1 -- subq $15*8, %rsp -- CFI_ADJUST_CFA_OFFSET 15*8 -+ subq $ORIG_RAX-R15, %rsp -+ CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 +@@ -1532,7 +1542,7 @@ ENTRY(nmi) + subq $ORIG_RAX-R15, %rsp + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid - DEFAULT_FRAME 0 + DEFAULT_FRAME -1 ++++++ patches.drivers.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-hda-01-Fix-wrong-SPDIF-NID-assignment-for-CA0110 new/patches.drivers/alsa-hda-01-Fix-wrong-SPDIF-NID-assignment-for-CA0110 --- old/patches.drivers/alsa-hda-01-Fix-wrong-SPDIF-NID-assignment-for-CA0110 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/alsa-hda-01-Fix-wrong-SPDIF-NID-assignment-for-CA0110 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -From 24b55c69b66eb2a122842820ec14ab215fc8572f Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 21 Oct 2010 08:55:13 +0200 -Subject: [PATCH] ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 -Git-commit: 24b55c69b66eb2a122842820ec14ab215fc8572f -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git -Patch-mainline: Submitted -References: bnc#564324 - -The dig_out_nid field must take a digital-converter widget, but the current -ca0110 parser passed the pin wrongly instead. - -Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> -Cc: <stable@kernel.org> -Signed-off-by: Takashi Iwai <tiwai@suse.de> - ---- - sound/pci/hda/patch_ca0110.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sound/pci/hda/patch_ca0110.c -+++ b/sound/pci/hda/patch_ca0110.c -@@ -489,7 +489,7 @@ - if (cfg->dig_outs && - snd_hda_get_connections(codec, cfg->dig_out_pins[0], - &spec->dig_out, 1) == 1) -- spec->multiout.dig_out_nid = cfg->dig_out_pins[0]; -+ spec->multiout.dig_out_nid = spec->dig_out; - } - - static int ca0110_parse_auto_config(struct hda_codec *codec) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-hda-02-Add-some-workarounds-for-Creative-IBG new/patches.drivers/alsa-hda-02-Add-some-workarounds-for-Creative-IBG --- old/patches.drivers/alsa-hda-02-Add-some-workarounds-for-Creative-IBG 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/alsa-hda-02-Add-some-workarounds-for-Creative-IBG 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ -From 14d34f166c57e77e3d7f9bc8b43d349186d922c1 Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 21 Oct 2010 09:03:25 +0200 -Subject: [PATCH] ALSA: hda - Add some workarounds for Creative IBG -Git-commit: 14d34f166c57e77e3d7f9bc8b43d349186d922c1 -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git -Patch-mainline: Submitted -References: bnc#564324 - -Creative HD-audio controller chips require some workarounds: - - Additional delay before RIRB response - - Set the initial RIRB counter to 0xc0 - -The latter seems to be done in general in Windows driver, so we may -use this value later for all types if it's confirmed to work better. - -Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> -Cc: <stable@kernel.org> -Signed-off-by: Takashi Iwai <tiwai@suse.de> - ---- - sound/pci/hda/hda_intel.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - ---- a/sound/pci/hda/hda_intel.c -+++ b/sound/pci/hda/hda_intel.c -@@ -458,6 +458,7 @@ - AZX_DRIVER_ULI, - AZX_DRIVER_NVIDIA, - AZX_DRIVER_TERA, -+ AZX_DRIVER_CTX, - AZX_DRIVER_GENERIC, - AZX_NUM_DRIVERS, /* keep this as last entry */ - }; -@@ -473,6 +474,7 @@ - [AZX_DRIVER_ULI] = "HDA ULI M5461", - [AZX_DRIVER_NVIDIA] = "HDA NVidia", - [AZX_DRIVER_TERA] = "HDA Teradici", -+ [AZX_DRIVER_CTX] = "HDA Creative", - [AZX_DRIVER_GENERIC] = "HD-Audio Generic", - }; - -@@ -563,7 +565,10 @@ - /* reset the rirb hw write pointer */ - azx_writew(chip, RIRBWP, ICH6_RIRBWP_RST); - /* set N=1, get RIRB response interrupt for new entry */ -- azx_writew(chip, RINTCNT, 1); -+ if (chip->driver_type == AZX_DRIVER_CTX) -+ azx_writew(chip, RINTCNT, 0xc0); -+ else -+ azx_writew(chip, RINTCNT, 1); - /* enable rirb dma and response irq */ - azx_writeb(chip, RIRBCTL, ICH6_RBCTL_DMA_EN | ICH6_RBCTL_IRQ_EN); - spin_unlock_irq(&chip->reg_lock); -@@ -1136,8 +1141,11 @@ - /* clear rirb int */ - status = azx_readb(chip, RIRBSTS); - if (status & RIRB_INT_MASK) { -- if (status & RIRB_INT_RESPONSE) -+ if (status & RIRB_INT_RESPONSE) { -+ if (chip->driver_type == AZX_DRIVER_CTX) -+ udelay(80); - azx_update_rirb(chip); -+ } - azx_writeb(chip, RIRBSTS, RIRB_INT_MASK); - } - -@@ -2794,10 +2802,10 @@ - { PCI_DEVICE(PCI_VENDOR_ID_CREATIVE, PCI_ANY_ID), - .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8, - .class_mask = 0xffffff, -- .driver_data = AZX_DRIVER_GENERIC }, -+ .driver_data = AZX_DRIVER_CTX }, - #else - /* this entry seems still valid -- i.e. without emu20kx chip */ -- { PCI_DEVICE(0x1102, 0x0009), .driver_data = AZX_DRIVER_GENERIC }, -+ { PCI_DEVICE(0x1102, 0x0009), .driver_data = AZX_DRIVER_CTX }, - #endif - /* AMD/ATI Generic, PCI class code and Vendor ID for HD Audio */ - { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_ANY_ID), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-hda-03-Add-workarounds-for-CT-IBG-controllers new/patches.drivers/alsa-hda-03-Add-workarounds-for-CT-IBG-controllers --- old/patches.drivers/alsa-hda-03-Add-workarounds-for-CT-IBG-controllers 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/alsa-hda-03-Add-workarounds-for-CT-IBG-controllers 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ -From 62b7e5e09bcb854ff05e6ee1aa161f8283dc36ee Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Fri, 22 Oct 2010 17:15:47 +0200 -Subject: [PATCH] ALSA: hda - Add workarounds for CT-IBG controllers -Git-commit: 62b7e5e09bcb854ff05e6ee1aa161f8283dc36ee -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git -Patch-mainline: Submitted -References: bnc#564324 - -Creative IBG controllers require the playback stream-tags to be started -from 1, instead of capture+1. Otherwise the stream stalls. - -Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> -Cc: <stable@kernel.org> -Signed-off-by: Takashi Iwai <tiwai@suse.de> - ---- - sound/pci/hda/hda_codec.c | 5 ++++- - sound/pci/hda/hda_intel.c | 9 +++++++-- - 2 files changed, 11 insertions(+), 3 deletions(-) - ---- a/sound/pci/hda/hda_codec.c -+++ b/sound/pci/hda/hda_codec.c -@@ -1216,6 +1216,7 @@ - struct hda_codec *c; - struct hda_cvt_setup *p; - unsigned int oldval, newval; -+ int type; - int i; - - if (!nid) -@@ -1254,10 +1255,12 @@ - p->dirty = 0; - - /* make other inactive cvts with the same stream-tag dirty */ -+ type = get_wcaps_type(get_wcaps(codec, nid)); - list_for_each_entry(c, &codec->bus->codec_list, list) { - for (i = 0; i < c->cvt_setups.used; i++) { - p = snd_array_elem(&c->cvt_setups, i); -- if (!p->active && p->stream_tag == stream_tag) -+ if (!p->active && p->stream_tag == stream_tag && -+ get_wcaps_type(get_wcaps(codec, p->nid)) == type) - p->dirty = 1; - } - } ---- a/sound/pci/hda/hda_intel.c -+++ b/sound/pci/hda/hda_intel.c -@@ -1655,7 +1655,7 @@ - struct azx_dev *azx_dev = get_azx_dev(substream); - struct hda_pcm_stream *hinfo = apcm->hinfo[substream->stream]; - struct snd_pcm_runtime *runtime = substream->runtime; -- unsigned int bufsize, period_bytes, format_val; -+ unsigned int bufsize, period_bytes, format_val, stream_tag; - int err; - - azx_stream_reset(chip, azx_dev); -@@ -1697,7 +1697,12 @@ - else - azx_dev->fifo_size = 0; - -- return snd_hda_codec_prepare(apcm->codec, hinfo, azx_dev->stream_tag, -+ stream_tag = azx_dev->stream_tag; -+ /* CA-IBG chips need the playback stream starting from 1 */ -+ if (chip->driver_type == AZX_DRIVER_CTX && -+ stream_tag > chip->capture_streams) -+ stream_tag -= chip->capture_streams; -+ return snd_hda_codec_prepare(apcm->codec, hinfo, stream_tag, - azx_dev->format_val, substream); - } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/dynamic_debug_1.patch new/patches.drivers/dynamic_debug_1.patch --- old/patches.drivers/dynamic_debug_1.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/dynamic_debug_1.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,87 +0,0 @@ -From: Thomas Renninger <trenn@suse.de> -Subject: Dynamic Debug: Split out query string parsing/setup from proc_write -References: none -Patch-Mainline: linux-next, queued for 2.6.37 - -X-Git-Tag: next-20100915~8^2~8 -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git;a=comm... - -Dynamic Debug: Split out query string parsing/setup from proc_write - -The parsing and applying of dynamic debug strings is not only useful for -/sys/../dynamic_debug/control write access, but can also be used for -boot parameter parsing. -The boot parameter is introduced in a follow up patch. - -Signed-off-by: Thomas Renninger <trenn@suse.de> -Acked-by: jbaron@redhat.com -Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ---- - -diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c -index 02afc25..84d103c4 100644 ---- a/lib/dynamic_debug.c -+++ b/lib/dynamic_debug.c -@@ -429,6 +429,27 @@ static int ddebug_parse_flags(const char *str, unsigned int *flagsp, - return 0; - } - -+static int ddebug_exec_query(char *query_string) -+{ -+ unsigned int flags = 0, mask = 0; -+ struct ddebug_query query; -+#define MAXWORDS 9 -+ int nwords; -+ char *words[MAXWORDS]; -+ -+ nwords = ddebug_tokenize(query_string, words, MAXWORDS); -+ if (nwords <= 0) -+ return -EINVAL; -+ if (ddebug_parse_query(words, nwords-1, &query)) -+ return -EINVAL; -+ if (ddebug_parse_flags(words[nwords-1], &flags, &mask)) -+ return -EINVAL; -+ -+ /* actually go and implement the change */ -+ ddebug_change(&query, flags, mask); -+ return 0; -+} -+ - /* - * File_ops->write method for <debugfs>/dynamic_debug/conrol. Gathers the - * command text from userspace, parses and executes it. -@@ -436,12 +457,8 @@ static int ddebug_parse_flags(const char *str, unsigned int *flagsp, - static ssize_t ddebug_proc_write(struct file *file, const char __user *ubuf, - size_t len, loff_t *offp) - { -- unsigned int flags = 0, mask = 0; -- struct ddebug_query query; --#define MAXWORDS 9 -- int nwords; -- char *words[MAXWORDS]; - char tmpbuf[256]; -+ int ret; - - if (len == 0) - return 0; -@@ -455,16 +472,9 @@ static ssize_t ddebug_proc_write(struct file *file, const char __user *ubuf, - printk(KERN_INFO "%s: read %d bytes from userspace\n", - __func__, (int)len); - -- nwords = ddebug_tokenize(tmpbuf, words, MAXWORDS); -- if (nwords <= 0) -- return -EINVAL; -- if (ddebug_parse_query(words, nwords-1, &query)) -- return -EINVAL; -- if (ddebug_parse_flags(words[nwords-1], &flags, &mask)) -- return -EINVAL; -- -- /* actually go and implement the change */ -- ddebug_change(&query, flags, mask); -+ ret = ddebug_exec_query(tmpbuf); -+ if (ret) -+ return ret; - - *offp += len; - return len; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/dynamic_debug_2.patch new/patches.drivers/dynamic_debug_2.patch --- old/patches.drivers/dynamic_debug_2.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/dynamic_debug_2.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,137 +0,0 @@ -From: Thomas Renninger <trenn@suse.de> -Subject: Dynamic Debug: Introduce ddebug_query= boot parameter -References: none -Patch-Mainline: linux-next, queued for 2.6.37 - -X-Git-Tag: next-20100915~8^2~7 -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git;a=comm... - -Dynamic Debug: Introduce ddebug_query= boot parameter - -Dynamic debug lacks the ability to enable debug messages at boot time. -One could patch initramfs or service startup scripts to write to -/sys/../dynamic_debug/control, but this sucks. - -This patch makes it possible to pass a query in the same format one can -write to /sys/../dynamic_debug/control via boot param. -When dynamic debug gets initialized, this query will automatically be -applied. - - -Signed-off-by: Thomas Renninger <trenn@suse.de> -Acked-by: jbaron@redhat.com -Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ---- - -diff --git a/Documentation/dynamic-debug-howto.txt b/Documentation/dynamic-debug-howto.txt -index 674c566..58ea64a 100644 ---- a/Documentation/dynamic-debug-howto.txt -+++ b/Documentation/dynamic-debug-howto.txt -@@ -24,7 +24,7 @@ Dynamic debug has even more useful features: - read to display the complete list of known debug statements, to help guide you - - Controlling dynamic debug Behaviour --=============================== -+=================================== - - The behaviour of pr_debug()/dev_debug()s are controlled via writing to a - control file in the 'debugfs' filesystem. Thus, you must first mount the debugfs -@@ -212,6 +212,26 @@ Note the regexp ^[-+=][scp]+$ matches a flags specification. - Note also that there is no convenient syntax to remove all - the flags at once, you need to use "-psc". - -+ -+Debug messages during boot process -+================================== -+ -+To be able to activate debug messages during the boot process, -+even before userspace and debugfs exists, use the boot parameter: -+ddebug_query="QUERY" -+ -+QUERY follows the syntax described above, but must not exceed 1023 -+characters. The enablement of debug messages is done as an arch_initcall. -+Thus you can enable debug messages in all code processed after this -+arch_initcall via this boot parameter. -+On an x86 system for example ACPI enablement is a subsys_initcall and -+ddebug_query="file ec.c +p" -+will show early Embedded Controller transactions during ACPI setup if -+your machine (typically a laptop) has an Embedded Controller. -+PCI (or other devices) initialization also is a hot candidate for using -+this boot parameter for debugging purposes. -+ -+ - Examples - ======== - -diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 8dd7248..3d854c9 100644 ---- a/Documentation/kernel-parameters.txt -+++ b/Documentation/kernel-parameters.txt -@@ -43,10 +43,11 @@ parameter is applicable: - AVR32 AVR32 architecture is enabled. - AX25 Appropriate AX.25 support is enabled. - BLACKFIN Blackfin architecture is enabled. -- DRM Direct Rendering Management support is enabled. - EDD BIOS Enhanced Disk Drive Services (EDD) is enabled - EFI EFI Partitioning (GPT) is enabled - EIDE EIDE/ATAPI support is enabled. -+ DRM Direct Rendering Management support is enabled. -+ DYNAMIC_DEBUG Build in debug messages and enable them at runtime - FB The frame buffer device is enabled. - GCOV GCOV profiling is enabled. - HW Appropriate hardware is enabled. -@@ -570,6 +571,10 @@ and is between 256 and 4096 characters. It is defined in the file - Format: <port#>,<type> - See also Documentation/input/joystick-parport.txt - -+ ddebug_query= [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot -+ time. See Documentation/dynamic-debug-howto.txt for -+ details. -+ - debug [KNL] Enable kernel debugging (events log level). - - debug_locks_verbose= -diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c -index 84d103c4..44ce66b 100644 ---- a/lib/dynamic_debug.c -+++ b/lib/dynamic_debug.c -@@ -450,6 +450,19 @@ static int ddebug_exec_query(char *query_string) - return 0; - } - -+static __initdata char ddebug_setup_string[1024]; -+static __init int ddebug_setup_query(char *str) -+{ -+ if (strlen(str) >= 1024) { -+ pr_warning("ddebug boot param string too large\n"); -+ return 0; -+ } -+ strcpy(ddebug_setup_string, str); -+ return 1; -+} -+ -+__setup("ddebug_query=", ddebug_setup_query); -+ - /* - * File_ops->write method for <debugfs>/dynamic_debug/conrol. Gathers the - * command text from userspace, parses and executes it. -@@ -769,6 +782,18 @@ static int __init dynamic_debug_init(void) - } - ret = ddebug_add_module(iter_start, n, modname); - } -+ -+ /* ddebug_query boot param got passed -> set it up */ -+ if (ddebug_setup_string[0] != '\0') { -+ ret = ddebug_exec_query(ddebug_setup_string); -+ if (ret) -+ pr_warning("Invalid ddebug boot param %s", -+ ddebug_setup_string); -+ else -+ pr_info("ddebug initialized with string %s", -+ ddebug_setup_string); -+ } -+ - out_free: - if (ret) { - ddebug_remove_all_tables(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/dynamic_debug_3.patch new/patches.drivers/dynamic_debug_3.patch --- old/patches.drivers/dynamic_debug_3.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/dynamic_debug_3.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,112 +0,0 @@ -From: Thomas Renninger <trenn@suse.de> -Subject: Dynamic Debug: Initialize dynamic debug earlier via arch_initcall -References: none -Patch-Mainline: linux-next, queued for 2.6.37 - -X-Git-Tag: next-20100915~8^2~6 -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git;a=comm... - -Dynamic Debug: Initialize dynamic debug earlier via arch_initcall - -Having the ddebug_query= boot parameter it makes sense to set up -dynamic debug as soon as possible. - -I expect sysfs files cannot be set up via an arch_initcall, because -this one is even before fs_initcall. Therefore I splitted the -dynamic_debug_init function into an early one and a later one providing -/sys/../dynamic_debug/control file. - -Possibly dynamic_debug can be initialized even earlier, not sure whether -this still makes sense then. I picked up arch_initcall as it covers -quite a lot already. - -Dynamic debug needs to allocate memory, therefore it's not easily possible to -set it up even before the command line gets parsed. -Therefore the boot param query string is stored in a temp string which is -applied when dynamic debug gets set up. - -This has been tested with ddebug_query="file ec.c +p" -and I could retrieve pr_debug() messages early at boot during ACPI setup: -ACPI: EC: Look up EC in DSDT -ACPI: EC: ---> status = 0x08 -ACPI: EC: transaction start -ACPI: EC: <--- command = 0x80 -ACPI: EC: ~~~> interrupt -ACPI: EC: ---> status = 0x08 -ACPI: EC: <--- data = 0xa4 -... -ACPI: Interpreter enabled -ACPI: (supports S0 S3 S4 S5) -ACPI: Using IOAPIC for interrupt routing -ACPI: EC: ---> status = 0x00 -ACPI: EC: transaction start -ACPI: EC: <--- command = 0x80 - - -Signed-off-by: Thomas Renninger <trenn@suse.de> -Acked-by: jbaron@redhat.com -Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> -CC: linux-acpi@vger.kernel.org -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ---- - -diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c -index 44ce66b..a687d90 100644 ---- a/lib/dynamic_debug.c -+++ b/lib/dynamic_debug.c -@@ -748,13 +748,14 @@ static void ddebug_remove_all_tables(void) - mutex_unlock(&ddebug_lock); - } - --static int __init dynamic_debug_init(void) -+static __initdata int ddebug_init_success; -+ -+static int __init dynamic_debug_init_debugfs(void) - { - struct dentry *dir, *file; -- struct _ddebug *iter, *iter_start; -- const char *modname = NULL; -- int ret = 0; -- int n = 0; -+ -+ if (!ddebug_init_success) -+ return -ENODEV; - - dir = debugfs_create_dir("dynamic_debug", NULL); - if (!dir) -@@ -765,6 +766,16 @@ static int __init dynamic_debug_init(void) - debugfs_remove(dir); - return -ENOMEM; - } -+ return 0; -+} -+ -+static int __init dynamic_debug_init(void) -+{ -+ struct _ddebug *iter, *iter_start; -+ const char *modname = NULL; -+ int ret = 0; -+ int n = 0; -+ - if (__start___verbose != __stop___verbose) { - iter = __start___verbose; - modname = iter->modname; -@@ -795,11 +806,13 @@ static int __init dynamic_debug_init(void) - } - - out_free: -- if (ret) { -+ if (ret) - ddebug_remove_all_tables(); -- debugfs_remove(dir); -- debugfs_remove(file); -- } -+ else -+ ddebug_init_success = 1; - return 0; - } --module_init(dynamic_debug_init); -+/* Allow early initialization for boot messages via boot param */ -+arch_initcall(dynamic_debug_init); -+/* Debugfs setup must be done later */ -+module_init(dynamic_debug_init_debugfs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/dynamic_debug_4.patch new/patches.drivers/dynamic_debug_4.patch --- old/patches.drivers/dynamic_debug_4.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/dynamic_debug_4.patch 2010-11-12 18:37:10.000000000 +0100 @@ -48,17 +48,15 @@ --- Documentation/dynamic-debug-howto.txt | 28 ++++++++++ - include/linux/dynamic_debug.h | 15 +++++ + include/linux/dynamic_debug.h | 14 +++++ include/linux/moduleparam.h | 3 + kernel/module.c | 1 - kernel/params.c | 15 ++++- + kernel/params.c | 14 ++++- lib/dynamic_debug.c | 91 ++++++++++++++++++++++++++++++++-- - 6 files changed, 147 insertions(+), 6 deletions(-) + 6 files changed, 145 insertions(+), 6 deletions(-) -Index: linux-2.6.35-master/Documentation/dynamic-debug-howto.txt -=================================================================== ---- linux-2.6.35-master.orig/Documentation/dynamic-debug-howto.txt -+++ linux-2.6.35-master/Documentation/dynamic-debug-howto.txt +--- a/Documentation/dynamic-debug-howto.txt ++++ b/Documentation/dynamic-debug-howto.txt @@ -213,7 +213,7 @@ Note also that there is no convenient sy the flags at once, you need to use "-psc". @@ -101,11 +99,9 @@ Examples ======== -Index: linux-2.6.35-master/include/linux/dynamic_debug.h -=================================================================== ---- linux-2.6.35-master.orig/include/linux/dynamic_debug.h -+++ linux-2.6.35-master/include/linux/dynamic_debug.h -@@ -39,8 +39,13 @@ struct _ddebug { +--- a/include/linux/dynamic_debug.h ++++ b/include/linux/dynamic_debug.h +@@ -40,8 +40,13 @@ struct _ddebug { int ddebug_add_module(struct _ddebug *tab, unsigned int n, const char *modname); @@ -117,9 +113,9 @@ +extern void ddebug_module_parse_args(const char *name, char* args, + struct kernel_param *params, unsigned num); - #define __dynamic_dbg_enabled(dd) ({ \ - int __ret = 0; \ -@@ -77,6 +82,15 @@ static inline int ddebug_remove_module(c + #define dynamic_pr_debug(fmt, ...) do { \ + __label__ do_printk; \ +@@ -80,6 +85,15 @@ static inline int ddebug_remove_module(c { return 0; } @@ -135,10 +131,8 @@ #define dynamic_pr_debug(fmt, ...) \ do { if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); } while (0) -Index: linux-2.6.35-master/include/linux/moduleparam.h -=================================================================== ---- linux-2.6.35-master.orig/include/linux/moduleparam.h -+++ linux-2.6.35-master/include/linux/moduleparam.h +--- a/include/linux/moduleparam.h ++++ b/include/linux/moduleparam.h @@ -405,4 +405,7 @@ static inline void module_param_sysfs_re { } #endif @@ -147,11 +141,9 @@ +extern char *next_arg(char *args, char **param, char **val); + #endif /* _LINUX_MODULE_PARAMS_H */ -Index: linux-2.6.35-master/kernel/module.c -=================================================================== ---- linux-2.6.35-master.orig/kernel/module.c -+++ linux-2.6.35-master/kernel/module.c -@@ -2701,6 +2701,7 @@ static struct module *load_module(void _ +--- a/kernel/module.c ++++ b/kernel/module.c +@@ -2709,6 +2709,7 @@ static struct module *load_module(void _ list_add_rcu(&mod->list, &modules); mutex_unlock(&module_mutex); @@ -159,10 +151,8 @@ /* Module is ready to execute: parsing args may do that. */ err = parse_args(mod->name, mod->args, mod->kp, mod->num_kp, NULL); if (err < 0) -Index: linux-2.6.35-master/kernel/params.c -=================================================================== ---- linux-2.6.35-master.orig/kernel/params.c -+++ linux-2.6.35-master/kernel/params.c +--- a/kernel/params.c ++++ b/kernel/params.c @@ -91,6 +91,7 @@ static int parse_one(char *param, { unsigned int i; @@ -205,10 +195,8 @@ /* Chew leading spaces */ args = skip_spaces(args); -Index: linux-2.6.35-master/lib/dynamic_debug.c -=================================================================== ---- linux-2.6.35-master.orig/lib/dynamic_debug.c -+++ linux-2.6.35-master/lib/dynamic_debug.c +--- a/lib/dynamic_debug.c ++++ b/lib/dynamic_debug.c @@ -10,6 +10,7 @@ */ @@ -217,9 +205,9 @@ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kallsyms.h> -@@ -27,9 +28,13 @@ - #include <linux/debugfs.h> +@@ -28,9 +29,13 @@ #include <linux/slab.h> + #include <linux/jump_label.h> +#include <asm/setup.h> + @@ -228,10 +216,10 @@ +#define DDEBUG_STRING_SIZE 1024 + - /* dynamic_debug_enabled, and dynamic_debug_enabled2 are bitmasks in which - * bit n is set to 1 if any modname hashes into the bucket n, 0 otherwise. They - * use independent hash functions, to reduce the chance of false positives. -@@ -429,7 +434,7 @@ static int ddebug_parse_flags(const char + struct ddebug_table { + struct list_head link; + char *mod_name; +@@ -393,7 +398,7 @@ static int ddebug_parse_flags(const char return 0; } @@ -240,7 +228,7 @@ { unsigned int flags = 0, mask = 0; struct ddebug_query query; -@@ -437,6 +442,9 @@ static int ddebug_exec_query(char *query +@@ -401,6 +406,9 @@ static int ddebug_exec_query(char *query int nwords; char *words[MAXWORDS]; @@ -250,7 +238,7 @@ nwords = ddebug_tokenize(query_string, words, MAXWORDS); if (nwords <= 0) return -EINVAL; -@@ -450,10 +458,10 @@ static int ddebug_exec_query(char *query +@@ -414,10 +422,10 @@ static int ddebug_exec_query(char *query return 0; } @@ -263,7 +251,7 @@ pr_warning("ddebug boot param string too large\n"); return 0; } -@@ -704,6 +712,81 @@ int ddebug_add_module(struct _ddebug *ta +@@ -668,6 +676,81 @@ int ddebug_add_module(struct _ddebug *ta } EXPORT_SYMBOL_GPL(ddebug_add_module); @@ -345,7 +333,7 @@ static void ddebug_table_free(struct ddebug_table *dt) { list_del_init(&dt->link); -@@ -805,6 +888,8 @@ static int __init dynamic_debug_init(voi +@@ -769,6 +852,8 @@ static int __init dynamic_debug_init(voi ddebug_setup_string); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/elousb.patch new/patches.drivers/elousb.patch --- old/patches.drivers/elousb.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/elousb.patch 2010-11-12 18:37:10.000000000 +0100 @@ -69,7 +69,7 @@ +obj-$(CONFIG_TOUCHSCREEN_ELOUSB) += elousb.o obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o - obj-$(CONFIG_TOUCHSCREEN_MC13783) += mc13783_ts.o + obj-$(CONFIG_TOUCHSCREEN_INTEL_MID) += intel-mid-touch.o --- /dev/null +++ b/drivers/input/touchscreen/elousb.c @@ -0,0 +1,305 @@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/input-Add-LED-support-to-Synaptics-device new/patches.drivers/input-Add-LED-support-to-Synaptics-device --- old/patches.drivers/input-Add-LED-support-to-Synaptics-device 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/input-Add-LED-support-to-Synaptics-device 2010-11-12 18:37:10.000000000 +0100 @@ -209,9 +209,9 @@ /* Data read from the touchpad */ unsigned long int model_id; /* Model-ID */ @@ -110,6 +112,7 @@ struct synaptics_data { - unsigned char pkt_type; /* packet type - old, new, etc */ - unsigned char mode; /* current mode byte */ int scroll; + + struct serio *pt_port; /* Pass-through serio port */ + struct synaptics_led *led; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/ixgbe-entropy-source.patch new/patches.drivers/ixgbe-entropy-source.patch --- old/patches.drivers/ixgbe-entropy-source.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/ixgbe-entropy-source.patch 2010-11-12 18:37:10.000000000 +0100 @@ -32,28 +32,26 @@ @@ -2121,6 +2126,7 @@ static int ixgbe_request_msix_irqs(struc irqreturn_t (*handler)(int, void *); int i, vector, q_vectors, err; - int ri=0, ti=0; + int ri = 0, ti = 0; + int irq_flags; /* Decrement for Other and TCP Timer vectors */ q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS; -@@ -2136,20 +2142,26 @@ static int ixgbe_request_msix_irqs(struc +@@ -2136,18 +2142,24 @@ static int ixgbe_request_msix_irqs(struc for (vector = 0; vector < q_vectors; vector++) { handler = SET_HANDLER(adapter->q_vector[vector]); + irq_flags = 0; - if(handler == &ixgbe_msix_clean_rx) { + if (handler == &ixgbe_msix_clean_rx) { sprintf(adapter->name[vector], "%s-%s-%d", netdev->name, "rx", ri++); + if (entropy) + irq_flags = IRQF_SAMPLE_RANDOM; - } - else if(handler == &ixgbe_msix_clean_tx) { + } else if (handler == &ixgbe_msix_clean_tx) { sprintf(adapter->name[vector], "%s-%s-%d", netdev->name, "tx", ti++); - } -- else -+ else { +- } else ++ } else { sprintf(adapter->name[vector], "%s-%s-%d", netdev->name, "TxRx", vector); + if (entropy) @@ -61,9 +59,9 @@ + } err = request_irq(adapter->msix_entries[vector].vector, -- handler, 0, adapter->name[vector], -+ handler, irq_flags, adapter->name[vector], - adapter->q_vector[vector]); +- handler, 0, adapter->name[vector], ++ handler, irq_flags, adapter->name[vector], + adapter->q_vector[vector]); if (err) { e_err(probe, "request_irq failed for MSIX interrupt " @@ -2336,14 +2348,19 @@ static int ixgbe_request_irq(struct ixgb @@ -80,11 +78,11 @@ } else if (adapter->flags & IXGBE_FLAG_MSI_ENABLED) { - err = request_irq(adapter->pdev->irq, ixgbe_intr, 0, + err = request_irq(adapter->pdev->irq, ixgbe_intr, irq_flags, - netdev->name, netdev); + netdev->name, netdev); } else { - err = request_irq(adapter->pdev->irq, ixgbe_intr, IRQF_SHARED, + irq_flags |= IRQF_SHARED; + err = request_irq(adapter->pdev->irq, ixgbe_intr, irq_flags, - netdev->name, netdev); + netdev->name, netdev); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch new/patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch --- old/patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch 2010-11-12 18:37:10.000000000 +0100 @@ -114,8 +114,8 @@ tg3_phy_toggle_automdix(tp, 1); tg3_phy_set_wirespeed(tp); @@ -3288,6 +3356,15 @@ relink: - tw32_f(MAC_MODE, tp->mac_mode); - udelay(40); + + tg3_phy_eee_adjust(tp, current_link_up); + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785) { + if (tp->link_config.active_speed == SPEED_10) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/tg3-entropy-source.patch new/patches.drivers/tg3-entropy-source.patch --- old/patches.drivers/tg3-entropy-source.patch 2010-10-25 08:58:32.000000000 +0200 +++ new/patches.drivers/tg3-entropy-source.patch 2010-11-12 18:37:10.000000000 +0100 @@ -29,7 +29,7 @@ + #define DRV_MODULE_NAME "tg3" #define TG3_MAJ_NUM 3 - #define TG3_MIN_NUM 113 + #define TG3_MIN_NUM 115 @@ -8590,10 +8593,13 @@ restart_timer: static int tg3_request_irq(struct tg3 *tp, int irq_num) { ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dm-table-switch-to-readonly new/patches.fixes/dm-table-switch-to-readonly --- old/patches.fixes/dm-table-switch-to-readonly 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/dm-table-switch-to-readonly 2010-11-15 21:30:37.000000000 +0100 @@ -46,7 +46,7 @@ struct mapped_device *md; + int retval = 0; - lock_kernel(); + mutex_lock(&dm_mutex); spin_lock(&_minor_lock); md = bdev->bd_disk->private_data; @@ -70,7 +70,7 @@ @@ -364,7 +373,7 @@ out: spin_unlock(&_minor_lock); - unlock_kernel(); + mutex_unlock(&dm_mutex); - return md ? 0 : -ENXIO; + return retval; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ext3-mark-super-uptodate new/patches.fixes/ext3-mark-super-uptodate --- old/patches.fixes/ext3-mark-super-uptodate 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/ext3-mark-super-uptodate 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -From: Jeff Mahoney <jeffm@suse.com> -Subject: [PATCH] ext3: always mark super uptodate before dirty -References: bnc#457043 -Patch-mainline: not yet - - The superblock's bh is something of an exception. It is only read - during mount and is only released during unmount. The in-memory - copy is invariably the most recent one. - - If a write error occurs while syncing the superblock, it will be marked - !uptodate. When another error occurs, ext3_error will invoke - ext3_commit_super, which will mark the superblock dirty and try to - sync it out again. If the buffer is !uptodate, then mark_buffer_dirty - will issue a warning, but continue anyway. - - This patch marks it uptodate before writing it out. This doesn't really - change anything other than silencing the warning in mark_buffer_dirty. - If the write succeeds, good. Otherwise, it will just have uptodate - cleared again. - -Signed-off-by: Jeff Mahoney <jeffm@suse.com> ---- - fs/ext3/super.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- a/fs/ext3/super.c -+++ b/fs/ext3/super.c -@@ -2380,6 +2380,13 @@ static int ext3_commit_super(struct supe - es->s_free_blocks_count = cpu_to_le32(ext3_count_free_blocks(sb)); - es->s_free_inodes_count = cpu_to_le32(ext3_count_free_inodes(sb)); - BUFFER_TRACE(sbh, "marking dirty"); -+ -+ /* We only read the superblock once. The in-memory version is -+ * always the most recent. If ext3_error is called after a -+ * superblock write failure, it will be !uptodate. This write -+ * will likely fail also, but it avoids the WARN_ON in -+ * mark_buffer_dirty. */ -+ set_buffer_uptodate(sbh); - mark_buffer_dirty(sbh); - if (sync) - error = sync_dirty_buffer(sbh); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch new/patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch --- old/patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -From: unknown@suse.de -Subject: some unknown ieee1394 patch -Patch-mainline: not yet - -make the long format the default because its also the default in the -new firewire stack. -Maybe it simplifies migration for new 10.3 installs to 11.0 or later. -Maybe it is bad for existing 10.3 and earlier installs. - -modprobe -v sbp2 sbp2_long_sysfs_ieee1394_id=0 to get the old short name -modprobe -v sbp2 sbp2_long_sysfs_ieee1394_id=1 to get the new long name - ---- - drivers/ieee1394/sbp2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/ieee1394/sbp2.c -+++ b/drivers/ieee1394/sbp2.c -@@ -224,7 +224,7 @@ MODULE_PARM_DESC(workarounds, "Work arou - * independent of the implementation of the ieee1394 nodemgr, the longer format - * is recommended for future use. - */ --static int sbp2_long_sysfs_ieee1394_id; -+static int sbp2_long_sysfs_ieee1394_id = 1; - module_param_named(long_ieee1394_id, sbp2_long_sysfs_ieee1394_id, bool, 0644); - MODULE_PARM_DESC(long_ieee1394_id, "8+3+2 bytes format of ieee1394_id in sysfs " - "(default = backwards-compatible = N, SAM-conforming = Y)"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/iwlwifi-fix-tx-power-configuration-on-3945-and-4965-devices new/patches.fixes/iwlwifi-fix-tx-power-configuration-on-3945-and-4965-devices --- old/patches.fixes/iwlwifi-fix-tx-power-configuration-on-3945-and-4965-devices 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/iwlwifi-fix-tx-power-configuration-on-3945-and-4965-devices 2010-11-15 21:30:37.000000000 +0100 @@ -39,8 +39,8 @@ IWL_DEBUG_MAC80211(priv, "leave - not ready\n"); goto out; @@ -2181,6 +2174,14 @@ int iwl_mac_config(struct ieee80211_hw * - else - IWL_DEBUG_INFO(priv, "Not re-sending same RXON configuration.\n"); + "Not re-sending same RXON configuration.\n"); + } + if (changed & IEEE80211_CONF_CHANGE_POWER) { + IWL_DEBUG_MAC80211(priv, "TX Power old=%d new=%d\n", @@ -50,6 +50,6 @@ + } + + - out: IWL_DEBUG_MAC80211(priv, "leave\n"); + mutex_unlock(&priv->mutex); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/make-note_interrupt-fast.diff new/patches.fixes/make-note_interrupt-fast.diff --- old/patches.fixes/make-note_interrupt-fast.diff 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/make-note_interrupt-fast.diff 2010-11-15 21:30:37.000000000 +0100 @@ -92,8 +92,8 @@ - irqreturn_t action_ret); + irqreturn_t action_ret, bool only_fixup); - /* Resending of interrupts :*/ - void check_irq_resend(struct irq_desc *desc, unsigned int irq); + + /* Enable/disable irq debugging output: */ --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -407,7 +407,7 @@ void handle_nested_irq(unsigned int irq) @@ -148,8 +148,8 @@ - note_interrupt(irq, desc, action_ret); + note_interrupt(irq, desc, action_ret, false); - if (desc->chip->eoi) - desc->chip->eoi(irq); + if (desc->irq_data.chip->irq_eoi) + desc->irq_data.chip->irq_eoi(&desc->irq_data); --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -462,7 +462,7 @@ unsigned int __do_IRQ(unsigned int irq) @@ -159,7 +159,7 @@ - note_interrupt(irq, desc, action_ret); + note_interrupt(irq, desc, action_ret, true); } - desc->chip->end(irq); + desc->irq_data.chip->end(irq); return 1; @@ -516,7 +516,7 @@ unsigned int __do_IRQ(unsigned int irq) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfs-slot-table-alloc new/patches.fixes/nfs-slot-table-alloc --- old/patches.fixes/nfs-slot-table-alloc 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/nfs-slot-table-alloc 2010-11-15 21:30:37.000000000 +0100 @@ -18,14 +18,14 @@ net/sunrpc/xprtsock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/net/sunrpc/xprtsock.c -+++ b/net/sunrpc/xprtsock.c +--- a/net/sunrpc/xprt.c ++++ b/net/sunrpc/xprt.c @@ -2266,7 +2266,7 @@ static struct rpc_xprt *xs_setup_xprt(st - xprt = &new->xprt; + goto out; + + xprt->max_reqs = max_req; +- xprt->slot = kcalloc(max_req, sizeof(struct rpc_rqst), GFP_KERNEL); ++ xprt->slot = kcalloc(max_req, sizeof(struct rpc_rqst), GFP_KERNEL | __GFP_REPEAT); + if (xprt->slot == NULL) + goto out_free; - xprt->max_reqs = slot_table_size; -- xprt->slot = kcalloc(xprt->max_reqs, sizeof(struct rpc_rqst), GFP_KERNEL); -+ xprt->slot = kcalloc(xprt->max_reqs, sizeof(struct rpc_rqst), GFP_KERNEL | __GFP_REPEAT); - if (xprt->slot == NULL) { - kfree(xprt); - dprintk("RPC: xs_setup_xprt: couldn't allocate slot " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch --- old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,155 +0,0 @@ -Patch-mainline: submitted 04aug2009 -References: bnc#498708 -From: NeilBrown <neilb@suse.de> -Date: Tue, 4 Aug 2009 15:06:38 +1000 -Subject: [PATCH 07/12] sunrpc/cache: allow thread to block while waiting for cache update. - -The current practice of waiting for cache updates by queueing the -whole request to be retried has (at least) two problems. - -1/ We NFSv4, requests can be quite complex and re-trying a whole - request when a later part fails should only be a list-resort, not a - normal practice. - -2/ Large requests, and in particular any 'write' request, will not be - queued by the current code and doing so would be undesirable. - -In many cases only a very sort wait is needed before the cache gets -valid data. - -So, providing the underlying transport permits it by setting - ->thread_wait, -arrange to wait briefly for an upcall to be completed (as reflected in -the clearing of CACHE_PENDING). -If the short wait was not long enough and CACHE_PENDING is still set, -fall back on the old approach. - -The 'thread_wait' value is set to 5 seconds when there are spare -threads, and 1 second when there are no spare threads. - -These values are probably much higher than needed, but will ensure -some forward progress. - -[Fixed 18Jan2010 to return -ve from cache_refer_req waits for the - upcall to complete instead of deferring the request. - Thanks to Dong Yang Li <dyli@novell.com> -] - -Signed-off-by: NeilBrown <neilb@suse.de> - ---- - include/linux/sunrpc/cache.h | 3 ++ - net/sunrpc/cache.c | 44 ++++++++++++++++++++++++++++++++++++++++++- - net/sunrpc/svc_xprt.c | 11 ++++++++++ - 3 files changed, 57 insertions(+), 1 deletion(-) - ---- a/include/linux/sunrpc/cache.h -+++ b/include/linux/sunrpc/cache.h -@@ -125,6 +125,9 @@ struct cache_detail { - */ - struct cache_req { - struct cache_deferred_req *(*defer)(struct cache_req *req); -+ int thread_wait; /* How long (jiffies) we can block the -+ * current thread to wait for updates. -+ */ - }; - /* this must be embedded in a deferred_request that is being - * delayed awaiting cache-fill ---- a/net/sunrpc/cache.c -+++ b/net/sunrpc/cache.c -@@ -509,10 +509,22 @@ static LIST_HEAD(cache_defer_list); - static struct list_head cache_defer_hash[DFR_HASHSIZE]; - static int cache_defer_cnt; - -+struct thread_deferred_req { -+ struct cache_deferred_req handle; -+ wait_queue_head_t wait; -+}; -+static void cache_restart_thread(struct cache_deferred_req *dreq, int too_many) -+{ -+ struct thread_deferred_req *dr = -+ container_of(dreq, struct thread_deferred_req, handle); -+ wake_up(&dr->wait); -+} -+ - static int cache_defer_req(struct cache_req *req, struct cache_head *item) - { - struct cache_deferred_req *dreq, *discard; - int hash = DFR_HASH(item); -+ struct thread_deferred_req sleeper; - - if (cache_defer_cnt >= DFR_MAX) { - /* too much in the cache, randomly drop this one, -@@ -521,7 +533,14 @@ static int cache_defer_req(struct cache_ - if (net_random()&1) - return -ENOMEM; - } -- dreq = req->defer(req); -+ if (req->thread_wait) { -+ dreq = &sleeper.handle; -+ init_waitqueue_head(&sleeper.wait); -+ dreq->revisit = cache_restart_thread; -+ } else -+ dreq = req->defer(req); -+ -+ retry: - if (dreq == NULL) - return -ENOMEM; - -@@ -555,6 +574,29 @@ static int cache_defer_req(struct cache_ - cache_revisit_request(item); - return -EAGAIN; - } -+ -+ if (dreq == &sleeper.handle) { -+ wait_event_interruptible_timeout( -+ sleeper.wait, -+ !test_bit(CACHE_PENDING, &item->flags) -+ || list_empty(&sleeper.handle.hash), -+ req->thread_wait); -+ spin_lock(&cache_defer_lock); -+ if (!list_empty(&sleeper.handle.hash)) { -+ list_del_init(&sleeper.handle.recent); -+ list_del_init(&sleeper.handle.hash); -+ cache_defer_cnt--; -+ } -+ spin_unlock(&cache_defer_lock); -+ if (test_bit(CACHE_PENDING, &item->flags)) { -+ /* item is still pending, try request -+ * deferral -+ */ -+ dreq = req->defer(req); -+ goto retry; -+ } -+ return -EAGAIN; -+ } - return 0; - } - ---- a/net/sunrpc/svc_xprt.c -+++ b/net/sunrpc/svc_xprt.c -@@ -651,6 +651,11 @@ int svc_recv(struct svc_rqst *rqstp, lon - if (signalled() || kthread_should_stop()) - return -EINTR; - -+ /* Normally we will wait up to 5 seconds for any required -+ * cache information to be provided. -+ */ -+ rqstp->rq_chandle.thread_wait = 5*HZ; -+ - spin_lock_bh(&pool->sp_lock); - xprt = svc_xprt_dequeue(pool); - if (xprt) { -@@ -658,6 +663,12 @@ int svc_recv(struct svc_rqst *rqstp, lon - svc_xprt_get(xprt); - rqstp->rq_reserved = serv->sv_max_mesg; - atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); -+ -+ /* As there is a shortage of threads and this request -+ * had to be queue, don't allow the thread to wait so -+ * long for cache updates. -+ */ -+ rqstp->rq_chandle.thread_wait = 1*HZ; - } else { - /* No data pending. Go to sleep */ - svc_thread_enqueue(pool, rqstp); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch --- old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,141 +0,0 @@ -Patch-mainline: submitted 04aug2009 -References: bnc#498708 -From: NeilBrown <neilb@suse.de> -Date: Tue, 4 Aug 2009 15:06:39 +1000 -Subject: [PATCH 09/12] nfsd/idmap: drop special request deferal in favour of improved default. - -The idmap code manages request deferal by waiting for a reply from -userspace rather than putting the NFS request on a queue to be retried -from the start. -Now that the comment deferal code does this there is no need for the -special code in idmap. - -Signed-off-by: NeilBrown <neilb@suse.de> - ---- - fs/nfsd/nfs4idmap.c | 105 +++++----------------------------------------------- - 1 file changed, 11 insertions(+), 94 deletions(-) - ---- a/fs/nfsd/nfs4idmap.c -+++ b/fs/nfsd/nfs4idmap.c -@@ -482,109 +482,26 @@ nfsd_idmap_shutdown(void) - cache_unregister(&nametoid_cache); - } - --/* -- * Deferred request handling -- */ -- --struct idmap_defer_req { -- struct cache_req req; -- struct cache_deferred_req deferred_req; -- wait_queue_head_t waitq; -- atomic_t count; --}; -- --static inline void --put_mdr(struct idmap_defer_req *mdr) --{ -- if (atomic_dec_and_test(&mdr->count)) -- kfree(mdr); --} -- --static inline void --get_mdr(struct idmap_defer_req *mdr) --{ -- atomic_inc(&mdr->count); --} -- --static void --idmap_revisit(struct cache_deferred_req *dreq, int toomany) --{ -- struct idmap_defer_req *mdr = -- container_of(dreq, struct idmap_defer_req, deferred_req); -- -- wake_up(&mdr->waitq); -- put_mdr(mdr); --} -- --static struct cache_deferred_req * --idmap_defer(struct cache_req *req) --{ -- struct idmap_defer_req *mdr = -- container_of(req, struct idmap_defer_req, req); -- -- mdr->deferred_req.revisit = idmap_revisit; -- get_mdr(mdr); -- return (&mdr->deferred_req); --} -- --static inline int --do_idmap_lookup(struct ent *(*lookup_fn)(struct ent *), struct ent *key, -- struct cache_detail *detail, struct ent **item, -- struct idmap_defer_req *mdr) --{ -- *item = lookup_fn(key); -- if (!*item) -- return -ENOMEM; -- return cache_check(detail, &(*item)->h, &mdr->req); --} -- --static inline int --do_idmap_lookup_nowait(struct ent *(*lookup_fn)(struct ent *), -- struct ent *key, struct cache_detail *detail, -- struct ent **item) --{ -- int ret = -ENOMEM; -- -- *item = lookup_fn(key); -- if (!*item) -- goto out_err; -- ret = -ETIMEDOUT; -- if (!test_bit(CACHE_VALID, &(*item)->h.flags) -- || (*item)->h.expiry_time < get_seconds() -- || detail->flush_time > (*item)->h.last_refresh) -- goto out_put; -- ret = -ENOENT; -- if (test_bit(CACHE_NEGATIVE, &(*item)->h.flags)) -- goto out_put; -- return 0; --out_put: -- cache_put(&(*item)->h, detail); --out_err: -- *item = NULL; -- return ret; --} -- - static int - idmap_lookup(struct svc_rqst *rqstp, - struct ent *(*lookup_fn)(struct ent *), struct ent *key, - struct cache_detail *detail, struct ent **item) - { -- struct idmap_defer_req *mdr; - int ret; - -- mdr = kzalloc(sizeof(*mdr), GFP_KERNEL); -- if (!mdr) -+ *item = lookup_fn(key); -+ if (!*item) - return -ENOMEM; -- atomic_set(&mdr->count, 1); -- init_waitqueue_head(&mdr->waitq); -- mdr->req.defer = idmap_defer; -- ret = do_idmap_lookup(lookup_fn, key, detail, item, mdr); -- if (ret == -EAGAIN) { -- wait_event_interruptible_timeout(mdr->waitq, -- test_bit(CACHE_VALID, &(*item)->h.flags), 1 * HZ); -- ret = do_idmap_lookup_nowait(lookup_fn, key, detail, item); -+ retry: -+ ret = cache_check(detail, &(*item)->h, &rqstp->rq_chandle); -+ -+ if (ret == -ETIMEDOUT) { -+ struct ent *prev_item = *item; -+ *item = lookup_fn(key); -+ if (*item != prev_item) -+ goto retry; -+ cache_put(&(*item)->h, detail); - } -- put_mdr(mdr); - return ret; - } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/novfs-unlink-oops new/patches.fixes/novfs-unlink-oops --- old/patches.fixes/novfs-unlink-oops 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/novfs-unlink-oops 2010-11-15 21:30:37.000000000 +0100 @@ -0,0 +1,36 @@ +From: Sankar P <psankar@novell.com> +Subject: novfs: Fix for the issue of kernel dumps core on restart +References: bnc#641811 +Patch-mainline: No + +This patch fixes a bug that cause kernel to dump core on restart, +by rectifying the counter and dentry manipulation code. + +Signed-off-by: Sankar P <psankar@novell.com> +Acked-by: Jan Kara <jack@suse.cz> + +diff --git a/fs/novfs/daemon.c b/fs/novfs/daemon.c +index f0fd5d6..6e7fb5d 100644 +--- a/fs/novfs/daemon.c ++++ b/fs/novfs/daemon.c +@@ -1857,14 +1857,15 @@ static long local_unlink(const char *pathname) + while (*c != '\0') { + if (*c == '/') + name = ++c; +- c++; ++ else ++ c++; + } + dentry = lookup_one_len(name, nd.path.dentry, strlen(name)); + error = PTR_ERR(dentry); + + if (!IS_ERR(dentry)) { + DbgPrint("dentry %p", dentry); +- if (!(dentry->d_inode->i_mode & S_IFLNK)) { ++ if (!(dentry->d_inode) || !(dentry->d_inode->i_mode & S_IFLNK)) { + DbgPrint("%s not a link", name); + error = -ENOENT; + goto exit1; +-- +1.7.1 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/remount-no-shrink-dcache new/patches.fixes/remount-no-shrink-dcache --- old/patches.fixes/remount-no-shrink-dcache 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/remount-no-shrink-dcache 2010-11-15 21:30:37.000000000 +0100 @@ -85,5 +85,5 @@ - do_remount_sb(s, flags, data, 0); + __do_remount_sb(s, flags, data, 0); } - simple_set_mnt(mnt, s); - return 0; + return dget(s->s_root); + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-add-tgps-setting new/patches.fixes/scsi-add-tgps-setting --- old/patches.fixes/scsi-add-tgps-setting 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/scsi-add-tgps-setting 2010-11-15 21:30:37.000000000 +0100 @@ -206,7 +206,7 @@ static int hp_sw_bus_attach(struct scsi_device *sdev); --- a/drivers/scsi/device_handler/scsi_dh_rdac.c +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c -@@ -745,35 +745,35 @@ static int rdac_check_sense(struct scsi_ +@@ -745,37 +745,37 @@ static int rdac_check_sense(struct scsi_ } static const struct scsi_dh_devlist rdac_dev_list[] = { @@ -238,6 +238,8 @@ - {"ENGENIO", "INF-01-00"}, - {"STK", "FLEXLINE 380"}, - {"SUN", "CSM100_R_FC"}, +- {"SUN", "STK6580_6780"}, +- {"SUN", "SUN_6180"}, - {NULL, NULL}, + {"IBM", "1722", 0}, + {"IBM", "1724", 0}, @@ -267,6 +269,8 @@ + {"ENGENIO", "INF-01-00", 0}, + {"STK", "FLEXLINE 380", 0}, + {"SUN", "CSM100_R_FC", 0}, ++ {"SUN", "STK6580_6780", 0}, ++ {"SUN", "SUN_6180", 0}, + {NULL, NULL, 0}, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-dh-alua-send-stpg new/patches.fixes/scsi-dh-alua-send-stpg --- old/patches.fixes/scsi-dh-alua-send-stpg 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/scsi-dh-alua-send-stpg 2010-11-15 21:30:37.000000000 +0100 @@ -13,7 +13,7 @@ --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c -@@ -602,13 +602,12 @@ static int alua_activate(struct scsi_dev +@@ -602,13 +602,11 @@ static int alua_activate(struct scsi_dev struct alua_dh_data *h = get_alua_data(sdev); int err = SCSI_DH_OK; @@ -26,9 +26,8 @@ + if (err != SCSI_DH_OK) + goto out; -- if (h->tpgs & TPGS_MODE_EXPLICIT && h->state != TPGS_STATE_OPTIMIZED) { +- if (h->tpgs & TPGS_MODE_EXPLICIT && + if ((h->tpgs & TPGS_MODE_EXPLICIT) && -+ h->state != TPGS_STATE_OPTIMIZED) { + h->state != TPGS_STATE_OPTIMIZED && + h->state != TPGS_STATE_LBA_DEPENDENT) { h->callback_fn = fn; - h->callback_data = data; - err = submit_stpg(h); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/sunrpc-monotonic-expiry new/patches.fixes/sunrpc-monotonic-expiry --- old/patches.fixes/sunrpc-monotonic-expiry 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/sunrpc-monotonic-expiry 1970-01-01 01:00:00.000000000 +0100 @@ -1,241 +0,0 @@ -From: NeilBrown <neilb@suse.de> -Date: Wed, 17 Feb 2010 16:53:34 +1100 -Subject: [PATCH] sunrpc: use monotonic time in expiry cache -Patch-mainline: Submitted for 2.6.34 -References: bnc#578668 - -this protects us from confusion when the wallclock time changes. - -We convert to and from wallclock when setting or reading expiry -times. - -Signed-off-by: NeilBrown <neilb@suse.de> -Acked-by: NeilBrown <neilb@suse.de> - ---- - fs/nfs/dns_resolve.c | 6 +++--- - fs/nfsd/export.c | 9 +++------ - include/linux/sunrpc/cache.h | 23 ++++++++++++++++++++++- - net/sunrpc/cache.c | 33 ++++++++++++++++++--------------- - 4 files changed, 46 insertions(+), 25 deletions(-) - ---- a/fs/nfs/dns_resolve.c -+++ b/fs/nfs/dns_resolve.c -@@ -167,7 +167,7 @@ static int nfs_dns_show(struct seq_file - return 0; - } - item = container_of(h, struct nfs_dns_ent, h); -- ttl = (long)item->h.expiry_time - (long)get_seconds(); -+ ttl = (long)item->h.expiry_time - (long)monotonic_seconds(); - if (ttl < 0) - ttl = 0; - -@@ -239,7 +239,7 @@ static int nfs_dns_parse(struct cache_de - ttl = get_expiry(&buf); - if (ttl == 0) - goto out; -- key.h.expiry_time = ttl + get_seconds(); -+ key.h.expiry_time = ttl + monotonic_seconds(); - - ret = -ENOMEM; - item = nfs_dns_lookup(cd, &key); -@@ -301,7 +301,7 @@ static int do_cache_lookup_nowait(struct - goto out_err; - ret = -ETIMEDOUT; - if (!test_bit(CACHE_VALID, &(*item)->h.flags) -- || (*item)->h.expiry_time < get_seconds() -+ || (*item)->h.expiry_time < monotonic_seconds() - || cd->flush_time > (*item)->h.last_refresh) - goto out_put; - ret = -ENOENT; ---- a/fs/nfsd/export.c -+++ b/fs/nfsd/export.c -@@ -953,10 +953,9 @@ static void exp_fsid_unhash(struct svc_e - - ek = exp_get_fsid_key(exp->ex_client, exp->ex_fsid); - if (!IS_ERR(ek)) { -- ek->h.expiry_time = get_seconds()-1; -+ sunrpc_invalidate(&ek->h, &svc_expkey_cache); - cache_put(&ek->h, &svc_expkey_cache); - } -- svc_expkey_cache.nextcheck = get_seconds(); - } - - static int exp_fsid_hash(svc_client *clp, struct svc_export *exp) -@@ -991,10 +990,9 @@ static void exp_unhash(struct svc_export - - ek = exp_get_key(exp->ex_client, inode->i_sb->s_dev, inode->i_ino); - if (!IS_ERR(ek)) { -- ek->h.expiry_time = get_seconds()-1; -+ sunrpc_invalidate(&ek->h, &svc_expkey_cache); - cache_put(&ek->h, &svc_expkey_cache); - } -- svc_expkey_cache.nextcheck = get_seconds(); - } - - /* -@@ -1115,8 +1113,7 @@ out: - static void - exp_do_unexport(svc_export *unexp) - { -- unexp->h.expiry_time = get_seconds()-1; -- svc_export_cache.nextcheck = get_seconds(); -+ sunrpc_invalidate(&unexp->h, &svc_export_cache); - exp_unhash(unexp); - exp_fsid_unhash(unexp); - } ---- a/include/linux/sunrpc/cache.h -+++ b/include/linux/sunrpc/cache.h -@@ -221,14 +221,35 @@ static inline int get_int(char **bpp, in - return 0; - } - -+/* -+ * timestamps kept in the cache are expressed in seconds -+ * since boot. This is the best for measuring differences in -+ * real time. -+ */ -+static inline unsigned long monotonic_seconds(void) -+{ -+ struct timespec boot; -+ getboottime(&boot); -+ return get_seconds() - boot.tv_sec; -+} -+ - static inline time_t get_expiry(char **bpp) - { - int rv; -+ struct timespec boot; -+ - if (get_int(bpp, &rv)) - return 0; - if (rv < 0) - return 0; -- return rv; -+ getboottime(&boot); -+ return rv - boot.tv_sec; - } - -+static inline void sunrpc_invalidate(struct cache_head *h, -+ struct cache_detail *detail) -+{ -+ h->expiry_time = monotonic_seconds() - 1; -+ detail->nextcheck = monotonic_seconds(); -+} - #endif /* _LINUX_SUNRPC_CACHE_H_ */ ---- a/net/sunrpc/cache.c -+++ b/net/sunrpc/cache.c -@@ -42,7 +42,7 @@ static void cache_revisit_request(struct - - static void cache_init(struct cache_head *h) - { -- time_t now = get_seconds(); -+ time_t now = monotonic_seconds(); - h->next = NULL; - h->flags = 0; - kref_init(&h->ref); -@@ -52,7 +52,7 @@ static void cache_init(struct cache_head - - static inline int cache_is_expired(struct cache_detail *detail, struct cache_head *h) - { -- return (h->expiry_time < get_seconds()) || -+ return (h->expiry_time < monotonic_seconds()) || - (detail->flush_time > h->last_refresh); - } - -@@ -127,7 +127,7 @@ static void cache_dequeue(struct cache_d - static void cache_fresh_locked(struct cache_head *head, time_t expiry) - { - head->expiry_time = expiry; -- head->last_refresh = get_seconds(); -+ head->last_refresh = monotonic_seconds(); - set_bit(CACHE_VALID, &head->flags); - } - -@@ -238,7 +238,7 @@ int cache_check(struct cache_detail *det - - /* now see if we want to start an upcall */ - refresh_age = (h->expiry_time - h->last_refresh); -- age = get_seconds() - h->last_refresh; -+ age = monotonic_seconds() - h->last_refresh; - - if (rqstp == NULL) { - if (rv == -EAGAIN) -@@ -253,7 +253,7 @@ int cache_check(struct cache_detail *det - cache_revisit_request(h); - if (rv == -EAGAIN) { - set_bit(CACHE_NEGATIVE, &h->flags); -- cache_fresh_locked(h, get_seconds()+CACHE_NEW_EXPIRY); -+ cache_fresh_locked(h, monotonic_seconds()+CACHE_NEW_EXPIRY); - cache_fresh_unlocked(h, detail); - rv = -ENOENT; - } -@@ -388,11 +388,11 @@ static int cache_clean(void) - return -1; - } - current_detail = list_entry(next, struct cache_detail, others); -- if (current_detail->nextcheck > get_seconds()) -+ if (current_detail->nextcheck > monotonic_seconds()) - current_index = current_detail->hash_size; - else { - current_index = 0; -- current_detail->nextcheck = get_seconds()+30*60; -+ current_detail->nextcheck = monotonic_seconds()+30*60; - } - } - -@@ -477,7 +477,7 @@ EXPORT_SYMBOL_GPL(cache_flush); - void cache_purge(struct cache_detail *detail) - { - detail->flush_time = LONG_MAX; -- detail->nextcheck = get_seconds(); -+ detail->nextcheck = monotonic_seconds(); - cache_flush(); - detail->flush_time = 1; - } -@@ -1261,7 +1261,8 @@ static int c_show(struct seq_file *m, vo - - ifdebug(CACHE) - seq_printf(m, "# expiry=%ld refcnt=%d flags=%lx\n", -- cp->expiry_time, atomic_read(&cp->ref.refcount), cp->flags); -+ cp->expiry_time - monotonic_seconds() + get_seconds(), -+ atomic_read(&cp->ref.refcount), cp->flags); - cache_get(cp); - if (cache_check(cd, cp, NULL)) - /* cache_check does a cache_put on failure */ -@@ -1327,7 +1328,8 @@ static ssize_t read_flush(struct file *f - unsigned long p = *ppos; - size_t len; - -- sprintf(tbuf, "%lu\n", cd->flush_time); -+ sprintf(tbuf, "%lu\n", (cd->flush_time - monotonic_seconds() -+ + get_seconds())); - len = strlen(tbuf); - if (p >= len) - return 0; -@@ -1345,19 +1347,20 @@ static ssize_t write_flush(struct file * - struct cache_detail *cd) - { - char tbuf[20]; -- char *ep; -- long flushtime; -+ char *bp, *ep; -+ - if (*ppos || count > sizeof(tbuf)-1) - return -EINVAL; - if (copy_from_user(tbuf, buf, count)) - return -EFAULT; - tbuf[count] = 0; -- flushtime = simple_strtoul(tbuf, &ep, 0); -+ simple_strtoul(tbuf, &ep, 0); - if (*ep && *ep != '\n') - return -EINVAL; - -- cd->flush_time = flushtime; -- cd->nextcheck = get_seconds(); -+ bp = tbuf; -+ cd->flush_time = get_expiry(&bp); -+ cd->nextcheck = monotonic_seconds(); - cache_flush(); - - *ppos += count; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/taskstats-alignment new/patches.fixes/taskstats-alignment --- old/patches.fixes/taskstats-alignment 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/taskstats-alignment 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ -From: Jeff Mahoney <jeffm@suse.com> -Subject: [PATCH] delayacct: align to 8 byte boundary on 64-bit systems -References: bnc#578065 -Patch-mainline: Hopefully 2.6.34, submitting when the window opens - - prepare_reply sets up an skb for the response. If I understand it correctly, - the payload contains: - - +--------------------------------+ - | genlmsghdr - 4 bytes | - +--------------------------------+ - | NLA header - 4 bytes | /* Aggregate header */ - +-+------------------------------+ - | | NLA header - 4 bytes | /* PID header */ - | +------------------------------+ - | | pid/tgid - 4 bytes | - | +------------------------------+ - | | NLA header - 4 bytes | /* stats header */ - | + -----------------------------+ <- oops. aligned on 4 byte boundary - | | struct taskstats - 328 bytes | - +-+------------------------------+ - - The start of the taskstats struct must be 8 byte aligned on IA64 (and other - systems with 8 byte alignment rules for 64-bit types) or runtime alignment - warnings will be issued. - - This patch pads the pid/tgid field out to sizeof(long), which forces - the alignment of taskstats. The getdelays userspace code is ok with this - since it assumes 32-bit pid/tgid and then honors that header's length field. - - An array is used to avoid exposing kernel memory contents to userspace in the - response. - -Signed-off-by: Jeff Mahoney <jeffm@suse.com> ---- - kernel/taskstats.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - ---- a/kernel/taskstats.c -+++ b/kernel/taskstats.c -@@ -360,6 +360,12 @@ static struct taskstats *mk_reply(struct - struct nlattr *na, *ret; - int aggr; - -+ /* If we don't pad, we end up with alignment on a 4 byte boundary. -+ * This causes lots of runtime warnings on systems requiring 8 byte -+ * alignment */ -+ u32 pids[2] = { pid, 0 }; -+ int pid_size = ALIGN(sizeof(pid), sizeof(long)); -+ - aggr = (type == TASKSTATS_TYPE_PID) - ? TASKSTATS_TYPE_AGGR_PID - : TASKSTATS_TYPE_AGGR_TGID; -@@ -367,7 +373,7 @@ static struct taskstats *mk_reply(struct - na = nla_nest_start(skb, aggr); - if (!na) - goto err; -- if (nla_put(skb, type, sizeof(pid), &pid) < 0) -+ if (nla_put(skb, type, pid_size, pids) < 0) - goto err; - ret = nla_reserve(skb, TASKSTATS_TYPE_STATS, sizeof(struct taskstats)); - if (!ret) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/tiocgdev new/patches.fixes/tiocgdev --- old/patches.fixes/tiocgdev 2010-09-24 13:23:13.000000000 +0200 +++ new/patches.fixes/tiocgdev 2010-11-15 21:30:37.000000000 +0100 @@ -28,36 +28,6 @@ #define TIOCSERCONFIG 0x5453 #define TIOCSERGWILD 0x5454 ---- a/arch/arm/include/asm/ioctls.h -+++ b/arch/arm/include/asm/ioctls.h -@@ -53,6 +53,7 @@ - #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ - #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ - #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ -+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */ - - #define TIOCGRS485 0x542E - #define TIOCSRS485 0x542F ---- a/arch/ia64/include/asm/ioctls.h -+++ b/arch/ia64/include/asm/ioctls.h -@@ -60,6 +60,7 @@ - #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ - #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ - #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ -+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */ - - #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ - #define FIOCLEX 0x5451 ---- a/arch/m68k/include/asm/ioctls.h -+++ b/arch/m68k/include/asm/ioctls.h -@@ -53,6 +53,7 @@ - #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ - #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ - #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ -+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */ - - #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ - #define FIOCLEX 0x5451 --- a/arch/mips/include/asm/ioctls.h +++ b/arch/mips/include/asm/ioctls.h @@ -84,6 +84,7 @@ @@ -78,16 +48,6 @@ #define TIOCSERCONFIG 0x5453 #define TIOCSERGWILD 0x5454 ---- a/arch/s390/include/asm/ioctls.h -+++ b/arch/s390/include/asm/ioctls.h -@@ -61,6 +61,7 @@ - #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ - #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ - #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ -+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */ - - #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ - #define FIOCLEX 0x5451 --- a/arch/sh/include/asm/ioctls.h +++ b/arch/sh/include/asm/ioctls.h @@ -86,6 +86,7 @@ @@ -109,7 +69,7 @@ /* Note that all the ioctls that are not available in Linux have a * double underscore on the front to: a) avoid some programs to --- a/drivers/char/tty_io.c -+++ b/drivers/char/tty_io.c ++++ b/drivers/tty/tty_io.c @@ -2561,6 +2561,21 @@ long tty_ioctl(struct file *file, unsign case TIOCSETD: return tiocsetd(tty, p); @@ -145,7 +105,7 @@ --- a/include/asm-generic/ioctls.h +++ b/include/asm-generic/ioctls.h @@ -65,6 +65,7 @@ - #define TIOCSRS485 0x542F + #endif #define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ +#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get real dev no below /dev/console */ ++++++ patches.kernel.org.tar.bz2 ++++++ kernel-source/patches.kernel.org.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/patches.kernel.org.tar.bz2 differ: char 11, line 1 ++++++ patches.suse.tar.bz2 ++++++ ++++ 2110 lines of diff (skipped) ++++++ patches.trace.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.trace/utrace-core new/patches.trace/utrace-core --- old/patches.trace/utrace-core 2010-08-18 19:44:13.000000000 +0200 +++ new/patches.trace/utrace-core 2010-11-12 18:37:10.000000000 +0100 @@ -54,7 +54,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 \ + 80211.xml debugobjects.xml sh.xml regulator.xml \ --- /dev/null +++ b/Documentation/DocBook/utrace.tmpl @@ -0,0 +1,590 @@ ++++++ patches.xen.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen3-patch-2.6.34 new/patches.xen/xen3-patch-2.6.34 --- old/patches.xen/xen3-patch-2.6.34 2010-10-25 12:53:38.000000000 +0200 +++ new/patches.xen/xen3-patch-2.6.34 2010-11-11 11:18:45.000000000 +0100 @@ -7,8 +7,102 @@ Acked-by: Jeff Mahoney <jeffm@suse.com> Automatically created from "patches.kernel.org/patch-2.6.34" by xen-port-patches.py ---- head-2010-10-11.orig/arch/x86/Kconfig 2010-08-26 15:02:42.000000000 +0200 -+++ head-2010-10-11/arch/x86/Kconfig 2010-06-22 11:51:35.000000000 +0200 +--- + arch/x86/Kconfig | 2 + arch/x86/ia32/ia32entry-xen.S | 8 + arch/x86/include/asm/i8259.h | 2 + arch/x86/include/mach-xen/asm/fixmap.h | 22 - + arch/x86/include/mach-xen/asm/io.h | 146 ++++++++- + arch/x86/include/mach-xen/asm/irq_vectors.h | 23 - + arch/x86/include/mach-xen/asm/pci.h | 40 -- + arch/x86/include/mach-xen/asm/pgalloc.h | 5 + arch/x86/include/mach-xen/asm/pgtable_32.h | 3 + arch/x86/include/mach-xen/asm/pgtable_64.h | 2 + arch/x86/include/mach-xen/asm/smp.h | 13 + arch/x86/include/mach-xen/asm/system.h | 8 + arch/x86/kernel/acpi/processor_extcntl_xen.c | 10 + arch/x86/kernel/apic/io_apic-xen.c | 375 ++++++++++++++--------- + arch/x86/kernel/cpu/intel.c | 3 + arch/x86/kernel/cpu/intel_cacheinfo.c | 4 + arch/x86/kernel/cpu/mcheck/mce_dom0.c | 1 + arch/x86/kernel/cpu/mtrr/main-xen.c | 4 + arch/x86/kernel/e820-xen.c | 379 +++--------------------- + arch/x86/kernel/head32-xen.c | 14 + arch/x86/kernel/head_32-xen.S | 8 + arch/x86/kernel/ldt-xen.c | 1 + arch/x86/kernel/mpparse-xen.c | 4 + arch/x86/kernel/pci-dma-xen.c | 16 - + arch/x86/kernel/process-xen.c | 43 ++ + arch/x86/kernel/process_32-xen.c | 6 + arch/x86/kernel/process_64-xen.c | 10 + arch/x86/kernel/setup-xen.c | 61 ++- + arch/x86/kernel/smp-xen.c | 1 + arch/x86/kernel/time-xen.c | 10 + arch/x86/kernel/traps-xen.c | 3 + arch/x86/kernel/vsyscall_64-xen.c | 3 + arch/x86/kernel/x86_init-xen.c | 10 + arch/x86/lib/Makefile | 1 + arch/x86/lib/cache-smp-xen.c | 27 + + arch/x86/mm/init-xen.c | 44 +- + arch/x86/mm/init_32-xen.c | 21 + + arch/x86/mm/init_64-xen.c | 23 + + arch/x86/mm/ioremap-xen.c | 64 +--- + arch/x86/mm/pageattr-xen.c | 27 + + arch/x86/mm/pat-xen.c | 2 + arch/x86/mm/pgtable-xen.c | 32 +- + arch/x86/mm/pgtable_32-xen.c | 2 + arch/x86/pci/irq-xen.c | 19 - + drivers/acpi/processor_core.c | 11 + drivers/acpi/processor_driver.c | 6 + drivers/acpi/processor_extcntl.c | 21 - + drivers/char/tpm/tpm_vtpm.c | 1 + drivers/char/tpm/tpm_xen.c | 1 + drivers/hwmon/coretemp-xen.c | 4 + drivers/misc/Kconfig | 2 + drivers/pci/msi-xen.c | 1 + drivers/xen/Kconfig | 6 + drivers/xen/balloon/balloon.c | 2 + drivers/xen/blkback/blkback-pagemap.c | 1 + drivers/xen/blkfront/vbd.c | 5 + drivers/xen/blktap2/blktap.h | 1 + drivers/xen/blktap2/device.c | 5 + drivers/xen/blktap2/sysfs.c | 9 + drivers/xen/char/mem.c | 38 +- + drivers/xen/core/evtchn.c | 1 + drivers/xen/core/gnttab.c | 1 + drivers/xen/core/hypervisor_sysfs.c | 2 + drivers/xen/core/reboot.c | 1 + drivers/xen/core/spinlock.c | 12 + drivers/xen/core/xen_sysfs.c | 1 + drivers/xen/fbfront/xenfb.c | 1 + drivers/xen/fbfront/xenkbd.c | 1 + drivers/xen/gntdev/gntdev.c | 1 + drivers/xen/netfront/netfront.h | 1 + drivers/xen/pciback/conf_space_capability_msi.c | 4 + drivers/xen/pciback/pciback.h | 1 + drivers/xen/pciback/slot.c | 4 + drivers/xen/pciback/vpci.c | 4 + drivers/xen/pcifront/pcifront.h | 1 + drivers/xen/scsiback/xenbus.c | 2 + drivers/xen/scsifront/xenbus.c | 3 + drivers/xen/sfc_netfront/accel.h | 1 + drivers/xen/sfc_netutil/accel_cuckoo_hash.c | 1 + drivers/xen/sfc_netutil/accel_util.c | 1 + drivers/xen/xenbus/xenbus_client.c | 2 + drivers/xen/xenbus/xenbus_dev.c | 1 + drivers/xen/xenbus/xenbus_probe.c | 1 + drivers/xen/xenbus/xenbus_probe_backend.c | 1 + fs/proc/kcore.c | 6 + include/acpi/processor.h | 3 + include/xen/xenbus.h | 1 + kernel/early_res.c | 18 - + kernel/resource.c | 2 + lib/swiotlb-xen.c | 2 + mm/page_alloc.c | 3 + 91 files changed, 929 insertions(+), 771 deletions(-) + +--- a/arch/x86/Kconfig ++++ b/arch/x86/Kconfig @@ -108,7 +108,7 @@ config SBUS bool @@ -18,8 +112,8 @@ config NEED_SG_DMA_LENGTH def_bool y ---- head-2010-10-11.orig/arch/x86/ia32/ia32entry-xen.S 2010-09-17 13:49:26.000000000 +0200 -+++ head-2010-10-11/arch/x86/ia32/ia32entry-xen.S 2010-09-17 13:49:38.000000000 +0200 +--- a/arch/x86/ia32/ia32entry-xen.S ++++ b/arch/x86/ia32/ia32entry-xen.S @@ -444,7 +444,7 @@ ia32_sys_call_table: .quad quiet_ni_syscall /* old mpx syscall holder */ .quad sys_setpgid @@ -56,8 +150,8 @@ .quad sys_modify_ldt .quad compat_sys_adjtimex .quad sys32_mprotect /* 125 */ ---- head-2010-10-11.orig/arch/x86/include/asm/i8259.h 2010-10-20 14:24:17.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/asm/i8259.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/asm/i8259.h ++++ b/arch/x86/include/asm/i8259.h @@ -54,11 +54,13 @@ extern struct irq_chip i8259A_chip; struct legacy_pic { @@ -72,8 +166,8 @@ void (*make_irq)(unsigned int irq); }; ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/fixmap.h 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/fixmap.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/fixmap.h ++++ b/arch/x86/include/mach-xen/asm/fixmap.h @@ -82,6 +82,9 @@ enum fixed_addresses { #endif FIX_DBGP_BASE, @@ -113,8 +207,8 @@ #ifdef CONFIG_X86_32 FIX_WP_TEST, #endif ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/io.h 2010-06-22 11:30:04.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/io.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/io.h ++++ b/arch/x86/include/mach-xen/asm/io.h @@ -1,8 +1,42 @@ #ifndef _ASM_X86_IO_H #define _ASM_X86_IO_H @@ -299,8 +393,8 @@ #define IO_SPACE_LIMIT 0xffff ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/irq_vectors.h 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/irq_vectors.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/irq_vectors.h ++++ b/arch/x86/include/mach-xen/asm/irq_vectors.h @@ -3,11 +3,9 @@ #define MCE_VECTOR 0x12 @@ -349,8 +443,8 @@ # endif #elif defined(CONFIG_XEN_PCIDEV_FRONTEND) # define NR_PIRQS (NR_VECTORS + CPU_VECTOR_LIMIT) ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/pci.h 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/pci.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/pci.h ++++ b/arch/x86/include/mach-xen/asm/pci.h @@ -48,8 +48,15 @@ static inline int pci_proc_domain(struct #ifdef CONFIG_PCI @@ -412,8 +506,8 @@ /* implement the pci_ DMA API in terms of the generic device dma_ one */ #include <asm-generic/pci-dma-compat.h> ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/pgalloc.h 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/pgalloc.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/pgalloc.h ++++ b/arch/x86/include/mach-xen/asm/pgalloc.h @@ -27,6 +27,11 @@ pmd_t *early_get_pmd(unsigned long va); #endif @@ -426,8 +520,8 @@ * Allocate and free page tables. */ extern pgd_t *pgd_alloc(struct mm_struct *); ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/pgtable_32.h 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/pgtable_32.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/pgtable_32.h ++++ b/arch/x86/include/mach-xen/asm/pgtable_32.h @@ -18,7 +18,6 @@ #include <linux/threads.h> @@ -445,8 +539,8 @@ void make_lowmem_page_readonly(void *va, unsigned int feature); void make_lowmem_page_writable(void *va, unsigned int feature); ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/pgtable_64.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/pgtable_64.h ++++ b/arch/x86/include/mach-xen/asm/pgtable_64.h @@ -136,7 +136,7 @@ static inline int pgd_large(pgd_t pgd) { #define pte_unmap(pte) /* NOP */ #define pte_unmap_nested(pte) /* NOP */ @@ -456,8 +550,8 @@ /* Encode and de-code a swap entry */ #if _PAGE_BIT_FILE < _PAGE_BIT_PROTNONE ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/smp.h 2010-10-12 15:49:20.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/smp.h 2010-10-12 15:51:27.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/smp.h ++++ b/arch/x86/include/mach-xen/asm/smp.h @@ -138,6 +138,8 @@ int native_cpu_disable(void); void native_cpu_die(unsigned int cpu); void native_play_dead(void); @@ -487,8 +581,8 @@ extern unsigned disabled_cpus __cpuinitdata; #include <asm/smp-processor-id.h> ---- head-2010-10-11.orig/arch/x86/include/mach-xen/asm/system.h 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/include/mach-xen/asm/system.h 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/include/mach-xen/asm/system.h ++++ b/arch/x86/include/mach-xen/asm/system.h @@ -31,7 +31,7 @@ extern void show_regs_common(void); "movl %P[task_canary](%[next]), %%ebx\n\t" \ "movl %%ebx, "__percpu_arg([stack_canary])"\n\t" @@ -525,8 +619,8 @@ __switch_canary_iparam \ : "memory", "cc" __EXTRA_CLOBBER) #endif ---- head-2010-10-11.orig/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-10-08 16:30:46.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-10-07 09:46:10.000000000 +0200 +--- a/arch/x86/kernel/acpi/processor_extcntl_xen.c ++++ b/arch/x86/kernel/acpi/processor_extcntl_xen.c @@ -190,12 +190,12 @@ static struct processor_extcntl_ops xen_ .hotplug = xen_hotplug_notifier, }; @@ -553,8 +647,8 @@ } -EXPORT_SYMBOL(arch_acpi_processor_init_extcntl); +arch_initcall(init_extcntl); ---- head-2010-10-11.orig/arch/x86/kernel/apic/io_apic-xen.c 2010-10-12 15:51:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/apic/io_apic-xen.c 2010-10-12 15:51:21.000000000 +0200 +--- a/arch/x86/kernel/apic/io_apic-xen.c ++++ b/arch/x86/kernel/apic/io_apic-xen.c @@ -36,6 +36,7 @@ #include <linux/freezer.h> #include <linux/kthread.h> @@ -705,7 +799,7 @@ return eu.entry; } #endif -@@ -507,9 +495,9 @@ __ioapic_write_entry(int apic, int pin, +@@ -507,9 +495,9 @@ __ioapic_write_entry(int apic, int pin, void ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e) { unsigned long flags; @@ -717,7 +811,7 @@ } #ifndef CONFIG_XEN -@@ -523,10 +511,10 @@ static void ioapic_mask_entry(int apic, +@@ -523,10 +511,10 @@ static void ioapic_mask_entry(int apic, unsigned long flags; union entry_union eu = { .entry.mask = 1 }; @@ -754,7 +848,7 @@ } static void mask_IO_APIC_irq(unsigned int irq) -@@ -922,7 +910,7 @@ static int __init find_isa_irq_apic(int +@@ -922,7 +910,7 @@ static int __init find_isa_irq_apic(int */ static int EISA_ELCR(unsigned int irq) { @@ -809,7 +903,7 @@ return err; } -@@ -1330,14 +1319,27 @@ static void __clear_irq_vector(int irq, +@@ -1330,14 +1319,27 @@ static void __clear_irq_vector(int irq, void __setup_vector_irq(int cpu) { /* Initialize vector_irq on a new cpu */ @@ -1279,7 +1373,7 @@ for (i = 0; i < nr_ioapic_registers[dev->id]; i++) ioapic_write_entry(dev->id, i, entry[i]); -@@ -3315,7 +3383,7 @@ unsigned int create_irq_nr(unsigned int +@@ -3315,7 +3383,7 @@ unsigned int create_irq_nr(unsigned int if (irq_want < nr_irqs_gsi) irq_want = nr_irqs_gsi; @@ -1288,7 +1382,7 @@ for (new = irq_want; new < nr_irqs; new++) { desc_new = irq_to_desc_alloc_node(new, node); if (!desc_new) { -@@ -3334,14 +3402,11 @@ unsigned int create_irq_nr(unsigned int +@@ -3334,14 +3402,11 @@ unsigned int create_irq_nr(unsigned int irq = new; break; } @@ -1450,8 +1544,8 @@ + setup_IO_APIC_irq(0, 0, 0, desc, 0, 0); +} +#endif ---- head-2010-10-11.orig/arch/x86/kernel/cpu/intel.c 2010-10-11 16:28:46.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/cpu/intel.c 2010-10-11 16:29:45.000000000 +0200 +--- a/arch/x86/kernel/cpu/intel.c ++++ b/arch/x86/kernel/cpu/intel.c @@ -60,6 +60,9 @@ static void __cpuinit early_init_intel(s * need the microcode to have already been loaded... so if it is * not, recommend a BIOS update and disable large pages. @@ -1462,8 +1556,8 @@ if (c->x86 == 6 && c->x86_model == 0x1c && c->x86_mask <= 2) { u32 ucode, junk; ---- head-2010-10-11.orig/arch/x86/kernel/cpu/intel_cacheinfo.c 2010-10-05 16:02:55.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/cpu/intel_cacheinfo.c 2010-10-05 16:06:20.000000000 +0200 +--- a/arch/x86/kernel/cpu/intel_cacheinfo.c ++++ b/arch/x86/kernel/cpu/intel_cacheinfo.c @@ -307,7 +307,7 @@ struct _cache_attr { ssize_t (*store)(struct _cpuid4_info *, const char *, size_t count); }; @@ -1482,8 +1576,8 @@ &cache_disable_0.attr, &cache_disable_1.attr, #endif ---- head-2010-10-11.orig/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2010-10-05 12:39:07.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/cpu/mcheck/mce_dom0.c ++++ b/arch/x86/kernel/cpu/mcheck/mce_dom0.c @@ -1,6 +1,7 @@ #include <linux/init.h> #include <linux/types.h> @@ -1492,9 +1586,9 @@ #include <xen/interface/xen.h> #include <xen/evtchn.h> #include <xen/interface/vcpu.h> ---- head-2010-10-11.orig/arch/x86/kernel/cpu/mtrr/main-xen.c 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/cpu/mtrr/main-xen.c 2010-06-22 11:51:35.000000000 +0200 -@@ -25,12 +25,12 @@ void generic_get_mtrr(unsigned int reg, +--- a/arch/x86/kernel/cpu/mtrr/main-xen.c ++++ b/arch/x86/kernel/cpu/mtrr/main-xen.c +@@ -25,12 +25,12 @@ void generic_get_mtrr(unsigned int reg, *type = op.u.read_memtype.type; } @@ -1509,8 +1603,8 @@ unsigned int num_var_ranges; unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES]; ---- head-2010-10-11.orig/arch/x86/kernel/e820-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/e820-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/e820-xen.c ++++ b/arch/x86/kernel/e820-xen.c @@ -12,17 +12,10 @@ #include <linux/types.h> #include <linux/init.h> @@ -1529,7 +1623,7 @@ #include <asm/e820.h> #include <asm/proto.h> #include <asm/setup.h> -@@ -550,31 +543,55 @@ u64 __init e820_remove_range(u64 start, +@@ -550,31 +543,55 @@ u64 __init e820_remove_range(u64 start, int checktype) { int i; @@ -1973,8 +2067,8 @@ reserve_region_with_split(&iomem_resource, start, end, "RAM buffer"); } ---- head-2010-10-11.orig/arch/x86/kernel/head32-xen.c 2010-10-20 14:29:16.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/head32-xen.c 2010-10-20 14:13:30.000000000 +0200 +--- a/arch/x86/kernel/head32-xen.c ++++ b/arch/x86/kernel/head32-xen.c @@ -7,6 +7,7 @@ #include <linux/init.h> @@ -2011,8 +2105,8 @@ reserve_early(ramdisk_image, ramdisk_end, "RAMDISK"); } #endif ---- head-2010-10-11.orig/arch/x86/kernel/head_32-xen.S 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/head_32-xen.S 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/head_32-xen.S ++++ b/arch/x86/kernel/head_32-xen.S @@ -67,8 +67,8 @@ ENTRY(startup_32) * The linker can't handle this by relocation. Manually set * base address in stack canary segment descriptor. @@ -2042,8 +2136,8 @@ movl $__HYPERVISOR_update_va_mapping, %eax int $0x82 ---- head-2010-10-11.orig/arch/x86/kernel/ldt-xen.c 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/ldt-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/ldt-xen.c ++++ b/arch/x86/kernel/ldt-xen.c @@ -7,6 +7,7 @@ */ @@ -2052,8 +2146,8 @@ #include <linux/sched.h> #include <linux/string.h> #include <linux/mm.h> ---- head-2010-10-11.orig/arch/x86/kernel/mpparse-xen.c 2010-10-12 16:29:24.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/mpparse-xen.c 2010-10-12 16:29:31.000000000 +0200 +--- a/arch/x86/kernel/mpparse-xen.c ++++ b/arch/x86/kernel/mpparse-xen.c @@ -691,7 +691,7 @@ static void __init smp_reserve_memory(st { unsigned long size = get_mpc_size(mpf->physptr); @@ -2072,8 +2166,8 @@ if (mpf->physptr) smp_reserve_memory(mpf); #else ---- head-2010-10-11.orig/arch/x86/kernel/pci-dma-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/pci-dma-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/pci-dma-xen.c ++++ b/arch/x86/kernel/pci-dma-xen.c @@ -2,6 +2,7 @@ #include <linux/dma-debug.h> #include <linux/dmar.h> @@ -2127,8 +2221,8 @@ if (pci_swiotlb_detect()) goto out; ---- head-2010-10-11.orig/arch/x86/kernel/process-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/process-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/process-xen.c ++++ b/arch/x86/kernel/process-xen.c @@ -94,6 +94,13 @@ void exit_thread(void) } } @@ -2143,7 +2237,7 @@ void show_regs_common(void) { const char *board, *product; -@@ -503,21 +510,39 @@ static int __cpuinit mwait_usable(const +@@ -503,21 +510,39 @@ static int __cpuinit mwait_usable(const } /* @@ -2200,8 +2294,8 @@ " performance may degrade.\n"); } #endif ---- head-2010-10-11.orig/arch/x86/kernel/process_32-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/process_32-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/process_32-xen.c ++++ b/arch/x86/kernel/process_32-xen.c @@ -179,12 +179,6 @@ void __show_regs(struct pt_regs *regs, i d6, d7); } @@ -2215,8 +2309,8 @@ void release_thread(struct task_struct *dead_task) { BUG_ON(dead_task->mm); ---- head-2010-10-11.orig/arch/x86/kernel/process_64-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/process_64-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/process_64-xen.c ++++ b/arch/x86/kernel/process_64-xen.c @@ -219,12 +219,6 @@ void __show_regs(struct pt_regs *regs, i printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); } @@ -2245,8 +2339,8 @@ savesegment(es, p->thread.es); savesegment(ds, p->thread.ds); ---- head-2010-10-11.orig/arch/x86/kernel/setup-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/setup-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/setup-xen.c ++++ b/arch/x86/kernel/setup-xen.c @@ -55,7 +55,6 @@ #include <linux/stddef.h> #include <linux/unistd.h> @@ -2315,7 +2409,7 @@ unsigned long end_of_lowmem = max_low_pfn_mapped << PAGE_SHIFT; if (!xen_start_info->mod_start || !ramdisk_size) -@@ -671,6 +675,18 @@ static int __init setup_elfcorehdr(char +@@ -671,6 +675,18 @@ static int __init setup_elfcorehdr(char early_param("elfcorehdr", setup_elfcorehdr); #endif @@ -2399,8 +2493,8 @@ #ifdef CONFIG_KVM_CLOCK kvmclock_init(); ---- head-2010-10-11.orig/arch/x86/kernel/smp-xen.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/smp-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/smp-xen.c ++++ b/arch/x86/kernel/smp-xen.c @@ -21,6 +21,7 @@ #include <linux/cache.h> #include <linux/interrupt.h> @@ -2409,8 +2503,8 @@ #include <asm/mtrr.h> #include <asm/tlbflush.h> ---- head-2010-10-11.orig/arch/x86/kernel/time-xen.c 2010-10-05 16:57:03.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/time-xen.c 2010-09-02 10:23:25.000000000 +0200 +--- a/arch/x86/kernel/time-xen.c ++++ b/arch/x86/kernel/time-xen.c @@ -583,7 +583,7 @@ static cycle_t xen_clocksource_read(stru #endif } @@ -2443,8 +2537,8 @@ } static void init_missing_ticks_accounting(unsigned int cpu) ---- head-2010-10-11.orig/arch/x86/kernel/traps-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/traps-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/traps-xen.c ++++ b/arch/x86/kernel/traps-xen.c @@ -527,6 +527,9 @@ dotraplinkage void __kprobes do_debug(st get_debugreg(dr6, 6); @@ -2455,8 +2549,8 @@ /* Catch kmemcheck conditions first of all! */ if ((dr6 & DR_STEP) && kmemcheck_trap(regs)) return; ---- head-2010-10-11.orig/arch/x86/kernel/vsyscall_64-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/vsyscall_64-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/vsyscall_64-xen.c ++++ b/arch/x86/kernel/vsyscall_64-xen.c @@ -308,7 +308,8 @@ static int __init vsyscall_init(void) register_sysctl_table(kernel_root_table2); #endif @@ -2467,8 +2561,8 @@ return 0; } ---- head-2010-10-11.orig/arch/x86/kernel/x86_init-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/kernel/x86_init-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/kernel/x86_init-xen.c ++++ b/arch/x86/kernel/x86_init-xen.c @@ -5,8 +5,12 @@ */ #include <linux/bitmap.h> @@ -2482,7 +2576,7 @@ #include <asm/mpspec.h> #include <asm/setup.h> #include <asm/apic.h> -@@ -68,6 +72,12 @@ struct x86_init_ops x86_init __initdata +@@ -68,6 +72,12 @@ struct x86_init_ops x86_init __initdata .iommu = { .iommu_init = iommu_init_noop, }, @@ -2495,8 +2589,8 @@ }; struct x86_platform_ops x86_platform = { ---- head-2010-10-11.orig/arch/x86/lib/Makefile 2010-08-24 11:45:44.000000000 +0200 -+++ head-2010-10-11/arch/x86/lib/Makefile 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/lib/Makefile ++++ b/arch/x86/lib/Makefile @@ -15,6 +15,7 @@ $(obj)/inat.o: $(obj)/inat-tables.c clean-files := inat-tables.c @@ -2505,8 +2599,8 @@ lib-y := delay.o lib-y += thunk_$(BITS).o ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2010-10-11/arch/x86/lib/cache-smp-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- /dev/null ++++ b/arch/x86/lib/cache-smp-xen.c @@ -0,0 +1,27 @@ +#include <linux/smp.h> +#include <linux/module.h> @@ -2535,8 +2629,8 @@ + return on_each_cpu(__wbinvd, NULL, 1); +} +EXPORT_SYMBOL(wbinvd_on_all_cpus); ---- head-2010-10-11.orig/arch/x86/mm/init-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/init-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/init-xen.c ++++ b/arch/x86/mm/init-xen.c @@ -1,3 +1,4 @@ +#include <linux/gfp.h> #include <linux/initrd.h> @@ -2633,8 +2727,8 @@ + free_init_pages("initrd memory", start, PAGE_ALIGN(end)); } #endif ---- head-2010-10-11.orig/arch/x86/mm/init_32-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/init_32-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/init_32-xen.c ++++ b/arch/x86/mm/init_32-xen.c @@ -25,11 +25,11 @@ #include <linux/pfn.h> #include <linux/poison.h> @@ -2728,8 +2822,8 @@ after_bootmem = 1; } ---- head-2010-10-11.orig/arch/x86/mm/init_64-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/init_64-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/init_64-xen.c ++++ b/arch/x86/mm/init_64-xen.c @@ -32,6 +32,7 @@ #include <linux/module.h> #include <linux/memory_hotplug.h> @@ -2793,8 +2887,8 @@ if (!p) return -ENOMEM; ---- head-2010-10-11.orig/arch/x86/mm/ioremap-xen.c 2010-09-16 16:31:39.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/ioremap-xen.c 2010-09-16 16:32:12.000000000 +0200 +--- a/arch/x86/mm/ioremap-xen.c ++++ b/arch/x86/mm/ioremap-xen.c @@ -138,6 +138,11 @@ int direct_kernel_remap_pfn_range(unsign } EXPORT_SYMBOL(direct_kernel_remap_pfn_range); @@ -2887,8 +2981,8 @@ static int __init check_early_ioremap_leak(void) { int count = 0; ---- head-2010-10-11.orig/arch/x86/mm/pageattr-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/pageattr-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/pageattr-xen.c ++++ b/arch/x86/mm/pageattr-xen.c @@ -6,13 +6,13 @@ #include <linux/bootmem.h> #include <linux/module.h> @@ -2936,8 +3030,8 @@ #endif prot = __pgprot(pgprot_val(prot) & ~pgprot_val(forbidden)); ---- head-2010-10-11.orig/arch/x86/mm/pat-xen.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/pat-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/pat-xen.c ++++ b/arch/x86/mm/pat-xen.c @@ -12,7 +12,7 @@ #include <linux/debugfs.h> #include <linux/kernel.h> @@ -2947,8 +3041,8 @@ #include <linux/mm.h> #include <linux/fs.h> #include <linux/rbtree.h> ---- head-2010-10-11.orig/arch/x86/mm/pgtable-xen.c 2010-09-23 16:50:30.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/pgtable-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/pgtable-xen.c ++++ b/arch/x86/mm/pgtable-xen.c @@ -1,4 +1,5 @@ #include <linux/mm.h> +#include <linux/gfp.h> @@ -3007,8 +3101,8 @@ void __pte_free(pgtable_t pte) { if (!PageHighMem(pte)) { ---- head-2010-10-11.orig/arch/x86/mm/pgtable_32-xen.c 2010-06-22 11:30:04.000000000 +0200 -+++ head-2010-10-11/arch/x86/mm/pgtable_32-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/mm/pgtable_32-xen.c ++++ b/arch/x86/mm/pgtable_32-xen.c @@ -6,7 +6,6 @@ #include <linux/swap.h> #include <linux/smp.h> @@ -3017,7 +3111,7 @@ #include <linux/pagemap.h> #include <linux/spinlock.h> #include <linux/module.h> -@@ -142,6 +141,7 @@ static int __init parse_reservetop(char +@@ -142,6 +141,7 @@ static int __init parse_reservetop(char address = memparse(arg, &arg); reserve_top_address(address); @@ -3025,8 +3119,8 @@ return 0; } early_param("reservetop", parse_reservetop); ---- head-2010-10-11.orig/arch/x86/pci/irq-xen.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/arch/x86/pci/irq-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/arch/x86/pci/irq-xen.c ++++ b/arch/x86/pci/irq-xen.c @@ -8,7 +8,6 @@ #include <linux/kernel.h> #include <linux/pci.h> @@ -3098,8 +3192,8 @@ } static void pirq_penalize_isa_irq(int irq, int active) ---- head-2010-10-11.orig/drivers/acpi/processor_core.c 2010-10-12 17:11:01.000000000 +0200 -+++ head-2010-10-11/drivers/acpi/processor_core.c 2010-10-12 17:12:21.000000000 +0200 +--- a/drivers/acpi/processor_core.c ++++ b/drivers/acpi/processor_core.c @@ -19,6 +19,15 @@ #define _COMPONENT ACPI_PROCESSOR_COMPONENT ACPI_MODULE_NAME("processor_core"); @@ -3125,8 +3219,8 @@ cpuid = acpi_get_cpuid(handle, type, acpi_id); if ((cpuid == -1) && (num_possible_cpus() > 1)) ---- head-2010-10-11.orig/drivers/acpi/processor_driver.c 2010-08-24 14:31:56.000000000 +0200 -+++ head-2010-10-11/drivers/acpi/processor_driver.c 2010-10-06 16:56:33.000000000 +0200 +--- a/drivers/acpi/processor_driver.c ++++ b/drivers/acpi/processor_driver.c @@ -365,8 +365,8 @@ static int acpi_processor_get_info(struc if (pr->id == -1) { if (ACPI_FAILURE @@ -3147,8 +3241,8 @@ result = acpi_processor_get_info(device); if (result || ((pr->id == -1) && !processor_cntl_external())) { ---- head-2010-10-11.orig/drivers/acpi/processor_extcntl.c 2010-06-22 11:20:24.000000000 +0200 -+++ head-2010-10-11/drivers/acpi/processor_extcntl.c 2010-10-06 16:56:52.000000000 +0200 +--- a/drivers/acpi/processor_extcntl.c ++++ b/drivers/acpi/processor_extcntl.c @@ -36,12 +36,6 @@ ACPI_MODULE_NAME("processor_extcntl") static int processor_extcntl_parse_csd(struct acpi_processor *pr); @@ -3184,8 +3278,8 @@ * This is called from ACPI processor init, and targeted to hold * some tricky housekeeping jobs to satisfy external control model. * For example, we may put dependency parse stub here for idle ---- head-2010-10-11.orig/drivers/char/tpm/tpm_vtpm.c 2010-06-22 11:16:14.000000000 +0200 -+++ head-2010-10-11/drivers/char/tpm/tpm_vtpm.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/char/tpm/tpm_vtpm.c ++++ b/drivers/char/tpm/tpm_vtpm.c @@ -16,6 +16,7 @@ #include <asm/uaccess.h> @@ -3194,8 +3288,8 @@ #include <linux/device.h> #include <linux/interrupt.h> #include <linux/platform_device.h> ---- head-2010-10-11.orig/drivers/char/tpm/tpm_xen.c 2010-10-08 16:36:06.000000000 +0200 -+++ head-2010-10-11/drivers/char/tpm/tpm_xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/char/tpm/tpm_xen.c ++++ b/drivers/char/tpm/tpm_xen.c @@ -37,6 +37,7 @@ #include <linux/err.h> #include <linux/interrupt.h> @@ -3204,8 +3298,8 @@ #include <asm/uaccess.h> #include <xen/evtchn.h> #include <xen/interface/grant_table.h> ---- head-2010-10-11.orig/drivers/hwmon/coretemp-xen.c 2010-10-07 08:55:15.000000000 +0200 -+++ head-2010-10-11/drivers/hwmon/coretemp-xen.c 2010-10-07 08:55:20.000000000 +0200 +--- a/drivers/hwmon/coretemp-xen.c ++++ b/drivers/hwmon/coretemp-xen.c @@ -233,7 +233,7 @@ static int adjust_tjmax(struct coretemp_ if (err < 0) { dev_warn(dev, @@ -3215,7 +3309,7 @@ } else if (eax & 0x40000000) { tjmax = tjmax_ee; } -@@ -413,7 +413,7 @@ static int coretemp_device_add(unsigned +@@ -413,7 +413,7 @@ static int coretemp_device_add(unsigned family 6 CPU */ if ((info.x86 == 0x6) && (pdev_entry->x86_model > 0xf)) printk(KERN_WARNING DRVNAME ": Unknown CPU " @@ -3224,8 +3318,8 @@ goto exit_entry_free; } ---- head-2010-10-11.orig/drivers/misc/Kconfig 2010-10-20 14:24:17.000000000 +0200 -+++ head-2010-10-11/drivers/misc/Kconfig 2010-08-24 14:36:59.000000000 +0200 +--- a/drivers/misc/Kconfig ++++ b/drivers/misc/Kconfig @@ -356,7 +356,7 @@ config TI_DAC7512 config VMWARE_BALLOON @@ -3235,8 +3329,8 @@ help This is VMware physical memory management driver which acts like a "balloon" that can be inflated to reclaim physical pages ---- head-2010-10-11.orig/drivers/pci/msi-xen.c 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/drivers/pci/msi-xen.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/pci/msi-xen.c ++++ b/drivers/pci/msi-xen.c @@ -18,6 +18,7 @@ #include <linux/smp.h> #include <linux/errno.h> @@ -3245,8 +3339,8 @@ #include <xen/evtchn.h> ---- head-2010-10-11.orig/drivers/xen/Kconfig 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/drivers/xen/Kconfig 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/Kconfig ++++ b/drivers/xen/Kconfig @@ -23,6 +23,7 @@ config XEN_UNPRIVILEGED_GUEST select PM_SLEEP select PM_SLEEP_SMP if SMP @@ -3274,8 +3368,8 @@ default PARAVIRT_XEN || XEN_PRIVILEGED_GUEST || m help The evtchn driver allows a userspace process to triger event ---- head-2010-10-11.orig/drivers/xen/balloon/balloon.c 2010-10-11 08:42:35.000000000 +0200 -+++ head-2010-10-11/drivers/xen/balloon/balloon.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/balloon/balloon.c ++++ b/drivers/xen/balloon/balloon.c @@ -43,7 +43,7 @@ #include <linux/pagemap.h> #include <linux/bootmem.h> @@ -3285,16 +3379,16 @@ #include <linux/mutex.h> #include <xen/xen_proc.h> #include <asm/hypervisor.h> ---- head-2010-10-11.orig/drivers/xen/blkback/blkback-pagemap.c 2010-10-08 17:00:30.000000000 +0200 -+++ head-2010-10-11/drivers/xen/blkback/blkback-pagemap.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/blkback/blkback-pagemap.c ++++ b/drivers/xen/blkback/blkback-pagemap.c @@ -1,4 +1,5 @@ #include <linux/module.h> +#include <linux/slab.h> #include "blkback-pagemap.h" static int blkback_pagemap_size; ---- head-2010-10-11.orig/drivers/xen/blkfront/vbd.c 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/drivers/xen/blkfront/vbd.c 2010-10-11 10:10:58.000000000 +0200 +--- a/drivers/xen/blkfront/vbd.c ++++ b/drivers/xen/blkfront/vbd.c @@ -311,15 +311,14 @@ xlvbd_init_blk_queue(struct gendisk *gd, /* Hard sector size and max sectors impersonate the equiv. hardware. */ @@ -3313,8 +3407,8 @@ /* Make sure buffer addresses are sector-aligned. */ blk_queue_dma_alignment(rq, 511); ---- head-2010-10-11.orig/drivers/xen/blktap2/blktap.h 2010-09-09 10:28:23.000000000 +0200 -+++ head-2010-10-11/drivers/xen/blktap2/blktap.h 2010-09-09 10:45:18.000000000 +0200 +--- a/drivers/xen/blktap2/blktap.h ++++ b/drivers/xen/blktap2/blktap.h @@ -1,6 +1,7 @@ #ifndef _BLKTAP_H_ #define _BLKTAP_H_ @@ -3323,8 +3417,8 @@ #include <linux/fs.h> #include <linux/poll.h> #include <linux/cdev.h> ---- head-2010-10-11.orig/drivers/xen/blktap2/device.c 2010-10-11 08:42:40.000000000 +0200 -+++ head-2010-10-11/drivers/xen/blktap2/device.c 2010-10-11 10:11:04.000000000 +0200 +--- a/drivers/xen/blktap2/device.c ++++ b/drivers/xen/blktap2/device.c @@ -988,15 +988,14 @@ blktap_device_configure(struct blktap *t /* Hard sector size and max sectors impersonate the equiv. hardware. */ @@ -3343,8 +3437,8 @@ /* Make sure buffer addresses are sector-aligned. */ blk_queue_dma_alignment(rq, 511); ---- head-2010-10-11.orig/drivers/xen/blktap2/sysfs.c 2010-09-09 10:44:00.000000000 +0200 -+++ head-2010-10-11/drivers/xen/blktap2/sysfs.c 2010-09-09 10:45:07.000000000 +0200 +--- a/drivers/xen/blktap2/sysfs.c ++++ b/drivers/xen/blktap2/sysfs.c @@ -379,13 +379,15 @@ blktap_sysfs_destroy(struct blktap *tap) } @@ -3373,8 +3467,8 @@ { int i, ret; struct blktap *tap; ---- head-2010-10-11.orig/drivers/xen/char/mem.c 2010-06-22 11:50:02.000000000 +0200 -+++ head-2010-10-11/drivers/xen/char/mem.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/char/mem.c ++++ b/drivers/xen/char/mem.c @@ -3,7 +3,7 @@ * * Copyright (C) 1991, 1992 Linus Torvalds @@ -3455,8 +3549,8 @@ } mutex_unlock(&file->f_path.dentry->d_inode->i_mutex); return ret; ---- head-2010-10-11.orig/drivers/xen/core/evtchn.c 2010-10-11 10:10:17.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/evtchn.c 2010-08-30 11:56:15.000000000 +0200 +--- a/drivers/xen/core/evtchn.c ++++ b/drivers/xen/core/evtchn.c @@ -31,6 +31,7 @@ */ @@ -3465,8 +3559,8 @@ #include <linux/irq.h> #include <linux/interrupt.h> #include <linux/sched.h> ---- head-2010-10-11.orig/drivers/xen/core/gnttab.c 2010-09-09 16:50:40.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/gnttab.c 2010-09-09 16:52:00.000000000 +0200 +--- a/drivers/xen/core/gnttab.c ++++ b/drivers/xen/core/gnttab.c @@ -32,6 +32,7 @@ */ @@ -3475,8 +3569,8 @@ #include <linux/sched.h> #include <linux/mm.h> #include <linux/seqlock.h> ---- head-2010-10-11.orig/drivers/xen/core/hypervisor_sysfs.c 2010-06-22 11:12:04.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/hypervisor_sysfs.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/core/hypervisor_sysfs.c ++++ b/drivers/xen/core/hypervisor_sysfs.c @@ -36,7 +36,7 @@ static ssize_t hyp_sysfs_store(struct ko return 0; } @@ -3486,8 +3580,8 @@ .show = hyp_sysfs_show, .store = hyp_sysfs_store, }; ---- head-2010-10-11.orig/drivers/xen/core/reboot.c 2010-10-11 10:08:17.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/reboot.c 2010-10-11 10:10:53.000000000 +0200 +--- a/drivers/xen/core/reboot.c ++++ b/drivers/xen/core/reboot.c @@ -2,6 +2,7 @@ #include <linux/kernel.h> #include <linux/unistd.h> @@ -3496,8 +3590,8 @@ #include <linux/reboot.h> #include <linux/sched.h> #include <linux/sysrq.h> ---- head-2010-10-11.orig/drivers/xen/core/spinlock.c 2010-10-11 10:10:21.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/spinlock.c 2010-10-11 10:10:51.000000000 +0200 +--- a/drivers/xen/core/spinlock.c ++++ b/drivers/xen/core/spinlock.c @@ -20,7 +20,7 @@ struct spinning { unsigned int ticket; struct spinning *prev; @@ -3546,8 +3640,8 @@ smp_rmb(); while (spinning) { if (spinning->lock == lock && spinning->ticket == token) ---- head-2010-10-11.orig/drivers/xen/core/xen_sysfs.c 2010-06-22 11:12:04.000000000 +0200 -+++ head-2010-10-11/drivers/xen/core/xen_sysfs.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/core/xen_sysfs.c ++++ b/drivers/xen/core/xen_sysfs.c @@ -11,6 +11,7 @@ #include <linux/kernel.h> #include <linux/module.h> @@ -3556,8 +3650,8 @@ #include <asm/hypervisor.h> #include <xen/features.h> #include <xen/hypervisor_sysfs.h> ---- head-2010-10-11.orig/drivers/xen/fbfront/xenfb.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/drivers/xen/fbfront/xenfb.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/fbfront/xenfb.c ++++ b/drivers/xen/fbfront/xenfb.c @@ -25,6 +25,7 @@ #include <linux/module.h> #include <linux/vmalloc.h> @@ -3566,8 +3660,8 @@ #include <linux/mutex.h> #include <linux/freezer.h> #include <asm/hypervisor.h> ---- head-2010-10-11.orig/drivers/xen/fbfront/xenkbd.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/drivers/xen/fbfront/xenkbd.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/fbfront/xenkbd.c ++++ b/drivers/xen/fbfront/xenkbd.c @@ -20,6 +20,7 @@ #include <linux/kernel.h> #include <linux/errno.h> @@ -3576,8 +3670,8 @@ #include <linux/input.h> #include <asm/hypervisor.h> #include <xen/evtchn.h> ---- head-2010-10-11.orig/drivers/xen/gntdev/gntdev.c 2010-10-11 08:43:18.000000000 +0200 -+++ head-2010-10-11/drivers/xen/gntdev/gntdev.c 2010-09-09 11:03:19.000000000 +0200 +--- a/drivers/xen/gntdev/gntdev.c ++++ b/drivers/xen/gntdev/gntdev.c @@ -23,6 +23,7 @@ #include <linux/fs.h> #include <linux/device.h> @@ -3586,8 +3680,8 @@ #include <linux/mman.h> #include <asm/uaccess.h> #include <asm/io.h> ---- head-2010-10-11.orig/drivers/xen/netfront/netfront.h 2010-06-22 11:11:53.000000000 +0200 -+++ head-2010-10-11/drivers/xen/netfront/netfront.h 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/netfront/netfront.h ++++ b/drivers/xen/netfront/netfront.h @@ -34,6 +34,7 @@ #define NETFRONT_H @@ -3596,8 +3690,8 @@ #include <linux/netdevice.h> #include <linux/skbuff.h> #include <linux/list.h> ---- head-2010-10-11.orig/drivers/xen/pciback/conf_space_capability_msi.c 2010-10-08 17:32:49.000000000 +0200 -+++ head-2010-10-11/drivers/xen/pciback/conf_space_capability_msi.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/pciback/conf_space_capability_msi.c ++++ b/drivers/xen/pciback/conf_space_capability_msi.c @@ -1,12 +1,10 @@ /* * PCI Backend -- Configuration overlay for MSI capability @@ -3612,8 +3706,8 @@ int pciback_enable_msi(struct pciback_device *pdev, struct pci_dev *dev, struct xen_pci_op *op) ---- head-2010-10-11.orig/drivers/xen/pciback/pciback.h 2010-06-22 11:06:41.000000000 +0200 -+++ head-2010-10-11/drivers/xen/pciback/pciback.h 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/pciback/pciback.h ++++ b/drivers/xen/pciback/pciback.h @@ -6,6 +6,7 @@ #ifndef __XEN_PCIBACK_H__ #define __XEN_PCIBACK_H__ @@ -3622,8 +3716,8 @@ #include <linux/pci.h> #include <linux/interrupt.h> #include <xen/xenbus.h> ---- head-2010-10-11.orig/drivers/xen/pciback/slot.c 2010-10-08 17:34:00.000000000 +0200 -+++ head-2010-10-11/drivers/xen/pciback/slot.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/pciback/slot.c ++++ b/drivers/xen/pciback/slot.c @@ -6,10 +6,6 @@ * Author: Tristan Gingold <tristan.gingold@bull.net>, from vpci.c */ @@ -3635,8 +3729,8 @@ #include "pciback.h" /* There are at most 32 slots in a pci bus. */ ---- head-2010-10-11.orig/drivers/xen/pciback/vpci.c 2010-10-08 17:34:23.000000000 +0200 -+++ head-2010-10-11/drivers/xen/pciback/vpci.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/pciback/vpci.c ++++ b/drivers/xen/pciback/vpci.c @@ -5,10 +5,6 @@ * Author: Ryan Wilson <hap9@epoch.ncsc.mil> */ @@ -3648,8 +3742,8 @@ #include "pciback.h" #define PCI_SLOT_MAX 32 ---- head-2010-10-11.orig/drivers/xen/pcifront/pcifront.h 2010-10-05 10:15:36.000000000 +0200 -+++ head-2010-10-11/drivers/xen/pcifront/pcifront.h 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/pcifront/pcifront.h ++++ b/drivers/xen/pcifront/pcifront.h @@ -6,6 +6,7 @@ #ifndef __XEN_PCIFRONT_H__ #define __XEN_PCIFRONT_H__ @@ -3658,8 +3752,8 @@ #include <linux/spinlock.h> #include <linux/pci.h> #include <xen/xenbus.h> ---- head-2010-10-11.orig/drivers/xen/scsiback/xenbus.c 2010-10-11 08:41:29.000000000 +0200 -+++ head-2010-10-11/drivers/xen/scsiback/xenbus.c 2010-10-11 10:11:08.000000000 +0200 +--- a/drivers/xen/scsiback/xenbus.c ++++ b/drivers/xen/scsiback/xenbus.c @@ -355,7 +355,7 @@ fail: } @@ -3669,8 +3763,8 @@ { "vscsi" }, { "" } }; ---- head-2010-10-11.orig/drivers/xen/scsifront/xenbus.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/drivers/xen/scsifront/xenbus.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/scsifront/xenbus.c ++++ b/drivers/xen/scsifront/xenbus.c @@ -30,6 +30,7 @@ @@ -3688,8 +3782,8 @@ { "vscsi" }, { "" } }; ---- head-2010-10-11.orig/drivers/xen/sfc_netfront/accel.h 2010-06-22 11:16:14.000000000 +0200 -+++ head-2010-10-11/drivers/xen/sfc_netfront/accel.h 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/sfc_netfront/accel.h ++++ b/drivers/xen/sfc_netfront/accel.h @@ -35,6 +35,7 @@ #include <xen/evtchn.h> @@ -3698,8 +3792,8 @@ #include <linux/version.h> #include <linux/list.h> ---- head-2010-10-11.orig/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2008-02-20 09:32:49.000000000 +0100 -+++ head-2010-10-11/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/sfc_netutil/accel_cuckoo_hash.c ++++ b/drivers/xen/sfc_netutil/accel_cuckoo_hash.c @@ -24,6 +24,7 @@ #include <linux/types.h> /* needed for linux/random.h */ @@ -3708,8 +3802,8 @@ #include "accel_cuckoo_hash.h" #include "accel_util.h" ---- head-2010-10-11.orig/drivers/xen/sfc_netutil/accel_util.c 2010-09-09 16:46:12.000000000 +0200 -+++ head-2010-10-11/drivers/xen/sfc_netutil/accel_util.c 2010-09-09 16:52:10.000000000 +0200 +--- a/drivers/xen/sfc_netutil/accel_util.c ++++ b/drivers/xen/sfc_netutil/accel_util.c @@ -22,6 +22,7 @@ **************************************************************************** */ @@ -3718,8 +3812,8 @@ #include <linux/if_ether.h> #include <linux/delay.h> #include <asm/io.h> ---- head-2010-10-11.orig/drivers/xen/xenbus/xenbus_client.c 2010-09-09 11:00:56.000000000 +0200 -+++ head-2010-10-11/drivers/xen/xenbus/xenbus_client.c 2010-09-09 11:03:08.000000000 +0200 +--- a/drivers/xen/xenbus/xenbus_client.c ++++ b/drivers/xen/xenbus/xenbus_client.c @@ -30,8 +30,8 @@ * IN THE SOFTWARE. */ @@ -3730,8 +3824,8 @@ #include <xen/evtchn.h> #include <xen/gnttab.h> #else ---- head-2010-10-11.orig/drivers/xen/xenbus/xenbus_dev.c 2010-06-22 11:48:53.000000000 +0200 -+++ head-2010-10-11/drivers/xen/xenbus/xenbus_dev.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/xenbus/xenbus_dev.c ++++ b/drivers/xen/xenbus/xenbus_dev.c @@ -33,6 +33,7 @@ */ @@ -3740,8 +3834,8 @@ #include <linux/errno.h> #include <linux/uio.h> #include <linux/notifier.h> ---- head-2010-10-11.orig/drivers/xen/xenbus/xenbus_probe.c 2010-06-28 08:56:04.000000000 +0200 -+++ head-2010-10-11/drivers/xen/xenbus/xenbus_probe.c 2010-06-28 08:57:18.000000000 +0200 +--- a/drivers/xen/xenbus/xenbus_probe.c ++++ b/drivers/xen/xenbus/xenbus_probe.c @@ -47,6 +47,7 @@ #include <linux/notifier.h> #include <linux/mutex.h> @@ -3750,8 +3844,8 @@ #include <asm/page.h> #include <asm/pgtable.h> ---- head-2010-10-11.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/drivers/xen/xenbus/xenbus_probe_backend.c 2010-06-22 11:51:35.000000000 +0200 +--- a/drivers/xen/xenbus/xenbus_probe_backend.c ++++ b/drivers/xen/xenbus/xenbus_probe_backend.c @@ -42,6 +42,7 @@ #include <linux/ctype.h> #include <linux/fcntl.h> @@ -3760,8 +3854,8 @@ #include <linux/notifier.h> #include <asm/io.h> ---- head-2010-10-11.orig/fs/proc/kcore.c 2010-10-20 14:24:17.000000000 +0200 -+++ head-2010-10-11/fs/proc/kcore.c 2010-06-22 11:51:35.000000000 +0200 +--- a/fs/proc/kcore.c ++++ b/fs/proc/kcore.c @@ -130,7 +130,7 @@ static void __kcore_update_ram(struct li } @@ -3783,8 +3877,8 @@ ent->type = KCORE_RAM; list_add(&ent->list, &head); __kcore_update_ram(&head); ---- head-2010-10-11.orig/include/acpi/processor.h 2010-08-27 09:36:57.000000000 +0200 -+++ head-2010-10-11/include/acpi/processor.h 2010-10-06 16:55:55.000000000 +0200 +--- a/include/acpi/processor.h ++++ b/include/acpi/processor.h @@ -444,11 +444,9 @@ static inline int processor_pmthr_extern extern int processor_notify_external(struct acpi_processor *pr, @@ -3805,8 +3899,8 @@ static inline int processor_extcntl_prepare(struct acpi_processor *pr) { return 0; ---- head-2010-10-11.orig/include/xen/xenbus.h 2010-06-22 11:48:19.000000000 +0200 -+++ head-2010-10-11/include/xen/xenbus.h 2010-08-27 12:08:26.000000000 +0200 +--- a/include/xen/xenbus.h ++++ b/include/xen/xenbus.h @@ -39,6 +39,7 @@ #include <linux/mutex.h> #include <linux/completion.h> @@ -3815,8 +3909,8 @@ #include <linux/err.h> #include <xen/interface/xen.h> #include <xen/interface/grant_table.h> ---- head-2010-10-11.orig/kernel/early_res.c 2010-10-20 14:24:17.000000000 +0200 -+++ head-2010-10-11/kernel/early_res.c 2010-08-09 13:19:28.000000000 +0200 +--- a/kernel/early_res.c ++++ b/kernel/early_res.c @@ -325,11 +325,19 @@ void __init free_early(u64 start, u64 en i = find_overlapped_early(start, end); @@ -3862,9 +3956,9 @@ if (mem == -1ULL) panic("can not find more space for range free"); ---- head-2010-10-11.orig/kernel/resource.c 2010-10-20 14:24:17.000000000 +0200 -+++ head-2010-10-11/kernel/resource.c 2010-06-22 11:51:35.000000000 +0200 -@@ -344,6 +344,7 @@ int walk_system_ram_range(unsigned long +--- a/kernel/resource.c ++++ b/kernel/resource.c +@@ -361,6 +361,7 @@ int walk_system_ram_range(unsigned long #endif @@ -3872,16 +3966,16 @@ static int __is_ram(unsigned long pfn, unsigned long nr_pages, void *arg) { return 1; -@@ -356,6 +357,7 @@ int __weak page_is_ram(unsigned long pfn +@@ -373,6 +374,7 @@ int __weak page_is_ram(unsigned long pfn { return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1; } +#endif - /* - * Find empty slot in the resource tree given range and alignment. ---- head-2010-10-11.orig/lib/swiotlb-xen.c 2010-09-16 16:31:26.000000000 +0200 -+++ head-2010-10-11/lib/swiotlb-xen.c 2010-06-22 11:51:35.000000000 +0200 + static resource_size_t simple_align_resource(void *data, + const struct resource *avail, +--- a/lib/swiotlb-xen.c ++++ b/lib/swiotlb-xen.c @@ -25,6 +25,8 @@ #include <linux/bootmem.h> #include <linux/iommu-helper.h> @@ -3891,8 +3985,8 @@ #include <asm/io.h> #include <asm/pci.h> #include <asm/dma.h> ---- head-2010-10-11.orig/mm/page_alloc.c 2010-09-16 16:27:09.000000000 +0200 -+++ head-2010-10-11/mm/page_alloc.c 2010-09-16 16:32:03.000000000 +0200 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c @@ -4937,7 +4937,8 @@ static void __setup_per_zone_wmarks(void high = percpu_pagelist_fraction ? zone->present_pages / percpu_pagelist_fraction ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:44.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:44.000000000 +0100 @@ -27,6 +27,8 @@ # DO NOT MODIFY THEM! # Send separate patches upstream if you find a problem... ######################################################## + patches.kernel.org/patch-2.6.37-rc1 + patches.kernel.org/patch-2.6.37-rc1-rc2 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -88,6 +90,7 @@ patches.fixes/make-note_interrupt-fast.diff patches.fixes/twl6030-fix-note_interrupt-call + patches.suse/sched-automated-per-tty-task-groups ######################################################## # Architecture-specific patches. These used to be all @@ -103,7 +106,6 @@ patches.arch/mm-avoid-bad-page-on-lru patches.arch/ia64-page-migration patches.arch/ia64-page-migration.fix - patches.fixes/taskstats-alignment ######################################################## # i386 @@ -120,7 +122,7 @@ ######################################################## # x86_64/i386 biarch ######################################################## - patches.arch/x86-hpet-pre-read ++needs_update37 patches.arch/x86-hpet-pre-read +needs_update-33 patches.arch/x86_64-hpet-64bit-timer.patch patches.arch/x86-mcp51-no-dac @@ -259,7 +261,6 @@ # Queued for 2.6.36 -> just revert after some time patches.fixes/acpi_ec_sys_access_user_space_with_get_user.patch - patches.arch/acpi_ec_delay_param.patch ######################################################## # CPUFREQ ######################################################## @@ -280,7 +281,7 @@ ######################################################## # AGP, graphics related stuff ######################################################## - patches.arch/x86_agpgart-g33-stoeln-fix-2.patch ++needs_update37 patches.arch/x86_agpgart-g33-stoeln-fix-2.patch ######################################################## # Suse specific stuff @@ -300,10 +301,7 @@ ######################################################## patches.fixes/nfs-slot-table-alloc - patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch - patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch - patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch - patches.fixes/sunrpc-monotonic-expiry ++needs_update37 patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch ######################################################## # lockd + statd @@ -318,7 +316,6 @@ ######################################################## patches.suse/ext3-barrier-default # patches.suse/ext2-fsync-err - patches.fixes/ext3-mark-super-uptodate ######################################################## # ext4 @@ -372,6 +369,8 @@ patches.fixes/novfs-lindent patches.suse/novfs-fix-ioctl-usage patches.suse/novfs-use-evict_inode + patches.fixes/novfs-unlink-oops + patches.suse/novfs-2.6.37-api-changes ######################################################## # other filesystem stuff: richacls @@ -448,9 +447,6 @@ patches.drivers/disable-catas_reset-by-default-to-avoid-problems-with-eeh.patch # Queued for 2.6.37 -> just revert after some time - patches.drivers/dynamic_debug_1.patch - patches.drivers/dynamic_debug_2.patch - patches.drivers/dynamic_debug_3.patch patches.drivers/dynamic_debug_4.patch patches.drivers/dynamic_debug_5.patch patches.drivers/dynamic_debug_6.patch @@ -514,14 +510,12 @@ patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch - ######################################################## # Wireless Networking ######################################################## patches.suse/wireless-no-aes-select patches.suse/b43-missing-firmware-info.patch patches.fixes/iwlwifi-fix-tx-power-configuration-on-3945-and-4965-devices - ######################################################## # iSCSI ######################################################## @@ -558,14 +552,10 @@ ########################################################## # Sound ########################################################## - patches.drivers/alsa-hda-01-Fix-wrong-SPDIF-NID-assignment-for-CA0110 - patches.drivers/alsa-hda-02-Add-some-workarounds-for-Creative-IBG - patches.drivers/alsa-hda-03-Add-workarounds-for-CT-IBG-controllers ######################################################## # Other driver fixes ######################################################## - patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch patches.fixes/parport-mutex # suse-2.4 compatible crypto loop driver @@ -590,6 +580,7 @@ patches.suse/dmraid45-dm_dirty_log_create-api-fix patches.suse/dmraid45-dm_get_device-takes-fewer-arguments patches.suse/dm-raid45-api-update-remove-dm_put-after-dm_table_get_md + patches.suse/dm-raid45-api-update-no-barriers patches.fixes/dm-mpath-reattach-dh patches.suse/dm-mpath-leastpending-path-update patches.suse/dm-mpath-accept-failed-paths @@ -650,7 +641,6 @@ patches.suse/crasher-26.diff patches.suse/stack-unwind patches.suse/no-frame-pointer-select - patches.arch/i386-unwind-annotations patches.arch/x86_64-unwind-annotations ######################################################## @@ -696,7 +686,6 @@ ######################################################## patches.suse/linux-2.6.29-dont-wait-for-mouse.patch - patches.suse/linux-2.6.29-even-faster-kms.patch - patches.suse/linux-2.6.29-silence-acer-message.patch patches.suse/linux-2.6.29-kms-after-sata.patch patches.suse/linux-2.6.29-jbd-longer-commit-interval.patch @@ -721,121 +710,121 @@ # on top of them instead. This reduces workload when # re-basing to a newer xen tree. # - ### both uml framebuffer and xen need this one. - patches.xen/add-console-use-vt - - # split out patches - patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch - patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch - patches.xen/ipv6-no-autoconf - patches.xen/pci-guestdev - patches.xen/pci-reserve -+needs_update-33 patches.xen/sfc-driverlink -+needs_update-33 patches.xen/sfc-resource-driver -+needs_update-33 patches.xen/sfc-driverlink-conditional -+needs_update-33 patches.xen/sfc-external-sram - patches.xen/tmem - - # bulk stuff, new files for xen - patches.xen/xen3-auto-xen-arch.diff - patches.xen/xen3-auto-xen-drivers.diff - patches.xen/xen3-auto-include-xen-interface.diff - - # kconfig bits for xen - patches.xen/xen3-auto-xen-kconfig.diff - - # common code changes - patches.xen/xen3-auto-common.diff - patches.xen/xen3-auto-arch-x86.diff - patches.xen/xen3-auto-arch-i386.diff - patches.xen/xen3-auto-arch-x86_64.diff - - # fixups due to upstream Xen parts - patches.xen/xen3-fixup-xen - -+needs_update-33 patches.xen/sfc-set-arch -+needs_update-33 patches.xen/sfc-endianness - - # newer changeset backports - - # changes outside arch/{i386,x86_64}/xen - patches.xen/xen3-fixup-kconfig - patches.xen/xen3-fixup-common - patches.xen/xen3-fixup-arch-x86 - - # ports of other patches - patches.xen/xen3-patch-2.6.18 - patches.xen/xen3-patch-2.6.19 - patches.xen/xen3-patch-2.6.20 - patches.xen/xen3-patch-2.6.21 - patches.xen/xen3-patch-2.6.22 - patches.xen/xen3-patch-2.6.23 - patches.xen/xen3-patch-2.6.24 - patches.xen/xen3-patch-2.6.25 - patches.xen/xen3-patch-2.6.26 - patches.xen/xen3-patch-2.6.27 - patches.xen/xen3-patch-2.6.28 - patches.xen/xen3-patch-2.6.29 - patches.xen/xen3-patch-2.6.30 - patches.xen/xen3-patch-2.6.31 - patches.xen/xen3-patch-2.6.32 - patches.xen/xen3-patch-2.6.33 - patches.xen/xen3-patch-2.6.34 - patches.xen/xen3-patch-2.6.35 - patches.xen/xen3-patch-2.6.36 - patches.xen/xen3-seccomp-disable-tsc-option - patches.xen/xen3-x86-mcp51-no-dac - patches.xen/xen3-x86-mark_rodata_rw.patch - patches.xen/xen3-acpi_processor_check_maxcpus.patch -# patches.xen/xen3-kdb-x86 - patches.xen/xen3-stack-unwind - patches.xen/xen3-i386-unwind-annotations - patches.xen/xen3-x86_64-unwind-annotations - - # bugfixes and enhancements - patches.xen/xen-balloon-max-target - patches.xen/xen-modular-blktap - patches.xen/xen-blkback-bimodal-suse - patches.xen/xen-blkif-protocol-fallback-hack - patches.xen/xen-blkback-cdrom - patches.xen/xen-blktap-write-barriers - patches.xen/xen-op-packet - patches.xen/xen-blkfront-cdrom - patches.xen/xen-sections - patches.xen/xen-swiotlb-heuristics - patches.xen/xen-kconfig-compat - patches.xen/xen-cpufreq-report - patches.xen/xen-staging-build - patches.xen/xen-sysdev-suspend - patches.xen/xen-ipi-per-cpu-irq - patches.xen/xen-virq-per-cpu-irq - patches.xen/xen-clockevents - patches.xen/xen-spinlock-poll-early - patches.xen/xen-configurable-guest-devices - patches.xen/xen-netback-nr-irqs - patches.xen/xen-netback-notify-multi - patches.xen/xen-netback-sched-list-remove - patches.xen/xen-netback-generalize - patches.xen/xen-netback-multiple-tasklets - patches.xen/xen-netback-kernel-threads - patches.xen/xen-netback-extend-pull - patches.xen/xen-netback-allow-large-mtu - patches.xen/xen-tmem-v1 - patches.xen/xen-dcdbas - patches.xen/xen-floppy - patches.xen/xen-kzalloc - patches.xen/xen-unpriv-build - patches.xen/xen-setup-gsi - patches.xen/xen-x86-panic-no-reboot - patches.xen/xen-x86-dcr-fallback - patches.xen/xen-x86-consistent-nmi - patches.xen/xen-x86-no-lapic - patches.xen/xen-x86-pmd-handling - patches.xen/xen-x86-bigmem - patches.xen/xen-x86-machphys-prediction - patches.xen/xen-x86-exit-mmap - patches.xen/xen-x86-per-cpu-vcpu-info - patches.xen/xen-x86_64-pgd-pin - patches.xen/xen-x86_64-pgd-alloc-order - patches.xen/xen-x86_64-dump-user-pgt - patches.xen/xen-x86_64-note-init-p2m ++xen_needs_updating ### both uml framebuffer and xen need this one. ++xen_needs_updating patches.xen/add-console-use-vt ++xen_needs_updating ++xen_needs_updating # split out patches ++xen_needs_updating patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch ++xen_needs_updating patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch ++xen_needs_updating patches.xen/ipv6-no-autoconf ++xen_needs_updating patches.xen/pci-guestdev ++xen_needs_updating patches.xen/pci-reserve ++xen_needs_updating +needs_update-33 patches.xen/sfc-driverlink ++xen_needs_updating +needs_update-33 patches.xen/sfc-resource-driver ++xen_needs_updating +needs_update-33 patches.xen/sfc-driverlink-conditional ++xen_needs_updating +needs_update-33 patches.xen/sfc-external-sram ++xen_needs_updating patches.xen/tmem ++xen_needs_updating ++xen_needs_updating # bulk stuff, new files for xen ++xen_needs_updating patches.xen/xen3-auto-xen-arch.diff ++xen_needs_updating patches.xen/xen3-auto-xen-drivers.diff ++xen_needs_updating patches.xen/xen3-auto-include-xen-interface.diff ++xen_needs_updating ++xen_needs_updating # kconfig bits for xen ++xen_needs_updating patches.xen/xen3-auto-xen-kconfig.diff ++xen_needs_updating ++xen_needs_updating # common code changes ++xen_needs_updating patches.xen/xen3-auto-common.diff ++xen_needs_updating patches.xen/xen3-auto-arch-x86.diff ++xen_needs_updating patches.xen/xen3-auto-arch-i386.diff ++xen_needs_updating patches.xen/xen3-auto-arch-x86_64.diff ++xen_needs_updating ++xen_needs_updating # fixups due to upstream Xen parts ++xen_needs_updating patches.xen/xen3-fixup-xen ++xen_needs_updating ++xen_needs_updating +needs_update-33 patches.xen/sfc-set-arch ++xen_needs_updating +needs_update-33 patches.xen/sfc-endianness ++xen_needs_updating ++xen_needs_updating # newer changeset backports ++xen_needs_updating ++xen_needs_updating # changes outside arch/{i386,x86_64}/xen ++xen_needs_updating patches.xen/xen3-fixup-kconfig ++xen_needs_updating patches.xen/xen3-fixup-common ++xen_needs_updating patches.xen/xen3-fixup-arch-x86 ++xen_needs_updating ++xen_needs_updating # ports of other patches ++xen_needs_updating patches.xen/xen3-patch-2.6.18 ++xen_needs_updating patches.xen/xen3-patch-2.6.19 ++xen_needs_updating patches.xen/xen3-patch-2.6.20 ++xen_needs_updating patches.xen/xen3-patch-2.6.21 ++xen_needs_updating patches.xen/xen3-patch-2.6.22 ++xen_needs_updating patches.xen/xen3-patch-2.6.23 ++xen_needs_updating patches.xen/xen3-patch-2.6.24 ++xen_needs_updating patches.xen/xen3-patch-2.6.25 ++xen_needs_updating patches.xen/xen3-patch-2.6.26 ++xen_needs_updating patches.xen/xen3-patch-2.6.27 ++xen_needs_updating patches.xen/xen3-patch-2.6.28 ++xen_needs_updating patches.xen/xen3-patch-2.6.29 ++xen_needs_updating patches.xen/xen3-patch-2.6.30 ++xen_needs_updating patches.xen/xen3-patch-2.6.31 ++xen_needs_updating patches.xen/xen3-patch-2.6.32 ++xen_needs_updating patches.xen/xen3-patch-2.6.33 ++xen_needs_updating patches.xen/xen3-patch-2.6.34 ++xen_needs_updating patches.xen/xen3-patch-2.6.35 ++xen_needs_updating patches.xen/xen3-patch-2.6.36 ++xen_needs_updating patches.xen/xen3-seccomp-disable-tsc-option ++xen_needs_updating patches.xen/xen3-x86-mcp51-no-dac ++xen_needs_updating patches.xen/xen3-x86-mark_rodata_rw.patch ++xen_needs_updating patches.xen/xen3-acpi_processor_check_maxcpus.patch ++xen_needs_updating # patches.xen/xen3-kdb-x86 ++xen_needs_updating patches.xen/xen3-stack-unwind ++xen_needs_updating patches.xen/xen3-i386-unwind-annotations ++xen_needs_updating patches.xen/xen3-x86_64-unwind-annotations ++xen_needs_updating ++xen_needs_updating # bugfixes and enhancements ++xen_needs_updating patches.xen/xen-balloon-max-target ++xen_needs_updating patches.xen/xen-modular-blktap ++xen_needs_updating patches.xen/xen-blkback-bimodal-suse ++xen_needs_updating patches.xen/xen-blkif-protocol-fallback-hack ++xen_needs_updating patches.xen/xen-blkback-cdrom ++xen_needs_updating patches.xen/xen-blktap-write-barriers ++xen_needs_updating patches.xen/xen-op-packet ++xen_needs_updating patches.xen/xen-blkfront-cdrom ++xen_needs_updating patches.xen/xen-sections ++xen_needs_updating patches.xen/xen-swiotlb-heuristics ++xen_needs_updating patches.xen/xen-kconfig-compat ++xen_needs_updating patches.xen/xen-cpufreq-report ++xen_needs_updating patches.xen/xen-staging-build ++xen_needs_updating patches.xen/xen-sysdev-suspend ++xen_needs_updating patches.xen/xen-ipi-per-cpu-irq ++xen_needs_updating patches.xen/xen-virq-per-cpu-irq ++xen_needs_updating patches.xen/xen-clockevents ++xen_needs_updating patches.xen/xen-spinlock-poll-early ++xen_needs_updating patches.xen/xen-configurable-guest-devices ++xen_needs_updating patches.xen/xen-netback-nr-irqs ++xen_needs_updating patches.xen/xen-netback-notify-multi ++xen_needs_updating patches.xen/xen-netback-sched-list-remove ++xen_needs_updating patches.xen/xen-netback-generalize ++xen_needs_updating patches.xen/xen-netback-multiple-tasklets ++xen_needs_updating patches.xen/xen-netback-kernel-threads ++xen_needs_updating patches.xen/xen-netback-extend-pull ++xen_needs_updating patches.xen/xen-netback-allow-large-mtu ++xen_needs_updating patches.xen/xen-tmem-v1 ++xen_needs_updating patches.xen/xen-dcdbas ++xen_needs_updating patches.xen/xen-floppy ++xen_needs_updating patches.xen/xen-kzalloc ++xen_needs_updating patches.xen/xen-unpriv-build ++xen_needs_updating patches.xen/xen-setup-gsi ++xen_needs_updating patches.xen/xen-x86-panic-no-reboot ++xen_needs_updating patches.xen/xen-x86-dcr-fallback ++xen_needs_updating patches.xen/xen-x86-consistent-nmi ++xen_needs_updating patches.xen/xen-x86-no-lapic ++xen_needs_updating patches.xen/xen-x86-pmd-handling ++xen_needs_updating patches.xen/xen-x86-bigmem ++xen_needs_updating patches.xen/xen-x86-machphys-prediction ++xen_needs_updating patches.xen/xen-x86-exit-mmap ++xen_needs_updating patches.xen/xen-x86-per-cpu-vcpu-info ++xen_needs_updating patches.xen/xen-x86_64-pgd-pin ++xen_needs_updating patches.xen/xen-x86_64-pgd-alloc-order ++xen_needs_updating patches.xen/xen-x86_64-dump-user-pgt ++xen_needs_updating patches.xen/xen-x86_64-note-init-p2m ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:44.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:44.000000000 +0100 @@ -1,3 +1,3 @@ -2010-10-26 21:31:22 +0200 -GIT Revision: 9035254381cf8ac062ed5e6d1f517206e40ca124 +2010-11-17 19:05:40 +0100 +GIT Revision: 4ae942ebe8ddf283eb508544a2454d29da63996c GIT Branch: master ++++++ supported.conf ++++++ --- /var/tmp/diff_new_pack.l0Ln26/_old 2010-11-19 10:53:44.000000000 +0100 +++ /var/tmp/diff_new_pack.l0Ln26/_new 2010-11-19 10:53:44.000000000 +0100 @@ -1689,6 +1689,7 @@ kernel/drivers/scsi/bfa/bfa kernel/drivers/scsi/bnx2i/bnx2i kernel/drivers/scsi/ch # device driver for scsi media changer devices + kernel/drivers/scsi/cxgbi/libcxgbi kernel/drivers/scsi/cxgb3i/cxgb3i # Chelsio S3 iSCSI initiator driver kernel/drivers/scsi/dc395x # SCSI host adapter driver for Tekram TRM-S1040 based adapters: Tekram DC395 and DC315 series kernel/drivers/scsi/device_handler/scsi_dh @@ -2266,6 +2267,7 @@ kernel/net/ipv4/esp4 kernel/net/ipv4/inet_diag # Module for monitoring INET transport protocols sockets kernel/net/ipv4/ipcomp # IP Payload Compression Protocol (IPComp) - RFC3173 + kernel/net/ipv4/gre kernel/net/ipv4/ip_gre kernel/net/ipv4/ipip # provided separately in the cluster-network KMP @@ -2363,6 +2365,7 @@ kernel/net/ipv6/netfilter/ip6t_REJECT # IP6 tables REJECT target module kernel/net/ipv6/netfilter/ip6t_mh kernel/net/ipv6/netfilter/ip6t_rt # IPv6 RT match + kernel/net/ipv6/netfilter/nf_defrag_ipv6 kernel/net/ipv6/netfilter/nf_conntrack_ipv6 kernel/net/ipv6/sit kernel/net/ipv6/tunnel6 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org