Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2011-07-05 09:18:43 +0200
committerJan Beulich <jbeulich@novell.com>2011-07-05 09:18:43 +0200
commit4c2a76f809a4201c4ddd60ab3dda9679cfb27daf (patch)
tree7f701f73189ab4330b235ce87e4a7d01fa09ae8e
parentac300894dc2878ef767a334858955a33ce48d25f (diff)
- Update Xen patches to 3.0-rc5 and c/s 1095.
- xen: prepare tmem shim to handle frontswap. - support booting Xen from EFI (fate#311376, fate#311529, bnc#578927, bnc#628554). - config.conf: Re-enabled Xen flavors. - Update x86 config files. - Delete patches.xen/xen-blkback-bimodal-suse.
-rw-r--r--config.conf8
-rw-r--r--config/i386/debug4
-rw-r--r--config/i386/default2
-rw-r--r--config/i386/desktop4
-rw-r--r--config/i386/ec2299
-rw-r--r--config/i386/pae4
-rw-r--r--config/i386/trace4
-rw-r--r--config/i386/xen421
-rw-r--r--config/x86_64/debug4
-rw-r--r--config/x86_64/default4
-rw-r--r--config/x86_64/desktop4
-rw-r--r--config/x86_64/ec2298
-rw-r--r--config/x86_64/trace4
-rw-r--r--config/x86_64/xen420
-rw-r--r--patches.xen/add-console-use-vt14
-rw-r--r--patches.xen/ipv6-no-autoconf8
-rw-r--r--patches.xen/kexec-move-segment-code-i386.patch (renamed from patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch)0
-rw-r--r--patches.xen/kexec-move-segment-code-x86_64.patch (renamed from patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch)0
-rw-r--r--patches.xen/pci-guestdev68
-rw-r--r--patches.xen/pci-reserve26
-rw-r--r--patches.xen/tmem1479
-rw-r--r--patches.xen/xen-blkback-bimodal-suse39
-rw-r--r--patches.xen/xen-blkback-cdrom26
-rw-r--r--patches.xen/xen-blkfront-cdrom30
-rw-r--r--patches.xen/xen-blkif-protocol-fallback-hack52
-rw-r--r--patches.xen/xen-blktap-write-barriers20
-rw-r--r--patches.xen/xen-clockevents54
-rw-r--r--patches.xen/xen-cpufreq-report14
-rw-r--r--patches.xen/xen-cxgb354
-rw-r--r--patches.xen/xen-frontswap257
-rw-r--r--patches.xen/xen-ipi-per-cpu-irq45
-rw-r--r--patches.xen/xen-kzalloc52
-rw-r--r--patches.xen/xen-mem-hotplug12
-rw-r--r--patches.xen/xen-netback-generalize10
-rw-r--r--patches.xen/xen-netback-kernel-threads14
-rw-r--r--patches.xen/xen-netback-multiple-tasklets27
-rw-r--r--patches.xen/xen-netback-nr-irqs10
-rw-r--r--patches.xen/xen-op-packet56
-rw-r--r--patches.xen/xen-pcpu-hotplug26
-rw-r--r--patches.xen/xen-setup-gsi34
-rw-r--r--patches.xen/xen-sfc-netfront-gcc4618
-rw-r--r--patches.xen/xen-swiotlb-heuristics8
-rw-r--r--patches.xen/xen-sys-suspend45
-rw-r--r--patches.xen/xen-unpriv-build93
-rw-r--r--patches.xen/xen-x86-EFI669
-rw-r--r--patches.xen/xen-x86-bigmem16
-rw-r--r--patches.xen/xen-x86-msr-on-pcpu44
-rw-r--r--patches.xen/xen-x86-no-lapic46
-rw-r--r--patches.xen/xen-x86-panic-no-reboot6
-rw-r--r--patches.xen/xen-x86-per-cpu-vcpu-info68
-rw-r--r--patches.xen/xen-x86-pmd-handling52
-rw-r--r--patches.xen/xen-x86_64-dump-user-pgt14
-rw-r--r--patches.xen/xen-x86_64-note-init-p2m114
-rw-r--r--patches.xen/xen-x86_64-pgd-alloc-order48
-rw-r--r--patches.xen/xen-x86_64-pgd-pin18
-rw-r--r--patches.xen/xen-x86_64-unmapped-initrd44
-rw-r--r--patches.xen/xen3-auto-arch-i386.diff2
-rw-r--r--patches.xen/xen3-auto-arch-x86.diff106
-rw-r--r--patches.xen/xen3-auto-arch-x86_64.diff2
-rw-r--r--patches.xen/xen3-auto-common.diff260
-rw-r--r--patches.xen/xen3-auto-include-xen-interface.diff2
-rw-r--r--patches.xen/xen3-auto-xen-arch.diff5
-rw-r--r--patches.xen/xen3-auto-xen-drivers.diff320
-rw-r--r--patches.xen/xen3-auto-xen-kconfig.diff127
-rw-r--r--patches.xen/xen3-fixup-arch-x8614
-rw-r--r--patches.xen/xen3-fixup-common82
-rw-r--r--patches.xen/xen3-fixup-kconfig24
-rw-r--r--patches.xen/xen3-fixup-xen318
-rw-r--r--patches.xen/xen3-patch-2.6.1846
-rw-r--r--patches.xen/xen3-patch-2.6.19518
-rw-r--r--patches.xen/xen3-patch-2.6.20328
-rw-r--r--patches.xen/xen3-patch-2.6.21336
-rw-r--r--patches.xen/xen3-patch-2.6.22448
-rw-r--r--patches.xen/xen3-patch-2.6.23546
-rw-r--r--patches.xen/xen3-patch-2.6.24938
-rw-r--r--patches.xen/xen3-patch-2.6.25502
-rw-r--r--patches.xen/xen3-patch-2.6.26488
-rw-r--r--patches.xen/xen3-patch-2.6.27759
-rw-r--r--patches.xen/xen3-patch-2.6.28519
-rw-r--r--patches.xen/xen3-patch-2.6.29440
-rw-r--r--patches.xen/xen3-patch-2.6.30512
-rw-r--r--patches.xen/xen3-patch-2.6.31568
-rw-r--r--patches.xen/xen3-patch-2.6.32474
-rw-r--r--patches.xen/xen3-patch-2.6.33292
-rw-r--r--patches.xen/xen3-patch-2.6.34384
-rw-r--r--patches.xen/xen3-patch-2.6.35200
-rw-r--r--patches.xen/xen3-patch-2.6.36766
-rw-r--r--patches.xen/xen3-patch-2.6.37385
-rw-r--r--patches.xen/xen3-patch-2.6.38312
-rw-r--r--patches.xen/xen3-patch-2.6.39331
-rw-r--r--patches.xen/xen3-patch-3.0-rc52523
-rw-r--r--series.conf221
-rw-r--r--supported.conf1
93 files changed, 10075 insertions, 9234 deletions
diff --git a/config.conf b/config.conf
index f0659d5859..21e4d393a8 100644
--- a/config.conf
+++ b/config.conf
@@ -12,8 +12,8 @@
+i386 i386/desktop
+i386 i386/pae
+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
@@ -24,8 +24,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
diff --git a/config/i386/debug b/config/i386/debug
index bcfcab9db2..50105d5d2a 100644
--- a/config/i386/debug
+++ b/config/i386/debug
@@ -289,6 +289,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
+# CONFIG_X86_XEN is not set
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_MRST is not set
@@ -300,8 +301,7 @@ CONFIG_X86_SUMMIT=y
CONFIG_X86_ES7000=y
CONFIG_X86_32_IRIS=m
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
# CONFIG_LGUEST_GUEST is not set
diff --git a/config/i386/default b/config/i386/default
index b5039272c5..1cfdd4cb4b 100644
--- a/config/i386/default
+++ b/config/i386/default
@@ -290,6 +290,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
+# CONFIG_X86_XEN is not set
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_MRST is not set
@@ -301,7 +302,6 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_X86_ES7000=y
CONFIG_X86_32_IRIS=m
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
# CONFIG_LGUEST_GUEST is not set
diff --git a/config/i386/desktop b/config/i386/desktop
index f1a63fbe78..d488f00760 100644
--- a/config/i386/desktop
+++ b/config/i386/desktop
@@ -291,6 +291,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
+# CONFIG_X86_XEN is not set
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_MRST is not set
@@ -302,8 +303,7 @@ CONFIG_X86_SUMMIT=y
CONFIG_X86_ES7000=y
CONFIG_X86_32_IRIS=m
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
# CONFIG_LGUEST_GUEST is not set
diff --git a/config/i386/ec2 b/config/i386/ec2
index 6dc51198c2..81e7bb7f09 100644
--- a/config/i386/ec2
+++ b/config/i386/ec2
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/i386 2.6.39 Kernel Configuration
+# Linux/i386 3.0.0-rc5 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -52,7 +52,6 @@ CONFIG_ENTERPRISE_SUPPORT=y
CONFIG_SPLIT_PACKAGE=y
# CONFIG_KERNEL_DESKTOP is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
@@ -66,6 +65,7 @@ CONFIG_LOCALVERSION="-ec2"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_KERNEL_GZIP=y
+CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
@@ -111,7 +111,6 @@ CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
@@ -151,12 +150,10 @@ CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -287,6 +284,7 @@ CONFIG_M686=y
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
@@ -334,6 +332,7 @@ CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -350,9 +349,7 @@ CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
-CONFIG_TMEM=y
-CONFIG_PRECACHE=y
-CONFIG_PRESWAP=y
+CONFIG_CLEANCACHE=y
# CONFIG_HIGHPTE is not set
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
@@ -822,6 +819,7 @@ CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -936,7 +934,6 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
-CONFIG_ARCH_NO_SYSDEV_OPS=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
@@ -1112,6 +1109,8 @@ CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=0
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
+# CONFIG_TRACE_ROUTER is not set
+CONFIG_TRACE_SINK=m
CONFIG_DEVKMEM=y
#
@@ -1126,6 +1125,7 @@ CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
@@ -1157,6 +1157,14 @@ CONFIG_CRASHER=m
#
# PPS generators support
#
+
+#
+# PTP clock support
+#
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
@@ -1204,6 +1212,12 @@ CONFIG_SSB_POSSIBLE=y
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
@@ -1240,13 +1254,11 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_ARC is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VESA is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
@@ -1349,8 +1361,10 @@ CONFIG_XEN_DEVMEM=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_TMEM=y
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
+CONFIG_CLKSRC_I8253=y
#
# File systems
@@ -1465,6 +1479,7 @@ CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
@@ -1534,7 +1549,6 @@ CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
-CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
@@ -1551,7 +1565,6 @@ CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
# CONFIG_9P_FSCACHE is not set
CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_NOVFS=m
#
# Partition Types
@@ -1637,11 +1650,12 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
@@ -1661,10 +1675,12 @@ CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
@@ -1680,11 +1696,12 @@ CONFIG_UNWIND_INFO=y
CONFIG_STACK_UNWIND=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
@@ -1733,8 +1750,6 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
@@ -1838,7 +1853,6 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_FPU=m
#
# Hash modes
@@ -1916,8 +1930,6 @@ CONFIG_BINARY_PRINTF=y
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
@@ -1956,246 +1968,3 @@ CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
-+++ b/config/i386/default
-+# Linux/i386 3.0.0-rc1 Kernel Configuration
-+# CONFIG_XEN_PRIVILEGED_GUEST is not set
-+# CONFIG_MELAN is not set
-+CONFIG_CLEANCACHE=y
-+# CONFIG_PM_TEST_SUSPEND is not set
-+CONFIG_ACPI_CUSTOM_METHOD=m
-+# x86 CPU frequency scaling drivers
-+CONFIG_NET_SCH_QFQ=m
-+CONFIG_RFKILL_REGULATOR=m
-+CONFIG_INTEL_MID_PTI=m
-+CONFIG_TCM_FC=m
-+CONFIG_ATH9K_PCI=y
-+# CONFIG_ATH9K_AHB is not set
-+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-+CONFIG_RT2800USB_RT53XX=y
-+CONFIG_RTL8192SE=m
-+CONFIG_MWIFIEX=m
-+CONFIG_MWIFIEX_SDIO=m
-+CONFIG_KEYBOARD_ADP5589=m
-+CONFIG_KEYBOARD_MPR121=m
-+CONFIG_TOUCHSCREEN_MAX11801=m
-+CONFIG_TRACE_ROUTER=m
-+CONFIG_TRACE_SINK=m
-+CONFIG_SERIAL_XILINX_PS_UART=m
-+
-+#
-+# PTP clock support
-+#
-+CONFIG_PTP_1588_CLOCK=m
-+
-+#
-+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-+#
-+# Memory mapped GPIO drivers:
-+CONFIG_GPIO_BASIC_MMIO_CORE=m
-+CONFIG_W1_MASTER_DS1WM=m
-+CONFIG_W1_SLAVE_DS2408=m
-+CONFIG_W1_SLAVE_DS2780=m
-+CONFIG_BATTERY_DS2780=m
-+CONFIG_CHARGER_MAX8903=m
-+CONFIG_SENSORS_FAM15H_POWER=m
-+CONFIG_SENSORS_MAX16065=m
-+CONFIG_SENSORS_MAX6642=m
-+CONFIG_SENSORS_ADM1275=m
-+CONFIG_SENSORS_UCD9000=m
-+CONFIG_SENSORS_UCD9200=m
-+CONFIG_SENSORS_EMC6W201=m
-+CONFIG_SENSORS_ACPI_POWER=m
-+CONFIG_BCMA_POSSIBLE=y
-+
-+#
-+# Broadcom specific AMBA
-+#
-+CONFIG_BCMA=m
-+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-+CONFIG_BCMA_HOST_PCI=y
-+# CONFIG_BCMA_DEBUG is not set
-+CONFIG_IR_FINTEK=m
-+CONFIG_IR_REDRAT3=m
-+CONFIG_MEDIA_TUNER_TDA18212=m
-+# Audio decoders, processors and mixers
-+CONFIG_VIDEO_SAA717X=m
-+# Camera sensor devices
-+#
-+CONFIG_VIDEO_OV7670=m
-+CONFIG_VIDEO_MT9V011=m
-+
-+#
-+
-+#
-+# Miscelaneous helper chips
-+#
-+CONFIG_VIDEO_M52790=m
-+CONFIG_USB_GSPCA_KINECT=m
-+CONFIG_DVB_DRXD=m
-+CONFIG_DVB_CXD2820R=m
-+CONFIG_FB_S3_DDC=y
-+CONFIG_FB_VIA_X_COMPATIBILITY=y
-+CONFIG_FB_MB862XX_I2C=y
-+CONFIG_SND_ES1968_RADIO=y
-+CONFIG_SND_TEA575X=m
-+CONFIG_SND_LOLA=m
-+CONFIG_SND_ISIGHT=m
-+# CONFIG_USB_SL811_HCD_ISO is not set
-+CONFIG_MMC_VUB300=m
-+CONFIG_LEDS_PCA9532_GPIO=y
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+CONFIG_RTC_DRV_EM3027=m
-+CONFIG_RTC_DRV_RV3029C2=m
-+CONFIG_RTC_DRV_M41T93=m
-+CONFIG_USBIP_CORE=m
-+CONFIG_USBIP_VHCI_HCD=m
-+CONFIG_USBIP_HOST=m
-+# CONFIG_USBIP_DEBUG is not set
-+CONFIG_BRCMUTIL=m
-+CONFIG_BRCMSMAC=m
-+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-+CONFIG_AD7780=m
-+CONFIG_MAX1363=m
-+CONFIG_MAX1363_RING_BUFFER=y
-+CONFIG_AD5504=m
-+CONFIG_AD5791=m
-+CONFIG_ADXRS450=m
-+CONFIG_SENSORS_TSL2563=m
-+CONFIG_TSL2583=m
-+CONFIG_ZCACHE=m
-+CONFIG_INTEL_MEI=m
-+CONFIG_MXM_WMI=m
-+CONFIG_INTEL_OAKTRAIL=m
-+CONFIG_CLKSRC_I8253=y
-+# CONFIG_GOOGLE_FIRMWARE is not set
-+CONFIG_TMPFS_XATTR=y
-+# CONFIG_CIFS_NFSD_EXPORT is not set
-+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_RCU_CPU_STALL_TIMEOUT=60
-+# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# Linux/i386 3.0.0-rc1 Kernel Configuration
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-# CONFIG_MELAN is not set
-CONFIG_CLEANCACHE=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_ACPI_CUSTOM_METHOD=m
-# x86 CPU frequency scaling drivers
-CONFIG_NET_SCH_QFQ=m
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_TCM_FC=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RTL8192SE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_MPR121=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# Memory mapped GPIO drivers:
-CONFIG_GPIO_BASIC_MMIO_CORE=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-CONFIG_BCMA=m
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_IR_FINTEK=m
-CONFIG_IR_REDRAT3=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-# Audio decoders, processors and mixers
-CONFIG_VIDEO_SAA717X=m
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_TEA575X=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_ISIGHT=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_MMC_VUB300=m
-CONFIG_LEDS_PCA9532_GPIO=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_AD7780=m
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
-CONFIG_AD5504=m
-CONFIG_AD5791=m
-CONFIG_ADXRS450=m
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-CONFIG_ZCACHE=m
-CONFIG_INTEL_MEI=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_CLKSRC_I8253=y
-# CONFIG_GOOGLE_FIRMWARE is not set
-CONFIG_TMPFS_XATTR=y
-# CONFIG_CIFS_NFSD_EXPORT is not set
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-# CONFIG_DEBUG_STACK_USAGE is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
diff --git a/config/i386/pae b/config/i386/pae
index a51aaff1ab..883d2b4966 100644
--- a/config/i386/pae
+++ b/config/i386/pae
@@ -290,6 +290,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
+# CONFIG_X86_XEN is not set
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_MRST is not set
@@ -301,8 +302,7 @@ CONFIG_X86_SUMMIT=y
CONFIG_X86_ES7000=y
CONFIG_X86_32_IRIS=m
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
# CONFIG_LGUEST_GUEST is not set
diff --git a/config/i386/trace b/config/i386/trace
index 84af3ffc15..6c7fbcea49 100644
--- a/config/i386/trace
+++ b/config/i386/trace
@@ -290,6 +290,7 @@ CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
+# CONFIG_X86_XEN is not set
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_MRST is not set
@@ -301,8 +302,7 @@ CONFIG_X86_SUMMIT=y
CONFIG_X86_ES7000=y
CONFIG_X86_32_IRIS=m
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
# CONFIG_LGUEST_GUEST is not set
diff --git a/config/i386/xen b/config/i386/xen
index 81d9fb5d25..609722640a 100644
--- a/config/i386/xen
+++ b/config/i386/xen
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/i386 2.6.39 Kernel Configuration
+# Linux/i386 3.0.0-rc5 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -53,7 +53,6 @@ CONFIG_SUSE_KERNEL=y
CONFIG_SPLIT_PACKAGE=y
# CONFIG_KERNEL_DESKTOP is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
@@ -67,6 +66,7 @@ CONFIG_LOCALVERSION="-xen"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_KERNEL_GZIP=y
+CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
@@ -112,7 +112,6 @@ CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
@@ -152,7 +151,6 @@ CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
@@ -292,6 +290,7 @@ CONFIG_M686=y
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
@@ -347,6 +346,7 @@ CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -366,13 +366,12 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
-CONFIG_TMEM=y
-CONFIG_PRECACHE=y
-CONFIG_PRESWAP=y
+CONFIG_CLEANCACHE=y
# CONFIG_HIGHPTE is not set
CONFIG_MTRR=y
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
@@ -398,7 +397,6 @@ CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
-# CONFIG_PM_VERBOSE is not set
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_CAN_PM_TRACE=y
@@ -408,7 +406,6 @@ CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -432,6 +429,7 @@ CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=m
+CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=m
CONFIG_ACPI_APEI_PCIEAER=y
@@ -959,6 +957,7 @@ CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -1190,6 +1189,7 @@ CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
CONFIG_NET_9P=m
CONFIG_NET_9P_RDMA=m
# CONFIG_NET_9P_DEBUG is not set
@@ -1217,13 +1217,11 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
-CONFIG_ARCH_NO_SYSDEV_OPS=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_TESTS=m
-CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
@@ -1457,6 +1455,7 @@ CONFIG_AD525X_DPOT_I2C=m
CONFIG_AD525X_DPOT_SPI=m
CONFIG_IBM_ASM=m
CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
@@ -1776,6 +1775,7 @@ CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set
+CONFIG_TCM_FC=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
@@ -1838,7 +1838,6 @@ CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
-CONFIG_BCM63XX_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
@@ -2015,12 +2014,12 @@ CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_AR9170_USB=m
-CONFIG_AR9170_LEDS=y
CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
@@ -2073,6 +2072,7 @@ CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
# CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE is not set
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
# CONFIG_IWL_P2P is not set
CONFIG_IWLWIFI_LEGACY=m
@@ -2119,18 +2119,19 @@ CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT33XX=y
# CONFIG_RT2800USB_RT35XX is not set
+CONFIG_RT2800USB_RT53XX=y
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_LIB_DEBUGFS is not set
# CONFIG_RT2X00_DEBUG is not set
CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTL8192C_COMMON=m
@@ -2146,6 +2147,8 @@ CONFIG_WL12XX_SDIO_TEST=m
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
#
# WiMAX Wireless Broadband devices
@@ -2185,6 +2188,7 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
@@ -2389,8 +2393,6 @@ CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
-CONFIG_ISDN_CAPI_CAPIFS=m
CONFIG_ISDN_CAPI_CAPIDRV=m
#
@@ -2466,6 +2468,7 @@ CONFIG_INPUT_EVDEV=y
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
@@ -2477,6 +2480,7 @@ CONFIG_KEYBOARD_MATRIX=m
CONFIG_KEYBOARD_LM8323=m
CONFIG_KEYBOARD_MAX7359=m
CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_STOWAWAY is not set
@@ -2554,6 +2558,7 @@ CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_ELOUSB=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
@@ -2660,6 +2665,8 @@ CONFIG_NOZOMI=m
CONFIG_ISI=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
CONFIG_DEVKMEM=y
CONFIG_STALDRV=y
@@ -2693,6 +2700,7 @@ CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_IFX6X60=m
CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_XILINX_PS_UART=m
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
@@ -2859,6 +2867,15 @@ CONFIG_PPS_CLIENT_PARPORT=m
#
# PPS generators support
#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
@@ -2866,8 +2883,9 @@ CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MAX730X=m
#
-# Memory mapped GPIO expanders:
+# Memory mapped GPIO drivers:
#
+CONFIG_GPIO_BASIC_MMIO_CORE=m
CONFIG_GPIO_BASIC_MMIO=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_SCH=m
@@ -2919,6 +2937,7 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
CONFIG_W1_MASTER_GPIO=m
#
@@ -2926,11 +2945,13 @@ CONFIG_W1_MASTER_GPIO=m
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2423=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -2939,6 +2960,7 @@ CONFIG_WM831X_BACKUP=m
CONFIG_WM831X_POWER=m
CONFIG_TEST_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_BQ20Z75=m
CONFIG_BATTERY_BQ27x00=m
@@ -2946,6 +2968,7 @@ CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_MAX8903=m
CONFIG_CHARGER_GPIO=m
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
@@ -2972,6 +2995,7 @@ CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
@@ -2986,7 +3010,6 @@ CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_PKGTEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
@@ -3011,17 +3034,22 @@ CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SIS5595=m
@@ -3029,6 +3057,7 @@ CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
@@ -3062,6 +3091,7 @@ CONFIG_SENSORS_MC13783_ADC=m
#
# ACPI drivers
#
+CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
@@ -3140,6 +3170,15 @@ CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DEBUG is not set
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
CONFIG_MFD_SM501=m
@@ -3220,7 +3259,9 @@ CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
CONFIG_RC_LOOPBACK=m
@@ -3246,6 +3287,7 @@ CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
@@ -3266,7 +3308,7 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m
#
-# Audio decoders
+# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
@@ -3276,7 +3318,6 @@ CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
@@ -3294,17 +3335,15 @@ CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_VPX3220=m
#
# Video and audio decoders
#
+CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m
#
@@ -3321,10 +3360,21 @@ CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
@@ -3395,6 +3445,7 @@ CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_KINECT=m
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
@@ -3454,7 +3505,6 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_TESTDEV=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MAESTRO=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
@@ -3627,6 +3677,7 @@ CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -3640,6 +3691,7 @@ CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
#
# DVB-C (cable) frontends
@@ -3763,6 +3815,7 @@ CONFIG_FB_ARC=m
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
CONFIG_FB_S1D13XXX=m
@@ -3797,6 +3850,7 @@ CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
@@ -3805,6 +3859,7 @@ CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
@@ -3830,6 +3885,7 @@ CONFIG_FB_VIRTUAL=m
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
CONFIG_FB_BROADSHEET=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
@@ -3850,6 +3906,7 @@ CONFIG_BACKLIGHT_APPLE=m
CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m
CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
#
# Display device support
@@ -3975,9 +4032,10 @@ CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
CONFIG_SND_FM801=m
CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
@@ -4005,6 +4063,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
@@ -4035,6 +4094,7 @@ CONFIG_SND_USB_6FIRE=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
@@ -4074,13 +4134,11 @@ CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
-CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_CANDO=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_PRODIKEYS=m
@@ -4105,7 +4163,6 @@ CONFIG_LOGIG940_FF=y
CONFIG_LOGIWII_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=m
@@ -4128,7 +4185,6 @@ CONFIG_HID_ROCCAT_KOVAPLUS=m
CONFIG_HID_ROCCAT_PYRA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
-CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
@@ -4184,6 +4240,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_WHCI_HCD=m
@@ -4276,7 +4333,6 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SAMBA=m
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
@@ -4358,6 +4414,7 @@ CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -4386,6 +4443,7 @@ CONFIG_LEDS_NET5501=m
CONFIG_LEDS_WRAP=m
CONFIG_LEDS_ALIX2=m
CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_LP3944=m
@@ -4500,10 +4558,13 @@ CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
#
# SPI RTC drivers
#
+CONFIG_RTC_DRV_M41T93=m
CONFIG_RTC_DRV_M41T94=m
CONFIG_RTC_DRV_DS1305=m
CONFIG_RTC_DRV_DS1390=m
@@ -4521,6 +4582,7 @@ CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_EFI=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
@@ -4632,8 +4694,8 @@ CONFIG_XEN_DEVMEM=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_TMEM=y
CONFIG_STAGING=y
-# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_STALLION=m
CONFIG_ISTALLION=m
CONFIG_DIGIEPCA=m
@@ -4650,19 +4712,17 @@ CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_DVB_CXD2099=m
-CONFIG_USB_IP_COMMON=m
-CONFIG_USB_IP_VHCI_HCD=m
-CONFIG_USB_IP_HOST=m
-# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_BRCM80211=m
-CONFIG_BRCMSMAC=y
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
# CONFIG_BRCMFMAC is not set
# CONFIG_BRCMDBG is not set
-CONFIG_RT2860=m
-CONFIG_RT2870=m
# CONFIG_COMEDI is not set
CONFIG_ASUS_OLED=m
CONFIG_PANEL=m
@@ -4724,6 +4784,7 @@ CONFIG_IIO_RING_BUFFER=y
CONFIG_IIO_SW_RING=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
#
# Accelerometers
@@ -4743,8 +4804,6 @@ CONFIG_SCA3000=m
#
# Analog to digital convertors
#
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
CONFIG_AD7150=m
CONFIG_AD7152=m
CONFIG_AD7291=m
@@ -4757,11 +4816,14 @@ CONFIG_AD799X=m
CONFIG_AD799X_RING_BUFFER=y
CONFIG_AD7476=m
CONFIG_AD7887=m
+CONFIG_AD7780=m
CONFIG_AD7745=m
CONFIG_AD7816=m
CONFIG_ADT75=m
CONFIG_ADT7310=m
CONFIG_ADT7410=m
+CONFIG_MAX1363=m
+CONFIG_MAX1363_RING_BUFFER=y
#
# Analog digital bi-direction convertors
@@ -4775,6 +4837,8 @@ CONFIG_ADT7316_I2C=m
#
CONFIG_AD5624R_SPI=m
CONFIG_AD5446=m
+CONFIG_AD5504=m
+CONFIG_AD5791=m
CONFIG_MAX517=m
#
@@ -4795,19 +4859,19 @@ CONFIG_ADIS16060=m
CONFIG_ADIS16080=m
CONFIG_ADIS16130=m
CONFIG_ADIS16260=m
+CONFIG_ADXRS450=m
#
# Inertial measurement units
#
-CONFIG_ADIS16300=m
-CONFIG_ADIS16350=m
CONFIG_ADIS16400=m
#
# Light sensors
#
-CONFIG_SENSORS_TSL2563=m
CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_TSL2583=m
#
# Magnetometer sensors
@@ -4846,6 +4910,7 @@ CONFIG_CS5535_GPIO=m
CONFIG_XVMALLOC=y
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
+CONFIG_ZCACHE=m
CONFIG_WLAGS49_H2=m
CONFIG_WLAGS49_H25=m
CONFIG_FB_SM7XX=m
@@ -4887,7 +4952,6 @@ CONFIG_AR600x_DUAL_ANTENNA=y
CONFIG_AR600x_BT_AR3001=y
CONFIG_ATH6KL_HCI_BRIDGE=y
# CONFIG_ATH6KL_CONFIG_GPIO_BT_RESET is not set
-CONFIG_ATH6KL_CFG80211=y
CONFIG_ATH6KL_HTC_RAW_INTERFACE=y
CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y
# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
@@ -4925,6 +4989,7 @@ CONFIG_DRM_PSB=m
# Altera FPGA firmware download module
#
CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -4967,6 +5032,9 @@ CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
CONFIG_XO15_EBOOK=m
CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_CLKSRC_I8253=y
#
# Firmware Drivers
@@ -4974,6 +5042,7 @@ CONFIG_SAMSUNG_LAPTOP=m
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
@@ -4981,6 +5050,7 @@ CONFIG_DMI_SYSFS=m
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_SIGMA=m
+# CONFIG_GOOGLE_FIRMWARE is not set
#
# File systems
@@ -5095,6 +5165,7 @@ CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
@@ -5193,7 +5264,6 @@ CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
-CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
@@ -5210,7 +5280,6 @@ CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
# CONFIG_9P_FSCACHE is not set
CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_NOVFS=m
#
# Partition Types
@@ -5301,6 +5370,7 @@ CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
@@ -5320,6 +5390,7 @@ CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
@@ -5340,11 +5411,12 @@ CONFIG_UNWIND_INFO=y
CONFIG_STACK_UNWIND=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
@@ -5397,8 +5469,6 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
@@ -5442,12 +5512,13 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
+CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_COMPAT_24=y
# CONFIG_IMA is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
@@ -5504,7 +5575,6 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_FPU=m
#
# Hash modes
@@ -5585,8 +5655,6 @@ CONFIG_BINARY_PRINTF=y
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
@@ -5630,246 +5698,3 @@ CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
-+++ b/config/i386/default
-+# Linux/i386 3.0.0-rc1 Kernel Configuration
-+# CONFIG_XEN_PRIVILEGED_GUEST is not set
-+# CONFIG_MELAN is not set
-+CONFIG_CLEANCACHE=y
-+# CONFIG_PM_TEST_SUSPEND is not set
-+CONFIG_ACPI_CUSTOM_METHOD=m
-+# x86 CPU frequency scaling drivers
-+CONFIG_NET_SCH_QFQ=m
-+CONFIG_RFKILL_REGULATOR=m
-+CONFIG_INTEL_MID_PTI=m
-+CONFIG_TCM_FC=m
-+CONFIG_ATH9K_PCI=y
-+# CONFIG_ATH9K_AHB is not set
-+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-+CONFIG_RT2800USB_RT53XX=y
-+CONFIG_RTL8192SE=m
-+CONFIG_MWIFIEX=m
-+CONFIG_MWIFIEX_SDIO=m
-+CONFIG_KEYBOARD_ADP5589=m
-+CONFIG_KEYBOARD_MPR121=m
-+CONFIG_TOUCHSCREEN_MAX11801=m
-+CONFIG_TRACE_ROUTER=m
-+CONFIG_TRACE_SINK=m
-+CONFIG_SERIAL_XILINX_PS_UART=m
-+
-+#
-+# PTP clock support
-+#
-+CONFIG_PTP_1588_CLOCK=m
-+
-+#
-+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-+#
-+# Memory mapped GPIO drivers:
-+CONFIG_GPIO_BASIC_MMIO_CORE=m
-+CONFIG_W1_MASTER_DS1WM=m
-+CONFIG_W1_SLAVE_DS2408=m
-+CONFIG_W1_SLAVE_DS2780=m
-+CONFIG_BATTERY_DS2780=m
-+CONFIG_CHARGER_MAX8903=m
-+CONFIG_SENSORS_FAM15H_POWER=m
-+CONFIG_SENSORS_MAX16065=m
-+CONFIG_SENSORS_MAX6642=m
-+CONFIG_SENSORS_ADM1275=m
-+CONFIG_SENSORS_UCD9000=m
-+CONFIG_SENSORS_UCD9200=m
-+CONFIG_SENSORS_EMC6W201=m
-+CONFIG_SENSORS_ACPI_POWER=m
-+CONFIG_BCMA_POSSIBLE=y
-+
-+#
-+# Broadcom specific AMBA
-+#
-+CONFIG_BCMA=m
-+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-+CONFIG_BCMA_HOST_PCI=y
-+# CONFIG_BCMA_DEBUG is not set
-+CONFIG_IR_FINTEK=m
-+CONFIG_IR_REDRAT3=m
-+CONFIG_MEDIA_TUNER_TDA18212=m
-+# Audio decoders, processors and mixers
-+CONFIG_VIDEO_SAA717X=m
-+# Camera sensor devices
-+#
-+CONFIG_VIDEO_OV7670=m
-+CONFIG_VIDEO_MT9V011=m
-+
-+#
-+
-+#
-+# Miscelaneous helper chips
-+#
-+CONFIG_VIDEO_M52790=m
-+CONFIG_USB_GSPCA_KINECT=m
-+CONFIG_DVB_DRXD=m
-+CONFIG_DVB_CXD2820R=m
-+CONFIG_FB_S3_DDC=y
-+CONFIG_FB_VIA_X_COMPATIBILITY=y
-+CONFIG_FB_MB862XX_I2C=y
-+CONFIG_SND_ES1968_RADIO=y
-+CONFIG_SND_TEA575X=m
-+CONFIG_SND_LOLA=m
-+CONFIG_SND_ISIGHT=m
-+# CONFIG_USB_SL811_HCD_ISO is not set
-+CONFIG_MMC_VUB300=m
-+CONFIG_LEDS_PCA9532_GPIO=y
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+CONFIG_RTC_DRV_EM3027=m
-+CONFIG_RTC_DRV_RV3029C2=m
-+CONFIG_RTC_DRV_M41T93=m
-+CONFIG_USBIP_CORE=m
-+CONFIG_USBIP_VHCI_HCD=m
-+CONFIG_USBIP_HOST=m
-+# CONFIG_USBIP_DEBUG is not set
-+CONFIG_BRCMUTIL=m
-+CONFIG_BRCMSMAC=m
-+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-+CONFIG_AD7780=m
-+CONFIG_MAX1363=m
-+CONFIG_MAX1363_RING_BUFFER=y
-+CONFIG_AD5504=m
-+CONFIG_AD5791=m
-+CONFIG_ADXRS450=m
-+CONFIG_SENSORS_TSL2563=m
-+CONFIG_TSL2583=m
-+CONFIG_ZCACHE=m
-+CONFIG_INTEL_MEI=m
-+CONFIG_MXM_WMI=m
-+CONFIG_INTEL_OAKTRAIL=m
-+CONFIG_CLKSRC_I8253=y
-+# CONFIG_GOOGLE_FIRMWARE is not set
-+CONFIG_TMPFS_XATTR=y
-+# CONFIG_CIFS_NFSD_EXPORT is not set
-+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_RCU_CPU_STALL_TIMEOUT=60
-+# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# Linux/i386 3.0.0-rc1 Kernel Configuration
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-# CONFIG_MELAN is not set
-CONFIG_CLEANCACHE=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_ACPI_CUSTOM_METHOD=m
-# x86 CPU frequency scaling drivers
-CONFIG_NET_SCH_QFQ=m
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_TCM_FC=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RTL8192SE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_MPR121=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# Memory mapped GPIO drivers:
-CONFIG_GPIO_BASIC_MMIO_CORE=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-CONFIG_BCMA=m
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_IR_FINTEK=m
-CONFIG_IR_REDRAT3=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-# Audio decoders, processors and mixers
-CONFIG_VIDEO_SAA717X=m
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_TEA575X=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_ISIGHT=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_MMC_VUB300=m
-CONFIG_LEDS_PCA9532_GPIO=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_AD7780=m
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
-CONFIG_AD5504=m
-CONFIG_AD5791=m
-CONFIG_ADXRS450=m
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-CONFIG_ZCACHE=m
-CONFIG_INTEL_MEI=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_CLKSRC_I8253=y
-# CONFIG_GOOGLE_FIRMWARE is not set
-CONFIG_TMPFS_XATTR=y
-# CONFIG_CIFS_NFSD_EXPORT is not set
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-# CONFIG_DEBUG_STACK_USAGE is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
diff --git a/config/x86_64/debug b/config/x86_64/debug
index 4b56695fa5..688775363c 100644
--- a/config/x86_64/debug
+++ b/config/x86_64/debug
@@ -292,12 +292,12 @@ CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_64_XEN is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
diff --git a/config/x86_64/default b/config/x86_64/default
index 8ede05b87f..cda27b2e40 100644
--- a/config/x86_64/default
+++ b/config/x86_64/default
@@ -292,12 +292,12 @@ CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_64_XEN is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
diff --git a/config/x86_64/desktop b/config/x86_64/desktop
index 476967eedc..b7fe291d56 100644
--- a/config/x86_64/desktop
+++ b/config/x86_64/desktop
@@ -293,12 +293,12 @@ CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_64_XEN is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
diff --git a/config/x86_64/ec2 b/config/x86_64/ec2
index b3175ed6a5..87e4cf7159 100644
--- a/config/x86_64/ec2
+++ b/config/x86_64/ec2
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/x86_64 2.6.39 Kernel Configuration
+# Linux/x86_64 3.0.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -52,7 +52,6 @@ CONFIG_ENTERPRISE_SUPPORT=y
CONFIG_SPLIT_PACKAGE=y
# CONFIG_KERNEL_DESKTOP is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
@@ -66,6 +65,7 @@ CONFIG_LOCALVERSION="-ec2"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_KERNEL_GZIP=y
+CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
@@ -111,7 +111,6 @@ CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
@@ -151,12 +150,10 @@ CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -323,9 +320,7 @@ CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
-CONFIG_TMEM=y
-CONFIG_PRECACHE=y
-CONFIG_PRESWAP=y
+CONFIG_CLEANCACHE=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
@@ -798,6 +793,7 @@ CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -842,6 +838,8 @@ CONFIG_BATMAN_ADV_DEBUG=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
+CONFIG_HAVE_BPF_JIT=y
+CONFIG_BPF_JIT=y
#
# Network testing
@@ -912,7 +910,6 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
-CONFIG_ARCH_NO_SYSDEV_OPS=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
@@ -1088,6 +1085,8 @@ CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=0
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
+# CONFIG_TRACE_ROUTER is not set
+CONFIG_TRACE_SINK=m
CONFIG_DEVKMEM=y
#
@@ -1102,6 +1101,7 @@ CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
@@ -1131,6 +1131,14 @@ CONFIG_CRASHER=m
#
# PPS generators support
#
+
+#
+# PTP clock support
+#
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
@@ -1177,6 +1185,12 @@ CONFIG_SSB_POSSIBLE=y
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
@@ -1213,13 +1227,11 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_ARC is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VESA is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
@@ -1322,6 +1334,7 @@ CONFIG_XEN_DEVMEM=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_TMEM=y
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
@@ -1439,6 +1452,7 @@ CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
@@ -1508,7 +1522,6 @@ CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
-CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
@@ -1525,7 +1538,6 @@ CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
# CONFIG_9P_FSCACHE is not set
CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_NOVFS=m
#
# Partition Types
@@ -1611,11 +1623,12 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
@@ -1635,9 +1648,11 @@ CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
@@ -1653,11 +1668,12 @@ CONFIG_UNWIND_INFO=y
CONFIG_STACK_UNWIND=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
@@ -1706,8 +1722,6 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
@@ -1811,7 +1825,6 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_FPU=m
#
# Hash modes
@@ -1890,8 +1903,6 @@ CONFIG_BINARY_PRINTF=y
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
@@ -1929,246 +1940,3 @@ CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
-+++ b/config/i386/default
-+# Linux/i386 3.0.0-rc1 Kernel Configuration
-+# CONFIG_XEN_PRIVILEGED_GUEST is not set
-+# CONFIG_MELAN is not set
-+CONFIG_CLEANCACHE=y
-+# CONFIG_PM_TEST_SUSPEND is not set
-+CONFIG_ACPI_CUSTOM_METHOD=m
-+# x86 CPU frequency scaling drivers
-+CONFIG_NET_SCH_QFQ=m
-+CONFIG_RFKILL_REGULATOR=m
-+CONFIG_INTEL_MID_PTI=m
-+CONFIG_TCM_FC=m
-+CONFIG_ATH9K_PCI=y
-+# CONFIG_ATH9K_AHB is not set
-+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-+CONFIG_RT2800USB_RT53XX=y
-+CONFIG_RTL8192SE=m
-+CONFIG_MWIFIEX=m
-+CONFIG_MWIFIEX_SDIO=m
-+CONFIG_KEYBOARD_ADP5589=m
-+CONFIG_KEYBOARD_MPR121=m
-+CONFIG_TOUCHSCREEN_MAX11801=m
-+CONFIG_TRACE_ROUTER=m
-+CONFIG_TRACE_SINK=m
-+CONFIG_SERIAL_XILINX_PS_UART=m
-+
-+#
-+# PTP clock support
-+#
-+CONFIG_PTP_1588_CLOCK=m
-+
-+#
-+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-+#
-+# Memory mapped GPIO drivers:
-+CONFIG_GPIO_BASIC_MMIO_CORE=m
-+CONFIG_W1_MASTER_DS1WM=m
-+CONFIG_W1_SLAVE_DS2408=m
-+CONFIG_W1_SLAVE_DS2780=m
-+CONFIG_BATTERY_DS2780=m
-+CONFIG_CHARGER_MAX8903=m
-+CONFIG_SENSORS_FAM15H_POWER=m
-+CONFIG_SENSORS_MAX16065=m
-+CONFIG_SENSORS_MAX6642=m
-+CONFIG_SENSORS_ADM1275=m
-+CONFIG_SENSORS_UCD9000=m
-+CONFIG_SENSORS_UCD9200=m
-+CONFIG_SENSORS_EMC6W201=m
-+CONFIG_SENSORS_ACPI_POWER=m
-+CONFIG_BCMA_POSSIBLE=y
-+
-+#
-+# Broadcom specific AMBA
-+#
-+CONFIG_BCMA=m
-+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-+CONFIG_BCMA_HOST_PCI=y
-+# CONFIG_BCMA_DEBUG is not set
-+CONFIG_IR_FINTEK=m
-+CONFIG_IR_REDRAT3=m
-+CONFIG_MEDIA_TUNER_TDA18212=m
-+# Audio decoders, processors and mixers
-+CONFIG_VIDEO_SAA717X=m
-+# Camera sensor devices
-+#
-+CONFIG_VIDEO_OV7670=m
-+CONFIG_VIDEO_MT9V011=m
-+
-+#
-+
-+#
-+# Miscelaneous helper chips
-+#
-+CONFIG_VIDEO_M52790=m
-+CONFIG_USB_GSPCA_KINECT=m
-+CONFIG_DVB_DRXD=m
-+CONFIG_DVB_CXD2820R=m
-+CONFIG_FB_S3_DDC=y
-+CONFIG_FB_VIA_X_COMPATIBILITY=y
-+CONFIG_FB_MB862XX_I2C=y
-+CONFIG_SND_ES1968_RADIO=y
-+CONFIG_SND_TEA575X=m
-+CONFIG_SND_LOLA=m
-+CONFIG_SND_ISIGHT=m
-+# CONFIG_USB_SL811_HCD_ISO is not set
-+CONFIG_MMC_VUB300=m
-+CONFIG_LEDS_PCA9532_GPIO=y
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+CONFIG_RTC_DRV_EM3027=m
-+CONFIG_RTC_DRV_RV3029C2=m
-+CONFIG_RTC_DRV_M41T93=m
-+CONFIG_USBIP_CORE=m
-+CONFIG_USBIP_VHCI_HCD=m
-+CONFIG_USBIP_HOST=m
-+# CONFIG_USBIP_DEBUG is not set
-+CONFIG_BRCMUTIL=m
-+CONFIG_BRCMSMAC=m
-+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-+CONFIG_AD7780=m
-+CONFIG_MAX1363=m
-+CONFIG_MAX1363_RING_BUFFER=y
-+CONFIG_AD5504=m
-+CONFIG_AD5791=m
-+CONFIG_ADXRS450=m
-+CONFIG_SENSORS_TSL2563=m
-+CONFIG_TSL2583=m
-+CONFIG_ZCACHE=m
-+CONFIG_INTEL_MEI=m
-+CONFIG_MXM_WMI=m
-+CONFIG_INTEL_OAKTRAIL=m
-+CONFIG_CLKSRC_I8253=y
-+# CONFIG_GOOGLE_FIRMWARE is not set
-+CONFIG_TMPFS_XATTR=y
-+# CONFIG_CIFS_NFSD_EXPORT is not set
-+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_RCU_CPU_STALL_TIMEOUT=60
-+# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# Linux/i386 3.0.0-rc1 Kernel Configuration
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-# CONFIG_MELAN is not set
-CONFIG_CLEANCACHE=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_ACPI_CUSTOM_METHOD=m
-# x86 CPU frequency scaling drivers
-CONFIG_NET_SCH_QFQ=m
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_TCM_FC=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RTL8192SE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_MPR121=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# Memory mapped GPIO drivers:
-CONFIG_GPIO_BASIC_MMIO_CORE=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-CONFIG_BCMA=m
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_IR_FINTEK=m
-CONFIG_IR_REDRAT3=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-# Audio decoders, processors and mixers
-CONFIG_VIDEO_SAA717X=m
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_TEA575X=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_ISIGHT=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_MMC_VUB300=m
-CONFIG_LEDS_PCA9532_GPIO=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_AD7780=m
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
-CONFIG_AD5504=m
-CONFIG_AD5791=m
-CONFIG_ADXRS450=m
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-CONFIG_ZCACHE=m
-CONFIG_INTEL_MEI=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_CLKSRC_I8253=y
-# CONFIG_GOOGLE_FIRMWARE is not set
-CONFIG_TMPFS_XATTR=y
-# CONFIG_CIFS_NFSD_EXPORT is not set
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-# CONFIG_DEBUG_STACK_USAGE is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
diff --git a/config/x86_64/trace b/config/x86_64/trace
index 3f0fac8e3b..dd5bf1724e 100644
--- a/config/x86_64/trace
+++ b/config/x86_64/trace
@@ -292,12 +292,12 @@ CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_64_XEN is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_PARAVIRT_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
diff --git a/config/x86_64/xen b/config/x86_64/xen
index 988f4d786b..34e3332015 100644
--- a/config/x86_64/xen
+++ b/config/x86_64/xen
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/x86_64 2.6.39 Kernel Configuration
+# Linux/x86_64 3.0.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -53,7 +53,6 @@ CONFIG_SUSE_KERNEL=y
CONFIG_SPLIT_PACKAGE=y
# CONFIG_KERNEL_DESKTOP is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
@@ -67,6 +66,7 @@ CONFIG_LOCALVERSION="-xen"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_KERNEL_GZIP=y
+CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
@@ -112,7 +112,6 @@ CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
@@ -152,7 +151,6 @@ CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
@@ -339,12 +337,11 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
-CONFIG_TMEM=y
-CONFIG_PRECACHE=y
-CONFIG_PRESWAP=y
+CONFIG_CLEANCACHE=y
CONFIG_MTRR=y
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
@@ -370,7 +367,6 @@ CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
-# CONFIG_PM_VERBOSE is not set
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_CAN_PM_TRACE=y
@@ -380,7 +376,6 @@ CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -404,6 +399,7 @@ CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=m
+CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=m
CONFIG_ACPI_APEI_PCIEAER=y
@@ -931,6 +927,7 @@ CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -975,6 +972,8 @@ CONFIG_BATMAN_ADV_DEBUG=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
+CONFIG_HAVE_BPF_JIT=y
+CONFIG_BPF_JIT=y
#
# Network testing
@@ -1160,6 +1159,7 @@ CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
CONFIG_NET_9P=m
CONFIG_NET_9P_RDMA=m
# CONFIG_NET_9P_DEBUG is not set
@@ -1187,13 +1187,11 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
-CONFIG_ARCH_NO_SYSDEV_OPS=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_TESTS=m
-CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
@@ -1424,6 +1422,7 @@ CONFIG_AD525X_DPOT_I2C=m
CONFIG_AD525X_DPOT_SPI=m
CONFIG_IBM_ASM=m
CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
@@ -1738,6 +1737,7 @@ CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set
+CONFIG_TCM_FC=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
@@ -1800,7 +1800,6 @@ CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
-CONFIG_BCM63XX_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
@@ -1976,12 +1975,12 @@ CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_AR9170_USB=m
-CONFIG_AR9170_LEDS=y
CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
@@ -2034,6 +2033,7 @@ CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
# CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE is not set
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
# CONFIG_IWL_P2P is not set
CONFIG_IWLWIFI_LEGACY=m
@@ -2080,18 +2080,19 @@ CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT33XX=y
# CONFIG_RT2800USB_RT35XX is not set
+CONFIG_RT2800USB_RT53XX=y
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_LIB_DEBUGFS is not set
# CONFIG_RT2X00_DEBUG is not set
CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTL8192C_COMMON=m
@@ -2107,6 +2108,8 @@ CONFIG_WL12XX_SDIO_TEST=m
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
#
# WiMAX Wireless Broadband devices
@@ -2146,6 +2149,7 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
@@ -2350,8 +2354,6 @@ CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
-CONFIG_ISDN_CAPI_CAPIFS=m
CONFIG_ISDN_CAPI_CAPIDRV=m
#
@@ -2427,6 +2429,7 @@ CONFIG_INPUT_EVDEV=y
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
@@ -2438,6 +2441,7 @@ CONFIG_KEYBOARD_MATRIX=m
CONFIG_KEYBOARD_LM8323=m
CONFIG_KEYBOARD_MAX7359=m
CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_STOWAWAY is not set
@@ -2515,6 +2519,7 @@ CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_ELOUSB=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
@@ -2620,6 +2625,8 @@ CONFIG_NOZOMI=m
CONFIG_ISI=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
CONFIG_DEVKMEM=y
CONFIG_STALDRV=y
@@ -2653,6 +2660,7 @@ CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_IFX6X60=m
CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_XILINX_PS_UART=m
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
@@ -2809,6 +2817,15 @@ CONFIG_PPS_CLIENT_PARPORT=m
#
# PPS generators support
#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
@@ -2816,8 +2833,9 @@ CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MAX730X=m
#
-# Memory mapped GPIO expanders:
+# Memory mapped GPIO drivers:
#
+CONFIG_GPIO_BASIC_MMIO_CORE=m
CONFIG_GPIO_BASIC_MMIO=m
CONFIG_GPIO_IT8761E=m
CONFIG_GPIO_SCH=m
@@ -2869,6 +2887,7 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
CONFIG_W1_MASTER_GPIO=m
#
@@ -2876,11 +2895,13 @@ CONFIG_W1_MASTER_GPIO=m
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2423=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -2889,6 +2910,7 @@ CONFIG_WM831X_BACKUP=m
CONFIG_WM831X_POWER=m
CONFIG_TEST_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_BQ20Z75=m
CONFIG_BATTERY_BQ27x00=m
@@ -2896,6 +2918,7 @@ CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_MAX8903=m
CONFIG_CHARGER_GPIO=m
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
@@ -2922,6 +2945,7 @@ CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
@@ -2936,7 +2960,6 @@ CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_PKGTEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
@@ -2961,17 +2984,22 @@ CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SIS5595=m
@@ -2979,6 +3007,7 @@ CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
@@ -3012,6 +3041,7 @@ CONFIG_SENSORS_MC13783_ADC=m
#
# ACPI drivers
#
+CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
@@ -3088,6 +3118,15 @@ CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DEBUG is not set
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
CONFIG_MFD_SM501=m
@@ -3168,7 +3207,9 @@ CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
CONFIG_RC_LOOPBACK=m
@@ -3194,6 +3235,7 @@ CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
@@ -3214,7 +3256,7 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m
#
-# Audio decoders
+# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
@@ -3224,7 +3266,6 @@ CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
@@ -3242,17 +3283,15 @@ CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_VPX3220=m
#
# Video and audio decoders
#
+CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m
#
@@ -3269,10 +3308,21 @@ CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
@@ -3343,6 +3393,7 @@ CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_KINECT=m
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
@@ -3402,7 +3453,6 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_TESTDEV=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MAESTRO=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
@@ -3575,6 +3625,7 @@ CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -3588,6 +3639,7 @@ CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
#
# DVB-C (cable) frontends
@@ -3705,6 +3757,7 @@ CONFIG_FB_ARC=m
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
CONFIG_FB_S1D13XXX=m
@@ -3736,6 +3789,7 @@ CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
@@ -3744,6 +3798,7 @@ CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
@@ -3769,6 +3824,7 @@ CONFIG_FB_VIRTUAL=m
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
CONFIG_FB_BROADSHEET=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
@@ -3789,6 +3845,7 @@ CONFIG_BACKLIGHT_APPLE=m
CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m
CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
#
# Display device support
@@ -3914,9 +3971,10 @@ CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
CONFIG_SND_FM801=m
CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
@@ -3944,6 +4002,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
@@ -3973,6 +4032,7 @@ CONFIG_SND_USB_6FIRE=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
@@ -4012,13 +4072,11 @@ CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
-CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_CANDO=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_PRODIKEYS=m
@@ -4043,7 +4101,6 @@ CONFIG_LOGIG940_FF=y
CONFIG_LOGIWII_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=m
@@ -4066,7 +4123,6 @@ CONFIG_HID_ROCCAT_KOVAPLUS=m
CONFIG_HID_ROCCAT_PYRA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
-CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
@@ -4122,6 +4178,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_WHCI_HCD=m
@@ -4214,7 +4271,6 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SAMBA=m
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
@@ -4297,6 +4353,7 @@ CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -4323,6 +4380,7 @@ CONFIG_LEDS_LM3530=m
CONFIG_LEDS_NET5501=m
CONFIG_LEDS_ALIX2=m
CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_LP3944=m
@@ -4433,10 +4491,13 @@ CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
#
# SPI RTC drivers
#
+CONFIG_RTC_DRV_M41T93=m
CONFIG_RTC_DRV_M41T94=m
CONFIG_RTC_DRV_DS1305=m
CONFIG_RTC_DRV_DS1390=m
@@ -4454,6 +4515,7 @@ CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_EFI=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
@@ -4565,8 +4627,8 @@ CONFIG_XEN_DEVMEM=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_TMEM=y
CONFIG_STAGING=y
-# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_STALLION=m
CONFIG_ISTALLION=m
CONFIG_DIGIEPCA=m
@@ -4583,19 +4645,17 @@ CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_DVB_CXD2099=m
-CONFIG_USB_IP_COMMON=m
-CONFIG_USB_IP_VHCI_HCD=m
-CONFIG_USB_IP_HOST=m
-# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_BRCM80211=m
-CONFIG_BRCMSMAC=y
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
# CONFIG_BRCMFMAC is not set
# CONFIG_BRCMDBG is not set
-CONFIG_RT2860=m
-CONFIG_RT2870=m
# CONFIG_COMEDI is not set
CONFIG_ASUS_OLED=m
CONFIG_PANEL=m
@@ -4657,6 +4717,7 @@ CONFIG_IIO_RING_BUFFER=y
CONFIG_IIO_SW_RING=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
#
# Accelerometers
@@ -4676,8 +4737,6 @@ CONFIG_SCA3000=m
#
# Analog to digital convertors
#
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
CONFIG_AD7150=m
CONFIG_AD7152=m
CONFIG_AD7291=m
@@ -4690,11 +4749,14 @@ CONFIG_AD799X=m
CONFIG_AD799X_RING_BUFFER=y
CONFIG_AD7476=m
CONFIG_AD7887=m
+CONFIG_AD7780=m
CONFIG_AD7745=m
CONFIG_AD7816=m
CONFIG_ADT75=m
CONFIG_ADT7310=m
CONFIG_ADT7410=m
+CONFIG_MAX1363=m
+CONFIG_MAX1363_RING_BUFFER=y
#
# Analog digital bi-direction convertors
@@ -4708,6 +4770,8 @@ CONFIG_ADT7316_I2C=m
#
CONFIG_AD5624R_SPI=m
CONFIG_AD5446=m
+CONFIG_AD5504=m
+CONFIG_AD5791=m
CONFIG_MAX517=m
#
@@ -4728,19 +4792,19 @@ CONFIG_ADIS16060=m
CONFIG_ADIS16080=m
CONFIG_ADIS16130=m
CONFIG_ADIS16260=m
+CONFIG_ADXRS450=m
#
# Inertial measurement units
#
-CONFIG_ADIS16300=m
-CONFIG_ADIS16350=m
CONFIG_ADIS16400=m
#
# Light sensors
#
-CONFIG_SENSORS_TSL2563=m
CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_TSL2583=m
#
# Magnetometer sensors
@@ -4778,6 +4842,7 @@ CONFIG_IIO_SYSFS_TRIGGER=m
CONFIG_XVMALLOC=y
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
+CONFIG_ZCACHE=m
CONFIG_WLAGS49_H2=m
CONFIG_WLAGS49_H25=m
CONFIG_FB_SM7XX=m
@@ -4819,7 +4884,6 @@ CONFIG_AR600x_DUAL_ANTENNA=y
CONFIG_AR600x_BT_AR3001=y
CONFIG_ATH6KL_HCI_BRIDGE=y
# CONFIG_ATH6KL_CONFIG_GPIO_BT_RESET is not set
-CONFIG_ATH6KL_CFG80211=y
CONFIG_ATH6KL_HTC_RAW_INTERFACE=y
CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y
# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
@@ -4857,6 +4921,7 @@ CONFIG_DRM_PSB=m
# Altera FPGA firmware download module
#
CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -4898,6 +4963,8 @@ CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
CONFIG_XO15_EBOOK=m
CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
#
# Firmware Drivers
@@ -4905,6 +4972,7 @@ CONFIG_SAMSUNG_LAPTOP=m
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
@@ -4912,6 +4980,7 @@ CONFIG_DMI_SYSFS=m
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_SIGMA=m
+# CONFIG_GOOGLE_FIRMWARE is not set
#
# File systems
@@ -5027,6 +5096,7 @@ CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
@@ -5125,7 +5195,6 @@ CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
-CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
@@ -5142,7 +5211,6 @@ CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
# CONFIG_9P_FSCACHE is not set
CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_NOVFS=m
#
# Partition Types
@@ -5233,6 +5301,7 @@ CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
@@ -5252,6 +5321,7 @@ CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
@@ -5271,11 +5341,12 @@ CONFIG_UNWIND_INFO=y
CONFIG_STACK_UNWIND=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
@@ -5328,8 +5399,6 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
@@ -5373,12 +5442,13 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
+CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_COMPAT_24=y
# CONFIG_IMA is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
@@ -5435,7 +5505,6 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_FPU=m
#
# Hash modes
@@ -5516,8 +5585,6 @@ CONFIG_BINARY_PRINTF=y
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
@@ -5560,246 +5627,3 @@ CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
-+++ b/config/i386/default
-+# Linux/i386 3.0.0-rc1 Kernel Configuration
-+# CONFIG_XEN_PRIVILEGED_GUEST is not set
-+# CONFIG_MELAN is not set
-+CONFIG_CLEANCACHE=y
-+# CONFIG_PM_TEST_SUSPEND is not set
-+CONFIG_ACPI_CUSTOM_METHOD=m
-+# x86 CPU frequency scaling drivers
-+CONFIG_NET_SCH_QFQ=m
-+CONFIG_RFKILL_REGULATOR=m
-+CONFIG_INTEL_MID_PTI=m
-+CONFIG_TCM_FC=m
-+CONFIG_ATH9K_PCI=y
-+# CONFIG_ATH9K_AHB is not set
-+# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-+CONFIG_RT2800USB_RT53XX=y
-+CONFIG_RTL8192SE=m
-+CONFIG_MWIFIEX=m
-+CONFIG_MWIFIEX_SDIO=m
-+CONFIG_KEYBOARD_ADP5589=m
-+CONFIG_KEYBOARD_MPR121=m
-+CONFIG_TOUCHSCREEN_MAX11801=m
-+CONFIG_TRACE_ROUTER=m
-+CONFIG_TRACE_SINK=m
-+CONFIG_SERIAL_XILINX_PS_UART=m
-+
-+#
-+# PTP clock support
-+#
-+CONFIG_PTP_1588_CLOCK=m
-+
-+#
-+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-+#
-+# Memory mapped GPIO drivers:
-+CONFIG_GPIO_BASIC_MMIO_CORE=m
-+CONFIG_W1_MASTER_DS1WM=m
-+CONFIG_W1_SLAVE_DS2408=m
-+CONFIG_W1_SLAVE_DS2780=m
-+CONFIG_BATTERY_DS2780=m
-+CONFIG_CHARGER_MAX8903=m
-+CONFIG_SENSORS_FAM15H_POWER=m
-+CONFIG_SENSORS_MAX16065=m
-+CONFIG_SENSORS_MAX6642=m
-+CONFIG_SENSORS_ADM1275=m
-+CONFIG_SENSORS_UCD9000=m
-+CONFIG_SENSORS_UCD9200=m
-+CONFIG_SENSORS_EMC6W201=m
-+CONFIG_SENSORS_ACPI_POWER=m
-+CONFIG_BCMA_POSSIBLE=y
-+
-+#
-+# Broadcom specific AMBA
-+#
-+CONFIG_BCMA=m
-+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-+CONFIG_BCMA_HOST_PCI=y
-+# CONFIG_BCMA_DEBUG is not set
-+CONFIG_IR_FINTEK=m
-+CONFIG_IR_REDRAT3=m
-+CONFIG_MEDIA_TUNER_TDA18212=m
-+# Audio decoders, processors and mixers
-+CONFIG_VIDEO_SAA717X=m
-+# Camera sensor devices
-+#
-+CONFIG_VIDEO_OV7670=m
-+CONFIG_VIDEO_MT9V011=m
-+
-+#
-+
-+#
-+# Miscelaneous helper chips
-+#
-+CONFIG_VIDEO_M52790=m
-+CONFIG_USB_GSPCA_KINECT=m
-+CONFIG_DVB_DRXD=m
-+CONFIG_DVB_CXD2820R=m
-+CONFIG_FB_S3_DDC=y
-+CONFIG_FB_VIA_X_COMPATIBILITY=y
-+CONFIG_FB_MB862XX_I2C=y
-+CONFIG_SND_ES1968_RADIO=y
-+CONFIG_SND_TEA575X=m
-+CONFIG_SND_LOLA=m
-+CONFIG_SND_ISIGHT=m
-+# CONFIG_USB_SL811_HCD_ISO is not set
-+CONFIG_MMC_VUB300=m
-+CONFIG_LEDS_PCA9532_GPIO=y
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+CONFIG_RTC_DRV_EM3027=m
-+CONFIG_RTC_DRV_RV3029C2=m
-+CONFIG_RTC_DRV_M41T93=m
-+CONFIG_USBIP_CORE=m
-+CONFIG_USBIP_VHCI_HCD=m
-+CONFIG_USBIP_HOST=m
-+# CONFIG_USBIP_DEBUG is not set
-+CONFIG_BRCMUTIL=m
-+CONFIG_BRCMSMAC=m
-+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-+CONFIG_AD7780=m
-+CONFIG_MAX1363=m
-+CONFIG_MAX1363_RING_BUFFER=y
-+CONFIG_AD5504=m
-+CONFIG_AD5791=m
-+CONFIG_ADXRS450=m
-+CONFIG_SENSORS_TSL2563=m
-+CONFIG_TSL2583=m
-+CONFIG_ZCACHE=m
-+CONFIG_INTEL_MEI=m
-+CONFIG_MXM_WMI=m
-+CONFIG_INTEL_OAKTRAIL=m
-+CONFIG_CLKSRC_I8253=y
-+# CONFIG_GOOGLE_FIRMWARE is not set
-+CONFIG_TMPFS_XATTR=y
-+# CONFIG_CIFS_NFSD_EXPORT is not set
-+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_RCU_CPU_STALL_TIMEOUT=60
-+# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# Linux/i386 3.0.0-rc1 Kernel Configuration
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-# CONFIG_MELAN is not set
-CONFIG_CLEANCACHE=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_ACPI_CUSTOM_METHOD=m
-# x86 CPU frequency scaling drivers
-CONFIG_NET_SCH_QFQ=m
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_TCM_FC=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RTL8192SE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_MPR121=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# Memory mapped GPIO drivers:
-CONFIG_GPIO_BASIC_MMIO_CORE=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-CONFIG_BCMA=m
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_IR_FINTEK=m
-CONFIG_IR_REDRAT3=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-# Audio decoders, processors and mixers
-CONFIG_VIDEO_SAA717X=m
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_TEA575X=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_ISIGHT=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_MMC_VUB300=m
-CONFIG_LEDS_PCA9532_GPIO=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_AD7780=m
-CONFIG_MAX1363=m
-CONFIG_MAX1363_RING_BUFFER=y
-CONFIG_AD5504=m
-CONFIG_AD5791=m
-CONFIG_ADXRS450=m
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-CONFIG_ZCACHE=m
-CONFIG_INTEL_MEI=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_CLKSRC_I8253=y
-# CONFIG_GOOGLE_FIRMWARE is not set
-CONFIG_TMPFS_XATTR=y
-# CONFIG_CIFS_NFSD_EXPORT is not set
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
-# CONFIG_DEBUG_STACK_USAGE is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
diff --git a/patches.xen/add-console-use-vt b/patches.xen/add-console-use-vt
index 830a8becd4..241db027cc 100644
--- a/patches.xen/add-console-use-vt
+++ b/patches.xen/add-console-use-vt
@@ -4,9 +4,9 @@ Patch-mainline: no
$subject says all
---- head-2011-04-13.orig/drivers/tty/tty_io.c 2011-04-13 10:07:02.000000000 +0200
-+++ head-2011-04-13/drivers/tty/tty_io.c 2011-04-13 10:14:25.000000000 +0200
-@@ -139,6 +139,8 @@ EXPORT_SYMBOL(tty_mutex);
+--- head-2011-06-30.orig/drivers/tty/tty_io.c 2011-06-30 15:04:19.000000000 +0200
++++ head-2011-06-30/drivers/tty/tty_io.c 2011-06-30 15:21:13.000000000 +0200
+@@ -137,6 +137,8 @@ EXPORT_SYMBOL(tty_mutex);
/* Spinlock to protect the tty->tty_files list */
DEFINE_SPINLOCK(tty_files_lock);
@@ -15,7 +15,7 @@ $subject says all
static ssize_t tty_read(struct file *, char __user *, size_t, loff_t *);
static ssize_t tty_write(struct file *, const char __user *, size_t, loff_t *);
ssize_t redirected_tty_write(struct file *, const char __user *,
-@@ -1833,7 +1835,7 @@ retry_open:
+@@ -1835,7 +1837,7 @@ retry_open:
goto got_driver;
}
#ifdef CONFIG_VT
@@ -24,7 +24,7 @@ $subject says all
extern struct tty_driver *console_driver;
driver = tty_driver_kref_get(console_driver);
index = fg_console;
-@@ -3312,7 +3314,8 @@ int __init tty_init(void)
+@@ -3327,7 +3329,8 @@ int __init tty_init(void)
WARN_ON(device_create_file(consdev, &dev_attr_active) < 0);
#ifdef CONFIG_VT
@@ -34,8 +34,8 @@ $subject says all
#endif
return 0;
}
---- head-2011-04-13.orig/include/linux/console.h 2011-03-15 02:20:32.000000000 +0100
-+++ head-2011-04-13/include/linux/console.h 2011-01-31 14:30:58.000000000 +0100
+--- head-2011-06-30.orig/include/linux/console.h 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/include/linux/console.h 2011-01-31 14:30:58.000000000 +0100
@@ -73,6 +73,7 @@ extern const struct consw dummy_con; /*
extern const struct consw vga_con; /* VGA text console */
extern const struct consw newport_con; /* SGI Newport console */
diff --git a/patches.xen/ipv6-no-autoconf b/patches.xen/ipv6-no-autoconf
index 870a195acb..02887ede91 100644
--- a/patches.xen/ipv6-no-autoconf
+++ b/patches.xen/ipv6-no-autoconf
@@ -15,9 +15,9 @@ This patch makes autoconf (DAD and router discovery) depend on the
interface's ability to do multicast. Turning off multicast for an
interface before bringing it up will suppress autoconfiguration.
---- head-2011-04-13.orig/net/ipv6/addrconf.c 2011-04-13 10:07:03.000000000 +0200
-+++ head-2011-04-13/net/ipv6/addrconf.c 2011-04-13 10:14:51.000000000 +0200
-@@ -2845,6 +2845,7 @@ static void addrconf_dad_start(struct in
+--- head-2011-06-30.orig/net/ipv6/addrconf.c 2011-06-30 15:04:41.000000000 +0200
++++ head-2011-06-30/net/ipv6/addrconf.c 2011-06-30 15:21:30.000000000 +0200
+@@ -2835,6 +2835,7 @@ static void addrconf_dad_start(struct in
goto out;
if (dev->flags&(IFF_NOARP|IFF_LOOPBACK) ||
@@ -25,7 +25,7 @@ interface before bringing it up will suppress autoconfiguration.
idev->cnf.accept_dad < 1 ||
!(ifp->flags&IFA_F_TENTATIVE) ||
ifp->flags & IFA_F_NODAD) {
-@@ -2948,6 +2949,7 @@ static void addrconf_dad_completed(struc
+@@ -2938,6 +2939,7 @@ static void addrconf_dad_completed(struc
ifp->idev->cnf.forwarding == 2) &&
ifp->idev->cnf.rtr_solicits > 0 &&
(dev->flags&IFF_LOOPBACK) == 0 &&
diff --git a/patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch b/patches.xen/kexec-move-segment-code-i386.patch
index 79914819ae..79914819ae 100644
--- a/patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
+++ b/patches.xen/kexec-move-segment-code-i386.patch
diff --git a/patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch b/patches.xen/kexec-move-segment-code-x86_64.patch
index bbd3780e3d..bbd3780e3d 100644
--- a/patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
+++ b/patches.xen/kexec-move-segment-code-x86_64.patch
diff --git a/patches.xen/pci-guestdev b/patches.xen/pci-guestdev
index b6f8a692a5..946988365b 100644
--- a/patches.xen/pci-guestdev
+++ b/patches.xen/pci-guestdev
@@ -8,8 +8,8 @@ jb: Added support for guestiomuldev=all.
jb: split /dev/xen/pci_iomul driver to be separate (so it can be a module)
Acked-by: jbeulich@novell.com
---- head-2011-05-09.orig/Documentation/kernel-parameters.txt 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/Documentation/kernel-parameters.txt 2011-04-13 10:15:12.000000000 +0200
+--- head-2011-06-30.orig/Documentation/kernel-parameters.txt 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/Documentation/kernel-parameters.txt 2011-06-30 15:22:39.000000000 +0200
@@ -819,6 +819,24 @@ bytes respectively. Such letter suffixes
gpt [EFI] Forces disk with valid GPT signature but
invalid Protective MBR to be treated as GPT.
@@ -35,7 +35,7 @@ Acked-by: jbeulich@novell.com
hashdist= [KNL,NUMA] Large hashes allocated during boot
are distributed across NUMA nodes. Defaults on
for 64bit NUMA, off otherwise.
-@@ -2188,6 +2206,10 @@ bytes respectively. Such letter suffixes
+@@ -2186,6 +2204,10 @@ bytes respectively. Such letter suffixes
Run specified binary instead of /init from the ramdisk,
used for early userspace startup. See initrd.
@@ -46,8 +46,8 @@ Acked-by: jbeulich@novell.com
reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode
Format: <reboot_mode>[,<reboot_mode2>[,...]]
See arch/*/kernel/reboot.c or arch/*/kernel/process.c
---- head-2011-05-09.orig/drivers/acpi/pci_root.c 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/acpi/pci_root.c 2011-04-13 10:15:26.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/pci_root.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/acpi/pci_root.c 2011-06-30 15:22:30.000000000 +0200
@@ -449,6 +449,41 @@ out:
}
EXPORT_SYMBOL(acpi_pci_osc_control_set);
@@ -90,8 +90,8 @@ Acked-by: jbeulich@novell.com
static int __devinit acpi_pci_root_add(struct acpi_device *device)
{
unsigned long long segment, bus;
-@@ -604,6 +639,13 @@ static int __devinit acpi_pci_root_add(s
- }
+@@ -610,6 +645,13 @@ static int __devinit acpi_pci_root_add(s
+ "(_OSC support mask: 0x%02x)\n", flags);
}
+#ifdef CONFIG_PCI_GUESTDEV
@@ -104,7 +104,7 @@ Acked-by: jbeulich@novell.com
pci_acpi_add_bus_pm_notifier(device, root->bus);
if (device->wakeup.flags.run_wake)
device_set_run_wake(root->bus->bridge, true);
-@@ -651,3 +693,31 @@ static int __init acpi_pci_root_init(voi
+@@ -657,3 +699,31 @@ static int __init acpi_pci_root_init(voi
}
subsys_initcall(acpi_pci_root_init);
@@ -136,8 +136,8 @@ Acked-by: jbeulich@novell.com
+ return FALSE;
+}
+#endif
---- head-2011-05-09.orig/drivers/acpi/scan.c 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/acpi/scan.c 2011-05-09 11:37:03.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/scan.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/acpi/scan.c 2011-05-09 11:37:03.000000000 +0200
@@ -175,6 +175,16 @@ acpi_device_hid_show(struct device *dev,
}
static DEVICE_ATTR(hid, 0444, acpi_device_hid_show, NULL);
@@ -191,8 +191,8 @@ Acked-by: jbeulich@novell.com
if (info->valid & ACPI_VALID_ADR) {
device->pnp.bus_address = info->address;
device->flags.bus_address = 1;
---- head-2011-05-09.orig/drivers/pci/Kconfig 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/pci/Kconfig 2011-01-31 14:31:27.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Kconfig 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/pci/Kconfig 2011-01-31 14:31:27.000000000 +0100
@@ -31,6 +31,20 @@ config PCI_DEBUG
When in doubt, say N.
@@ -214,8 +214,8 @@ Acked-by: jbeulich@novell.com
config PCI_STUB
tristate "PCI Stub driver"
depends on PCI
---- head-2011-05-09.orig/drivers/pci/Makefile 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/pci/Makefile 2011-01-31 14:31:28.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Makefile 2011-06-30 15:04:14.000000000 +0200
++++ head-2011-06-30/drivers/pci/Makefile 2011-01-31 14:31:28.000000000 +0100
@@ -7,6 +7,10 @@ obj-y += access.o bus.o probe.o remove.
irq.o vpd.o
obj-$(CONFIG_PROC_FS) += proc.o
@@ -228,7 +228,7 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_PCI_QUIRKS) += quirks.o
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/drivers/pci/guestdev.c 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/drivers/pci/guestdev.c 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1,881 @@
+/*
+ * Copyright (c) 2008, 2009 NEC Corporation.
@@ -1112,7 +1112,7 @@ Acked-by: jbeulich@novell.com
+fs_initcall(pci_check_guestdev_exists);
+
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/drivers/pci/iomulti.c 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/drivers/pci/iomulti.c 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1,897 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -2012,7 +2012,7 @@ Acked-by: jbeulich@novell.com
+late_initcall(pci_iomul_hotplug_init);
+#endif
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/drivers/pci/iomulti.h 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/drivers/pci/iomulti.h 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1,122 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -2136,9 +2136,9 @@ Acked-by: jbeulich@novell.com
+int pci_iomul_switch_io_allocated(const struct pci_iomul_switch *);
+void pci_iomul_get_lock_switch(struct pci_dev *, struct pci_iomul_switch **,
+ struct pci_iomul_slot **);
---- head-2011-05-09.orig/drivers/pci/pci.c 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/pci/pci.c 2011-04-13 10:15:51.000000000 +0200
-@@ -2990,6 +2990,13 @@ resource_size_t pci_specified_resource_a
+--- head-2011-06-30.orig/drivers/pci/pci.c 2011-06-30 15:04:15.000000000 +0200
++++ head-2011-06-30/drivers/pci/pci.c 2011-06-30 15:22:15.000000000 +0200
+@@ -3402,6 +3402,13 @@ resource_size_t pci_specified_resource_a
*/
int pci_is_reassigndev(struct pci_dev *dev)
{
@@ -2152,9 +2152,9 @@ Acked-by: jbeulich@novell.com
return (pci_specified_resource_alignment(dev) != 0);
}
---- head-2011-05-09.orig/drivers/pci/pci.h 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/drivers/pci/pci.h 2011-01-31 14:31:28.000000000 +0100
-@@ -350,4 +350,11 @@ static inline int pci_dev_specific_reset
+--- head-2011-06-30.orig/drivers/pci/pci.h 2011-06-30 15:04:15.000000000 +0200
++++ head-2011-06-30/drivers/pci/pci.h 2011-06-30 15:22:12.000000000 +0200
+@@ -312,4 +312,11 @@ static inline int pci_dev_specific_reset
}
#endif
@@ -2167,7 +2167,7 @@ Acked-by: jbeulich@novell.com
+
#endif /* DRIVERS_PCI_H */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/drivers/pci/pci-iomul.c 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/drivers/pci/pci-iomul.c 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1,437 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -2606,9 +2606,9 @@ Acked-by: jbeulich@novell.com
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Isaku Yamahata <yamahata@valinux.co.jp>");
+MODULE_DESCRIPTION("PCI IO space multiplexing driver");
---- head-2011-05-09.orig/include/linux/acpi.h 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/include/linux/acpi.h 2011-01-31 14:31:28.000000000 +0100
-@@ -248,6 +248,8 @@ int acpi_check_region(resource_size_t st
+--- head-2011-06-30.orig/include/linux/acpi.h 2011-06-30 15:04:23.000000000 +0200
++++ head-2011-06-30/include/linux/acpi.h 2011-06-30 15:21:54.000000000 +0200
+@@ -247,6 +247,8 @@ int acpi_check_region(resource_size_t st
int acpi_resources_are_enforced(void);
@@ -2617,9 +2617,9 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_PM_SLEEP
void __init acpi_no_s4_hw_signature(void);
void __init acpi_old_suspend_ordering(void);
---- head-2011-05-09.orig/include/linux/pci.h 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/include/linux/pci.h 2011-04-13 10:16:02.000000000 +0200
-@@ -1543,5 +1543,11 @@ int pci_vpd_find_tag(const u8 *buf, unsi
+--- head-2011-06-30.orig/include/linux/pci.h 2011-06-30 15:04:25.000000000 +0200
++++ head-2011-06-30/include/linux/pci.h 2011-06-30 15:21:48.000000000 +0200
+@@ -1589,5 +1589,11 @@ int pci_vpd_find_tag(const u8 *buf, unsi
int pci_vpd_find_info_keyword(const u8 *buf, unsigned int off,
unsigned int len, const char *kw);
@@ -2631,18 +2631,18 @@ Acked-by: jbeulich@novell.com
+
#endif /* __KERNEL__ */
#endif /* LINUX_PCI_H */
---- head-2011-05-09.orig/include/xen/Kbuild 2011-05-09 11:36:27.000000000 +0200
-+++ head-2011-05-09/include/xen/Kbuild 2011-01-31 14:31:28.000000000 +0100
+--- head-2011-06-30.orig/include/xen/Kbuild 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/include/xen/Kbuild 2011-01-31 14:31:28.000000000 +0100
@@ -1,2 +1,3 @@
header-y += evtchn.h
header-y += privcmd.h
+header-y += public/
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/include/xen/public/Kbuild 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/include/xen/public/Kbuild 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1 @@
+header-y += iomulti.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/include/xen/public/iomulti.h 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/include/xen/public/iomulti.h 2011-01-31 14:31:28.000000000 +0100
@@ -0,0 +1,50 @@
+#ifndef __LINUX_PUBLIC_IOMULTI_H__
+#define __LINUX_PUBLIC_IOMULTI_H__
diff --git a/patches.xen/pci-reserve b/patches.xen/pci-reserve
index 0269580724..d6a83b2734 100644
--- a/patches.xen/pci-reserve
+++ b/patches.xen/pci-reserve
@@ -8,9 +8,9 @@ by PCI hotplug.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Acked-by: jbeulich@novell.com
---- head-2011-05-23.orig/Documentation/kernel-parameters.txt 2011-04-13 10:15:12.000000000 +0200
-+++ head-2011-05-23/Documentation/kernel-parameters.txt 2011-04-13 10:40:17.000000000 +0200
-@@ -2036,6 +2036,13 @@ bytes respectively. Such letter suffixes
+--- head-2011-06-30.orig/Documentation/kernel-parameters.txt 2011-06-30 15:22:39.000000000 +0200
++++ head-2011-06-30/Documentation/kernel-parameters.txt 2011-06-30 15:22:45.000000000 +0200
+@@ -2034,6 +2034,13 @@ bytes respectively. Such letter suffixes
off: Turn ECRC off
on: Turn ECRC on.
@@ -24,8 +24,8 @@ Acked-by: jbeulich@novell.com
pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
Management.
off Disable ASPM.
---- head-2011-05-23.orig/drivers/pci/Kconfig 2011-01-31 14:31:27.000000000 +0100
-+++ head-2011-05-23/drivers/pci/Kconfig 2011-01-31 14:32:40.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Kconfig 2011-01-31 14:31:27.000000000 +0100
++++ head-2011-06-30/drivers/pci/Kconfig 2011-01-31 14:32:40.000000000 +0100
@@ -45,6 +45,13 @@ config PCI_IOMULTI
help
Say Y here if you need io multiplexing.
@@ -40,8 +40,8 @@ Acked-by: jbeulich@novell.com
config PCI_STUB
tristate "PCI Stub driver"
depends on PCI
---- head-2011-05-23.orig/drivers/pci/Makefile 2011-01-31 14:31:28.000000000 +0100
-+++ head-2011-05-23/drivers/pci/Makefile 2011-01-31 14:32:40.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Makefile 2011-01-31 14:31:28.000000000 +0100
++++ head-2011-06-30/drivers/pci/Makefile 2011-01-31 14:32:40.000000000 +0100
@@ -11,6 +11,7 @@ obj-$(CONFIG_PCI_GUESTDEV) += guestdev.o
obj-$(CONFIG_PCI_IOMULTI) += pci-iomul.o
iomul-$(CONFIG_PCI_IOMULTI) := iomulti.o
@@ -50,9 +50,9 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_PCI_QUIRKS) += quirks.o
---- head-2011-05-23.orig/drivers/pci/pci.h 2011-01-31 14:31:28.000000000 +0100
-+++ head-2011-05-23/drivers/pci/pci.h 2011-01-31 14:32:40.000000000 +0100
-@@ -357,4 +357,19 @@ extern int pci_is_iomuldev(struct pci_de
+--- head-2011-06-30.orig/drivers/pci/pci.h 2011-06-30 15:22:12.000000000 +0200
++++ head-2011-06-30/drivers/pci/pci.h 2011-06-30 15:22:59.000000000 +0200
+@@ -319,4 +319,19 @@ extern int pci_is_iomuldev(struct pci_de
#define pci_is_iomuldev(dev) 0
#endif
@@ -73,7 +73,7 @@ Acked-by: jbeulich@novell.com
+
#endif /* DRIVERS_PCI_H */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/drivers/pci/reserve.c 2011-01-31 14:32:40.000000000 +0100
++++ head-2011-06-30/drivers/pci/reserve.c 2011-01-31 14:32:40.000000000 +0100
@@ -0,0 +1,137 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -212,8 +212,8 @@ Acked-by: jbeulich@novell.com
+ return 1;
+}
+__setup("pci_reserve=", pci_reserve_setup);
---- head-2011-05-23.orig/drivers/pci/setup-bus.c 2011-05-23 10:35:53.000000000 +0200
-+++ head-2011-05-23/drivers/pci/setup-bus.c 2011-05-23 10:39:28.000000000 +0200
+--- head-2011-06-30.orig/drivers/pci/setup-bus.c 2011-06-30 15:04:15.000000000 +0200
++++ head-2011-06-30/drivers/pci/setup-bus.c 2011-05-23 10:39:28.000000000 +0200
@@ -554,7 +554,7 @@ static void pbus_size_io(struct pci_bus
{
struct pci_dev *dev;
diff --git a/patches.xen/tmem b/patches.xen/tmem
deleted file mode 100644
index 2a425c845e..0000000000
--- a/patches.xen/tmem
+++ /dev/null
@@ -1,1479 +0,0 @@
-Subject: Transcendent memory ("tmem") for Linux
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 908:baeb818cd2dc)
-Patch-mainline: n/a
-
-Tmem, when called from a tmem-capable (paravirtualized) guest, makes
-use of otherwise unutilized ("fallow") memory to create and manage
-pools of pages that can be accessed from the guest either as
-"ephemeral" pages or as "persistent" pages. In either case, the pages
-are not directly addressible by the guest, only copied to and fro via
-the tmem interface. Ephemeral pages are a nice place for a guest to
-put recently evicted clean pages that it might need again; these pages
-can be reclaimed synchronously by Xen for other guests or other uses.
-Persistent pages are a nice place for a guest to put "swap" pages to
-avoid sending them to disk. These pages retain data as long as the
-guest lives, but count against the guest memory allocation.
-
-This patch contains the Linux paravirtualization changes to
-complement the tmem Xen patch (xen-unstable c/s 19646). It
-implements "precache" (ext3 only as of now), "preswap",
-and limited "shared precache" (ocfs2 only as of now) support.
-CONFIG options are required to turn on
-the support (but in this patch they default to "y"). If
-the underlying Xen does not have tmem support or has it
-turned off, this is sensed early to avoid nearly all
-hypercalls.
-
-Lots of useful prose about tmem can be found at
-http://oss.oracle.com/projects/tmem
-
-Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
-[jb: updated to v1 interface version]
-Acked-by: jbeulich@novell.com
-
-Index: linux-2.6.39-master/Documentation/transcendent-memory.txt
-===================================================================
---- /dev/null
-+++ linux-2.6.39-master/Documentation/transcendent-memory.txt
-@@ -0,0 +1,176 @@
-+Normal memory is directly addressable by the kernel, of a known
-+normally-fixed size, synchronously accessible, and persistent (though
-+not across a reboot).
-+
-+What if there was a class of memory that is of unknown and dynamically
-+variable size, is addressable only indirectly by the kernel, can be
-+configured either as persistent or as "ephemeral" (meaning it will be
-+around for awhile, but might disappear without warning), and is still
-+fast enough to be synchronously accessible?
-+
-+We call this latter class "transcendent memory" and it provides an
-+interesting opportunity to more efficiently utilize RAM in a virtualized
-+environment. However this "memory but not really memory" may also have
-+applications in NON-virtualized environments, such as hotplug-memory
-+deletion, SSDs, and page cache compression. Others have suggested ideas
-+such as allowing use of highmem memory without a highmem kernel, or use
-+of spare video memory.
-+
-+Transcendent memory, or "tmem" for short, provides a well-defined API to
-+access this unusual class of memory. (A summary of the API is provided
-+below.) The basic operations are page-copy-based and use a flexible
-+object-oriented addressing mechanism. Tmem assumes that some "privileged
-+entity" is capable of executing tmem requests and storing pages of data;
-+this entity is currently a hypervisor and operations are performed via
-+hypercalls, but the entity could be a kernel policy, or perhaps a
-+"memory node" in a cluster of blades connected by a high-speed
-+interconnect such as hypertransport or QPI.
-+
-+Since tmem is not directly accessible and because page copying is done
-+to/from physical pageframes, it more suitable for in-kernel memory needs
-+than for userland applications. However, there may be yet undiscovered
-+userland possibilities.
-+
-+With the tmem concept outlined vaguely and its broader potential hinted,
-+we will overview two existing examples of how tmem can be used by the
-+kernel.
-+
-+"Cleancache" can be thought of as a page-granularity victim cache for clean
-+pages that the kernel's pageframe replacement algorithm (PFRA) would like
-+to keep around, but can't since there isn't enough memory. So when the
-+PFRA "evicts" a page, it first puts it into the cleancache via a call to
-+tmem. And any time a filesystem reads a page from disk, it first attempts
-+to get the page from cleancache. If it's there, a disk access is eliminated.
-+If not, the filesystem just goes to the disk like normal. Cleancache is
-+"ephemeral" so whether a page is kept in cleancache (between the "put" and
-+the "get") is dependent on a number of factors that are invisible to
-+the kernel.
-+
-+"Frontswap" is so named because it can be thought of as the opposite of
-+a "backing store". Frontswap IS persistent, but for various reasons may not
-+always be available for use, again due to factors that may not be visible to
-+the kernel. (But, briefly, if the kernel is being "good" and has shared its
-+resources nicely, then it will be able to use frontswap, else it will not.)
-+Once a page is put, a get on the page will always succeed. So when the
-+kernel finds itself in a situation where it needs to swap out a page, it
-+first attempts to use frontswap. If the put works, a disk write and
-+(usually) a disk read are avoided. If it doesn't, the page is written
-+to swap as usual. Unlike cleancache, whether a page is stored in frontswap
-+vs swap is recorded in kernel data structures, so when a page needs to
-+be fetched, the kernel does a get if it is in frontswap and reads from
-+swap if it is not in frontswap.
-+
-+Both cleancache and frontswap may be optionally compressed, trading off 2x
-+space reduction vs 10x performance for access. Cleancache also has a
-+sharing feature, which allows different nodes in a "virtual cluster"
-+to share a local page cache.
-+
-+Tmem has some similarity to IBM's Collaborative Memory Management, but
-+creates more of a partnership between the kernel and the "privileged
-+entity" and is not very invasive. Tmem may be applicable for KVM and
-+containers; there is some disagreement on the extent of its value.
-+Tmem is highly complementary to ballooning (aka page granularity hot
-+plug) and memory deduplication (aka transparent content-based page
-+sharing) but still has value when neither are present.
-+
-+Performance is difficult to quantify because some benchmarks respond
-+very favorably to increases in memory and tmem may do quite well on
-+those, depending on how much tmem is available which may vary widely
-+and dynamically, depending on conditions completely outside of the
-+system being measured. Ideas on how best to provide useful metrics
-+would be appreciated.
-+
-+Tmem is supported starting in Xen 4.0 and is in Xen's Linux 2.6.18-xen
-+source tree. It is also released as a technology preview in Oracle's
-+Xen-based virtualization product, Oracle VM 2.2. Again, Xen is not
-+necessarily a requirement, but currently provides the only existing
-+implementation of tmem.
-+
-+Lots more information about tmem can be found at:
-+ http://oss.oracle.com/projects/tmem
-+and there was a talk about it on the first day of Linux Symposium in
-+July 2009; an updated talk is planned at linux.conf.au in January 2010.
-+Tmem is the result of a group effort, including Dan Magenheimer,
-+Chris Mason, Dave McCracken, Kurt Hackel and Zhigang Wang, with helpful
-+input from Jeremy Fitzhardinge, Keir Fraser, Ian Pratt, Sunil Mushran,
-+Joel Becker, and Jan Beulich.
-+
-+THE TRANSCENDENT MEMORY API
-+
-+Transcendent memory is made up of a set of pools. Each pool is made
-+up of a set of objects. And each object contains a set of pages.
-+The combination of a 32-bit pool id, a 64-bit object id, and a 32-bit
-+page id, uniquely identify a page of tmem data, and this tuple is called
-+a "handle." Commonly, the three parts of a handle are used to address
-+a filesystem, a file within that filesystem, and a page within that file;
-+however an OS can use any values as long as they uniquely identify
-+a page of data.
-+
-+When a tmem pool is created, it is given certain attributes: It can
-+be private or shared, and it can be persistent or ephemeral. Each
-+combination of these attributes provides a different set of useful
-+functionality and also defines a slightly different set of semantics
-+for the various operations on the pool. Other pool attributes include
-+the size of the page and a version number.
-+
-+Once a pool is created, operations are performed on the pool. Pages
-+are copied between the OS and tmem and are addressed using a handle.
-+Pages and/or objects may also be flushed from the pool. When all
-+operations are completed, a pool can be destroyed.
-+
-+The specific tmem functions are called in Linux through a set of
-+accessor functions:
-+
-+int (*new_pool)(struct tmem_pool_uuid uuid, u32 flags);
-+int (*destroy_pool)(u32 pool_id);
-+int (*put_page)(u32 pool_id, u64 object, u32 index, unsigned long pfn);
-+int (*get_page)(u32 pool_id, u64 object, u32 index, unsigned long pfn);
-+int (*flush_page)(u32 pool_id, u64 object, u32 index);
-+int (*flush_object)(u32 pool_id, u64 object);
-+
-+The new_pool accessor creates a new pool and returns a pool id
-+which is a non-negative 32-bit integer. If the flags parameter
-+specifies that the pool is to be shared, the uuid is a 128-bit "shared
-+secret" else it is ignored. The destroy_pool accessor destroys the pool.
-+(Note: shared pools are not supported until security implications
-+are better understood.)
-+
-+The put_page accessor copies a page of data from the specified pageframe
-+and associates it with the specified handle.
-+
-+The get_page accessor looks up a page of data in tmem associated with
-+the specified handle and, if found, copies it to the specified pageframe.
-+
-+The flush_page accessor ensures that subsequent gets of a page with
-+the specified handle will fail. The flush_object accessor ensures
-+that subsequent gets of any page matching the pool id and object
-+will fail.
-+
-+There are many subtle but critical behaviors for get_page and put_page:
-+- Any put_page (with one notable exception) may be rejected and the client
-+ must be prepared to deal with that failure. A put_page copies, NOT moves,
-+ data; that is the data exists in both places. Linux is responsible for
-+ destroying or overwriting its own copy, or alternately managing any
-+ coherency between the copies.
-+- Every page successfully put to a persistent pool must be found by a
-+ subsequent get_page that specifies the same handle. A page successfully
-+ put to an ephemeral pool has an indeterminate lifetime and even an
-+ immediately subsequent get_page may fail.
-+- A get_page to a private pool is destructive, that is it behaves as if
-+ the get_page were atomically followed by a flush_page. A get_page
-+ to a shared pool is non-destructive. A flush_page behaves just like
-+ a get_page to a private pool except the data is thrown away.
-+- Put-put-get coherency is guaranteed. For example, after the sequence:
-+ put_page(ABC,D1);
-+ put_page(ABC,D2);
-+ get_page(ABC,E)
-+ E may never contain the data from D1. However, even for a persistent
-+ pool, the get_page may fail if the second put_page indicates failure.
-+- Get-get coherency is guaranteed. For example, in the sequence:
-+ put_page(ABC,D);
-+ get_page(ABC,E1);
-+ get_page(ABC,E2)
-+ if the first get_page fails, the second must also fail.
-+- A tmem implementation provides no serialization guarantees (e.g. to
-+ an SMP Linux). So if different Linux threads are putting and flushing
-+ the same page, the results are indeterminate.
-Index: linux-2.6.39-master/fs/btrfs/extent_io.c
-===================================================================
---- linux-2.6.39-master.orig/fs/btrfs/extent_io.c
-+++ linux-2.6.39-master/fs/btrfs/extent_io.c
-@@ -10,6 +10,7 @@
- #include <linux/swap.h>
- #include <linux/writeback.h>
- #include <linux/pagevec.h>
-+#include <linux/precache.h>
- #include "extent_io.h"
- #include "extent_map.h"
- #include "compat.h"
-@@ -2015,6 +2016,13 @@ static int __extent_read_full_page(struc
-
- set_page_extent_mapped(page);
-
-+ if (!PageUptodate(page)) {
-+ if (precache_get(page->mapping, page->index, page) == 1) {
-+ BUG_ON(blocksize != PAGE_SIZE);
-+ goto out;
-+ }
-+ }
-+
- end = page_end;
- while (1) {
- lock_extent(tree, start, end, GFP_NOFS);
-@@ -2148,6 +2156,7 @@ static int __extent_read_full_page(struc
- cur = cur + iosize;
- page_offset += iosize;
- }
-+out:
- if (!nr) {
- if (!PageError(page))
- SetPageUptodate(page);
-Index: linux-2.6.39-master/fs/btrfs/super.c
-===================================================================
---- linux-2.6.39-master.orig/fs/btrfs/super.c
-+++ linux-2.6.39-master/fs/btrfs/super.c
-@@ -39,6 +39,7 @@
- #include <linux/miscdevice.h>
- #include <linux/magic.h>
- #include <linux/slab.h>
-+#include <linux/precache.h>
- #include "compat.h"
- #include "ctree.h"
- #include "disk-io.h"
-@@ -624,6 +625,7 @@ static int btrfs_fill_super(struct super
- sb->s_root = root_dentry;
-
- save_mount_options(sb, data);
-+ precache_init(sb);
- return 0;
-
- fail_close:
-Index: linux-2.6.39-master/fs/buffer.c
-===================================================================
---- linux-2.6.39-master.orig/fs/buffer.c
-+++ linux-2.6.39-master/fs/buffer.c
-@@ -41,6 +41,7 @@
- #include <linux/bitops.h>
- #include <linux/mpage.h>
- #include <linux/bit_spinlock.h>
-+#include <linux/precache.h>
-
- static int fsync_buffers_list(spinlock_t *lock, struct list_head *list);
-
-@@ -269,6 +270,11 @@ void invalidate_bdev(struct block_device
- invalidate_bh_lrus();
- lru_add_drain_all(); /* make sure all lru add caches are flushed */
- invalidate_mapping_pages(mapping, 0, -1);
-+
-+ /* 99% of the time, we don't need to flush the precache on the bdev.
-+ * But, for the strange corners, lets be cautious
-+ */
-+ precache_flush_inode(mapping);
- }
- EXPORT_SYMBOL(invalidate_bdev);
-
-Index: linux-2.6.39-master/fs/ext3/super.c
-===================================================================
---- linux-2.6.39-master.orig/fs/ext3/super.c
-+++ linux-2.6.39-master/fs/ext3/super.c
-@@ -36,6 +36,7 @@
- #include <linux/quotaops.h>
- #include <linux/seq_file.h>
- #include <linux/log2.h>
-+#include <linux/precache.h>
-
- #include <asm/uaccess.h>
-
-@@ -1367,6 +1368,7 @@ static int ext3_setup_super(struct super
- } else {
- ext3_msg(sb, KERN_INFO, "using internal journal");
- }
-+ precache_init(sb);
- return res;
- }
-
-Index: linux-2.6.39-master/fs/ext4/super.c
-===================================================================
---- linux-2.6.39-master.orig/fs/ext4/super.c
-+++ linux-2.6.39-master/fs/ext4/super.c
-@@ -38,6 +38,7 @@
- #include <linux/ctype.h>
- #include <linux/log2.h>
- #include <linux/crc16.h>
-+#include <linux/precache.h>
- #include <asm/uaccess.h>
-
- #include <linux/kthread.h>
-@@ -1955,6 +1956,8 @@ static int ext4_setup_super(struct super
- EXT4_INODES_PER_GROUP(sb),
- sbi->s_mount_opt, sbi->s_mount_opt2);
-
-+ precache_init(sb);
-+
- return res;
- }
-
-Index: linux-2.6.39-master/fs/mpage.c
-===================================================================
---- linux-2.6.39-master.orig/fs/mpage.c
-+++ linux-2.6.39-master/fs/mpage.c
-@@ -27,6 +27,7 @@
- #include <linux/writeback.h>
- #include <linux/backing-dev.h>
- #include <linux/pagevec.h>
-+#include <linux/precache.h>
-
- /*
- * I/O completion handler for multipage BIOs.
-@@ -271,6 +272,12 @@ do_mpage_readpage(struct bio *bio, struc
- SetPageMappedToDisk(page);
- }
-
-+ if (fully_mapped && blocks_per_page == 1 && !PageUptodate(page) &&
-+ precache_get(page->mapping, page->index, page) == 1) {
-+ SetPageUptodate(page);
-+ goto confused;
-+ }
-+
- /*
- * This page will go to BIO. Do we need to send this BIO off first?
- */
-Index: linux-2.6.39-master/fs/ocfs2/super.c
-===================================================================
---- linux-2.6.39-master.orig/fs/ocfs2/super.c
-+++ linux-2.6.39-master/fs/ocfs2/super.c
-@@ -41,6 +41,7 @@
- #include <linux/mount.h>
- #include <linux/seq_file.h>
- #include <linux/quotaops.h>
-+#include <linux/precache.h>
-
- #define CREATE_TRACE_POINTS
- #include "ocfs2_trace.h"
-@@ -2352,6 +2353,7 @@ static int ocfs2_initialize_super(struct
- mlog_errno(status);
- goto bail;
- }
-+ shared_precache_init(sb, &di->id2.i_super.s_uuid[0]);
-
- bail:
- return status;
-Index: linux-2.6.39-master/fs/super.c
-===================================================================
---- linux-2.6.39-master.orig/fs/super.c
-+++ linux-2.6.39-master/fs/super.c
-@@ -31,6 +31,7 @@
- #include <linux/mutex.h>
- #include <linux/backing-dev.h>
- #include <linux/rculist_bl.h>
-+#include <linux/precache.h>
- #include "internal.h"
-
-
-@@ -112,6 +113,9 @@ static struct super_block *alloc_super(s
- s->s_maxbytes = MAX_NON_LFS;
- s->s_op = &default_op;
- s->s_time_gran = 1000000000;
-+#ifdef CONFIG_PRECACHE
-+ s->precache_poolid = -1;
-+#endif
- }
- out:
- return s;
-@@ -183,6 +187,7 @@ void deactivate_locked_super(struct supe
- * inodes are flushed before we release the fs module.
- */
- rcu_barrier();
-+ precache_flush_filesystem(s);
- put_filesystem(fs);
- put_super(s);
- } else {
-Index: linux-2.6.39-master/include/linux/fs.h
-===================================================================
---- linux-2.6.39-master.orig/include/linux/fs.h
-+++ linux-2.6.39-master/include/linux/fs.h
-@@ -1418,6 +1418,9 @@ struct super_block {
- /* Granularity of c/m/atime in ns.
- Cannot be worse than a second */
- u32 s_time_gran;
-+#ifdef CONFIG_PRECACHE
-+ u32 precache_poolid;
-+#endif
-
- /*
- * The next field is for VFS *only*. No filesystems have any business
-Index: linux-2.6.39-master/include/linux/precache.h
-===================================================================
---- /dev/null
-+++ linux-2.6.39-master/include/linux/precache.h
-@@ -0,0 +1,55 @@
-+#ifndef _LINUX_PRECACHE_H
-+
-+#include <linux/fs.h>
-+#include <linux/mm.h>
-+
-+#ifdef CONFIG_PRECACHE
-+extern void precache_init(struct super_block *sb);
-+extern void shared_precache_init(struct super_block *sb, char *uuid);
-+extern int precache_get(struct address_space *mapping, unsigned long index,
-+ struct page *empty_page);
-+extern int precache_put(struct address_space *mapping, unsigned long index,
-+ struct page *page);
-+extern int precache_flush(struct address_space *mapping, unsigned long index);
-+extern int precache_flush_inode(struct address_space *mapping);
-+extern int precache_flush_filesystem(struct super_block *s);
-+#else
-+static inline void precache_init(struct super_block *sb)
-+{
-+}
-+
-+static inline void shared_precache_init(struct super_block *sb, char *uuid)
-+{
-+}
-+
-+static inline int precache_get(struct address_space *mapping,
-+ unsigned long index, struct page *empty_page)
-+{
-+ return 0;
-+}
-+
-+static inline int precache_put(struct address_space *mapping,
-+ unsigned long index, struct page *page)
-+{
-+ return 0;
-+}
-+
-+static inline int precache_flush(struct address_space *mapping,
-+ unsigned long index)
-+{
-+ return 0;
-+}
-+
-+static inline int precache_flush_inode(struct address_space *mapping)
-+{
-+ return 0;
-+}
-+
-+static inline int precache_flush_filesystem(struct super_block *s)
-+{
-+ return 0;
-+}
-+#endif
-+
-+#define _LINUX_PRECACHE_H
-+#endif /* _LINUX_PRECACHE_H */
-Index: linux-2.6.39-master/include/linux/swap.h
-===================================================================
---- linux-2.6.39-master.orig/include/linux/swap.h
-+++ linux-2.6.39-master/include/linux/swap.h
-@@ -194,8 +194,61 @@ struct swap_info_struct {
- struct block_device *bdev; /* swap device or bdev of swap file */
- struct file *swap_file; /* seldom referenced */
- unsigned int old_block_size; /* seldom referenced */
-+#ifdef CONFIG_PRESWAP
-+ unsigned long *preswap_map;
-+ unsigned int preswap_pages;
-+#endif
- };
-
-+#ifdef CONFIG_PRESWAP
-+
-+#include <linux/sysctl.h>
-+extern int preswap_sysctl_handler(struct ctl_table *, int, void __user *,
-+ size_t *, loff_t *);
-+extern const unsigned long preswap_zero, preswap_infinity;
-+
-+extern struct swap_info_struct *get_swap_info_struct(unsigned int type);
-+
-+extern void preswap_shrink(unsigned long);
-+extern int preswap_test(struct swap_info_struct *, unsigned long);
-+extern void preswap_init(unsigned);
-+extern int preswap_put(struct page *);
-+extern int preswap_get(struct page *);
-+extern void preswap_flush(unsigned, unsigned long);
-+extern void preswap_flush_area(unsigned);
-+#else
-+static inline void preswap_shrink(unsigned long target_pages)
-+{
-+}
-+
-+static inline int preswap_test(struct swap_info_struct *sis, unsigned long offset)
-+{
-+ return 0;
-+}
-+
-+static inline void preswap_init(unsigned type)
-+{
-+}
-+
-+static inline int preswap_put(struct page *page)
-+{
-+ return 0;
-+}
-+
-+static inline int preswap_get(struct page *get)
-+{
-+ return 0;
-+}
-+
-+static inline void preswap_flush(unsigned type, unsigned long offset)
-+{
-+}
-+
-+static inline void preswap_flush_area(unsigned type)
-+{
-+}
-+#endif /* CONFIG_PRESWAP */
-+
- struct swap_list_t {
- int head; /* head of priority-ordered swapfile list */
- int next; /* swapfile to be used next */
-Index: linux-2.6.39-master/kernel/sysctl.c
-===================================================================
---- linux-2.6.39-master.orig/kernel/sysctl.c
-+++ linux-2.6.39-master/kernel/sysctl.c
-@@ -1332,6 +1332,17 @@ static struct ctl_table vm_table[] = {
- .mode = 0644,
- .proc_handler = scan_unevictable_handler,
- },
-+#ifdef CONFIG_PRESWAP
-+ {
-+ .procname = "preswap",
-+ .data = NULL,
-+ .maxlen = sizeof(unsigned long),
-+ .mode = 0644,
-+ .proc_handler = preswap_sysctl_handler,
-+ .extra1 = (void *)&preswap_zero,
-+ .extra2 = (void *)&preswap_infinity,
-+ },
-+#endif
- #ifdef CONFIG_MEMORY_FAILURE
- {
- .procname = "memory_failure_early_kill",
-Index: linux-2.6.39-master/mm/Kconfig
-===================================================================
---- linux-2.6.39-master.orig/mm/Kconfig
-+++ linux-2.6.39-master/mm/Kconfig
-@@ -347,3 +347,31 @@ config NEED_PER_CPU_KM
- depends on !SMP
- bool
- default y
-+
-+#
-+# support for transcendent memory
-+#
-+config TMEM
-+ bool
-+ help
-+ In a virtualized environment, allows unused and underutilized
-+ system physical memory to be made accessible through a narrow
-+ well-defined page-copy-based API. If unsure, say Y.
-+
-+config PRECACHE
-+ bool "Cache clean pages in transcendent memory"
-+ depends on XEN
-+ select TMEM
-+ help
-+ Allows the transcendent memory pool to be used to store clean
-+ page-cache pages which, under some circumstances, will greatly
-+ reduce paging and thus improve performance. If unsure, say Y.
-+
-+config PRESWAP
-+ bool "Swap pages to transcendent memory"
-+ depends on XEN
-+ select TMEM
-+ help
-+ Allows the transcendent memory pool to be used as a pseudo-swap
-+ device which, under some circumstances, will greatly reduce
-+ swapping and thus improve performance. If unsure, say Y.
-Index: linux-2.6.39-master/mm/Makefile
-===================================================================
---- linux-2.6.39-master.orig/mm/Makefile
-+++ linux-2.6.39-master/mm/Makefile
-@@ -25,6 +25,9 @@ obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.
-
- obj-$(CONFIG_BOUNCE) += bounce.o
- obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o thrash.o
-+obj-$(CONFIG_TMEM) += tmem.o
-+obj-$(CONFIG_PRESWAP) += preswap.o
-+obj-$(CONFIG_PRECACHE) += precache.o
- obj-$(CONFIG_HAS_DMA) += dmapool.o
- obj-$(CONFIG_HUGETLBFS) += hugetlb.o
- obj-$(CONFIG_NUMA) += mempolicy.o
-Index: linux-2.6.39-master/mm/filemap.c
-===================================================================
---- linux-2.6.39-master.orig/mm/filemap.c
-+++ linux-2.6.39-master/mm/filemap.c
-@@ -33,6 +33,7 @@
- #include <linux/cpuset.h>
- #include <linux/hardirq.h> /* for BUG_ON(!in_atomic()) only */
- #include <linux/memcontrol.h>
-+#include <linux/precache.h>
- #include <linux/mm_inline.h> /* for page_is_file_cache() */
- #include "internal.h"
-
-@@ -118,6 +119,16 @@ void __delete_from_page_cache(struct pag
- {
- struct address_space *mapping = page->mapping;
-
-+ /*
-+ * if we're uptodate, flush out into the precache, otherwise
-+ * invalidate any existing precache entries. We can't leave
-+ * stale data around in the precache once our page is gone
-+ */
-+ if (PageUptodate(page) && PageMappedToDisk(page))
-+ precache_put(mapping, page->index, page);
-+ else
-+ precache_flush(mapping, page->index);
-+
- radix_tree_delete(&mapping->page_tree, page->index);
- page->mapping = NULL;
- mapping->nrpages--;
-Index: linux-2.6.39-master/mm/page_io.c
-===================================================================
---- linux-2.6.39-master.orig/mm/page_io.c
-+++ linux-2.6.39-master/mm/page_io.c
-@@ -98,6 +98,14 @@ int swap_writepage(struct page *page, st
- unlock_page(page);
- goto out;
- }
-+
-+ if (preswap_put(page) == 1) {
-+ set_page_writeback(page);
-+ unlock_page(page);
-+ end_page_writeback(page);
-+ goto out;
-+ }
-+
- bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
- if (bio == NULL) {
- set_page_dirty(page);
-@@ -122,6 +130,13 @@ int swap_readpage(struct page *page)
-
- VM_BUG_ON(!PageLocked(page));
- VM_BUG_ON(PageUptodate(page));
-+
-+ if (preswap_get(page) == 1) {
-+ SetPageUptodate(page);
-+ unlock_page(page);
-+ goto out;
-+ }
-+
- bio = get_swap_bio(GFP_KERNEL, page, end_swap_bio_read);
- if (bio == NULL) {
- unlock_page(page);
-Index: linux-2.6.39-master/mm/precache.c
-===================================================================
---- /dev/null
-+++ linux-2.6.39-master/mm/precache.c
-@@ -0,0 +1,179 @@
-+/*
-+ * linux/mm/precache.c
-+ *
-+ * Implements "precache" for filesystems/pagecache on top of transcendent
-+ * memory ("tmem") API. A filesystem creates an "ephemeral tmem pool"
-+ * and retains the returned pool_id in its superblock. Clean pages evicted
-+ * from pagecache may be "put" into the pool and associated with a "handle"
-+ * consisting of the pool_id, an object (inode) id, and an index (page offset).
-+ * Note that the page is copied to tmem; no kernel mappings are changed.
-+ * If the page is later needed, the filesystem (or VFS) issues a "get", passing
-+ * the same handle and an empty pageframe. If successful, the page is copied
-+ * into the pageframe and a disk read is avoided. But since the tmem pool
-+ * is of indeterminate size, a "put" page has indeterminate longevity
-+ * ("ephemeral"), and the "get" may fail, in which case the filesystem must
-+ * read the page from disk as before. Note that the filesystem/pagecache are
-+ * responsible for maintaining coherency between the pagecache, precache,
-+ * and the disk, for which "flush page" and "flush object" actions are
-+ * provided. And when a filesystem is unmounted, it must "destroy" the pool.
-+ *
-+ * Two types of pools may be created for a precache: "private" or "shared".
-+ * For a private pool, a successful "get" always flushes, implementing
-+ * exclusive semantics; for a "shared" pool (which is intended for use by
-+ * co-resident nodes of a cluster filesystem), the "flush" is not guaranteed.
-+ * In either case, a failed "duplicate" put (overwrite) always guarantee
-+ * the old data is flushed.
-+ *
-+ * Note also that multiple accesses to a tmem pool may be concurrent and any
-+ * ordering must be guaranteed by the caller.
-+ *
-+ * Copyright (C) 2008,2009 Dan Magenheimer, Oracle Corp.
-+ */
-+
-+#include <linux/precache.h>
-+#include <linux/exportfs.h>
-+#include <linux/module.h>
-+#include "tmem.h"
-+
-+static int precache_auto_allocate; /* set to 1 to auto_allocate */
-+
-+union precache_filekey {
-+ struct tmem_oid oid;
-+ u32 fh[0];
-+};
-+
-+/*
-+ * If the filesystem uses exportable filehandles, use the filehandle as
-+ * the key, else use the inode number.
-+ */
-+static int precache_get_key(struct inode *inode, union precache_filekey *key)
-+{
-+#define PRECACHE_KEY_MAX (sizeof(key->oid) / sizeof(*key->fh))
-+ struct super_block *sb = inode->i_sb;
-+
-+ memset(key, 0, sizeof(key));
-+ if (sb->s_export_op) {
-+ int (*fhfn)(struct dentry *, __u32 *fh, int *, int);
-+
-+ fhfn = sb->s_export_op->encode_fh;
-+ if (fhfn) {
-+ struct dentry *d;
-+ int ret, maxlen = PRECACHE_KEY_MAX;
-+
-+ d = list_first_entry(&inode->i_dentry,
-+ struct dentry, d_alias);
-+ ret = fhfn(d, key->fh, &maxlen, 0);
-+ if (ret < 0)
-+ return ret;
-+ if (ret >= 255 || maxlen > PRECACHE_KEY_MAX)
-+ return -EPERM;
-+ if (maxlen > 0)
-+ return 0;
-+ }
-+ }
-+ key->oid.oid[0] = inode->i_ino;
-+ key->oid.oid[1] = inode->i_generation;
-+ return 0;
-+#undef PRECACHE_KEY_MAX
-+}
-+
-+int precache_put(struct address_space *mapping, unsigned long index,
-+ struct page *page)
-+{
-+ u32 tmem_pool = mapping->host->i_sb->precache_poolid;
-+ union precache_filekey key;
-+ u32 ind = (u32) index;
-+ unsigned long mfn = pfn_to_mfn(page_to_pfn(page));
-+ int ret;
-+
-+ if ((s32)tmem_pool < 0) {
-+ if (!precache_auto_allocate)
-+ return 0;
-+ /* a put on a non-existent precache may auto-allocate one */
-+ ret = tmem_new_pool(0, 0, 0);
-+ if (ret < 0)
-+ return 0;
-+ pr_info("Mapping superblock for s_id=%s to precache_id=%d\n",
-+ mapping->host->i_sb->s_id, tmem_pool);
-+ mapping->host->i_sb->precache_poolid = tmem_pool;
-+ }
-+ if (ind != index || precache_get_key(mapping->host, &key))
-+ return 0;
-+ mb(); /* ensure page is quiescent; tmem may address it with an alias */
-+ return tmem_put_page(tmem_pool, key.oid, ind, mfn);
-+}
-+
-+int precache_get(struct address_space *mapping, unsigned long index,
-+ struct page *empty_page)
-+{
-+ u32 tmem_pool = mapping->host->i_sb->precache_poolid;
-+ union precache_filekey key;
-+ u32 ind = (u32) index;
-+ unsigned long mfn = pfn_to_mfn(page_to_pfn(empty_page));
-+
-+ if ((s32)tmem_pool < 0)
-+ return 0;
-+ if (ind != index || precache_get_key(mapping->host, &key))
-+ return 0;
-+
-+ return tmem_get_page(tmem_pool, key.oid, ind, mfn);
-+}
-+EXPORT_SYMBOL(precache_get);
-+
-+int precache_flush(struct address_space *mapping, unsigned long index)
-+{
-+ u32 tmem_pool = mapping->host->i_sb->precache_poolid;
-+ union precache_filekey key;
-+ u32 ind = (u32) index;
-+
-+ if ((s32)tmem_pool < 0)
-+ return 0;
-+ if (ind != index || precache_get_key(mapping->host, &key))
-+ return 0;
-+
-+ return tmem_flush_page(tmem_pool, key.oid, ind);
-+}
-+EXPORT_SYMBOL(precache_flush);
-+
-+int precache_flush_inode(struct address_space *mapping)
-+{
-+ u32 tmem_pool = mapping->host->i_sb->precache_poolid;
-+ union precache_filekey key;
-+
-+ if ((s32)tmem_pool < 0 || precache_get_key(mapping->host, &key))
-+ return 0;
-+
-+ return tmem_flush_object(tmem_pool, key.oid);
-+}
-+EXPORT_SYMBOL(precache_flush_inode);
-+
-+int precache_flush_filesystem(struct super_block *sb)
-+{
-+ u32 tmem_pool = sb->precache_poolid;
-+ int ret;
-+
-+ if ((s32)tmem_pool < 0)
-+ return 0;
-+ ret = tmem_destroy_pool(tmem_pool);
-+ if (!ret)
-+ return 0;
-+ pr_info("Unmapping superblock for s_id=%s from precache_id=%d\n",
-+ sb->s_id, ret);
-+ sb->precache_poolid = 0;
-+ return 1;
-+}
-+EXPORT_SYMBOL(precache_flush_filesystem);
-+
-+void precache_init(struct super_block *sb)
-+{
-+ sb->precache_poolid = tmem_new_pool(0, 0, 0);
-+}
-+EXPORT_SYMBOL(precache_init);
-+
-+void shared_precache_init(struct super_block *sb, char *uuid)
-+{
-+ u64 uuid_lo = *(u64 *)uuid;
-+ u64 uuid_hi = *(u64 *)(&uuid[8]);
-+ sb->precache_poolid = tmem_new_pool(uuid_lo, uuid_hi, TMEM_POOL_SHARED);
-+}
-+EXPORT_SYMBOL(shared_precache_init);
-Index: linux-2.6.39-master/mm/preswap.c
-===================================================================
---- /dev/null
-+++ linux-2.6.39-master/mm/preswap.c
-@@ -0,0 +1,183 @@
-+/*
-+ * linux/mm/preswap.c
-+ *
-+ * Implements a fast "preswap" on top of the transcendent memory ("tmem") API.
-+ * When a swapdisk is enabled (with swapon), a "private persistent tmem pool"
-+ * is created along with a bit-per-page preswap_map. When swapping occurs
-+ * and a page is about to be written to disk, a "put" into the pool may first
-+ * be attempted by passing the pageframe to be swapped, along with a "handle"
-+ * consisting of a pool_id, an object id, and an index. Since the pool is of
-+ * indeterminate size, the "put" may be rejected, in which case the page
-+ * is swapped to disk as normal. If the "put" is successful, the page is
-+ * copied to tmem and the preswap_map records the success. Later, when
-+ * the page needs to be swapped in, the preswap_map is checked and, if set,
-+ * the page may be obtained with a "get" operation. Note that the swap
-+ * subsystem is responsible for: maintaining coherency between the swapcache,
-+ * preswap, and the swapdisk; for evicting stale pages from preswap; and for
-+ * emptying preswap when swapoff is performed. The "flush page" and "flush
-+ * object" actions are provided for this.
-+ *
-+ * Note that if a "duplicate put" is performed to overwrite a page and
-+ * the "put" operation fails, the page (and old data) is flushed and lost.
-+ * Also note that multiple accesses to a tmem pool may be concurrent and
-+ * any ordering must be guaranteed by the caller.
-+ *
-+ * Copyright (C) 2008,2009 Dan Magenheimer, Oracle Corp.
-+ */
-+
-+#include <linux/mm.h>
-+#include <linux/mman.h>
-+#include <linux/sysctl.h>
-+#include <linux/swap.h>
-+#include <linux/swapops.h>
-+#include <linux/proc_fs.h>
-+#include <linux/security.h>
-+#include <linux/capability.h>
-+#include <linux/uaccess.h>
-+#include "tmem.h"
-+
-+static u32 preswap_poolid = -1; /* if negative, preswap will never call tmem */
-+
-+const unsigned long preswap_zero = 0, preswap_infinity = ~0UL; /* for sysctl */
-+
-+/*
-+ * Swizzling increases objects per swaptype, increasing tmem concurrency
-+ * for heavy swaploads. Later, larger nr_cpus -> larger SWIZ_BITS
-+ */
-+#define SWIZ_BITS 4
-+#define SWIZ_MASK ((1 << SWIZ_BITS) - 1)
-+#define oswiz(_type, _ind) ((struct tmem_oid){ \
-+ .oid[0] = (_type << SWIZ_BITS) | (_ind & SWIZ_MASK) })
-+#define iswiz(_ind) (_ind >> SWIZ_BITS)
-+
-+/*
-+ * preswap_map test/set/clear operations (must be atomic)
-+ */
-+
-+int preswap_test(struct swap_info_struct *sis, unsigned long offset)
-+{
-+ if (!sis->preswap_map)
-+ return 0;
-+ return test_bit(offset % BITS_PER_LONG,
-+ &sis->preswap_map[offset/BITS_PER_LONG]);
-+}
-+
-+static inline void preswap_set(struct swap_info_struct *sis,
-+ unsigned long offset)
-+{
-+ if (!sis->preswap_map)
-+ return;
-+ set_bit(offset % BITS_PER_LONG,
-+ &sis->preswap_map[offset/BITS_PER_LONG]);
-+}
-+
-+static inline void preswap_clear(struct swap_info_struct *sis,
-+ unsigned long offset)
-+{
-+ if (!sis->preswap_map)
-+ return;
-+ clear_bit(offset % BITS_PER_LONG,
-+ &sis->preswap_map[offset/BITS_PER_LONG]);
-+}
-+
-+/*
-+ * preswap tmem operations
-+ */
-+
-+/* returns 1 if the page was successfully put into preswap, 0 if the page
-+ * was declined, and -ERRNO for a specific error */
-+int preswap_put(struct page *page)
-+{
-+ swp_entry_t entry = { .val = page_private(page), };
-+ unsigned type = swp_type(entry);
-+ pgoff_t offset = swp_offset(entry);
-+ u64 ind64 = (u64)offset;
-+ u32 ind = (u32)offset;
-+ unsigned long mfn = pfn_to_mfn(page_to_pfn(page));
-+ struct swap_info_struct *sis = get_swap_info_struct(type);
-+ int dup = 0, ret;
-+
-+ if ((s32)preswap_poolid < 0)
-+ return 0;
-+ if (ind64 != ind)
-+ return 0;
-+ if (preswap_test(sis, offset))
-+ dup = 1;
-+ mb(); /* ensure page is quiescent; tmem may address it with an alias */
-+ ret = tmem_put_page(preswap_poolid, oswiz(type, ind), iswiz(ind), mfn);
-+ if (ret == 1) {
-+ preswap_set(sis, offset);
-+ if (!dup)
-+ sis->preswap_pages++;
-+ } else if (dup) {
-+ /* failed dup put always results in an automatic flush of
-+ * the (older) page from preswap */
-+ preswap_clear(sis, offset);
-+ sis->preswap_pages--;
-+ }
-+ return ret;
-+}
-+
-+/* returns 1 if the page was successfully gotten from preswap, 0 if the page
-+ * was not present (should never happen!), and -ERRNO for a specific error */
-+int preswap_get(struct page *page)
-+{
-+ swp_entry_t entry = { .val = page_private(page), };
-+ unsigned type = swp_type(entry);
-+ pgoff_t offset = swp_offset(entry);
-+ u64 ind64 = (u64)offset;
-+ u32 ind = (u32)offset;
-+ unsigned long mfn = pfn_to_mfn(page_to_pfn(page));
-+ struct swap_info_struct *sis = get_swap_info_struct(type);
-+ int ret;
-+
-+ if ((s32)preswap_poolid < 0)
-+ return 0;
-+ if (ind64 != ind)
-+ return 0;
-+ if (!preswap_test(sis, offset))
-+ return 0;
-+ ret = tmem_get_page(preswap_poolid, oswiz(type, ind), iswiz(ind), mfn);
-+ return ret;
-+}
-+
-+/* flush a single page from preswap */
-+void preswap_flush(unsigned type, unsigned long offset)
-+{
-+ u64 ind64 = (u64)offset;
-+ u32 ind = (u32)offset;
-+ struct swap_info_struct *sis = get_swap_info_struct(type);
-+ int ret = 1;
-+
-+ if ((s32)preswap_poolid < 0)
-+ return;
-+ if (ind64 != ind)
-+ return;
-+ if (preswap_test(sis, offset)) {
-+ ret = tmem_flush_page(preswap_poolid,
-+ oswiz(type, ind), iswiz(ind));
-+ sis->preswap_pages--;
-+ preswap_clear(sis, offset);
-+ }
-+}
-+
-+/* flush all pages from the passed swaptype */
-+void preswap_flush_area(unsigned type)
-+{
-+ struct swap_info_struct *sis = get_swap_info_struct(type);
-+ int ind;
-+
-+ if ((s32)preswap_poolid < 0)
-+ return;
-+ for (ind = SWIZ_MASK; ind >= 0; ind--)
-+ (void)tmem_flush_object(preswap_poolid, oswiz(type, ind));
-+ sis->preswap_pages = 0;
-+}
-+
-+void preswap_init(unsigned type)
-+{
-+ /* only need one tmem pool for all swap types */
-+ if ((s32)preswap_poolid >= 0)
-+ return;
-+ preswap_poolid = tmem_new_pool(0, 0, TMEM_POOL_PERSIST);
-+}
-Index: linux-2.6.39-master/mm/swapfile.c
-===================================================================
---- linux-2.6.39-master.orig/mm/swapfile.c
-+++ linux-2.6.39-master/mm/swapfile.c
-@@ -556,6 +556,7 @@ static unsigned char swap_entry_free(str
- swap_list.next = p->type;
- nr_swap_pages++;
- p->inuse_pages--;
-+ preswap_flush(p->type, offset);
- if ((p->flags & SWP_BLKDEV) &&
- disk->fops->swap_slot_free_notify)
- disk->fops->swap_slot_free_notify(p->bdev, offset);
-@@ -1021,7 +1022,7 @@ static int unuse_mm(struct mm_struct *mm
- * Recycle to start on reaching the end, returning 0 when empty.
- */
- static unsigned int find_next_to_unuse(struct swap_info_struct *si,
-- unsigned int prev)
-+ unsigned int prev, unsigned int preswap)
- {
- unsigned int max = si->max;
- unsigned int i = prev;
-@@ -1047,6 +1048,12 @@ static unsigned int find_next_to_unuse(s
- prev = 0;
- i = 1;
- }
-+ if (preswap) {
-+ if (preswap_test(si, i))
-+ break;
-+ else
-+ continue;
-+ }
- count = si->swap_map[i];
- if (count && swap_count(count) != SWAP_MAP_BAD)
- break;
-@@ -1058,8 +1065,12 @@ static unsigned int find_next_to_unuse(s
- * We completely avoid races by reading each swap page in advance,
- * and then search for the process using it. All the necessary
- * page table adjustments can then be made atomically.
-+ *
-+ * if the boolean preswap is true, only unuse pages_to_unuse pages;
-+ * pages_to_unuse==0 means all pages
- */
--static int try_to_unuse(unsigned int type)
-+static int try_to_unuse(unsigned int type, unsigned int preswap,
-+ unsigned long pages_to_unuse)
- {
- struct swap_info_struct *si = swap_info[type];
- struct mm_struct *start_mm;
-@@ -1092,7 +1103,7 @@ static int try_to_unuse(unsigned int typ
- * one pass through swap_map is enough, but not necessarily:
- * there are races when an instance of an entry might be missed.
- */
-- while ((i = find_next_to_unuse(si, i)) != 0) {
-+ while ((i = find_next_to_unuse(si, i, preswap)) != 0) {
- if (signal_pending(current)) {
- retval = -EINTR;
- break;
-@@ -1259,6 +1270,8 @@ static int try_to_unuse(unsigned int typ
- * interactive performance.
- */
- cond_resched();
-+ if (preswap && pages_to_unuse && !--pages_to_unuse)
-+ break;
- }
-
- mmput(start_mm);
-@@ -1517,8 +1530,12 @@ bad_bmap:
- goto out;
- }
-
-+#ifndef CONFIG_PRESWAP
-+#define enable_swap_info(p, prio, sm, psm) enable_swap_info(p, prio, sm)
-+#endif
- static void enable_swap_info(struct swap_info_struct *p, int prio,
-- unsigned char *swap_map)
-+ unsigned char *swap_map,
-+ unsigned long *preswap_map)
- {
- int i, prev;
-
-@@ -1528,6 +1545,9 @@ static void enable_swap_info(struct swap
- else
- p->prio = --least_priority;
- p->swap_map = swap_map;
-+#ifdef CONFIG_PRESWAP
-+ p->preswap_map = preswap_map;
-+#endif
- p->flags |= SWP_WRITEOK;
- nr_swap_pages += p->pages;
- total_swap_pages += p->pages;
-@@ -1544,6 +1564,7 @@ static void enable_swap_info(struct swap
- swap_list.head = swap_list.next = p->type;
- else
- swap_info[prev]->next = p->type;
-+ preswap_init(p->type);
- spin_unlock(&swap_lock);
- }
-
-@@ -1614,7 +1635,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
- spin_unlock(&swap_lock);
-
- current->flags |= PF_OOM_ORIGIN;
-- err = try_to_unuse(type);
-+ err = try_to_unuse(type, 0, 0);
- current->flags &= ~PF_OOM_ORIGIN;
-
- if (err) {
-@@ -1625,7 +1646,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
- * sys_swapoff for this swap_info_struct at this point.
- */
- /* re-insert swap space back into swap_list */
-- enable_swap_info(p, p->prio, p->swap_map);
-+ enable_swap_info(p, p->prio, p->swap_map, p->preswap_map);
- goto out_dput;
- }
-
-@@ -1651,9 +1672,14 @@ SYSCALL_DEFINE1(swapoff, const char __us
- swap_map = p->swap_map;
- p->swap_map = NULL;
- p->flags = 0;
-+ preswap_flush_area(type);
- spin_unlock(&swap_lock);
- mutex_unlock(&swapon_mutex);
- vfree(swap_map);
-+#ifdef CONFIG_PRESWAP
-+ if (p->preswap_map)
-+ vfree(p->preswap_map);
-+#endif
- /* Destroy swap account informatin */
- swap_cgroup_swapoff(type);
-
-@@ -2026,6 +2052,7 @@ SYSCALL_DEFINE2(swapon, const char __use
- sector_t span;
- unsigned long maxpages;
- unsigned char *swap_map = NULL;
-+ unsigned long *preswap_map = NULL;
- struct page *page = NULL;
- struct inode *inode = NULL;
-
-@@ -2096,6 +2123,10 @@ SYSCALL_DEFINE2(swapon, const char __use
- goto bad_swap;
- }
-
-+#ifdef CONFIG_PRESWAP
-+ preswap_map = vzalloc(maxpages / sizeof(long));
-+#endif
-+
- error = swap_cgroup_swapon(p->type, maxpages);
- if (error)
- goto bad_swap;
-@@ -2121,7 +2152,7 @@ SYSCALL_DEFINE2(swapon, const char __use
- if (swap_flags & SWAP_FLAG_PREFER)
- prio =
- (swap_flags & SWAP_FLAG_PRIO_MASK) >> SWAP_FLAG_PRIO_SHIFT;
-- enable_swap_info(p, prio, swap_map);
-+ enable_swap_info(p, prio, swap_map, preswap_map);
-
- printk(KERN_INFO "Adding %uk swap on %s. "
- "Priority:%d extents:%d across:%lluk %s%s\n",
-@@ -2149,6 +2180,7 @@ bad_swap:
- p->swap_file = NULL;
- p->flags = 0;
- spin_unlock(&swap_lock);
-+ vfree(preswap_map);
- vfree(swap_map);
- if (swap_file) {
- if (inode && S_ISREG(inode->i_mode)) {
-@@ -2319,6 +2351,10 @@ int valid_swaphandles(swp_entry_t entry,
- base++;
-
- spin_lock(&swap_lock);
-+ if (preswap_test(si, target)) {
-+ spin_unlock(&swap_lock);
-+ return 0;
-+ }
- if (end > si->max) /* don't go beyond end of map */
- end = si->max;
-
-@@ -2329,6 +2365,9 @@ int valid_swaphandles(swp_entry_t entry,
- break;
- if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD)
- break;
-+ /* Don't read in preswap pages */
-+ if (preswap_test(si, toff))
-+ break;
- }
- /* Count contiguous allocated slots below our target */
- for (toff = target; --toff >= base; nr_pages++) {
-@@ -2337,6 +2376,9 @@ int valid_swaphandles(swp_entry_t entry,
- break;
- if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD)
- break;
-+ /* Don't read in preswap pages */
-+ if (preswap_test(si, toff))
-+ break;
- }
- spin_unlock(&swap_lock);
-
-@@ -2563,3 +2605,98 @@ static void free_swap_count_continuation
- }
- }
- }
-+
-+#ifdef CONFIG_PRESWAP
-+/*
-+ * preswap infrastructure functions
-+ */
-+
-+struct swap_info_struct *get_swap_info_struct(unsigned int type)
-+{
-+ BUG_ON(type > MAX_SWAPFILES);
-+ return swap_info[type];
-+}
-+
-+/* code structure leveraged from sys_swapoff */
-+void preswap_shrink(unsigned long target_pages)
-+{
-+ struct swap_info_struct *si = NULL;
-+ unsigned long total_pages = 0, total_pages_to_unuse;
-+ unsigned long pages = 0, unuse_pages = 0;
-+ int type;
-+ int wrapped = 0;
-+
-+ do {
-+ /*
-+ * we don't want to hold swap_lock while doing a very
-+ * lengthy try_to_unuse, but swap_list may change
-+ * so restart scan from swap_list.head each time
-+ */
-+ spin_lock(&swap_lock);
-+ total_pages = 0;
-+ for (type = swap_list.head; type >= 0; type = si->next) {
-+ si = swap_info[type];
-+ total_pages += si->preswap_pages;
-+ }
-+ if (total_pages <= target_pages) {
-+ spin_unlock(&swap_lock);
-+ return;
-+ }
-+ total_pages_to_unuse = total_pages - target_pages;
-+ for (type = swap_list.head; type >= 0; type = si->next) {
-+ si = swap_info[type];
-+ if (total_pages_to_unuse < si->preswap_pages)
-+ pages = unuse_pages = total_pages_to_unuse;
-+ else {
-+ pages = si->preswap_pages;
-+ unuse_pages = 0; /* unuse all */
-+ }
-+ if (security_vm_enough_memory_kern(pages))
-+ continue;
-+ vm_unacct_memory(pages);
-+ break;
-+ }
-+ spin_unlock(&swap_lock);
-+ if (type < 0)
-+ return;
-+ current->flags |= PF_OOM_ORIGIN;
-+ (void)try_to_unuse(type, 1, unuse_pages);
-+ current->flags &= ~PF_OOM_ORIGIN;
-+ wrapped++;
-+ } while (wrapped <= 3);
-+}
-+
-+
-+#ifdef CONFIG_SYSCTL
-+/* cat /sys/proc/vm/preswap provides total number of pages in preswap
-+ * across all swaptypes. echo N > /sys/proc/vm/preswap attempts to shrink
-+ * preswap page usage to N (usually 0) */
-+int preswap_sysctl_handler(ctl_table *table, int write,
-+ void __user *buffer, size_t *length, loff_t *ppos)
-+{
-+ unsigned long npages;
-+ int type;
-+ unsigned long totalpages = 0;
-+ struct swap_info_struct *si = NULL;
-+
-+ /* modeled after hugetlb_sysctl_handler in mm/hugetlb.c */
-+ if (!write) {
-+ spin_lock(&swap_lock);
-+ for (type = swap_list.head; type >= 0; type = si->next) {
-+ si = swap_info[type];
-+ totalpages += si->preswap_pages;
-+ }
-+ spin_unlock(&swap_lock);
-+ npages = totalpages;
-+ }
-+ table->data = &npages;
-+ table->maxlen = sizeof(unsigned long);
-+ proc_doulongvec_minmax(table, write, buffer, length, ppos);
-+
-+ if (write)
-+ preswap_shrink(npages);
-+
-+ return 0;
-+}
-+#endif
-+#endif /* CONFIG_PRESWAP */
-Index: linux-2.6.39-master/mm/tmem.h
-===================================================================
---- /dev/null
-+++ linux-2.6.39-master/mm/tmem.h
-@@ -0,0 +1,71 @@
-+/*
-+ * linux/mm/tmem.h
-+ *
-+ * Interface to transcendent memory, used by mm/precache.c and mm/preswap.c
-+ * Currently implemented on XEN, but may be implemented elsewhere in future.
-+ *
-+ * Copyright (C) 2008,2009 Dan Magenheimer, Oracle Corp.
-+ */
-+
-+#ifdef CONFIG_XEN
-+#include <xen/interface/xen.h>
-+
-+/* Bits for HYPERVISOR_tmem_op(TMEM_NEW_POOL) */
-+#define TMEM_POOL_MIN_PAGESHIFT 12
-+#define TMEM_POOL_PAGEORDER (PAGE_SHIFT - TMEM_POOL_MIN_PAGESHIFT)
-+
-+struct tmem_pool_uuid {
-+ u64 lo;
-+ u64 hi;
-+};
-+
-+struct tmem_oid {
-+ u64 oid[3];
-+};
-+
-+extern int xen_tmem_op(u32 tmem_cmd, u32 tmem_pool, struct tmem_oid, u32 index,
-+ unsigned long gmfn, u32 tmem_offset, u32 pfn_offset, u32 len);
-+extern int xen_tmem_new_pool(u32 tmem_cmd, struct tmem_pool_uuid, u32 flags);
-+
-+static inline int tmem_put_page(u32 pool_id, struct tmem_oid oid, u32 index,
-+ unsigned long gmfn)
-+{
-+ return xen_tmem_op(TMEM_PUT_PAGE, pool_id, oid, index,
-+ gmfn, 0, 0, 0);
-+}
-+
-+static inline int tmem_get_page(u32 pool_id, struct tmem_oid oid, u32 index,
-+ unsigned long gmfn)
-+{
-+ return xen_tmem_op(TMEM_GET_PAGE, pool_id, oid, index,
-+ gmfn, 0, 0, 0);
-+}
-+
-+static inline int tmem_flush_page(u32 pool_id, struct tmem_oid oid, u32 index)
-+{
-+ return xen_tmem_op(TMEM_FLUSH_PAGE, pool_id, oid, index,
-+ 0, 0, 0, 0);
-+}
-+
-+static inline int tmem_flush_object(u32 pool_id, struct tmem_oid oid)
-+{
-+ return xen_tmem_op(TMEM_FLUSH_OBJECT, pool_id, oid, 0, 0, 0, 0, 0);
-+}
-+
-+static inline int tmem_new_pool(u64 uuid_lo, u64 uuid_hi, u32 flags)
-+{
-+ struct tmem_pool_uuid uuid = { .lo = uuid_lo, .hi = uuid_hi };
-+
-+ BUILD_BUG_ON((TMEM_POOL_PAGEORDER < 0) ||
-+ (TMEM_POOL_PAGEORDER >= TMEM_POOL_PAGESIZE_MASK));
-+ flags |= TMEM_POOL_PAGEORDER << TMEM_POOL_PAGESIZE_SHIFT;
-+ return xen_tmem_new_pool(TMEM_NEW_POOL, uuid, flags);
-+}
-+
-+static inline int tmem_destroy_pool(u32 pool_id)
-+{
-+ static const struct tmem_oid oid = {};
-+
-+ return xen_tmem_op(TMEM_DESTROY_POOL, pool_id, oid, 0, 0, 0, 0, 0);
-+}
-+#endif
-Index: linux-2.6.39-master/mm/truncate.c
-===================================================================
---- linux-2.6.39-master.orig/mm/truncate.c
-+++ linux-2.6.39-master/mm/truncate.c
-@@ -16,6 +16,7 @@
- #include <linux/pagemap.h>
- #include <linux/highmem.h>
- #include <linux/pagevec.h>
-+#include <linux/precache.h>
- #include <linux/task_io_accounting_ops.h>
- #include <linux/buffer_head.h> /* grr. try_to_release_page,
- do_invalidatepage */
-@@ -51,6 +52,7 @@ void do_invalidatepage(struct page *page
- static inline void truncate_partial_page(struct page *page, unsigned partial)
- {
- zero_user_segment(page, partial, PAGE_CACHE_SIZE);
-+ precache_flush(page->mapping, page->index);
- if (page_has_private(page))
- do_invalidatepage(page, partial);
- }
-@@ -214,6 +216,7 @@ void truncate_inode_pages_range(struct a
- pgoff_t next;
- int i;
-
-+ precache_flush_inode(mapping);
- if (mapping->nrpages == 0)
- return;
-
-@@ -298,6 +301,7 @@ void truncate_inode_pages_range(struct a
- */
- spin_lock_irq(&mapping->tree_lock);
- spin_unlock_irq(&mapping->tree_lock);
-+ precache_flush_inode(mapping);
- }
- EXPORT_SYMBOL(truncate_inode_pages_range);
-
-@@ -447,6 +451,7 @@ int invalidate_inode_pages2_range(struct
- int did_range_unmap = 0;
- int wrapped = 0;
-
-+ precache_flush_inode(mapping);
- pagevec_init(&pvec, 0);
- next = start;
- while (next <= end && !wrapped &&
-@@ -505,6 +510,7 @@ int invalidate_inode_pages2_range(struct
- mem_cgroup_uncharge_end();
- cond_resched();
- }
-+ precache_flush_inode(mapping);
- return ret;
- }
- EXPORT_SYMBOL_GPL(invalidate_inode_pages2_range);
diff --git a/patches.xen/xen-blkback-bimodal-suse b/patches.xen/xen-blkback-bimodal-suse
deleted file mode 100644
index 9f7c8483ad..0000000000
--- a/patches.xen/xen-blkback-bimodal-suse
+++ /dev/null
@@ -1,39 +0,0 @@
-Subject: backward compatibility
-From: Gerd Hoffmann <kraxel@suse.de>
-Patch-mainline: obsolete
-
----
- linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c | 6 ++++++
- linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c | 6 ++++++
- 2 files changed, 12 insertions(+)
-
---- head-2010-11-25.orig/drivers/xen/blkback/xenbus.c 2010-11-22 13:10:22.000000000 +0100
-+++ head-2010-11-25/drivers/xen/blkback/xenbus.c 2010-11-25 10:57:03.000000000 +0100
-@@ -506,6 +506,12 @@ static int connect_ring(struct backend_i
- be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_32;
- else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_64))
- be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
-+#if 1 /* maintain compatibility with early sles10-sp1 and paravirt netware betas */
-+ else if (0 == strcmp(protocol, "1"))
-+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_32;
-+ else if (0 == strcmp(protocol, "2"))
-+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
-+#endif
- else {
- xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
- return -1;
---- head-2010-11-25.orig/drivers/xen/blktap/xenbus.c 2010-11-25 10:28:23.000000000 +0100
-+++ head-2010-11-25/drivers/xen/blktap/xenbus.c 2010-11-25 10:57:00.000000000 +0100
-@@ -457,6 +457,12 @@ static int connect_ring(struct backend_i
- be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_32;
- else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_64))
- be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
-+#if 1 /* maintain compatibility with early sles10-sp1 and paravirt netware betas */
-+ else if (0 == strcmp(protocol, "1"))
-+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_32;
-+ else if (0 == strcmp(protocol, "2"))
-+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
-+#endif
- else {
- xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
- return -1;
diff --git a/patches.xen/xen-blkback-cdrom b/patches.xen/xen-blkback-cdrom
index 494898ca77..2319e40888 100644
--- a/patches.xen/xen-blkback-cdrom
+++ b/patches.xen/xen-blkback-cdrom
@@ -3,8 +3,8 @@ From: plc@novell.com
Patch-mainline: obsolete
References: 159907
---- head-2011-03-17.orig/drivers/xen/blkback/Makefile 2009-06-09 15:01:37.000000000 +0200
-+++ head-2011-03-17/drivers/xen/blkback/Makefile 2010-03-25 14:38:02.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkback/Makefile 2009-06-09 15:01:37.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/Makefile 2010-03-25 14:38:02.000000000 +0100
@@ -1,4 +1,4 @@
obj-$(CONFIG_XEN_BLKDEV_BACKEND) := blkbk.o
obj-$(CONFIG_XEN_BLKBACK_PAGEMAP) += blkback-pagemap.o
@@ -12,7 +12,7 @@ References: 159907
-blkbk-y := blkback.o xenbus.o interface.o vbd.o
+blkbk-y := blkback.o xenbus.o interface.o vbd.o cdrom.o
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-03-17/drivers/xen/blkback/cdrom.c 2010-10-11 10:34:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/cdrom.c 2010-10-11 10:34:44.000000000 +0200
@@ -0,0 +1,162 @@
+/******************************************************************************
+ * blkback/cdrom.c
@@ -176,8 +176,8 @@ References: 159907
+ }
+ }
+}
---- head-2011-03-17.orig/drivers/xen/blkback/common.h 2011-04-04 13:49:29.000000000 +0200
-+++ head-2011-03-17/drivers/xen/blkback/common.h 2011-04-04 14:51:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/common.h 2011-04-11 14:51:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/common.h 2011-04-04 14:51:29.000000000 +0200
@@ -95,6 +95,7 @@ struct backend_info
struct xenbus_device *dev;
blkif_t *blkif;
@@ -194,20 +194,20 @@ References: 159907
+void cdrom_add_media_watch(struct backend_info *be);
+
#endif /* __BLKIF__BACKEND__COMMON_H__ */
---- head-2011-03-17.orig/drivers/xen/blkback/vbd.c 2011-02-07 14:04:20.000000000 +0100
-+++ head-2011-03-17/drivers/xen/blkback/vbd.c 2011-02-07 14:17:36.000000000 +0100
-@@ -111,6 +111,9 @@ int vbd_translate(struct phys_req *req,
+--- head-2011-06-30.orig/drivers/xen/blkback/vbd.c 2011-06-30 17:19:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/vbd.c 2011-05-31 11:22:43.000000000 +0200
+@@ -112,6 +112,9 @@ int vbd_translate(struct phys_req *req,
if ((operation != READ) && vbd->readonly)
goto out;
+ if (vbd->bdev == NULL)
+ goto out;
+
- if (unlikely((req->sector_number + req->nr_sects) > vbd_sz(vbd)))
- goto out;
+ if (likely(req->nr_sects)) {
+ blkif_sector_t end = req->sector_number + req->nr_sects;
---- head-2011-03-17.orig/drivers/xen/blkback/xenbus.c 2010-11-25 10:57:11.000000000 +0100
-+++ head-2011-03-17/drivers/xen/blkback/xenbus.c 2010-03-25 14:38:02.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkback/xenbus.c 2011-06-28 14:08:47.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/xenbus.c 2011-06-10 12:08:31.000000000 +0200
@@ -187,6 +187,12 @@ static int blkback_remove(struct xenbus_
be->backend_watch.node = NULL;
}
@@ -221,7 +221,7 @@ References: 159907
if (be->blkif) {
blkif_disconnect(be->blkif);
vbd_free(&be->blkif->vbd);
-@@ -343,6 +349,9 @@ static void backend_changed(struct xenbu
+@@ -342,6 +348,9 @@ static void backend_changed(struct xenbu
/* We're potentially connected now */
update_blkif_status(be->blkif);
diff --git a/patches.xen/xen-blkfront-cdrom b/patches.xen/xen-blkfront-cdrom
index 522b6129dd..5e802b313e 100644
--- a/patches.xen/xen-blkfront-cdrom
+++ b/patches.xen/xen-blkfront-cdrom
@@ -3,8 +3,8 @@ Subject: implement forwarding of CD-ROM specific commands
Patch-mainline: obsolete
References: fate#300964
---- head-2010-12-06.orig/drivers/cdrom/Makefile 2010-12-06 14:17:48.000000000 +0100
-+++ head-2010-12-06/drivers/cdrom/Makefile 2010-11-23 15:06:54.000000000 +0100
+--- head-2011-06-30.orig/drivers/cdrom/Makefile 2008-04-17 04:49:44.000000000 +0200
++++ head-2011-06-30/drivers/cdrom/Makefile 2010-11-23 15:06:54.000000000 +0100
@@ -9,6 +9,7 @@ obj-$(CONFIG_BLK_DEV_IDECD) +=
obj-$(CONFIG_BLK_DEV_SR) += cdrom.o
obj-$(CONFIG_PARIDE_PCD) += cdrom.o
@@ -13,8 +13,8 @@ References: fate#300964
obj-$(CONFIG_VIOCD) += viocd.o cdrom.o
obj-$(CONFIG_GDROM) += gdrom.o cdrom.o
---- head-2010-12-06.orig/drivers/xen/blkfront/Makefile 2007-06-12 13:13:44.000000000 +0200
-+++ head-2010-12-06/drivers/xen/blkfront/Makefile 2010-11-23 15:06:54.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkfront/Makefile 2007-06-12 13:13:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/Makefile 2010-11-23 15:06:54.000000000 +0100
@@ -1,5 +1,5 @@
obj-$(CONFIG_XEN_BLKDEV_FRONTEND) := xenblk.o
@@ -22,9 +22,9 @@ References: fate#300964
-xenblk-objs := blkfront.o vbd.o
+xenblk-objs := blkfront.o vbd.o vcd.o
---- head-2010-12-06.orig/drivers/xen/blkfront/blkfront.c 2010-12-06 15:01:01.000000000 +0100
-+++ head-2010-12-06/drivers/xen/blkfront/blkfront.c 2010-12-06 15:01:15.000000000 +0100
-@@ -412,6 +412,8 @@ static void connect(struct blkfront_info
+--- head-2011-06-30.orig/drivers/xen/blkfront/blkfront.c 2011-07-04 10:17:23.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/blkfront.c 2011-07-04 10:17:38.000000000 +0200
+@@ -424,6 +424,8 @@ static void connect(struct blkfront_info
add_disk(info->gd);
info->is_ready = 1;
@@ -33,7 +33,7 @@ References: fate#300964
}
/**
-@@ -441,6 +443,8 @@ static void blkfront_closing(struct blkf
+@@ -453,6 +455,8 @@ static void blkfront_closing(struct blkf
xlvbd_sysfs_delif(info);
@@ -42,9 +42,9 @@ References: fate#300964
xlvbd_del(info);
out:
---- head-2010-12-06.orig/drivers/xen/blkfront/block.h 2010-12-06 14:37:35.000000000 +0100
-+++ head-2010-12-06/drivers/xen/blkfront/block.h 2010-11-23 15:06:54.000000000 +0100
-@@ -163,4 +163,8 @@ static inline void xlvbd_sysfs_delif(str
+--- head-2011-06-30.orig/drivers/xen/blkfront/block.h 2011-07-01 16:34:26.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/block.h 2011-07-04 10:17:41.000000000 +0200
+@@ -164,4 +164,8 @@ static inline void xlvbd_sysfs_delif(str
}
#endif
@@ -53,8 +53,8 @@ References: fate#300964
+extern void unregister_vcd(struct blkfront_info *info);
+
#endif /* __XEN_DRIVERS_BLOCK_H__ */
---- head-2010-12-06.orig/drivers/xen/blkfront/vbd.c 2010-11-23 16:11:19.000000000 +0100
-+++ head-2010-12-06/drivers/xen/blkfront/vbd.c 2010-11-23 15:06:54.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkfront/vbd.c 2011-07-01 16:37:54.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/vbd.c 2010-11-23 15:06:54.000000000 +0100
@@ -367,7 +367,8 @@ xlvbd_add(blkif_sector_t capacity, int v
goto out;
info->mi = mi;
@@ -75,7 +75,7 @@ References: fate#300964
sprintf(gd->disk_name, "%s%c",
mi->type->diskname, 'a' + offset );
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2010-12-06/drivers/xen/blkfront/vcd.c 2010-11-23 15:06:54.000000000 +0100
++++ head-2011-06-30/drivers/xen/blkfront/vcd.c 2010-11-23 15:06:54.000000000 +0100
@@ -0,0 +1,507 @@
+/*******************************************************************************
+ * vcd.c
@@ -585,7 +585,7 @@ References: fate#300964
+}
+
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2010-12-06/include/xen/interface/io/cdromif.h 2010-11-23 15:06:54.000000000 +0100
++++ head-2011-06-30/include/xen/interface/io/cdromif.h 2010-11-23 15:06:54.000000000 +0100
@@ -0,0 +1,120 @@
+/******************************************************************************
+ * cdromif.h
diff --git a/patches.xen/xen-blkif-protocol-fallback-hack b/patches.xen/xen-blkif-protocol-fallback-hack
index f3e70f4af3..1b7cb41d07 100644
--- a/patches.xen/xen-blkif-protocol-fallback-hack
+++ b/patches.xen/xen-blkif-protocol-fallback-hack
@@ -5,8 +5,8 @@ Patch-mainline: never.
See the comment below. Oh well.
---- head-2011-02-17.orig/drivers/xen/Kconfig 2011-02-02 17:03:22.000000000 +0100
-+++ head-2011-02-17/drivers/xen/Kconfig 2011-02-24 15:23:15.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-13 17:01:32.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-02-24 15:23:15.000000000 +0100
@@ -26,6 +26,9 @@ config XEN_PRIVCMD
def_bool y
depends on PROC_FS
@@ -33,8 +33,8 @@ See the comment below. Oh well.
help
The block tap driver is an alternative to the block back driver
and allows VM block requests to be redirected to userspace through
---- head-2011-02-17.orig/drivers/xen/blkback/xenbus.c 2010-11-25 10:57:03.000000000 +0100
-+++ head-2011-02-17/drivers/xen/blkback/xenbus.c 2010-11-25 10:57:11.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkback/xenbus.c 2011-06-10 12:04:24.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/xenbus.c 2011-06-28 14:08:47.000000000 +0200
@@ -21,6 +21,7 @@
#include <linux/module.h>
#include <linux/kthread.h>
@@ -43,21 +43,29 @@ See the comment below. Oh well.
#undef DPRINTK
#define DPRINTK(fmt, args...) \
-@@ -498,8 +499,10 @@ static int connect_ring(struct backend_i
+@@ -496,8 +497,10 @@ static int connect_ring(struct backend_i
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
err = xenbus_gather(XBT_NIL, dev->otherend, "protocol",
- "%63s", protocol, NULL);
+ NULL, &protocol, NULL);
- if (err)
-- strcpy(protocol, "unspecified, assuming native");
+ if (err) {
-+ strcpy(protocol, "unspecified");
+ protocol = NULL;
+ be->blkif->blk_protocol = xen_guest_blkif_protocol(be->blkif->domid);
+ }
else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE))
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
---- head-2011-02-17.orig/drivers/xen/blktap/xenbus.c 2010-11-25 10:57:00.000000000 +0100
-+++ head-2011-02-17/drivers/xen/blktap/xenbus.c 2010-11-25 10:57:14.000000000 +0100
+@@ -511,7 +514,7 @@ static int connect_ring(struct backend_i
+ }
+ pr_info("blkback: ring-ref %u, event-channel %u, protocol %d (%s)\n",
+ ring_ref, evtchn, be->blkif->blk_protocol,
+- protocol ?: "unspecified, assuming native");
++ protocol ?: "unspecified");
+ kfree(protocol);
+
+ /* Map the shared frame, irq etc. */
+--- head-2011-06-30.orig/drivers/xen/blktap/xenbus.c 2011-06-30 17:04:47.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/xenbus.c 2011-06-28 14:08:59.000000000 +0200
@@ -39,6 +39,7 @@
#include <linux/kthread.h>
#include <xen/xenbus.h>
@@ -66,21 +74,29 @@ See the comment below. Oh well.
struct backend_info
-@@ -449,8 +450,10 @@ static int connect_ring(struct backend_i
+@@ -445,8 +446,10 @@ static int connect_ring(struct backend_i
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
err = xenbus_gather(XBT_NIL, dev->otherend, "protocol",
- "%63s", protocol, NULL);
+ NULL, &protocol, NULL);
- if (err)
-- strcpy(protocol, "unspecified, assuming native");
+ if (err) {
-+ strcpy(protocol, "unspecified");
+ protocol = NULL;
+ be->blkif->blk_protocol = xen_guest_blkif_protocol(be->blkif->domid);
+ }
else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE))
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
---- head-2011-02-17.orig/drivers/xen/core/Makefile 2011-02-01 14:44:12.000000000 +0100
-+++ head-2011-02-17/drivers/xen/core/Makefile 2010-04-19 14:55:02.000000000 +0200
+@@ -460,7 +463,7 @@ static int connect_ring(struct backend_i
+ }
+ pr_info("blktap: ring-ref %u, event-channel %u, protocol %d (%s)\n",
+ ring_ref, evtchn, be->blkif->blk_protocol,
+- protocol ?: "unspecified, assuming native");
++ protocol ?: "unspecified");
+ kfree(protocol);
+
+ /* Map the shared frame, irq etc. */
+--- head-2011-06-30.orig/drivers/xen/core/Makefile 2011-02-01 14:44:12.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/Makefile 2010-04-19 14:55:02.000000000 +0200
@@ -12,3 +12,6 @@ obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
obj-$(CONFIG_XEN_SMPBOOT) += smpboot.o
obj-$(CONFIG_SMP) += spinlock.o
@@ -89,7 +105,7 @@ See the comment below. Oh well.
+CFLAGS_domctl.o := -D__XEN_PUBLIC_XEN_H__ -D__XEN_PUBLIC_GRANT_TABLE_H__
+CFLAGS_domctl.o += -D__XEN_TOOLS__ -imacros xen/interface/domctl.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-02-17/drivers/xen/core/domctl.c 2010-10-11 10:31:06.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/domctl.c 2010-10-11 10:31:06.000000000 +0200
@@ -0,0 +1,127 @@
+/*
+ * !!! dirty hack alert !!!
@@ -219,7 +235,7 @@ See the comment below. Oh well.
+
+MODULE_LICENSE("GPL");
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-02-17/drivers/xen/core/domctl.h 2010-03-25 14:37:59.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/domctl.h 2010-03-25 14:37:59.000000000 +0100
@@ -0,0 +1,2 @@
+int xen_guest_address_size(int domid);
+int xen_guest_blkif_protocol(int domid);
diff --git a/patches.xen/xen-blktap-write-barriers b/patches.xen/xen-blktap-write-barriers
index 9488dda02f..3384675e90 100644
--- a/patches.xen/xen-blktap-write-barriers
+++ b/patches.xen/xen-blktap-write-barriers
@@ -2,9 +2,9 @@ From: kwolf@suse.de
Subject: blktap: Write Barriers
Patch-mainline: obsolete
---- head-2011-03-17.orig/drivers/xen/blktap/blktap.c 2011-04-04 14:51:14.000000000 +0200
-+++ head-2011-03-17/drivers/xen/blktap/blktap.c 2011-04-04 14:51:40.000000000 +0200
-@@ -1376,6 +1376,9 @@ static int do_block_io_op(blkif_t *blkif
+--- head-2011-06-30.orig/drivers/xen/blktap/blktap.c 2011-04-11 15:06:35.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/blktap.c 2011-07-04 10:15:07.000000000 +0200
+@@ -1369,6 +1369,9 @@ static int do_block_io_op(blkif_t *blkif
dispatch_rw_block_io(blkif, &req, pending_req);
break;
@@ -14,7 +14,7 @@ Patch-mainline: obsolete
case BLKIF_OP_WRITE:
blkif->st_wr_req++;
dispatch_rw_block_io(blkif, &req, pending_req);
-@@ -1434,7 +1437,7 @@ static void dispatch_rw_block_io(blkif_t
+@@ -1427,7 +1430,7 @@ static void dispatch_rw_block_io(blkif_t
/* Check that number of segments is sane. */
nseg = req->nr_segments;
@@ -23,7 +23,7 @@ Patch-mainline: obsolete
unlikely(nseg > BLKIF_MAX_SEGMENTS_PER_REQUEST) ) {
WPRINTK("Bad number of segments in request (%d)\n", nseg);
goto fail_response;
-@@ -1460,8 +1463,13 @@ static void dispatch_rw_block_io(blkif_t
+@@ -1453,8 +1456,13 @@ static void dispatch_rw_block_io(blkif_t
pending_req->nr_pages = nseg;
flags = GNTMAP_host_map;
@@ -38,7 +38,7 @@ Patch-mainline: obsolete
op = 0;
mm = info->mm;
if (!xen_feature(XENFEAT_auto_translated_physmap))
-@@ -1624,6 +1632,7 @@ static void dispatch_rw_block_io(blkif_t
+@@ -1617,6 +1625,7 @@ static void dispatch_rw_block_io(blkif_t
blkif->st_rd_sect += nr_sects;
break;
case BLKIF_OP_WRITE:
@@ -46,9 +46,9 @@ Patch-mainline: obsolete
blkif->st_wr_sect += nr_sects;
break;
}
---- head-2011-03-17.orig/drivers/xen/blktap/xenbus.c 2010-11-25 10:57:14.000000000 +0100
-+++ head-2011-03-17/drivers/xen/blktap/xenbus.c 2010-11-25 10:57:21.000000000 +0100
-@@ -418,7 +418,28 @@ static void connect(struct backend_info
+--- head-2011-06-30.orig/drivers/xen/blktap/xenbus.c 2011-06-28 14:08:59.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/xenbus.c 2011-07-04 10:15:08.000000000 +0200
+@@ -415,7 +415,28 @@ static void connect(struct backend_info
int err;
struct xenbus_device *dev = be->dev;
@@ -76,4 +76,4 @@ Patch-mainline: obsolete
+ /* Switch state */
err = xenbus_switch_state(dev, XenbusStateConnected);
if (err)
- xenbus_dev_fatal(dev, err, "switching to Connected state",
+ xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
diff --git a/patches.xen/xen-clockevents b/patches.xen/xen-clockevents
index 393c83bc53..a50acb11cc 100644
--- a/patches.xen/xen-clockevents
+++ b/patches.xen/xen-clockevents
@@ -4,9 +4,9 @@ Patch-mainline: n/a
Once validated this could be merged into the 2.6.?? patch.
---- head-2011-04-13.orig/arch/x86/Kconfig 2011-04-13 17:01:32.000000000 +0200
-+++ head-2011-04-13/arch/x86/Kconfig 2011-04-13 16:49:13.000000000 +0200
-@@ -95,7 +95,6 @@ config CLOCKSOURCE_WATCHDOG
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 17:25:32.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-07-04 10:26:08.000000000 +0200
+@@ -93,7 +93,6 @@ config CLOCKSOURCE_WATCHDOG
config GENERIC_CLOCKEVENTS
def_bool y
@@ -14,8 +14,8 @@ Once validated this could be merged into the 2.6.?? patch.
config GENERIC_CLOCKEVENTS_BROADCAST
def_bool y
---- head-2011-04-13.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:01:46.000000000 +0100
-+++ head-2011-04-13/arch/x86/include/mach-xen/asm/hypervisor.h 2011-02-02 15:09:52.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:01:46.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-02-02 15:09:52.000000000 +0100
@@ -74,7 +74,6 @@ extern start_info_t *xen_start_info;
#define init_hypervisor_platform() init_hypervisor(&boot_cpu_data)
@@ -24,8 +24,8 @@ Once validated this could be merged into the 2.6.?? patch.
#define vcpu_running(cpu) (per_cpu(runstate.state, cpu) == RUNSTATE_running)
/* arch/xen/kernel/evtchn.c */
---- head-2011-04-13.orig/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-13/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-02 15:09:52.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-01 15:09:47.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-02 15:09:52.000000000 +0100
@@ -4,6 +4,8 @@
#include <asm/smp-processor-id.h>
@@ -71,8 +71,8 @@ Once validated this could be merged into the 2.6.?? patch.
/*
* For spinlocks, etc:
---- head-2011-04-13.orig/arch/x86/kernel/time-xen.c 2011-04-14 16:36:14.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/time-xen.c 2011-04-14 16:18:51.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-04-14 16:36:14.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-07-04 10:25:07.000000000 +0200
@@ -20,15 +20,12 @@
#include <linux/clocksource.h>
#include <linux/sysdev.h>
@@ -457,7 +457,7 @@ Once validated this could be merged into the 2.6.?? patch.
+ jiffies_bias = jiffies_64;
+ system_time_bias = per_cpu(shadow_time, 0).system_timestamp;
- clocksource_register(&clocksource_xen);
+ clocksource_register_hz(&clocksource_xen, NSEC_PER_SEC);
@@ -725,146 +537,23 @@ void __init time_init(void)
/* Convert jiffies to system time. */
@@ -618,8 +618,8 @@ Once validated this could be merged into the 2.6.?? patch.
#ifdef CONFIG_CPU_FREQ
static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
void *data)
---- head-2011-04-13.orig/drivers/xen/Kconfig 2011-04-11 15:10:40.000000000 +0200
-+++ head-2011-04-13/drivers/xen/Kconfig 2011-04-14 11:21:30.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-11 15:10:40.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-04-14 11:21:30.000000000 +0200
@@ -366,9 +366,6 @@ endmenu
config HAVE_IRQ_IGNORE_UNHANDLED
def_bool y
@@ -630,8 +630,8 @@ Once validated this could be merged into the 2.6.?? patch.
config ARCH_HAS_WALK_MEMORY
def_bool y
depends on X86
---- head-2011-04-13.orig/drivers/xen/core/Makefile 2010-04-19 14:55:02.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/Makefile 2011-02-02 15:09:52.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/Makefile 2010-04-19 14:55:02.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/Makefile 2011-02-02 15:09:52.000000000 +0100
@@ -12,6 +12,7 @@ obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
obj-$(CONFIG_XEN_SMPBOOT) += smpboot.o
obj-$(CONFIG_SMP) += spinlock.o
@@ -641,7 +641,7 @@ Once validated this could be merged into the 2.6.?? patch.
CFLAGS_domctl.o := -D__XEN_PUBLIC_XEN_H__ -D__XEN_PUBLIC_GRANT_TABLE_H__
CFLAGS_domctl.o += -D__XEN_TOOLS__ -imacros xen/interface/domctl.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-04-13/drivers/xen/core/clockevents.c 2011-02-02 15:09:52.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/clockevents.c 2011-02-02 15:09:52.000000000 +0100
@@ -0,0 +1,298 @@
+/*
+ * Xen clockevent functions
@@ -941,8 +941,8 @@ Once validated this could be merged into the 2.6.?? patch.
+
+ xen_setup_cpu_clockevents();
+}
---- head-2011-04-13.orig/drivers/xen/core/evtchn.c 2011-04-14 16:36:14.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/evtchn.c 2011-04-13 16:49:13.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2011-04-14 16:36:14.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-04-13 16:49:13.000000000 +0200
@@ -382,6 +382,7 @@ asmlinkage void __irq_entry evtchn_do_up
wmb();
#endif
@@ -959,8 +959,8 @@ Once validated this could be merged into the 2.6.?? patch.
l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
---- head-2011-04-13.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:03.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:13.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-07-04 10:19:56.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-07-04 10:25:00.000000000 +0200
@@ -14,6 +14,7 @@
#include <asm/hypervisor.h>
#include <xen/xenbus.h>
@@ -969,7 +969,7 @@ Once validated this could be merged into the 2.6.?? patch.
#include <xen/gnttab.h>
#include <xen/xencons.h>
#include <xen/cpu_hotplug.h>
-@@ -164,10 +165,12 @@ static int take_machine_down(void *_susp
+@@ -159,10 +160,12 @@ static int take_machine_down(void *_susp
} else
BUG_ON(suspend_cancelled > 0);
suspend->resume_notifier(suspend_cancelled);
@@ -981,11 +981,11 @@ Once validated this could be merged into the 2.6.?? patch.
+ if (suspend_cancelled >= 0)
syscore_resume();
- }
- if (sysdev_suspended)
- sysdev_resume();
if (!suspend_cancelled) {
---- head-2011-04-13.orig/drivers/xen/core/smpboot.c 2011-04-14 16:36:14.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/smpboot.c 2011-02-07 12:28:20.000000000 +0100
+ #ifdef __x86_64__
+ /*
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-04-14 16:36:14.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-02-07 12:28:20.000000000 +0100
@@ -18,6 +18,7 @@
#include <linux/percpu.h>
#include <asm/desc.h>
@@ -1002,8 +1002,8 @@ Once validated this could be merged into the 2.6.?? patch.
local_irq_enable();
}
---- head-2011-04-13.orig/drivers/xen/core/spinlock.c 2011-04-13 16:38:13.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/spinlock.c 2011-04-13 16:49:13.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/spinlock.c 2011-04-13 16:38:13.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/spinlock.c 2011-04-13 16:49:13.000000000 +0200
@@ -13,6 +13,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
@@ -1013,7 +1013,7 @@ Once validated this could be merged into the 2.6.?? patch.
struct spinning {
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-04-13/include/xen/clock.h 2011-02-02 15:09:52.000000000 +0100
++++ head-2011-06-30/include/xen/clock.h 2011-02-02 15:09:52.000000000 +0100
@@ -0,0 +1,19 @@
+#ifndef __XEN_CPU_CLOCK_H__
+#define __XEN_CPU_CLOCK_H__
diff --git a/patches.xen/xen-cpufreq-report b/patches.xen/xen-cpufreq-report
index a78f5a47ed..01af2065c2 100644
--- a/patches.xen/xen-cpufreq-report
+++ b/patches.xen/xen-cpufreq-report
@@ -2,8 +2,8 @@ From: jbeulich@novell.com
Subject: make /proc/cpuinfo track CPU speed
Patch-mainline: obsolete
---- head-2011-04-13.orig/arch/x86/kernel/acpi/processor_extcntl_xen.c 2011-02-01 15:03:10.000000000 +0100
-+++ head-2011-04-13/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-10-06 17:04:43.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/acpi/processor_extcntl_xen.c 2011-02-01 15:03:10.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-10-06 17:04:43.000000000 +0200
@@ -208,3 +208,14 @@ static int __init init_extcntl(void)
return 0;
}
@@ -19,9 +19,9 @@ Patch-mainline: obsolete
+
+ return HYPERVISOR_platform_op(&op) == 0 ? op.u.get_cpu_freq.freq : 0;
+}
---- head-2011-04-13.orig/include/linux/cpufreq.h 2011-04-13 10:07:02.000000000 +0200
-+++ head-2011-04-13/include/linux/cpufreq.h 2011-04-13 16:27:28.000000000 +0200
-@@ -319,7 +319,7 @@ static inline unsigned int cpufreq_get(u
+--- head-2011-06-30.orig/include/linux/cpufreq.h 2011-06-30 15:04:24.000000000 +0200
++++ head-2011-06-30/include/linux/cpufreq.h 2011-07-04 10:18:02.000000000 +0200
+@@ -322,7 +322,7 @@ static inline unsigned int cpufreq_get(u
#endif
/* query the last known CPU freq (in kHz). If zero, cpufreq couldn't detect it */
@@ -30,8 +30,8 @@ Patch-mainline: obsolete
unsigned int cpufreq_quick_get(unsigned int cpu);
#else
static inline unsigned int cpufreq_quick_get(unsigned int cpu)
---- head-2011-04-13.orig/include/xen/interface/platform.h 2010-01-04 11:56:34.000000000 +0100
-+++ head-2011-04-13/include/xen/interface/platform.h 2010-06-22 15:48:58.000000000 +0200
+--- head-2011-06-30.orig/include/xen/interface/platform.h 2010-01-04 11:56:34.000000000 +0100
++++ head-2011-06-30/include/xen/interface/platform.h 2010-06-22 15:48:58.000000000 +0200
@@ -355,6 +355,14 @@ struct xenpf_mem_hotadd
uint32_t flags;
};
diff --git a/patches.xen/xen-cxgb3 b/patches.xen/xen-cxgb3
index f3289b7071..d97e77a32d 100644
--- a/patches.xen/xen-cxgb3
+++ b/patches.xen/xen-cxgb3
@@ -17,35 +17,29 @@ hypervisor to open the Tx buffer.
Acked-by: bphilips@suse.de
---- head-2011-04-13.orig/drivers/net/cxgb3/cxgb3_main.c 2011-04-13 10:06:59.000000000 +0200
-+++ head-2011-04-13/drivers/net/cxgb3/cxgb3_main.c 2011-04-13 16:53:36.000000000 +0200
-@@ -1923,7 +1923,11 @@ static int set_rx_csum(struct net_device
- } else {
- int i;
-
+--- head-2011-06-30.orig/drivers/net/cxgb3/cxgb3_main.c 2011-06-30 15:04:13.000000000 +0200
++++ head-2011-06-30/drivers/net/cxgb3/cxgb3_main.c 2011-07-04 12:14:07.000000000 +0200
+@@ -3286,7 +3286,17 @@ static int __devinit init_one(struct pci
+ * register at least one net device.
+ */
+ for_each_port(adapter, i) {
+#ifndef CONFIG_XEN
- p->rx_offload &= ~(T3_RX_CSUM | T3_LRO);
+ err = register_netdev(adapter->port[i]);
+#else
-+ p->rx_offload &= ~(T3_RX_CSUM);
-+#endif
- for (i = p->first_qset; i < p->first_qset + p->nqsets; i++)
- set_qset_lro(dev, i, 0);
- }
-@@ -3304,7 +3308,11 @@ static int __devinit init_one(struct pci
- adapter->port[i] = netdev;
- pi = netdev_priv(netdev);
- pi->adapter = adapter;
-+#ifndef CONFIG_XEN
- pi->rx_offload = T3_RX_CSUM | T3_LRO;
-+#else
-+ pi->rx_offload = T3_RX_CSUM;
++ rtnl_lock();
++ err = register_netdevice(adapter->port[i]);
++ if (!err) {
++ adapter->port[i]->wanted_features &= ~NETIF_F_GRO;
++ netdev_update_features(adapter->port[i]);
++ }
++ rtnl_unlock();
+#endif
- pi->port_id = i;
- netif_carrier_off(netdev);
- netdev->irq = pdev->irq;
---- head-2011-04-13.orig/drivers/net/cxgb3/sge.c 2011-04-13 10:06:59.000000000 +0200
-+++ head-2011-04-13/drivers/net/cxgb3/sge.c 2011-02-03 14:45:48.000000000 +0100
-@@ -58,11 +58,24 @@
+ if (err)
+ dev_warn(&pdev->dev,
+ "cannot register net device %s, skipping\n",
+--- head-2011-06-30.orig/drivers/net/cxgb3/sge.c 2011-06-30 15:04:13.000000000 +0200
++++ head-2011-06-30/drivers/net/cxgb3/sge.c 2011-07-04 10:44:14.000000000 +0200
+@@ -59,11 +59,24 @@
* It must be a divisor of PAGE_SIZE. If set to 0 FL0 will use sk_buffs
* directly.
*/
@@ -70,7 +64,7 @@ Acked-by: bphilips@suse.de
#define FL1_PG_ALLOC_SIZE (PAGE_SIZE << FL1_PG_ORDER)
#define SGE_RX_DROP_THRES 16
-@@ -1267,7 +1280,27 @@ netdev_tx_t t3_eth_xmit(struct sk_buff *
+@@ -1268,7 +1281,27 @@ netdev_tx_t t3_eth_xmit(struct sk_buff *
gen = q->gen;
q->unacked += ndesc;
@@ -98,7 +92,7 @@ Acked-by: bphilips@suse.de
q->unacked &= 7;
pidx = q->pidx;
q->pidx += ndesc;
-@@ -2176,8 +2209,35 @@ static inline void handle_rsp_cntrl_info
+@@ -2177,8 +2210,35 @@ static inline void handle_rsp_cntrl_info
#endif
credits = G_RSPD_TXQ0_CR(flags);
@@ -135,8 +129,8 @@ Acked-by: bphilips@suse.de
credits = G_RSPD_TXQ2_CR(flags);
if (credits)
---- head-2011-04-13.orig/drivers/net/cxgb3/version.h 2010-10-20 22:30:22.000000000 +0200
-+++ head-2011-04-13/drivers/net/cxgb3/version.h 2011-02-03 14:45:48.000000000 +0100
+--- head-2011-06-30.orig/drivers/net/cxgb3/version.h 2010-10-20 22:30:22.000000000 +0200
++++ head-2011-06-30/drivers/net/cxgb3/version.h 2011-02-03 14:45:48.000000000 +0100
@@ -35,7 +35,11 @@
#define DRV_DESC "Chelsio T3 Network Driver"
#define DRV_NAME "cxgb3"
diff --git a/patches.xen/xen-frontswap b/patches.xen/xen-frontswap
new file mode 100644
index 0000000000..7cc548d906
--- /dev/null
+++ b/patches.xen/xen-frontswap
@@ -0,0 +1,257 @@
+From: Dan Magenheimer <dan.magenheimer@oracle.com>
+Subject: [PATCH] xen: prepare tmem shim to handle frontswap
+Patch-mainline: tbd
+
+Provide the shim code for frontswap even if the frontswap patchset
+is not present yet.
+
+Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
+Acked-by: jbeulich@novell.com
+
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-14 11:21:30.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-07-04 10:35:50.000000000 +0200
+@@ -490,6 +490,13 @@ config SWIOTLB_XEN
+ depends on PARAVIRT_XEN && PCI
+ select SWIOTLB
+
++config XEN_TMEM
++ bool
++ default y if (CLEANCACHE || FRONTSWAP)
++ help
++ Shim to interface in-kernel Transcendent Memory hooks
++ (e.g. cleancache and frontswap) to Xen tmem hypercalls.
++
+ config XEN_XENCOMM
+ bool
+
+--- head-2011-06-30.orig/drivers/xen/Makefile 2011-07-01 16:01:23.000000000 +0200
++++ head-2011-06-30/drivers/xen/Makefile 2011-07-04 10:35:35.000000000 +0200
+@@ -8,7 +8,6 @@ xen-balloon_$(CONFIG_XEN) := balloon/
+ obj-$(CONFIG_XEN) += core/
+ obj-$(CONFIG_XEN) += console/
+ obj-y += xenbus/
+-obj-y += tmem.o
+ obj-$(CONFIG_XEN) += char/
+
+ xen-backend-$(CONFIG_XEN_BACKEND) := util.o
+@@ -30,6 +29,7 @@ obj-$(CONFIG_XENFS) += xenfs/
+ obj-$(CONFIG_XEN_GRANT_DEV_ALLOC) += xen-gntalloc.o
+ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
+ obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o
++obj-$(CONFIG_XEN_TMEM) += tmem.o
+ obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
+ obj-$(CONFIG_XEN_DOM0) += pci.o
+
+--- head-2011-06-30.orig/drivers/xen/tmem.c 2011-07-01 16:03:49.000000000 +0200
++++ head-2011-06-30/drivers/xen/tmem.c 2011-07-04 10:35:27.000000000 +0200
+@@ -1,7 +1,7 @@
+ /*
+ * Xen implementation for transcendent memory (tmem)
+ *
+- * Copyright (C) 2009-2010 Oracle Corp. All rights reserved.
++ * Copyright (C) 2009-2011 Oracle Corp. All rights reserved.
+ * Author: Dan Magenheimer
+ */
+
+@@ -9,8 +9,14 @@
+ #include <linux/types.h>
+ #include <linux/init.h>
+ #include <linux/pagemap.h>
++#include <linux/module.h>
+ #include <linux/cleancache.h>
+
++/* temporary ifdef until include/linux/frontswap.h is upstream */
++#ifdef CONFIG_FRONTSWAP
++#include <linux/frontswap.h>
++#endif
++
+ #include <xen/xen.h>
+ #include <xen/interface/xen.h>
+ #include <xen/interface/tmem.h>
+@@ -109,14 +115,8 @@ static int xen_tmem_flush_object(u32 poo
+ return xen_tmem_op(TMEM_FLUSH_OBJECT, pool_id, oid, 0, 0, 0, 0, 0);
+ }
+
+-static int xen_tmem_destroy_pool(u32 pool_id)
+-{
+- struct tmem_oid oid = { { 0 } };
+-
+- return xen_tmem_op(TMEM_DESTROY_POOL, pool_id, oid, 0, 0, 0, 0, 0);
+-}
+-
+-int tmem_enabled;
++int tmem_enabled __read_mostly;
++EXPORT_SYMBOL(tmem_enabled);
+
+ static int __init enable_tmem(char *s)
+ {
+@@ -127,6 +127,13 @@ static int __init enable_tmem(char *s)
+ __setup("tmem", enable_tmem);
+
+ #ifdef CONFIG_CLEANCACHE
++static int xen_tmem_destroy_pool(u32 pool_id)
++{
++ struct tmem_oid oid = { { 0 } };
++
++ return xen_tmem_op(TMEM_DESTROY_POOL, pool_id, oid, 0, 0, 0, 0, 0);
++}
++
+ /* cleancache ops */
+
+ static void tmem_cleancache_put_page(int pool, struct cleancache_filekey key,
+@@ -230,17 +237,152 @@ static struct cleancache_ops tmem_cleanc
+ };
+ #endif
+
+-static int __init xen_tmem_init(void)
++#ifdef CONFIG_FRONTSWAP
++/* frontswap tmem operations */
++
++/* a single tmem poolid is used for all frontswap "types" (swapfiles) */
++static int tmem_frontswap_poolid;
++
++/*
++ * Swizzling increases objects per swaptype, increasing tmem concurrency
++ * for heavy swaploads. Later, larger nr_cpus -> larger SWIZ_BITS
++ */
++#define SWIZ_BITS 4
++#define SWIZ_MASK ((1 << SWIZ_BITS) - 1)
++#define _oswiz(_type, _ind) ((_type << SWIZ_BITS) | (_ind & SWIZ_MASK))
++#define iswiz(_ind) (_ind >> SWIZ_BITS)
++
++static inline struct tmem_oid oswiz(unsigned type, u32 ind)
++{
++ struct tmem_oid oid = { .oid = { 0 } };
++ oid.oid[0] = _oswiz(type, ind);
++ return oid;
++}
++
++/* returns 0 if the page was successfully put into frontswap, -1 if not */
++static int tmem_frontswap_put_page(unsigned type, pgoff_t offset,
++ struct page *page)
++{
++ u64 ind64 = (u64)offset;
++ u32 ind = (u32)offset;
++ unsigned long pfn = page_to_pfn(page);
++ int pool = tmem_frontswap_poolid;
++ int ret;
++
++ if (pool < 0)
++ return -1;
++ if (ind64 != ind)
++ return -1;
++ mb(); /* ensure page is quiescent; tmem may address it with an alias */
++ ret = xen_tmem_put_page(pool, oswiz(type, ind), iswiz(ind), pfn);
++ /* translate Xen tmem return values to linux semantics */
++ if (ret == 1)
++ return 0;
++ else
++ return -1;
++}
++
++/* returns 0 if the page was successfully gotten from frontswap, -1 if
++ * was not present (should never happen!) */
++static int tmem_frontswap_get_page(unsigned type, pgoff_t offset,
++ struct page *page)
++{
++ u64 ind64 = (u64)offset;
++ u32 ind = (u32)offset;
++ unsigned long pfn = page_to_pfn(page);
++ int pool = tmem_frontswap_poolid;
++ int ret;
++
++ if (pool < 0)
++ return -1;
++ if (ind64 != ind)
++ return -1;
++ ret = xen_tmem_get_page(pool, oswiz(type, ind), iswiz(ind), pfn);
++ /* translate Xen tmem return values to linux semantics */
++ if (ret == 1)
++ return 0;
++ else
++ return -1;
++}
++
++/* flush a single page from frontswap */
++static void tmem_frontswap_flush_page(unsigned type, pgoff_t offset)
+ {
+- struct cleancache_ops old_ops;
++ u64 ind64 = (u64)offset;
++ u32 ind = (u32)offset;
++ int pool = tmem_frontswap_poolid;
+
++ if (pool < 0)
++ return;
++ if (ind64 != ind)
++ return;
++ (void) xen_tmem_flush_page(pool, oswiz(type, ind), iswiz(ind));
++}
++
++/* flush all pages from the passed swaptype */
++static void tmem_frontswap_flush_area(unsigned type)
++{
++ int pool = tmem_frontswap_poolid;
++ int ind;
++
++ if (pool < 0)
++ return;
++ for (ind = SWIZ_MASK; ind >= 0; ind--)
++ (void)xen_tmem_flush_object(pool, oswiz(type, ind));
++}
++
++static void tmem_frontswap_init(unsigned ignored)
++{
++ struct tmem_pool_uuid private = TMEM_POOL_PRIVATE_UUID;
++
++ /* a single tmem poolid is used for all frontswap "types" (swapfiles) */
++ if (tmem_frontswap_poolid < 0)
++ tmem_frontswap_poolid =
++ xen_tmem_new_pool(private, TMEM_POOL_PERSIST, PAGE_SIZE);
++}
++
++static int use_frontswap = 1;
++
++static int __init no_frontswap(char *s)
++{
++ use_frontswap = 0;
++ return 1;
++}
++
++__setup("nofrontswap", no_frontswap);
++
++static struct frontswap_ops tmem_frontswap_ops = {
++ .put_page = tmem_frontswap_put_page,
++ .get_page = tmem_frontswap_get_page,
++ .flush_page = tmem_frontswap_flush_page,
++ .flush_area = tmem_frontswap_flush_area,
++ .init = tmem_frontswap_init
++};
++#endif
++
++static int __init xen_tmem_init(void)
++{
+ if (!xen_domain())
+ return 0;
++#ifdef CONFIG_FRONTSWAP
++ if (tmem_enabled && use_frontswap) {
++ char *s = "";
++ struct frontswap_ops old_ops =
++ frontswap_register_ops(&tmem_frontswap_ops);
++
++ tmem_frontswap_poolid = -1;
++ if (old_ops.init != NULL)
++ s = " (WARNING: frontswap_ops overridden)";
++ printk(KERN_INFO "frontswap enabled, RAM provided by "
++ "Xen Transcendent Memory\n");
++ }
++#endif
+ #ifdef CONFIG_CLEANCACHE
+ BUILD_BUG_ON(sizeof(struct cleancache_filekey) != sizeof(struct tmem_oid));
+ if (tmem_enabled && use_cleancache) {
+ char *s = "";
+- old_ops = cleancache_register_ops(&tmem_cleancache_ops);
++ struct cleancache_ops old_ops =
++ cleancache_register_ops(&tmem_cleancache_ops);
+ if (old_ops.init_fs != NULL)
+ s = " (WARNING: cleancache_ops overridden)";
+ printk(KERN_INFO "cleancache enabled, RAM provided by "
diff --git a/patches.xen/xen-ipi-per-cpu-irq b/patches.xen/xen-ipi-per-cpu-irq
index 4219e0bd20..175c2744b4 100644
--- a/patches.xen/xen-ipi-per-cpu-irq
+++ b/patches.xen/xen-ipi-per-cpu-irq
@@ -2,8 +2,8 @@ From: jbeulich@novell.com
Subject: fold IPIs onto a single IRQ each
Patch-mainline: n/a
---- head-2011-04-13.orig/arch/x86/include/asm/hw_irq.h 2011-04-13 14:05:37.000000000 +0200
-+++ head-2011-04-13/arch/x86/include/asm/hw_irq.h 2011-04-13 16:48:09.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/hw_irq.h 2011-04-13 14:05:37.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/hw_irq.h 2011-04-13 16:48:09.000000000 +0200
@@ -156,7 +156,6 @@ extern void smp_error_interrupt(struct p
extern asmlinkage void smp_irq_move_cleanup_interrupt(void);
#endif
@@ -29,8 +29,8 @@ Patch-mainline: n/a
#endif
#endif
---- head-2011-04-13.orig/arch/x86/kernel/apic/ipi-xen.c 2011-03-18 11:29:10.000000000 +0100
-+++ head-2011-04-13/arch/x86/kernel/apic/ipi-xen.c 2011-03-18 11:29:49.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/apic/ipi-xen.c 2011-03-18 11:29:10.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/apic/ipi-xen.c 2011-03-18 11:29:49.000000000 +0100
@@ -7,25 +7,6 @@
#ifdef CONFIG_SMP
#include <xen/evtchn.h>
@@ -83,18 +83,8 @@ Patch-mainline: n/a
+ notify_remote_via_ipi(vector, smp_processor_id());
}
#endif
---- head-2011-04-13.orig/arch/x86/kernel/irq-xen.c 2011-04-13 17:01:32.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/irq-xen.c 2011-04-14 11:25:42.000000000 +0200
-@@ -271,6 +271,7 @@ void fixup_irqs(void)
- data = irq_desc_get_irq_data(desc);
- affinity = data->affinity;
- if (!irq_has_action(irq) ||
-+ irqd_is_per_cpu(data) ||
- cpumask_subset(affinity, cpu_online_mask)) {
- raw_spin_unlock(&desc->lock);
- continue;
---- head-2011-04-13.orig/arch/x86/kernel/irq_work-xen.c 2011-02-03 11:19:35.000000000 +0100
-+++ head-2011-04-13/arch/x86/kernel/irq_work-xen.c 2011-02-03 13:56:43.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/irq_work-xen.c 2011-02-03 11:19:35.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/irq_work-xen.c 2011-02-03 13:56:43.000000000 +0100
@@ -8,12 +8,10 @@
#include <asm/ipi.h>
@@ -109,8 +99,8 @@ Patch-mainline: n/a
}
void arch_irq_work_raise(void)
---- head-2011-04-13.orig/arch/x86/kernel/smp-xen.c 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-13/arch/x86/kernel/smp-xen.c 2011-02-02 15:09:43.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp-xen.c 2011-07-01 15:47:44.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/smp-xen.c 2011-07-04 10:22:35.000000000 +0200
@@ -136,11 +136,9 @@ void xen_send_call_func_ipi(const struct
* this function calls the 'stop' function on all other CPUs in the system.
*/
@@ -124,14 +114,15 @@ Patch-mainline: n/a
}
void xen_stop_other_cpus(int wait)
-@@ -179,24 +177,19 @@ void xen_stop_other_cpus(int wait)
- * all the work is done automatically when
- * we return from the interrupt.
+@@ -177,25 +175,20 @@ void xen_stop_other_cpus(int wait)
+ /*
+ * Reschedule call back.
*/
-irqreturn_t smp_reschedule_interrupt(int irq, void *dev_id)
+void smp_reschedule_interrupt(struct pt_regs *regs)
{
inc_irq_stat(irq_resched_count);
+ scheduler_ipi();
- return IRQ_HANDLED;
}
@@ -152,8 +143,8 @@ Patch-mainline: n/a
-
- return IRQ_HANDLED;
}
---- head-2011-04-13.orig/drivers/xen/core/evtchn.c 2011-04-14 13:58:21.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/evtchn.c 2011-04-14 14:02:49.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2011-04-14 13:58:21.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-04-14 14:02:49.000000000 +0200
@@ -59,6 +59,20 @@ static DEFINE_SPINLOCK(irq_mapping_updat
static int evtchn_to_irq[NR_EVENT_CHANNELS] = {
[0 ... NR_EVENT_CHANNELS-1] = -1 };
@@ -663,8 +654,8 @@ Patch-mainline: n/a
if (irq >= 0) {
BUG_ON(type_from_irq_cfg(cfg) != IRQT_UNBOUND);
cfg->bindcount++;
---- head-2011-04-13.orig/drivers/xen/core/smpboot.c 2011-03-03 16:13:04.000000000 +0100
-+++ head-2011-04-13/drivers/xen/core/smpboot.c 2011-03-03 16:14:20.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-03-03 16:13:04.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-03-03 16:14:20.000000000 +0100
@@ -36,19 +36,7 @@ cpumask_var_t vcpu_initialized_mask;
DEFINE_PER_CPU_READ_MOSTLY(struct cpuinfo_x86, cpu_info);
EXPORT_PER_CPU_SYMBOL(cpu_info);
@@ -844,8 +835,8 @@ Patch-mainline: n/a
xen_spinlock_cleanup(cpu);
}
#endif
---- head-2011-04-13.orig/include/xen/evtchn.h 2010-11-23 15:07:01.000000000 +0100
-+++ head-2011-04-13/include/xen/evtchn.h 2011-02-02 15:09:43.000000000 +0100
+--- head-2011-06-30.orig/include/xen/evtchn.h 2010-11-23 15:07:01.000000000 +0100
++++ head-2011-06-30/include/xen/evtchn.h 2011-02-02 15:09:43.000000000 +0100
@@ -94,6 +94,8 @@ int bind_virq_to_irqhandler(
unsigned long irqflags,
const char *devname,
diff --git a/patches.xen/xen-kzalloc b/patches.xen/xen-kzalloc
index 1c2902ff57..d5092ed29c 100644
--- a/patches.xen/xen-kzalloc
+++ b/patches.xen/xen-kzalloc
@@ -4,9 +4,9 @@ Patch-mainline: n/a
Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
---- head-2011-04-13.orig/arch/x86/mm/init_32-xen.c 2011-04-13 16:26:26.000000000 +0200
-+++ head-2011-04-13/arch/x86/mm/init_32-xen.c 2011-04-13 16:54:02.000000000 +0200
-@@ -723,7 +723,7 @@ unsigned long __init extend_init_mapping
+--- head-2011-06-30.orig/arch/x86/mm/init_32-xen.c 2011-07-01 15:19:35.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_32-xen.c 2011-07-04 12:15:21.000000000 +0200
+@@ -725,7 +725,7 @@ unsigned long __init extend_init_mapping
if (pmd_none(*pmd)) {
unsigned long pa = start_pfn++ << PAGE_SHIFT;
@@ -15,8 +15,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
make_lowmem_page_readonly(__va(pa),
XENFEAT_writable_page_tables);
xen_l2_entry_update(pmd, __pmd(pa | _KERNPG_TABLE));
---- head-2011-04-13.orig/arch/x86/mm/init_64-xen.c 2011-04-13 16:26:28.000000000 +0200
-+++ head-2011-04-13/arch/x86/mm/init_64-xen.c 2011-04-13 16:54:38.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-07-01 15:19:35.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-04-13 16:54:38.000000000 +0200
@@ -213,7 +213,7 @@ static __ref void *spp_getpage(void)
else if (pgt_buf_end < pgt_buf_top) {
ptr = __va(pgt_buf_end << PAGE_SHIFT);
@@ -26,8 +26,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
} else
ptr = alloc_bootmem_pages(PAGE_SIZE);
---- head-2011-04-13.orig/drivers/xen/blkback/blkback.c 2011-04-14 17:16:19.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blkback/blkback.c 2011-04-14 17:21:11.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/blkback.c 2011-04-14 17:16:19.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/blkback.c 2011-04-14 17:21:11.000000000 +0200
@@ -639,7 +639,7 @@ static int __init blkif_init(void)
mmap_pages = blkif_reqs * BLKIF_MAX_SEGMENTS_PER_REQUEST;
@@ -45,8 +45,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
INIT_LIST_HEAD(&pending_free);
for (i = 0; i < blkif_reqs; i++)
---- head-2011-04-13.orig/drivers/xen/core/gnttab.c 2011-04-14 17:21:05.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/gnttab.c 2011-02-02 15:10:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/gnttab.c 2011-04-14 17:21:05.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/gnttab.c 2011-02-02 15:10:16.000000000 +0100
@@ -546,7 +546,7 @@ int gnttab_copy_grant_page(grant_ref_t r
new_addr = page_address(new_page);
@@ -56,8 +56,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
pfn = page_to_pfn(page);
mfn = pfn_to_mfn(pfn);
---- head-2011-04-13.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:13.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:26.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-07-04 10:25:00.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:26.000000000 +0200
@@ -98,7 +98,7 @@ static void post_suspend(int suspend_can
BUG();
HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
@@ -67,8 +67,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
fpp = PAGE_SIZE/sizeof(unsigned long);
for (i = 0, j = 0, k = -1; i < max_pfn; i += fpp, j++) {
---- head-2011-04-13.orig/drivers/xen/core/smpboot.c 2011-02-07 12:28:20.000000000 +0100
-+++ head-2011-04-13/drivers/xen/core/smpboot.c 2011-02-02 15:10:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-02-07 12:28:20.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-02-02 15:10:16.000000000 +0100
@@ -176,17 +176,12 @@ static void __cpuinit cpu_initialize_con
ctxt.flags = VGCF_IN_KERNEL;
ctxt.user_regs.ds = __USER_DS;
@@ -87,9 +87,9 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
ctxt.gdt_frames[0] = arbitrary_virt_to_mfn(get_cpu_gdt_table(cpu));
ctxt.gdt_ents = GDT_SIZE / 8;
---- head-2011-04-13.orig/drivers/xen/netback/interface.c 2011-04-04 14:53:36.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/interface.c 2011-04-04 14:54:04.000000000 +0200
-@@ -272,7 +272,6 @@ netif_t *netif_alloc(struct device *pare
+--- head-2011-06-30.orig/drivers/xen/netback/interface.c 2011-07-04 10:36:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/interface.c 2011-07-04 12:15:32.000000000 +0200
+@@ -215,7 +215,6 @@ netif_t *netif_alloc(struct device *pare
SET_NETDEV_DEV(dev, parent);
netif = netdev_priv(dev);
@@ -97,8 +97,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
netif->domid = domid;
netif->group = UINT_MAX;
netif->handle = handle;
---- head-2011-04-13.orig/drivers/xen/scsiback/emulate.c 2011-02-08 10:04:09.000000000 +0100
-+++ head-2011-04-13/drivers/xen/scsiback/emulate.c 2011-02-08 10:45:57.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/scsiback/emulate.c 2011-02-08 10:04:09.000000000 +0100
++++ head-2011-06-30/drivers/xen/scsiback/emulate.c 2011-02-08 10:45:57.000000000 +0100
@@ -243,13 +243,11 @@ static void __report_luns(pending_req_t
alloc_len = sizeof(struct scsi_lun) * alloc_luns
+ VSCSI_REPORT_LUNS_HEADER;
@@ -114,8 +114,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
one_lun = (struct scsi_lun *) &buff[8];
spin_lock_irqsave(&info->v2p_lock, flags);
list_for_each_entry(entry, head, l) {
---- head-2011-04-13.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 15:06:01.000000000 +0200
-+++ head-2011-04-13/drivers/xen/scsiback/scsiback.c 2011-04-13 16:54:02.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 15:06:01.000000000 +0200
++++ head-2011-06-30/drivers/xen/scsiback/scsiback.c 2011-04-13 16:54:02.000000000 +0200
@@ -670,7 +670,7 @@ static int __init scsiback_init(void)
mmap_pages = vscsiif_reqs * VSCSIIF_SG_TABLESIZE;
@@ -133,8 +133,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
INIT_LIST_HEAD(&pending_free);
for (i = 0; i < vscsiif_reqs; i++)
---- head-2011-04-13.orig/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2011-02-01 15:03:03.000000000 +0100
-+++ head-2011-04-13/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2011-02-02 15:10:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2011-02-01 15:03:03.000000000 +0100
++++ head-2011-06-30/drivers/xen/sfc_netutil/accel_cuckoo_hash.c 2011-02-02 15:10:16.000000000 +0100
@@ -77,7 +77,7 @@ int cuckoo_hash_init(cuckoo_hash_table *
BUG_ON(length_bits >= sizeof(unsigned) * 8);
BUG_ON(key_length > sizeof(cuckoo_hash_key));
@@ -154,8 +154,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
return 0;
}
EXPORT_SYMBOL_GPL(cuckoo_hash_init);
---- head-2011-04-13.orig/drivers/xen/tpmback/interface.c 2011-04-11 15:00:49.000000000 +0200
-+++ head-2011-04-13/drivers/xen/tpmback/interface.c 2011-04-13 16:54:02.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/tpmback/interface.c 2011-04-11 15:00:49.000000000 +0200
++++ head-2011-06-30/drivers/xen/tpmback/interface.c 2011-04-13 16:54:02.000000000 +0200
@@ -94,7 +94,7 @@ int tpmif_map(tpmif_t *tpmif, grant_ref_
tpmif->tx_area = area;
@@ -165,8 +165,8 @@ Also use clear_page() in favor of memset(, 0, PAGE_SIZE).
err = bind_interdomain_evtchn_to_irqhandler(
tpmif->domid, evtchn, tpmif_be_int, 0, tpmif->devname, tpmif);
---- head-2011-04-13.orig/drivers/xen/usbback/usbback.c 2011-04-11 15:05:47.000000000 +0200
-+++ head-2011-04-13/drivers/xen/usbback/usbback.c 2011-04-13 16:54:02.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/usbback/usbback.c 2011-04-11 15:05:47.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbback/usbback.c 2011-04-13 16:54:02.000000000 +0200
@@ -1142,7 +1142,7 @@ static int __init usbback_init(void)
return -ENODEV;
diff --git a/patches.xen/xen-mem-hotplug b/patches.xen/xen-mem-hotplug
index 83fcb8e8fd..d7aea3f42a 100644
--- a/patches.xen/xen-mem-hotplug
+++ b/patches.xen/xen-mem-hotplug
@@ -18,9 +18,9 @@ so much changes, to simply avoid two hooks.
jb: Integrate into base module; cleanup.
Acked-by: jbeulich@novell.com
---- head-2011-04-13.orig/drivers/acpi/Kconfig 2011-04-13 13:52:09.000000000 +0200
-+++ head-2011-04-13/drivers/acpi/Kconfig 2011-04-13 16:51:28.000000000 +0200
-@@ -348,7 +348,7 @@ config ACPI_CONTAINER
+--- head-2011-06-30.orig/drivers/acpi/Kconfig 2011-06-30 16:49:10.000000000 +0200
++++ head-2011-06-30/drivers/acpi/Kconfig 2011-07-04 10:26:33.000000000 +0200
+@@ -337,7 +337,7 @@ config ACPI_CONTAINER
config ACPI_HOTPLUG_MEMORY
tristate "Memory Hotplug"
@@ -29,8 +29,8 @@ Acked-by: jbeulich@novell.com
default n
help
This driver supports ACPI memory hotplug. The driver
---- head-2011-04-13.orig/drivers/acpi/acpi_memhotplug.c 2010-05-16 23:17:36.000000000 +0200
-+++ head-2011-04-13/drivers/acpi/acpi_memhotplug.c 2011-02-02 15:10:06.000000000 +0100
+--- head-2011-06-30.orig/drivers/acpi/acpi_memhotplug.c 2010-05-16 23:17:36.000000000 +0200
++++ head-2011-06-30/drivers/acpi/acpi_memhotplug.c 2011-02-02 15:10:06.000000000 +0100
@@ -88,6 +88,14 @@ struct acpi_memory_device {
static int acpi_hotmem_initialized;
@@ -89,7 +89,7 @@ Acked-by: jbeulich@novell.com
}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-04-13/drivers/xen/core/acpi_memhotplug.c 2011-02-02 15:10:06.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/acpi_memhotplug.c 2011-02-02 15:10:06.000000000 +0100
@@ -0,0 +1,192 @@
+/*
+ * xen_acpi_memhotplug.c - interface to notify Xen on memory device hotadd
diff --git a/patches.xen/xen-netback-generalize b/patches.xen/xen-netback-generalize
index 264004e059..9e642e9993 100644
--- a/patches.xen/xen-netback-generalize
+++ b/patches.xen/xen-netback-generalize
@@ -11,9 +11,9 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
jb: various cleanups
Acked-by: jbeulich@novell.com
---- head-2011-04-13.orig/drivers/xen/netback/common.h 2011-04-11 15:01:09.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/common.h 2011-04-04 14:53:24.000000000 +0200
-@@ -210,4 +210,74 @@ static inline int netbk_can_sg(struct ne
+--- head-2011-06-30.orig/drivers/xen/netback/common.h 2011-07-01 17:07:13.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/common.h 2011-07-04 10:36:46.000000000 +0200
+@@ -209,4 +209,74 @@ static inline int netbk_can_sg(struct ne
return netif->can_sg;
}
@@ -88,8 +88,8 @@ Acked-by: jbeulich@novell.com
+ unsigned long mfn_list[MAX_MFN_ALLOC];
+};
#endif /* __NETIF__BACKEND__COMMON_H__ */
---- head-2011-04-13.orig/drivers/xen/netback/netback.c 2011-04-13 16:51:51.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/netback.c 2011-04-13 16:53:05.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/netback.c 2011-04-13 16:51:51.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/netback.c 2011-04-13 16:53:05.000000000 +0200
@@ -36,6 +36,7 @@
#include "common.h"
diff --git a/patches.xen/xen-netback-kernel-threads b/patches.xen/xen-netback-kernel-threads
index 48766ace81..d29e2ab71f 100644
--- a/patches.xen/xen-netback-kernel-threads
+++ b/patches.xen/xen-netback-kernel-threads
@@ -33,8 +33,8 @@ jb: changed write_seq{,un}lock_irq() to write_seq{,un}lock_bh(), and
made the use of kernel threads optional (but default)
Acked-by: jbeulich@novell.com
---- head-2011-04-13.orig/drivers/xen/core/gnttab.c 2011-04-13 16:32:05.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/gnttab.c 2010-09-23 17:06:35.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/gnttab.c 2011-04-14 17:19:31.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/gnttab.c 2010-09-23 17:06:35.000000000 +0200
@@ -552,14 +552,14 @@ int gnttab_copy_grant_page(grant_ref_t r
mfn = pfn_to_mfn(pfn);
new_mfn = virt_to_mfn(new_addr);
@@ -61,9 +61,9 @@ Acked-by: jbeulich@novell.com
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
set_phys_to_machine(page_to_pfn(new_page), INVALID_P2M_ENTRY);
---- head-2011-04-13.orig/drivers/xen/netback/common.h 2011-04-04 14:53:31.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/common.h 2011-04-04 14:53:47.000000000 +0200
-@@ -232,8 +232,16 @@ struct netbk_tx_pending_inuse {
+--- head-2011-06-30.orig/drivers/xen/netback/common.h 2011-07-04 10:36:52.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/common.h 2011-07-04 10:36:58.000000000 +0200
+@@ -231,8 +231,16 @@ struct netbk_tx_pending_inuse {
#define MAX_MFN_ALLOC 64
struct xen_netbk {
@@ -82,8 +82,8 @@ Acked-by: jbeulich@novell.com
struct sk_buff_head rx_queue;
struct sk_buff_head tx_queue;
---- head-2011-04-13.orig/drivers/xen/netback/netback.c 2011-04-13 16:53:10.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/netback.c 2011-04-13 16:53:15.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/netback.c 2011-04-13 16:53:10.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/netback.c 2011-04-13 16:53:15.000000000 +0200
@@ -36,6 +36,7 @@
#include "common.h"
diff --git a/patches.xen/xen-netback-multiple-tasklets b/patches.xen/xen-netback-multiple-tasklets
index 9bd8cdf0ed..2f19f1789e 100644
--- a/patches.xen/xen-netback-multiple-tasklets
+++ b/patches.xen/xen-netback-multiple-tasklets
@@ -17,8 +17,8 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
jb: some cleanups
Acked-by: jbeulich@novell.com
---- head-2011-04-13.orig/drivers/xen/netback/common.h 2011-04-04 14:53:24.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/common.h 2011-04-04 14:53:31.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/common.h 2011-07-04 10:36:46.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/common.h 2011-07-04 10:36:52.000000000 +0200
@@ -51,6 +51,7 @@
typedef struct netif_st {
/* Unique identifier for this interface. */
@@ -27,7 +27,7 @@ Acked-by: jbeulich@novell.com
unsigned int handle;
u8 fe_dev_addr[6];
-@@ -253,6 +254,7 @@ struct xen_netbk {
+@@ -252,6 +253,7 @@ struct xen_netbk {
struct page **mmap_pages;
@@ -35,7 +35,7 @@ Acked-by: jbeulich@novell.com
unsigned int alloc_index;
struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
-@@ -280,4 +282,8 @@ struct xen_netbk {
+@@ -279,4 +281,8 @@ struct xen_netbk {
unsigned long mfn_list[MAX_MFN_ALLOC];
};
@@ -44,8 +44,8 @@ Acked-by: jbeulich@novell.com
+extern unsigned int netbk_nr_groups;
+
#endif /* __NETIF__BACKEND__COMMON_H__ */
---- head-2011-04-13.orig/drivers/xen/netback/interface.c 2011-04-04 14:53:09.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/interface.c 2011-04-04 14:53:36.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/interface.c 2011-07-04 10:36:37.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/interface.c 2011-07-04 10:36:53.000000000 +0200
@@ -56,14 +56,36 @@ module_param_named(queue_length, netbk_q
static void __netif_up(netif_t *netif)
@@ -83,7 +83,7 @@ Acked-by: jbeulich@novell.com
}
static int net_open(struct net_device *dev)
-@@ -252,6 +274,7 @@ netif_t *netif_alloc(struct device *pare
+@@ -195,6 +217,7 @@ netif_t *netif_alloc(struct device *pare
netif = netdev_priv(dev);
memset(netif, 0, sizeof(*netif));
netif->domid = domid;
@@ -91,8 +91,8 @@ Acked-by: jbeulich@novell.com
netif->handle = handle;
netif->can_sg = 1;
netif->csum = 1;
---- head-2011-04-13.orig/drivers/xen/netback/netback.c 2011-04-13 16:53:05.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/netback.c 2011-04-13 16:53:10.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/netback.c 2011-04-13 16:53:05.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/netback.c 2011-04-13 16:53:10.000000000 +0200
@@ -46,10 +46,10 @@
/*define NETBE_DEBUG_INTERRUPT*/
@@ -131,6 +131,15 @@ Acked-by: jbeulich@novell.com
copy_gop->source.domid = src_pend->netif->domid;
copy_gop->source.u.ref = src_pend->req.gref;
copy_gop->flags |= GNTCOPY_source_gref;
+@@ -943,7 +947,7 @@ inline static void net_tx_action_dealloc
+ /* Ensure we see all indices enqueued by netif_idx_release(). */
+ smp_rmb();
+
+- if (MODPARM_permute_returns)
++ if (MODPARM_permute_returns && netbk_nr_groups == 1)
+ permute_dealloc_ring(netbk->dealloc_ring, dc, dp);
+
+ while (dc != dp) {
@@ -1561,9 +1565,20 @@ static void netif_page_release(struct pa
irqreturn_t netif_be_int(int irq, void *dev_id)
{
diff --git a/patches.xen/xen-netback-nr-irqs b/patches.xen/xen-netback-nr-irqs
index 708bbe4f06..f6014c0ce0 100644
--- a/patches.xen/xen-netback-nr-irqs
+++ b/patches.xen/xen-netback-nr-irqs
@@ -8,9 +8,9 @@ be pretty unbounded. Also, store the dynirq rather than the raw irq
to push up the limit where the type of notify_list needs to become
'int' rather than 'u16'.
---- head-2011-04-13.orig/drivers/xen/netback/interface.c 2011-04-11 15:05:20.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/interface.c 2011-04-04 14:53:09.000000000 +0200
-@@ -329,6 +329,7 @@ int netif_map(struct backend_info *be, g
+--- head-2011-06-30.orig/drivers/xen/netback/interface.c 2011-07-01 17:09:25.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/interface.c 2011-07-04 10:36:37.000000000 +0200
+@@ -273,6 +273,7 @@ int netif_map(struct backend_info *be, g
netif->dev->name, netif);
if (err < 0)
goto err_hypervisor;
@@ -18,8 +18,8 @@ to push up the limit where the type of notify_list needs to become
netif->irq = err;
disable_irq(netif->irq);
---- head-2011-04-13.orig/drivers/xen/netback/netback.c 2011-04-13 16:51:37.000000000 +0200
-+++ head-2011-04-13/drivers/xen/netback/netback.c 2011-04-13 16:51:45.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/netback.c 2011-04-13 16:51:37.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/netback.c 2011-04-13 16:51:45.000000000 +0200
@@ -595,8 +595,12 @@ static void net_rx_action(unsigned long
static mmu_update_t rx_mmu[NET_RX_RING_SIZE];
static gnttab_transfer_t grant_trans_op[NET_RX_RING_SIZE];
diff --git a/patches.xen/xen-op-packet b/patches.xen/xen-op-packet
index 37dac6accf..3203afaf31 100644
--- a/patches.xen/xen-op-packet
+++ b/patches.xen/xen-op-packet
@@ -3,8 +3,8 @@ Subject: add support for new operation type BLKIF_OP_PACKET
Patch-mainline: n/a
References: fate#300964
---- head-2011-04-13.orig/drivers/xen/blkback/blkback.c 2011-04-14 17:15:22.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blkback/blkback.c 2011-04-14 17:16:19.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/blkback.c 2011-04-14 17:15:22.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/blkback.c 2011-04-14 17:16:19.000000000 +0200
@@ -194,13 +194,15 @@ static void fast_flush_area(pending_req_
static void print_stats(blkif_t *blkif)
@@ -37,8 +37,8 @@ References: fate#300964
default:
/* A good sign something is wrong: sleep for a while to
* avoid excessive CPU consumption by a bad guest. */
---- head-2011-04-13.orig/drivers/xen/blkback/common.h 2011-04-04 14:51:29.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blkback/common.h 2011-04-04 14:51:59.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/common.h 2011-04-04 14:51:29.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/common.h 2011-04-04 14:51:59.000000000 +0200
@@ -84,6 +84,7 @@ typedef struct blkif_st {
int st_wr_req;
int st_oo_req;
@@ -47,18 +47,18 @@ References: fate#300964
int st_rd_sect;
int st_wr_sect;
---- head-2011-04-13.orig/drivers/xen/blkfront/blkfront.c 2011-02-03 12:37:02.000000000 +0100
-+++ head-2011-04-13/drivers/xen/blkfront/blkfront.c 2010-12-06 15:01:01.000000000 +0100
-@@ -708,6 +708,8 @@ static int blkif_queue_request(struct re
+--- head-2011-06-30.orig/drivers/xen/blkfront/blkfront.c 2011-07-01 16:58:40.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/blkfront.c 2011-07-04 10:17:23.000000000 +0200
+@@ -719,6 +719,8 @@ static int blkif_queue_request(struct re
if (req->cmd_flags & REQ_HARDBARRIER)
#endif
- ring_req->operation = BLKIF_OP_WRITE_BARRIER;
+ ring_req->operation = info->flush_op;
+ if (req->cmd_type == REQ_TYPE_BLOCK_PC)
+ ring_req->operation = BLKIF_OP_PACKET;
ring_req->nr_segments = blk_rq_map_sg(req->q, req, info->sg);
BUG_ON(ring_req->nr_segments > BLKIF_MAX_SEGMENTS_PER_REQUEST);
-@@ -765,7 +767,8 @@ void do_blkif_request(struct request_que
+@@ -776,7 +778,8 @@ void do_blkif_request(struct request_que
blk_start_request(req);
@@ -68,7 +68,7 @@ References: fate#300964
__blk_end_request_all(req, -EIO);
continue;
}
-@@ -852,6 +855,7 @@ static irqreturn_t blkif_int(int irq, vo
+@@ -866,6 +869,7 @@ static irqreturn_t blkif_int(int irq, vo
/* fall through */
case BLKIF_OP_READ:
case BLKIF_OP_WRITE:
@@ -76,9 +76,9 @@ References: fate#300964
if (unlikely(bret->status != BLKIF_RSP_OKAY))
DPRINTK("Bad return from blkdev data "
"request: %x\n", bret->status);
---- head-2011-04-13.orig/drivers/xen/blktap/blktap.c 2011-04-04 14:51:40.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blktap/blktap.c 2011-04-04 14:51:48.000000000 +0200
-@@ -1131,13 +1131,14 @@ static void fast_flush_area(pending_req_
+--- head-2011-06-30.orig/drivers/xen/blktap/blktap.c 2011-07-04 10:15:07.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/blktap.c 2011-07-04 10:17:28.000000000 +0200
+@@ -1125,13 +1125,14 @@ static void fast_flush_area(pending_req_
static void print_stats(blkif_t *blkif)
{
@@ -95,7 +95,7 @@ References: fate#300964
}
int tap_blkif_schedule(void *arg)
-@@ -1384,6 +1385,11 @@ static int do_block_io_op(blkif_t *blkif
+@@ -1377,6 +1378,11 @@ static int do_block_io_op(blkif_t *blkif
dispatch_rw_block_io(blkif, &req, pending_req);
break;
@@ -107,8 +107,8 @@ References: fate#300964
default:
/* A good sign something is wrong: sleep for a while to
* avoid excessive CPU consumption by a bad guest. */
---- head-2011-04-13.orig/drivers/xen/blktap/common.h 2011-04-11 15:01:35.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blktap/common.h 2011-04-04 14:51:50.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blktap/common.h 2011-04-11 15:01:35.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/common.h 2011-04-04 14:51:50.000000000 +0200
@@ -70,6 +70,7 @@ typedef struct blkif_st {
int st_rd_req;
int st_wr_req;
@@ -117,8 +117,8 @@ References: fate#300964
int st_rd_sect;
int st_wr_sect;
---- head-2011-04-13.orig/drivers/xen/blktap2/blktap.h 2011-04-11 15:10:09.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blktap2/blktap.h 2011-04-11 15:10:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blktap2/blktap.h 2011-04-11 15:10:09.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap2/blktap.h 2011-04-11 15:10:29.000000000 +0200
@@ -138,6 +138,7 @@ struct blktap_statistics {
int st_rd_req;
int st_wr_req;
@@ -127,8 +127,8 @@ References: fate#300964
int st_rd_sect;
int st_wr_sect;
s64 st_rd_cnt;
---- head-2011-04-13.orig/drivers/xen/blktap2/device.c 2011-02-07 14:13:37.000000000 +0100
-+++ head-2011-04-13/drivers/xen/blktap2/device.c 2010-11-23 15:06:50.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blktap2/device.c 2011-02-07 14:13:37.000000000 +0100
++++ head-2011-06-30/drivers/xen/blktap2/device.c 2010-11-23 15:06:50.000000000 +0100
@@ -366,7 +366,8 @@ blktap_device_fail_pending_requests(stru
BTERR("%u:%u: failing pending %s of %d pages\n",
@@ -167,8 +167,8 @@ References: fate#300964
tap->stats.st_wr_sect += nr_sects;
tap->stats.st_wr_req++;
} else {
---- head-2011-04-13.orig/drivers/xen/blktap2-new/blktap.h 2011-02-24 16:01:23.000000000 +0100
-+++ head-2011-04-13/drivers/xen/blktap2-new/blktap.h 2011-04-11 15:10:27.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blktap2-new/blktap.h 2011-02-24 16:01:23.000000000 +0100
++++ head-2011-06-30/drivers/xen/blktap2-new/blktap.h 2011-04-11 15:10:27.000000000 +0200
@@ -111,6 +111,7 @@ struct blktap_statistics {
int st_rd_req;
int st_wr_req;
@@ -177,8 +177,8 @@ References: fate#300964
int st_rd_sect;
int st_wr_sect;
s64 st_rd_cnt;
---- head-2011-04-13.orig/drivers/xen/blktap2-new/device.c 2011-03-11 00:00:00.000000000 +0100
-+++ head-2011-04-13/drivers/xen/blktap2-new/device.c 2011-03-11 11:09:10.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blktap2-new/device.c 2011-03-11 00:00:00.000000000 +0100
++++ head-2011-06-30/drivers/xen/blktap2-new/device.c 2011-03-11 11:09:10.000000000 +0100
@@ -189,6 +189,8 @@ blktap_device_make_request(struct blktap
request->rq = rq;
@@ -188,8 +188,8 @@ References: fate#300964
err = blktap_request_get_pages(tap, request, nsegs);
if (err)
---- head-2011-04-13.orig/drivers/xen/blktap2-new/ring.c 2011-04-11 15:10:17.000000000 +0200
-+++ head-2011-04-13/drivers/xen/blktap2-new/ring.c 2011-02-24 15:39:28.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blktap2-new/ring.c 2011-04-11 15:10:17.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap2-new/ring.c 2011-02-24 15:39:28.000000000 +0100
@@ -153,11 +153,11 @@ blktap_ring_map_request(struct blktap *t
int seg, err = 0;
int write;
@@ -270,8 +270,8 @@ References: fate#300964
time->tv_sec, time->tv_usec);
}
---- head-2011-04-13.orig/include/xen/interface/io/blkif.h 2011-04-14 14:30:49.000000000 +0200
-+++ head-2011-04-13/include/xen/interface/io/blkif.h 2011-03-17 14:34:04.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/blkif.h 2011-06-30 17:26:34.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/blkif.h 2011-03-17 14:34:04.000000000 +0100
@@ -77,10 +77,9 @@
*/
#define BLKIF_OP_FLUSH_DISKCACHE 3
diff --git a/patches.xen/xen-pcpu-hotplug b/patches.xen/xen-pcpu-hotplug
index d354fcf683..c1ce4f025c 100644
--- a/patches.xen/xen-pcpu-hotplug
+++ b/patches.xen/xen-pcpu-hotplug
@@ -29,8 +29,8 @@ jb: ported over glue logic; retry loops around XENPF_get_cpuinfo;
cleanup.
Acked-by: jbeulich@novell.com
---- head-2011-01-30.orig/arch/x86/kernel/acpi/processor_extcntl_xen.c 2011-02-02 15:09:40.000000000 +0100
-+++ head-2011-01-30/arch/x86/kernel/acpi/processor_extcntl_xen.c 2011-02-02 15:09:57.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-10-06 17:04:43.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/acpi/processor_extcntl_xen.c 2011-02-02 15:09:57.000000000 +0100
@@ -181,9 +181,67 @@ static int xen_tx_notifier(struct acpi_p
{
return -EINVAL;
@@ -100,7 +100,7 @@ Acked-by: jbeulich@novell.com
}
static struct processor_extcntl_ops xen_extcntl_ops = {
-@@ -194,8 +254,10 @@ static int __init init_extcntl(void)
+@@ -194,8 +252,10 @@ static int __init init_extcntl(void)
{
unsigned int pmbits = (xen_start_info->flags & SIF_PM_MASK) >> 8;
@@ -111,8 +111,8 @@ Acked-by: jbeulich@novell.com
if (pmbits & XEN_PROCESSOR_PM_CX)
xen_extcntl_ops.pm_ops[PM_TYPE_IDLE] = xen_cx_notifier;
if (pmbits & XEN_PROCESSOR_PM_PX)
---- head-2011-01-30.orig/drivers/acpi/processor_driver.c 2011-02-01 15:03:10.000000000 +0100
-+++ head-2011-01-30/drivers/acpi/processor_driver.c 2011-02-02 15:09:57.000000000 +0100
+--- head-2011-06-30.orig/drivers/acpi/processor_driver.c 2011-02-01 15:03:10.000000000 +0100
++++ head-2011-06-30/drivers/acpi/processor_driver.c 2011-02-02 15:09:57.000000000 +0100
@@ -82,7 +82,7 @@ MODULE_LICENSE("GPL");
static int acpi_processor_add(struct acpi_device *device);
static int acpi_processor_remove(struct acpi_device *device, int type);
@@ -184,8 +184,8 @@ Acked-by: jbeulich@novell.com
{
return AE_ERROR;
}
---- head-2011-01-30.orig/drivers/acpi/processor_extcntl.c 2011-02-01 15:03:03.000000000 +0100
-+++ head-2011-01-30/drivers/acpi/processor_extcntl.c 2011-02-02 15:09:57.000000000 +0100
+--- head-2011-06-30.orig/drivers/acpi/processor_extcntl.c 2011-02-01 15:03:03.000000000 +0100
++++ head-2011-06-30/drivers/acpi/processor_extcntl.c 2011-02-02 15:09:57.000000000 +0100
@@ -83,10 +83,13 @@ int processor_notify_external(struct acp
ret = processor_extcntl_ops->pm_ops[type](pr, event);
@@ -200,8 +200,8 @@ Acked-by: jbeulich@novell.com
default:
pr_err("Unsupported processor event %d.\n", event);
break;
---- head-2011-01-30.orig/drivers/xen/core/Makefile 2011-02-02 15:09:52.000000000 +0100
-+++ head-2011-01-30/drivers/xen/core/Makefile 2011-02-02 15:09:57.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/Makefile 2011-02-02 15:09:52.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/Makefile 2011-02-02 15:09:57.000000000 +0100
@@ -5,6 +5,7 @@
obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o firmware.o
@@ -211,7 +211,7 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor_sysfs.o
obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-01-30/drivers/xen/core/pcpu.c 2011-02-02 15:09:57.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/pcpu.c 2011-02-02 15:09:57.000000000 +0100
@@ -0,0 +1,415 @@
+/*
+ * pcpu.c - management physical cpu in dom0 environment
@@ -628,9 +628,9 @@ Acked-by: jbeulich@novell.com
+ return err;
+}
+subsys_initcall(xen_pcpu_init);
---- head-2011-01-30.orig/include/acpi/processor.h 2011-02-01 15:03:10.000000000 +0100
-+++ head-2011-01-30/include/acpi/processor.h 2011-02-02 15:09:57.000000000 +0100
-@@ -509,6 +509,8 @@ static inline void xen_convert_psd_pack(
+--- head-2011-06-30.orig/include/acpi/processor.h 2011-02-01 15:03:10.000000000 +0100
++++ head-2011-06-30/include/acpi/processor.h 2011-07-04 10:26:23.000000000 +0200
+@@ -502,6 +502,8 @@ static inline void xen_convert_psd_pack(
xpsd->num_processors = apsd->num_processors;
}
diff --git a/patches.xen/xen-setup-gsi b/patches.xen/xen-setup-gsi
index bfb4400be3..4206e0cbbf 100644
--- a/patches.xen/xen-setup-gsi
+++ b/patches.xen/xen-setup-gsi
@@ -6,20 +6,9 @@ For Xen to be able to use non-legacy IRQs e.g. for its serial console,
it needs to know trigger mode and polarity for them regardless of
whether the kernel is also going to (try to) use those interrupts.
---- head-2011-04-13.orig/arch/x86/kernel/apic/io_apic-xen.c 2011-04-12 16:48:37.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/apic/io_apic-xen.c 2011-04-13 16:56:07.000000000 +0200
-@@ -1388,6 +1388,10 @@ static int setup_ioapic_entry(int apic_i
- return 0;
- }
-
-+static struct {
-+ DECLARE_BITMAP(pin_programmed, MP_MAX_IOAPIC_PIN + 1);
-+} mp_ioapic_routing[MAX_IO_APICS];
-+
- static void setup_ioapic_irq(int apic_id, int pin, unsigned int irq,
- struct irq_cfg *cfg, int trigger, int polarity)
- {
-@@ -1404,6 +1408,42 @@ static void setup_ioapic_irq(int apic_id
+--- head-2011-06-30.orig/arch/x86/kernel/apic/io_apic-xen.c 2011-07-01 15:38:25.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/apic/io_apic-xen.c 2011-07-04 12:20:28.000000000 +0200
+@@ -1394,6 +1394,42 @@ static void setup_ioapic_irq(int apic_id
*/
if (irq < legacy_pic->nr_legacy_irqs && cpumask_test_cpu(0, cfg->domain))
apic->vector_allocation_domain(0, cfg->domain);
@@ -30,7 +19,7 @@ whether the kernel is also going to (try to) use those interrupts.
+ * PHYSDEVOP_setup_gsi more than once (perhaps even at all).
+ */
+ if (irq >= legacy_pic->nr_legacy_irqs
-+ || test_bit(pin, mp_ioapic_routing[apic_id].pin_programmed)) {
++ || test_bit(pin, ioapics[apic_id].pin_programmed)) {
+ struct physdev_setup_gsi setup_gsi = {
+ .gsi = irq,
+ .triggering = trigger,
@@ -62,19 +51,8 @@ whether the kernel is also going to (try to) use those interrupts.
#endif
if (assign_irq_vector(irq, cfg, apic->target_cpus()))
-@@ -1439,10 +1479,6 @@ static void setup_ioapic_irq(int apic_id
- ioapic_write_entry(apic_id, pin, entry);
- }
-
--static struct {
-- DECLARE_BITMAP(pin_programmed, MP_MAX_IOAPIC_PIN + 1);
--} mp_ioapic_routing[MAX_IO_APICS];
--
- static bool __init io_apic_pin_not_connected(int idx, int apic_id, int pin)
- {
- if (idx != -1)
---- head-2011-04-13.orig/drivers/acpi/pci_irq.c 2011-01-05 01:50:19.000000000 +0100
-+++ head-2011-04-13/drivers/acpi/pci_irq.c 2011-02-02 15:10:38.000000000 +0100
+--- head-2011-06-30.orig/drivers/acpi/pci_irq.c 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/drivers/acpi/pci_irq.c 2011-02-02 15:10:38.000000000 +0100
@@ -469,3 +469,80 @@ void acpi_pci_irq_disable(struct pci_dev
dev_info(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
acpi_unregister_gsi(gsi);
diff --git a/patches.xen/xen-sfc-netfront-gcc46 b/patches.xen/xen-sfc-netfront-gcc46
deleted file mode 100644
index 1f49c36491..0000000000
--- a/patches.xen/xen-sfc-netfront-gcc46
+++ /dev/null
@@ -1,18 +0,0 @@
-From: jbeulich@novell.com
-Subject: xen/sfc_netfront: fix an unused variable error
-Patch-mainline: n/a
-
-Make the code in netfront_accel_enqueue_skb_multi() match that in
-netfront_accel_enqueue_skb_single().
-
---- head-2011-05-23.orig/drivers/xen/sfc_netfront/accel_vi.c 2011-02-01 14:54:13.000000000 +0100
-+++ head-2011-05-23/drivers/xen/sfc_netfront/accel_vi.c 2011-05-23 11:39:09.000000000 +0200
-@@ -518,6 +518,8 @@ netfront_accel_enqueue_skb_multi(netfron
- }
-
- rc = ef_vi_transmitv(&vnic->vi, iovecs, state.buffers, dma_id);
-+ /* We checked for space already, so it really should succeed */
-+ BUG_ON(rc != 0);
-
- /* Track number of tx fastpath stats */
- vnic->netdev_stats.fastpath_tx_bytes += skb->len;
diff --git a/patches.xen/xen-swiotlb-heuristics b/patches.xen/xen-swiotlb-heuristics
index bd087af183..12e8446842 100644
--- a/patches.xen/xen-swiotlb-heuristics
+++ b/patches.xen/xen-swiotlb-heuristics
@@ -2,9 +2,9 @@ From: jbeulich@novell.com
Subject: adjust Xen's swiotlb default size setting
Patch-mainline: obsolete
---- head-2010-08-24.orig/lib/swiotlb-xen.c 2010-08-24 16:49:11.000000000 +0200
-+++ head-2010-08-24/lib/swiotlb-xen.c 2010-08-25 14:41:33.000000000 +0200
-@@ -228,8 +228,8 @@ swiotlb_init_with_default_size(size_t de
+--- head-2011-06-30.orig/lib/swiotlb-xen.c 2011-07-01 15:19:35.000000000 +0200
++++ head-2011-06-30/lib/swiotlb-xen.c 2011-07-04 10:36:24.000000000 +0200
+@@ -233,8 +233,8 @@ swiotlb_init_with_default_size(size_t de
void __init
swiotlb_init(int verbose)
{
@@ -15,7 +15,7 @@ Patch-mainline: obsolete
if (swiotlb_force == 1) {
swiotlb = 1;
-@@ -238,8 +238,12 @@ swiotlb_init(int verbose)
+@@ -243,8 +243,12 @@ swiotlb_init(int verbose)
is_initial_xendomain()) {
/* Domain 0 always has a swiotlb. */
ram_end = HYPERVISOR_memory_op(XENMEM_maximum_ram_page, NULL);
diff --git a/patches.xen/xen-sys-suspend b/patches.xen/xen-sys-suspend
index f780217048..79db583cd0 100644
--- a/patches.xen/xen-sys-suspend
+++ b/patches.xen/xen-sys-suspend
@@ -4,8 +4,8 @@ Patch-mainline: n/a
... rather than calling just a few functions explicitly.
---- head-2011-04-13.orig/arch/x86/kernel/time-xen.c 2011-04-14 16:17:08.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/time-xen.c 2011-04-14 16:18:25.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-07-01 16:27:27.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-04-14 16:18:25.000000000 +0200
@@ -72,6 +72,10 @@ DEFINE_PER_CPU(struct vcpu_runstate_info
/* Must be signed, as it's compared with s64 quantities which can be -ve. */
#define NS_PER_TICK (1000000000LL/HZ)
@@ -135,8 +135,8 @@ Patch-mainline: n/a
#ifdef CONFIG_SMP
static char timer_name[NR_CPUS][15];
---- head-2011-04-13.orig/drivers/xen/core/evtchn.c 2011-04-14 17:11:44.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/evtchn.c 2011-04-14 13:58:21.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2011-04-14 17:11:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-04-14 13:58:21.000000000 +0200
@@ -1085,6 +1085,8 @@ int xen_test_irq_pending(int irq)
}
@@ -188,8 +188,8 @@ Patch-mainline: n/a
#endif
int __init arch_early_irq_init(void)
---- head-2011-04-13.orig/drivers/xen/core/gnttab.c 2011-02-01 15:03:03.000000000 +0100
-+++ head-2011-04-13/drivers/xen/core/gnttab.c 2011-04-14 17:19:31.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/gnttab.c 2011-02-01 15:03:03.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/gnttab.c 2011-04-14 17:19:31.000000000 +0200
@@ -710,20 +710,35 @@ EXPORT_SYMBOL(gnttab_post_map_adjust);
int gnttab_resume(void)
{
@@ -242,8 +242,8 @@ Patch-mainline: n/a
return 0;
ini_nomem:
---- head-2011-04-13.orig/drivers/xen/core/machine_reboot.c 2011-02-01 15:03:10.000000000 +0100
-+++ head-2011-04-13/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:03.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-02-01 15:03:10.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-07-04 10:19:56.000000000 +0200
@@ -7,6 +7,7 @@
#include <linux/sysrq.h>
#include <linux/stringify.h>
@@ -260,14 +260,13 @@ Patch-mainline: n/a
#if defined(__i386__) || defined(__x86_64__)
#include <asm/pci_x86.h>
-@@ -140,50 +142,35 @@ struct suspend {
+@@ -140,50 +142,28 @@ struct suspend {
static int take_machine_down(void *_suspend)
{
struct suspend *suspend = _suspend;
- int suspend_cancelled, err;
- extern void time_resume(void);
+ int suspend_cancelled;
-+ bool sysdev_suspended = false;
- if (suspend->fast_suspend) {
- BUG_ON(!irqs_disabled());
@@ -302,11 +301,7 @@ Patch-mainline: n/a
- * merely checkpointed, and 0 if it is resuming in a new domain.
- */
- suspend_cancelled = HYPERVISOR_suspend(virt_to_mfn(xen_start_info));
-+ suspend_cancelled = sysdev_suspend(PMSG_SUSPEND);
-+ if (!suspend_cancelled)
-+ suspend_cancelled = syscore_suspend();
-+ else
-+ sysdev_suspended = true;
++ suspend_cancelled = syscore_suspend();
+ if (!suspend_cancelled) {
+ pre_suspend();
@@ -324,8 +319,6 @@ Patch-mainline: n/a
+ post_suspend(suspend_cancelled);
+ syscore_resume();
+ }
-+ if (sysdev_suspended)
-+ sysdev_resume();
if (!suspend_cancelled) {
- extern void spinlock_resume(void);
-
@@ -334,7 +327,7 @@ Patch-mainline: n/a
#ifdef __x86_64__
/*
* Older versions of Xen do not save/restore the user %cr3.
-@@ -195,10 +182,6 @@ static int take_machine_down(void *_susp
+@@ -195,10 +175,6 @@ static int take_machine_down(void *_susp
current->active_mm->pgd)));
#endif
}
@@ -345,7 +338,7 @@ Patch-mainline: n/a
return suspend_cancelled;
}
-@@ -206,8 +189,14 @@ static int take_machine_down(void *_susp
+@@ -206,8 +182,14 @@ static int take_machine_down(void *_susp
int __xen_suspend(int fast_suspend, void (*resume_notifier)(int))
{
int err, suspend_cancelled;
@@ -360,7 +353,7 @@ Patch-mainline: n/a
BUG_ON(smp_processor_id() != 0);
BUG_ON(in_interrupt());
-@@ -225,30 +214,77 @@ int __xen_suspend(int fast_suspend, void
+@@ -225,30 +207,77 @@ int __xen_suspend(int fast_suspend, void
suspend.fast_suspend = fast_suspend;
suspend.resume_notifier = resume_notifier;
@@ -449,8 +442,8 @@ Patch-mainline: n/a
+ return err;
}
#endif
---- head-2011-04-13.orig/drivers/xen/core/spinlock.c 2011-03-03 16:11:45.000000000 +0100
-+++ head-2011-04-13/drivers/xen/core/spinlock.c 2011-04-13 16:38:13.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/spinlock.c 2011-03-03 16:11:45.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/spinlock.c 2011-04-13 16:38:13.000000000 +0200
@@ -60,7 +60,9 @@ void __cpuinit xen_spinlock_cleanup(unsi
}
@@ -481,8 +474,8 @@ Patch-mainline: n/a
#endif
static unsigned int spin_adjust(struct spinning *spinning,
---- head-2011-04-13.orig/include/xen/evtchn.h 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-13/include/xen/evtchn.h 2010-11-23 15:07:01.000000000 +0100
+--- head-2011-06-30.orig/include/xen/evtchn.h 2011-02-01 15:09:47.000000000 +0100
++++ head-2011-06-30/include/xen/evtchn.h 2010-11-23 15:07:01.000000000 +0100
@@ -109,7 +109,9 @@ int bind_ipi_to_irqhandler(
*/
void unbind_from_irqhandler(unsigned int irq, void *dev_id);
@@ -493,8 +486,8 @@ Patch-mainline: n/a
/* Entry point for notifications into Linux subsystems. */
asmlinkage void evtchn_do_upcall(struct pt_regs *regs);
---- head-2011-04-13.orig/include/xen/gnttab.h 2011-01-31 17:56:27.000000000 +0100
-+++ head-2011-04-13/include/xen/gnttab.h 2010-11-23 15:07:01.000000000 +0100
+--- head-2011-06-30.orig/include/xen/gnttab.h 2011-01-31 17:56:27.000000000 +0100
++++ head-2011-06-30/include/xen/gnttab.h 2010-11-23 15:07:01.000000000 +0100
@@ -111,8 +111,9 @@ static inline void __gnttab_dma_unmap_pa
void gnttab_reset_grant_page(struct page *page);
diff --git a/patches.xen/xen-unpriv-build b/patches.xen/xen-unpriv-build
index aecb18129c..f317a95560 100644
--- a/patches.xen/xen-unpriv-build
+++ b/patches.xen/xen-unpriv-build
@@ -2,9 +2,9 @@ From: jbeulich@novell.com
Subject: no need to build certain bits when building non-privileged kernel
Patch-mainline: n/a
---- head-2011-04-28.orig/arch/x86/Kconfig 2011-04-13 16:49:13.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig 2011-04-28 11:35:52.000000000 +0200
-@@ -667,6 +667,7 @@ config APB_TIMER
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-07-04 10:26:08.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-07-04 12:15:51.000000000 +0200
+@@ -661,6 +661,7 @@ config APB_TIMER
config DMI
default y
bool "Enable DMI scanning" if EXPERT
@@ -12,7 +12,7 @@ Patch-mainline: n/a
---help---
Enabled scanning of DMI to identify machine quirks. Say Y
here unless you have verified that your setup is not
-@@ -747,6 +748,7 @@ config AMD_IOMMU_STATS
+@@ -742,6 +743,7 @@ config AMD_IOMMU_STATS
# need this always selected by IOMMU for the VIA workaround
config SWIOTLB
def_bool y if X86_64 || XEN
@@ -20,7 +20,7 @@ Patch-mainline: n/a
---help---
Support for software bounce buffers used on x86-64 systems
which don't have a hardware IOMMU (e.g. the current generation
-@@ -1951,13 +1953,15 @@ config PCI_GOBIOS
+@@ -1943,13 +1945,15 @@ config PCI_GOBIOS
config PCI_GOMMCONFIG
bool "MMConfig"
@@ -37,7 +37,7 @@ Patch-mainline: n/a
config PCI_GOXEN_FE
bool "Xen PCI Frontend"
-@@ -1968,6 +1972,7 @@ config PCI_GOXEN_FE
+@@ -1960,6 +1964,7 @@ config PCI_GOXEN_FE
config PCI_GOANY
bool "Any"
@@ -45,7 +45,7 @@ Patch-mainline: n/a
endchoice
-@@ -2158,7 +2163,7 @@ endif # X86_32
+@@ -2150,7 +2155,7 @@ endif # X86_32
config AMD_NB
def_bool y
@@ -54,7 +54,7 @@ Patch-mainline: n/a
source "drivers/pcmcia/Kconfig"
-@@ -2228,7 +2233,9 @@ source "net/Kconfig"
+@@ -2220,7 +2225,9 @@ source "net/Kconfig"
source "drivers/Kconfig"
@@ -64,8 +64,8 @@ Patch-mainline: n/a
source "fs/Kconfig"
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/swiotlb.h 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/swiotlb.h 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/swiotlb.h 2011-02-01 15:09:47.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/swiotlb.h 2011-02-02 15:10:34.000000000 +0100
@@ -1,4 +1,8 @@
#include_next <asm/swiotlb.h>
@@ -75,8 +75,8 @@ Patch-mainline: n/a
+
dma_addr_t swiotlb_map_single_phys(struct device *, phys_addr_t, size_t size,
int dir);
---- head-2011-04-28.orig/drivers/firmware/Kconfig 2010-11-23 16:20:20.000000000 +0100
-+++ head-2011-04-28/drivers/firmware/Kconfig 2011-04-13 16:55:00.000000000 +0200
+--- head-2011-06-30.orig/drivers/firmware/Kconfig 2010-11-23 16:20:20.000000000 +0100
++++ head-2011-06-30/drivers/firmware/Kconfig 2011-04-13 16:55:00.000000000 +0200
@@ -127,7 +127,7 @@ config DMI_SYSFS
config ISCSI_IBFT_FIND
@@ -86,8 +86,8 @@ Patch-mainline: n/a
default n
help
This option enables the kernel to find the region of memory
---- head-2011-04-28.orig/drivers/pci/Kconfig 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-28/drivers/pci/Kconfig 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Kconfig 2011-02-01 15:09:47.000000000 +0100
++++ head-2011-06-30/drivers/pci/Kconfig 2011-02-02 15:10:34.000000000 +0100
@@ -74,7 +74,7 @@ config PARAVIRT_XEN_PCIDEV_FRONTEND
config XEN_PCIDEV_FRONTEND
@@ -97,8 +97,19 @@ Patch-mainline: n/a
depends on PCI && XEN && (PCI_GOXEN_FE || PCI_GOANY || X86_64)
select HOTPLUG
help
---- head-2011-04-28.orig/drivers/xen/Kconfig 2011-04-14 11:28:14.000000000 +0200
-+++ head-2011-04-28/drivers/xen/Kconfig 2011-04-14 11:28:24.000000000 +0200
+--- head-2011-06-30.orig/drivers/video/Kconfig 2011-06-30 16:35:51.000000000 +0200
++++ head-2011-06-30/drivers/video/Kconfig 2011-07-04 12:16:02.000000000 +0200
+@@ -745,7 +745,7 @@ config FB_UVESA
+
+ config FB_VESA
+ bool "VESA VGA graphics support"
+- depends on (FB = y) && X86
++ depends on (FB = y) && X86 && !XEN_UNPRIVILEGED_GUEST
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-14 11:28:14.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-04-14 11:28:24.000000000 +0200
@@ -18,7 +18,8 @@ config XEN_PRIVILEGED_GUEST
Support for privileged operation (domain 0)
@@ -117,8 +128,8 @@ Patch-mainline: n/a
default XEN_PRIVILEGED_GUEST
help
Device for accessing (in user-space) pages that have been granted
---- head-2011-04-28.orig/drivers/xen/balloon/balloon.c 2010-11-25 13:47:01.000000000 +0100
-+++ head-2011-04-28/drivers/xen/balloon/balloon.c 2011-03-23 08:54:09.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/balloon/balloon.c 2010-11-25 13:47:01.000000000 +0100
++++ head-2011-06-30/drivers/xen/balloon/balloon.c 2011-03-23 08:54:09.000000000 +0100
@@ -656,6 +656,9 @@ void balloon_update_driver_allowance(lon
bs.driver_pages += delta;
balloon_unlock(flags);
@@ -158,8 +169,8 @@ Patch-mainline: n/a
EXPORT_SYMBOL_GPL(balloon_release_driver_page);
MODULE_LICENSE("Dual BSD/GPL");
---- head-2011-04-28.orig/drivers/xen/console/console.c 2011-02-01 15:04:27.000000000 +0100
-+++ head-2011-04-28/drivers/xen/console/console.c 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/console/console.c 2011-02-01 15:04:27.000000000 +0100
++++ head-2011-06-30/drivers/xen/console/console.c 2011-02-02 15:10:34.000000000 +0100
@@ -47,7 +47,6 @@
#include <linux/init.h>
#include <linux/console.h>
@@ -202,8 +213,8 @@ Patch-mainline: n/a
/******************** User-space console driver (/dev/console) ************/
---- head-2011-04-28.orig/drivers/xen/core/Makefile 2011-02-02 15:09:57.000000000 +0100
-+++ head-2011-04-28/drivers/xen/core/Makefile 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/Makefile 2011-02-02 15:09:57.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/Makefile 2011-02-02 15:10:34.000000000 +0100
@@ -2,10 +2,11 @@
# Makefile for the linux kernel.
#
@@ -219,8 +230,8 @@ Patch-mainline: n/a
obj-$(CONFIG_PROC_FS) += xen_proc.o
obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor_sysfs.o
obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
---- head-2011-04-28.orig/drivers/xen/core/evtchn.c 2011-04-14 16:37:16.000000000 +0200
-+++ head-2011-04-28/drivers/xen/core/evtchn.c 2011-04-14 16:37:32.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2011-04-14 16:37:16.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-04-14 16:37:32.000000000 +0200
@@ -1834,6 +1834,7 @@ void evtchn_register_pirq(int irq)
"fasteoi");
}
@@ -237,8 +248,8 @@ Patch-mainline: n/a
int evtchn_get_xen_pirq(int irq)
{
---- head-2011-04-28.orig/drivers/xen/core/gnttab.c 2011-02-02 15:10:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/core/gnttab.c 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/gnttab.c 2011-02-02 15:10:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/gnttab.c 2011-02-02 15:10:34.000000000 +0100
@@ -436,8 +436,6 @@ static inline unsigned int max_nr_grant_
#ifdef CONFIG_XEN
@@ -268,8 +279,8 @@ Patch-mainline: n/a
#ifdef __HAVE_ARCH_PTE_SPECIAL
static unsigned int GNTMAP_pte_special;
---- head-2011-04-28.orig/drivers/xen/privcmd/Makefile 2007-07-10 09:42:30.000000000 +0200
-+++ head-2011-04-28/drivers/xen/privcmd/Makefile 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/privcmd/Makefile 2007-07-10 09:42:30.000000000 +0200
++++ head-2011-06-30/drivers/xen/privcmd/Makefile 2011-02-02 15:10:34.000000000 +0100
@@ -1,3 +1,3 @@
-
-obj-y += privcmd.o
@@ -277,8 +288,8 @@ Patch-mainline: n/a
+priv-$(CONFIG_COMPAT) := compat_privcmd.o
+obj-y := privcmd.o
+obj-$(CONFIG_XEN_PRIVILEGED_GUEST) += $(priv-y)
---- head-2011-04-28.orig/drivers/xen/privcmd/privcmd.c 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-04-28/drivers/xen/privcmd/privcmd.c 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/privcmd/privcmd.c 2011-02-01 15:09:47.000000000 +0100
++++ head-2011-06-30/drivers/xen/privcmd/privcmd.c 2011-02-02 15:10:34.000000000 +0100
@@ -32,6 +32,9 @@
static struct proc_dir_entry *privcmd_intf;
static struct proc_dir_entry *capabilities_intf;
@@ -332,8 +343,8 @@ Patch-mainline: n/a
};
static int capabilities_read(char *page, char **start, off_t off,
---- head-2011-04-28.orig/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 15:03:17.000000000 +0200
-+++ head-2011-04-28/drivers/xen/xenbus/xenbus_comms.c 2011-04-01 10:23:25.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 15:03:17.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_comms.c 2011-04-01 10:23:25.000000000 +0200
@@ -52,12 +52,12 @@
static int xenbus_irq;
@@ -357,8 +368,8 @@ Patch-mainline: n/a
wake_up(&xb_waitq);
return IRQ_HANDLED;
}
---- head-2011-04-28.orig/drivers/xen/xenbus/xenbus_probe.c 2011-04-13 17:01:31.000000000 +0200
-+++ head-2011-04-28/drivers/xen/xenbus/xenbus_probe.c 2011-04-13 16:55:14.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_probe.c 2011-06-10 12:08:06.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_probe.c 2011-07-04 12:15:46.000000000 +0200
@@ -92,7 +92,11 @@ static unsigned long xen_store_mfn;
extern struct mutex xenwatch_mutex;
@@ -372,7 +383,7 @@ Patch-mainline: n/a
#if defined(CONFIG_XEN) || defined(MODULE)
static void wait_for_devices(struct xenbus_driver *xendrv);
-@@ -1065,7 +1069,13 @@ static void xenbus_reset_state(void)
+@@ -1066,7 +1070,13 @@ static void xenbus_reset_state(void)
}
#endif
@@ -387,8 +398,8 @@ Patch-mainline: n/a
{
BUG_ON(!is_xenstored_ready());
---- head-2011-04-28.orig/fs/compat_ioctl.c 2011-02-01 14:55:46.000000000 +0100
-+++ head-2011-04-28/fs/compat_ioctl.c 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/fs/compat_ioctl.c 2011-02-01 14:55:46.000000000 +0100
++++ head-2011-06-30/fs/compat_ioctl.c 2011-02-02 15:10:34.000000000 +0100
@@ -1481,7 +1481,7 @@ static long do_ioctl_trans(int fd, unsig
return do_video_stillpicture(fd, cmd, argp);
case VIDEO_SET_SPU_PALETTE:
@@ -398,8 +409,8 @@ Patch-mainline: n/a
case IOCTL_PRIVCMD_MMAP_32:
case IOCTL_PRIVCMD_MMAPBATCH_32:
case IOCTL_PRIVCMD_MMAPBATCH_V2_32:
---- head-2011-04-28.orig/include/xen/firmware.h 2007-07-02 08:16:19.000000000 +0200
-+++ head-2011-04-28/include/xen/firmware.h 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/include/xen/firmware.h 2007-07-02 08:16:19.000000000 +0200
++++ head-2011-06-30/include/xen/firmware.h 2011-02-02 15:10:34.000000000 +0100
@@ -5,6 +5,10 @@
void copy_edd(void);
#endif
@@ -411,8 +422,8 @@ Patch-mainline: n/a
+#endif
#endif /* __XEN_FIRMWARE_H__ */
---- head-2011-04-28.orig/include/xen/gnttab.h 2010-11-23 15:07:01.000000000 +0100
-+++ head-2011-04-28/include/xen/gnttab.h 2011-02-02 15:10:34.000000000 +0100
+--- head-2011-06-30.orig/include/xen/gnttab.h 2010-11-23 15:07:01.000000000 +0100
++++ head-2011-06-30/include/xen/gnttab.h 2011-02-02 15:10:34.000000000 +0100
@@ -104,7 +104,11 @@ void gnttab_grant_foreign_transfer_ref(g
unsigned long pfn);
diff --git a/patches.xen/xen-x86-EFI b/patches.xen/xen-x86-EFI
new file mode 100644
index 0000000000..9195682b5d
--- /dev/null
+++ b/patches.xen/xen-x86-EFI
@@ -0,0 +1,669 @@
+Subject: support booting Xen from EFI
+From: jbeulich@novell.com
+Patch-mainline: n/a
+References: fate#311376, fate#311529, bnc#578927, bnc#628554
+
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-07-04 12:31:30.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-07-04 12:31:53.000000000 +0200
+@@ -1502,7 +1502,7 @@ config ARCH_USES_PG_UNCACHED
+
+ config EFI
+ bool "EFI runtime service support"
+- depends on ACPI && !XEN
++ depends on ACPI && !XEN_UNPRIVILEGED_GUEST
+ ---help---
+ This enables the kernel to use EFI runtime services that are
+ available (such as the EFI variable services).
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/setup.h 2011-02-01 14:54:13.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/setup.h 2011-07-04 12:32:43.000000000 +0200
+@@ -3,6 +3,12 @@
+ void xen_start_kernel(void);
+ void xen_arch_setup(void);
+
++#ifdef CONFIG_EFI
++void efi_probe(void);
++#else
++#define efi_probe() ((void)0)
++#endif
++
+ #endif
+
+ #include_next <asm/setup.h>
+--- head-2011-06-30.orig/arch/x86/kernel/setup-xen.c 2011-07-04 12:30:29.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup-xen.c 2011-07-04 12:32:51.000000000 +0200
+@@ -869,6 +869,8 @@ void __init setup_arch(char **cmdline_p)
+ xen_start_info->console.dom0.info_size);
+ xen_start_info->console.domU.mfn = 0;
+ xen_start_info->console.domU.evtchn = 0;
++
++ efi_probe();
+ } else
+ screen_info.orig_video_isVGA = 0;
+ copy_edid();
+--- head-2011-06-30.orig/arch/x86/platform/efi/Makefile 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/arch/x86/platform/efi/Makefile 2011-06-09 17:06:13.000000000 +0200
+@@ -1 +1,2 @@
+ obj-$(CONFIG_EFI) += efi.o efi_$(BITS).o efi_stub_$(BITS).o
++disabled-obj-$(CONFIG_XEN) := efi_%$(BITS).o
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ head-2011-06-30/arch/x86/platform/efi/efi-xen.c 2011-07-01 16:16:55.000000000 +0200
+@@ -0,0 +1,432 @@
++/*
++ * Common EFI (Extensible Firmware Interface) support functions
++ * Based on Extensible Firmware Interface Specification version 1.0
++ *
++ * Copyright (C) 1999 VA Linux Systems
++ * Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
++ * Copyright (C) 1999-2002 Hewlett-Packard Co.
++ * David Mosberger-Tang <davidm@hpl.hp.com>
++ * Stephane Eranian <eranian@hpl.hp.com>
++ * Copyright (C) 2005-2008 Intel Co.
++ * Fenghua Yu <fenghua.yu@intel.com>
++ * Bibo Mao <bibo.mao@intel.com>
++ * Chandramouli Narayanan <mouli@linux.intel.com>
++ * Huang Ying <ying.huang@intel.com>
++ *
++ * Copied from efi_32.c to eliminate the duplicated code between EFI
++ * 32/64 support code. --ying 2007-10-26
++ *
++ * All EFI Runtime Services are not implemented yet as EFI only
++ * supports physical mode addressing on SoftSDV. This is to be fixed
++ * in a future version. --drummond 1999-07-20
++ *
++ * Implemented EFI runtime services and virtual mode calls. --davidm
++ *
++ * Goutham Rao: <goutham.rao@intel.com>
++ * Skip non-WB memory and ignore empty memory ranges.
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/efi.h>
++#include <linux/platform_device.h>
++#include <linux/spinlock.h>
++#include <linux/time.h>
++
++#include <asm/setup.h>
++#include <asm/efi.h>
++#include <asm/time.h>
++#include <asm/cacheflush.h>
++#include <asm/tlbflush.h>
++#include <asm/x86_init.h>
++
++#include <xen/interface/platform.h>
++
++#define EFI_DEBUG 1
++#define PFX "EFI: "
++
++int __read_mostly efi_enabled;
++EXPORT_SYMBOL(efi_enabled);
++
++#define call op.u.efi_runtime_call
++#define DECLARE_CALL(what) \
++ struct xen_platform_op op; \
++ op.cmd = XENPF_efi_runtime_call; \
++ call.function = XEN_EFI_##what; \
++ call.misc = 0
++
++static efi_status_t xen_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc)
++{
++ int err;
++ DECLARE_CALL(get_time);
++
++ err = HYPERVISOR_platform_op(&op);
++ if (err)
++ return EFI_UNSUPPORTED;
++
++ if (tm) {
++ BUILD_BUG_ON(sizeof(*tm) != sizeof(call.u.get_time.time));
++ memcpy(tm, &call.u.get_time.time, sizeof(*tm));
++ }
++
++ if (tc) {
++ tc->resolution = call.u.get_time.resolution;
++ tc->accuracy = call.u.get_time.accuracy;
++ tc->sets_to_zero = !!(call.misc &
++ XEN_EFI_GET_TIME_SET_CLEARS_NS);
++ }
++
++ return call.status;
++}
++
++static efi_status_t xen_efi_set_time(efi_time_t *tm)
++{
++ DECLARE_CALL(set_time);
++
++ BUILD_BUG_ON(sizeof(*tm) != sizeof(call.u.set_time));
++ memcpy(&call.u.set_time, tm, sizeof(*tm));
++
++ return HYPERVISOR_platform_op(&op) ? EFI_UNSUPPORTED : call.status;
++}
++
++static efi_status_t xen_efi_get_wakeup_time(efi_bool_t *enabled,
++ efi_bool_t *pending,
++ efi_time_t *tm)
++{
++ int err;
++ DECLARE_CALL(get_wakeup_time);
++
++ err = HYPERVISOR_platform_op(&op);
++ if (err)
++ return EFI_UNSUPPORTED;
++
++ if (tm) {
++ BUILD_BUG_ON(sizeof(*tm) != sizeof(call.u.get_wakeup_time));
++ memcpy(tm, &call.u.get_wakeup_time, sizeof(*tm));
++ }
++
++ if (enabled)
++ *enabled = !!(call.misc & XEN_EFI_GET_WAKEUP_TIME_ENABLED);
++
++ if (pending)
++ *pending = !!(call.misc & XEN_EFI_GET_WAKEUP_TIME_PENDING);
++
++ return call.status;
++}
++
++static efi_status_t xen_efi_set_wakeup_time(efi_bool_t enabled, efi_time_t *tm)
++{
++ DECLARE_CALL(set_wakeup_time);
++
++ BUILD_BUG_ON(sizeof(*tm) != sizeof(call.u.set_wakeup_time));
++ if (enabled)
++ call.misc = XEN_EFI_SET_WAKEUP_TIME_ENABLE;
++ if (tm)
++ memcpy(&call.u.set_wakeup_time, tm, sizeof(*tm));
++ else
++ call.misc |= XEN_EFI_SET_WAKEUP_TIME_ENABLE_ONLY;
++
++ return HYPERVISOR_platform_op(&op) ? EFI_UNSUPPORTED : call.status;
++}
++
++static efi_status_t xen_efi_get_variable(efi_char16_t *name,
++ efi_guid_t *vendor,
++ u32 *attr,
++ unsigned long *data_size,
++ void *data)
++{
++ int err;
++ DECLARE_CALL(get_variable);
++
++ set_xen_guest_handle(call.u.get_variable.name, name);
++ BUILD_BUG_ON(sizeof(*vendor) !=
++ sizeof(call.u.get_variable.vendor_guid));
++ memcpy(&call.u.get_variable.vendor_guid, vendor, sizeof(*vendor));
++ call.u.get_variable.size = *data_size;
++ set_xen_guest_handle(call.u.get_variable.data, data);
++ err = HYPERVISOR_platform_op(&op);
++ if (err)
++ return EFI_UNSUPPORTED;
++
++ *data_size = call.u.get_variable.size;
++ *attr = call.misc;
++
++ return call.status;
++}
++
++static efi_status_t xen_efi_get_next_variable(unsigned long *name_size,
++ efi_char16_t *name,
++ efi_guid_t *vendor)
++{
++ int err;
++ DECLARE_CALL(get_next_variable_name);
++
++ call.u.get_next_variable_name.size = *name_size;
++ set_xen_guest_handle(call.u.get_next_variable_name.name, name);
++ BUILD_BUG_ON(sizeof(*vendor) !=
++ sizeof(call.u.get_next_variable_name.vendor_guid));
++ memcpy(&call.u.get_next_variable_name.vendor_guid, vendor,
++ sizeof(*vendor));
++ err = HYPERVISOR_platform_op(&op);
++ if (err)
++ return EFI_UNSUPPORTED;
++
++ *name_size = call.u.get_next_variable_name.size;
++ memcpy(vendor, &call.u.get_next_variable_name.vendor_guid,
++ sizeof(*vendor));
++
++ return call.status;
++}
++
++static efi_status_t xen_efi_set_variable(efi_char16_t *name,
++ efi_guid_t *vendor,
++ unsigned long attr,
++ unsigned long data_size,
++ void *data)
++{
++ DECLARE_CALL(set_variable);
++
++ set_xen_guest_handle(call.u.set_variable.name, name);
++ call.misc = attr;
++ BUILD_BUG_ON(sizeof(*vendor) !=
++ sizeof(call.u.set_variable.vendor_guid));
++ memcpy(&call.u.set_variable.vendor_guid, vendor, sizeof(*vendor));
++ call.u.set_variable.size = data_size;
++ set_xen_guest_handle(call.u.set_variable.data, data);
++
++ return HYPERVISOR_platform_op(&op) ? EFI_UNSUPPORTED : call.status;
++}
++
++static efi_status_t xen_efi_get_next_high_mono_count(u32 *count)
++{
++ int err;
++ DECLARE_CALL(get_next_high_monotonic_count);
++
++ err = HYPERVISOR_platform_op(&op);
++ if (err)
++ return EFI_UNSUPPORTED;
++
++ *count = call.misc;
++
++ return call.status;
++}
++
++#undef DECLARE_CALL
++#undef call
++
++struct efi __read_mostly efi = {
++ .mps = EFI_INVALID_TABLE_ADDR,
++ .acpi = EFI_INVALID_TABLE_ADDR,
++ .acpi20 = EFI_INVALID_TABLE_ADDR,
++ .smbios = EFI_INVALID_TABLE_ADDR,
++ .sal_systab = EFI_INVALID_TABLE_ADDR,
++ .boot_info = EFI_INVALID_TABLE_ADDR,
++ .hcdp = EFI_INVALID_TABLE_ADDR,
++ .uga = EFI_INVALID_TABLE_ADDR,
++ .uv_systab = EFI_INVALID_TABLE_ADDR,
++ .get_time = xen_efi_get_time,
++ .set_time = xen_efi_set_time,
++ .get_wakeup_time = xen_efi_get_wakeup_time,
++ .set_wakeup_time = xen_efi_set_wakeup_time,
++ .get_variable = xen_efi_get_variable,
++ .get_next_variable = xen_efi_get_next_variable,
++ .set_variable = xen_efi_set_variable,
++ .get_next_high_mono_count = xen_efi_get_next_high_mono_count,
++};
++EXPORT_SYMBOL(efi);
++
++static int __init setup_noefi(char *arg)
++{
++ efi_enabled = 0;
++ return 0;
++}
++early_param("noefi", setup_noefi);
++
++
++int efi_set_rtc_mmss(unsigned long nowtime)
++{
++ int real_seconds, real_minutes;
++ efi_status_t status;
++ efi_time_t eft;
++ efi_time_cap_t cap;
++
++ status = efi.get_time(&eft, &cap);
++ if (status != EFI_SUCCESS) {
++ printk(KERN_ERR "Oops: efitime: can't read time!\n");
++ return -1;
++ }
++
++ real_seconds = nowtime % 60;
++ real_minutes = nowtime / 60;
++ if (((abs(real_minutes - eft.minute) + 15)/30) & 1)
++ real_minutes += 30;
++ real_minutes %= 60;
++ eft.minute = real_minutes;
++ eft.second = real_seconds;
++
++ status = efi.set_time(&eft);
++ if (status != EFI_SUCCESS) {
++ printk(KERN_ERR "Oops: efitime: can't write time!\n");
++ return -1;
++ }
++ return 0;
++}
++
++unsigned long efi_get_time(void)
++{
++ efi_status_t status;
++ efi_time_t eft;
++ efi_time_cap_t cap;
++
++ status = efi.get_time(&eft, &cap);
++ if (status != EFI_SUCCESS) {
++ printk(KERN_ERR "Oops: efitime: can't read time!\n");
++ return mach_get_cmos_time();
++ }
++
++ return mktime(eft.year, eft.month, eft.day, eft.hour,
++ eft.minute, eft.second);
++}
++
++void __init efi_probe(void)
++{
++ static struct xen_platform_op __initdata op = {
++ .cmd = XENPF_firmware_info,
++ .u.firmware_info = {
++ .type = XEN_FW_EFI_INFO,
++ .index = XEN_FW_EFI_CONFIG_TABLE
++ }
++ };
++
++ if (HYPERVISOR_platform_op(&op) == 0)
++ efi_enabled = 1;
++}
++
++void __init efi_reserve_boot_services(void) { }
++
++void __init efi_init(void)
++{
++ efi_config_table_t *config_tables;
++ efi_char16_t c16[100];
++ char vendor[ARRAY_SIZE(c16)] = "unknown";
++ int ret, i;
++ struct xen_platform_op op;
++ union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
++
++ op.cmd = XENPF_firmware_info;
++ op.u.firmware_info.type = XEN_FW_EFI_INFO;
++
++ /*
++ * Show what we know for posterity
++ */
++ op.u.firmware_info.index = XEN_FW_EFI_VENDOR;
++ info->vendor.bufsz = sizeof(c16);
++ set_xen_guest_handle(info->vendor.name, c16);
++ ret = HYPERVISOR_platform_op(&op);
++ if (!ret) {
++ for (i = 0; i < sizeof(vendor) - 1 && c16[i]; ++i)
++ vendor[i] = c16[i];
++ vendor[i] = '\0';
++ } else
++ printk(KERN_ERR PFX "Could not get the firmware vendor!\n");
++
++ op.u.firmware_info.index = XEN_FW_EFI_VERSION;
++ ret = HYPERVISOR_platform_op(&op);
++ if (!ret)
++ printk(KERN_INFO "EFI v%u.%.02u by %s\n",
++ info->version >> 16,
++ info->version & 0xffff, vendor);
++ else
++ printk(KERN_ERR PFX "Could not get EFI revision!\n");
++
++ /*
++ * Let's see what config tables the firmware passed to us.
++ */
++ op.u.firmware_info.index = XEN_FW_EFI_CONFIG_TABLE;
++ if (HYPERVISOR_platform_op(&op))
++ BUG();
++ config_tables = early_ioremap(
++ info->cfg.addr,
++ info->cfg.nent * sizeof(efi_config_table_t));
++ if (config_tables == NULL)
++ panic("Could not map EFI Configuration Table!\n");
++
++ printk(KERN_INFO);
++ for (i = 0; i < info->cfg.nent; i++) {
++ if (!efi_guidcmp(config_tables[i].guid, MPS_TABLE_GUID)) {
++ efi.mps = config_tables[i].table;
++ printk(" MPS=0x%lx ", config_tables[i].table);
++ } else if (!efi_guidcmp(config_tables[i].guid,
++ ACPI_20_TABLE_GUID)) {
++ efi.acpi20 = config_tables[i].table;
++ printk(" ACPI 2.0=0x%lx ", config_tables[i].table);
++ } else if (!efi_guidcmp(config_tables[i].guid,
++ ACPI_TABLE_GUID)) {
++ efi.acpi = config_tables[i].table;
++ printk(" ACPI=0x%lx ", config_tables[i].table);
++ } else if (!efi_guidcmp(config_tables[i].guid,
++ SMBIOS_TABLE_GUID)) {
++ efi.smbios = config_tables[i].table;
++ printk(" SMBIOS=0x%lx ", config_tables[i].table);
++ } else if (!efi_guidcmp(config_tables[i].guid,
++ HCDP_TABLE_GUID)) {
++ efi.hcdp = config_tables[i].table;
++ printk(" HCDP=0x%lx ", config_tables[i].table);
++ } else if (!efi_guidcmp(config_tables[i].guid,
++ UGA_IO_PROTOCOL_GUID)) {
++ efi.uga = config_tables[i].table;
++ printk(" UGA=0x%lx ", config_tables[i].table);
++ }
++ }
++ printk("\n");
++ early_iounmap(config_tables, info->cfg.nent * sizeof(efi_config_table_t));
++
++ x86_platform.get_wallclock = efi_get_time;
++ x86_platform.set_wallclock = efi_set_rtc_mmss;
++}
++
++void __init efi_enter_virtual_mode(void) { }
++
++static struct platform_device rtc_efi_dev = {
++ .name = "rtc-efi",
++ .id = -1,
++};
++
++static int __init rtc_init(void)
++{
++ if (efi_enabled && platform_device_register(&rtc_efi_dev) < 0)
++ printk(KERN_ERR "unable to register rtc device...\n");
++
++ /* not necessarily an error */
++ return 0;
++}
++arch_initcall(rtc_init);
++
++/*
++ * Convenience functions to obtain memory types and attributes
++ */
++u32 efi_mem_type(unsigned long phys_addr)
++{
++ struct xen_platform_op op;
++ union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
++
++ op.cmd = XENPF_firmware_info;
++ op.u.firmware_info.type = XEN_FW_EFI_INFO;
++ op.u.firmware_info.index = XEN_FW_EFI_MEM_INFO;
++ info->mem.addr = phys_addr;
++ info->mem.size = 0;
++ return HYPERVISOR_platform_op(&op) ? 0 : info->mem.type;
++}
++
++u64 efi_mem_attributes(unsigned long phys_addr)
++{
++ struct xen_platform_op op;
++ union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info;
++
++ op.cmd = XENPF_firmware_info;
++ op.u.firmware_info.type = XEN_FW_EFI_INFO;
++ op.u.firmware_info.index = XEN_FW_EFI_MEM_INFO;
++ info->mem.addr = phys_addr;
++ info->mem.size = 0;
++ return HYPERVISOR_platform_op(&op) ? 0 : info->mem.attr;
++}
+--- head-2011-06-30.orig/drivers/rtc/Kconfig 2011-06-30 15:04:15.000000000 +0200
++++ head-2011-06-30/drivers/rtc/Kconfig 2011-07-04 12:33:03.000000000 +0200
+@@ -556,7 +556,7 @@ config RTC_DRV_DS1742
+
+ config RTC_DRV_EFI
+ tristate "EFI RTC"
+- depends on IA64
++ depends on IA64 || (XEN && EFI)
+ help
+ If you say yes here you will get support for the EFI
+ Real Time Clock.
+--- head-2011-06-30.orig/drivers/xen/console/console.c 2011-02-02 15:10:34.000000000 +0100
++++ head-2011-06-30/drivers/xen/console/console.c 2011-06-15 15:41:36.000000000 +0200
+@@ -315,6 +315,7 @@ void __init dom0_init_screen_info(const
+ break;
+
+ case XEN_VGATYPE_VESA_LFB:
++ case XEN_VGATYPE_EFI_LFB:
+ if (size < offsetof(struct dom0_vga_console_info,
+ u.vesa_lfb.gbl_caps))
+ break;
+@@ -333,6 +334,10 @@ void __init dom0_init_screen_info(const
+ screen_info.blue_pos = info->u.vesa_lfb.blue_pos;
+ screen_info.rsvd_size = info->u.vesa_lfb.rsvd_size;
+ screen_info.rsvd_pos = info->u.vesa_lfb.rsvd_pos;
++ if (info->video_type == XEN_VGATYPE_EFI_LFB) {
++ screen_info.orig_video_isVGA = VIDEO_TYPE_EFI;
++ break;
++ }
+ if (size >= offsetof(struct dom0_vga_console_info,
+ u.vesa_lfb.gbl_caps)
+ + sizeof(info->u.vesa_lfb.gbl_caps))
+--- head-2011-06-30.orig/include/linux/efi.h 2011-06-30 15:04:24.000000000 +0200
++++ head-2011-06-30/include/linux/efi.h 2011-06-10 11:12:39.000000000 +0200
+@@ -249,7 +249,9 @@ struct efi_memory_map {
+ * All runtime access to EFI goes through this structure:
+ */
+ extern struct efi {
++#ifndef CONFIG_XEN
+ efi_system_table_t *systab; /* EFI system table */
++#endif
+ unsigned long mps; /* MPS table */
+ unsigned long acpi; /* ACPI table (IA64 ext 0.71) */
+ unsigned long acpi20; /* ACPI table (ACPI 2.0) */
+@@ -267,8 +269,10 @@ extern struct efi {
+ efi_get_next_variable_t *get_next_variable;
+ efi_set_variable_t *set_variable;
+ efi_get_next_high_mono_count_t *get_next_high_mono_count;
++#ifndef CONFIG_XEN
+ efi_reset_system_t *reset_system;
+ efi_set_virtual_address_map_t *set_virtual_address_map;
++#endif
+ } efi;
+
+ static inline int
+--- head-2011-06-30.orig/include/xen/interface/platform.h 2010-06-22 15:48:58.000000000 +0200
++++ head-2011-06-30/include/xen/interface/platform.h 2011-06-17 16:07:28.000000000 +0200
+@@ -114,10 +114,86 @@ struct xenpf_platform_quirk {
+ typedef struct xenpf_platform_quirk xenpf_platform_quirk_t;
+ DEFINE_XEN_GUEST_HANDLE(xenpf_platform_quirk_t);
+
++#define XENPF_efi_runtime_call 49
++#define XEN_EFI_get_time 1
++#define XEN_EFI_set_time 2
++#define XEN_EFI_get_wakeup_time 3
++#define XEN_EFI_set_wakeup_time 4
++#define XEN_EFI_get_next_high_monotonic_count 5
++#define XEN_EFI_get_variable 6
++#define XEN_EFI_set_variable 7
++#define XEN_EFI_get_next_variable_name 8
++struct xenpf_efi_runtime_call {
++ uint32_t function;
++ /*
++ * This field is generally used for per sub-function flags (defined
++ * below), except for the XEN_EFI_get_next_high_monotonic_count case,
++ * where it holds the single returned value.
++ */
++ uint32_t misc;
++ unsigned long status;
++ union {
++#define XEN_EFI_GET_TIME_SET_CLEARS_NS 0x00000001
++ struct {
++ struct xenpf_efi_time {
++ uint16_t year;
++ uint8_t month;
++ uint8_t day;
++ uint8_t hour;
++ uint8_t min;
++ uint8_t sec;
++ uint32_t ns;
++ int16_t tz;
++ uint8_t daylight;
++ } time;
++ uint32_t resolution;
++ uint32_t accuracy;
++ } get_time;
++
++ struct xenpf_efi_time set_time;
++
++#define XEN_EFI_GET_WAKEUP_TIME_ENABLED 0x00000001
++#define XEN_EFI_GET_WAKEUP_TIME_PENDING 0x00000002
++ struct xenpf_efi_time get_wakeup_time;
++
++#define XEN_EFI_SET_WAKEUP_TIME_ENABLE 0x00000001
++#define XEN_EFI_SET_WAKEUP_TIME_ENABLE_ONLY 0x00000002
++ struct xenpf_efi_time set_wakeup_time;
++
++#define XEN_EFI_VARIABLE_NON_VOLATILE 0x00000001
++#define XEN_EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
++#define XEN_EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
++ struct {
++ XEN_GUEST_HANDLE(void) name; /* UCS-2/UTF-16 string */
++ unsigned long size;
++ XEN_GUEST_HANDLE(void) data;
++ struct xenpf_efi_guid {
++ uint32_t data1;
++ uint16_t data2;
++ uint16_t data3;
++ uint8_t data4[8];
++ } vendor_guid;
++ } get_variable, set_variable;
++
++ struct {
++ unsigned long size;
++ XEN_GUEST_HANDLE(void) name; /* UCS-2/UTF-16 string */
++ struct xenpf_efi_guid vendor_guid;
++ } get_next_variable_name;
++ } u;
++};
++typedef struct xenpf_efi_runtime_call xenpf_efi_runtime_call_t;
++DEFINE_XEN_GUEST_HANDLE(xenpf_efi_runtime_call_t);
++
+ #define XENPF_firmware_info 50
+ #define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */
+ #define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */
+ #define XEN_FW_VBEDDC_INFO 3 /* from int 10 AX=4f15 */
++#define XEN_FW_EFI_INFO 4 /* from EFI */
++#define XEN_FW_EFI_VERSION 0
++#define XEN_FW_EFI_CONFIG_TABLE 1
++#define XEN_FW_EFI_VENDOR 2
++#define XEN_FW_EFI_MEM_INFO 3
+ struct xenpf_firmware_info {
+ /* IN variables. */
+ uint32_t type;
+@@ -148,6 +224,24 @@ struct xenpf_firmware_info {
+ /* must refer to 128-byte buffer */
+ XEN_GUEST_HANDLE(uint8) edid;
+ } vbeddc_info; /* XEN_FW_VBEDDC_INFO */
++ union xenpf_efi_info {
++ uint32_t version;
++ struct {
++ uint64_t addr; /* EFI_CONFIGURATION_TABLE */
++ uint32_t nent;
++ } cfg;
++ struct {
++ uint32_t revision;
++ uint32_t bufsz; /* input, in bytes */
++ XEN_GUEST_HANDLE(void) name; /* UCS-2/UTF-16 string */
++ } vendor;
++ struct {
++ uint64_t addr;
++ uint64_t size;
++ uint64_t attr;
++ uint32_t type;
++ } mem;
++ } efi_info; /* XEN_FW_EFI_INFO */
+ } u;
+ };
+ typedef struct xenpf_firmware_info xenpf_firmware_info_t;
+@@ -373,6 +467,7 @@ struct xen_platform_op {
+ struct xenpf_read_memtype read_memtype;
+ struct xenpf_microcode_update microcode;
+ struct xenpf_platform_quirk platform_quirk;
++ struct xenpf_efi_runtime_call efi_runtime_call;
+ struct xenpf_firmware_info firmware_info;
+ struct xenpf_enter_acpi_sleep enter_acpi_sleep;
+ struct xenpf_change_freq change_freq;
+--- head-2011-06-30.orig/include/xen/interface/xen.h 2011-04-13 12:42:17.000000000 +0200
++++ head-2011-06-30/include/xen/interface/xen.h 2011-06-07 13:55:11.000000000 +0200
+@@ -660,6 +660,7 @@ typedef struct dom0_vga_console_info {
+ uint8_t video_type; /* DOM0_VGA_CONSOLE_??? */
+ #define XEN_VGATYPE_TEXT_MODE_3 0x03
+ #define XEN_VGATYPE_VESA_LFB 0x23
++#define XEN_VGATYPE_EFI_LFB 0x70
+
+ union {
+ struct {
diff --git a/patches.xen/xen-x86-bigmem b/patches.xen/xen-x86-bigmem
index c2aa071307..6f0298f6db 100644
--- a/patches.xen/xen-x86-bigmem
+++ b/patches.xen/xen-x86-bigmem
@@ -3,8 +3,8 @@ Subject: fix issues with the assignment of huge amounts of memory
Patch-mainline: obsolete
References: bnc#482614, bnc#537435
---- head-2011-04-13.orig/arch/x86/kernel/e820-xen.c 2011-04-12 15:59:10.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/e820-xen.c 2011-04-13 17:05:50.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/e820-xen.c 2011-04-26 09:20:05.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/e820-xen.c 2011-04-13 17:05:50.000000000 +0200
@@ -954,6 +954,26 @@ static int __init parse_memopt(char *p)
/* don't remove all of memory when handling "mem={invalid}" param */
if (mem_size == 0)
@@ -63,8 +63,8 @@ References: bnc#482614, bnc#537435
if (is_initial_xendomain()) {
memmap.nr_entries = E820MAX;
set_xen_guest_handle(memmap.buffer, machine_e820.map);
---- head-2011-04-13.orig/arch/x86/kernel/setup-xen.c 2011-04-13 16:56:47.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/setup-xen.c 2011-04-14 16:37:45.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/setup-xen.c 2011-07-04 12:21:52.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup-xen.c 2011-07-04 12:30:29.000000000 +0200
@@ -133,12 +133,7 @@ static struct notifier_block xen_panic_b
unsigned long *phys_to_machine_mapping;
EXPORT_SYMBOL(phys_to_machine_mapping);
@@ -79,7 +79,7 @@ References: bnc#482614, bnc#537435
/* Raw start-of-day parameters from the hypervisor. */
start_info_t *xen_start_info;
-@@ -1163,17 +1158,17 @@ void __init setup_arch(char **cmdline_p)
+@@ -1170,17 +1165,17 @@ void __init setup_arch(char **cmdline_p)
p2m_pages = xen_start_info->nr_pages;
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
@@ -100,7 +100,7 @@ References: bnc#482614, bnc#537435
free_bootmem(
__pa(xen_start_info->mfn_list),
PFN_PHYS(PFN_UP(xen_start_info->nr_pages *
-@@ -1183,15 +1178,26 @@ void __init setup_arch(char **cmdline_p)
+@@ -1190,15 +1185,26 @@ void __init setup_arch(char **cmdline_p)
* Initialise the list of the frames that specify the list of
* frames that make up the p2m table. Used by save/restore.
*/
@@ -130,8 +130,8 @@ References: bnc#482614, bnc#537435
pfn_to_mfn_frame_list[k] =
alloc_bootmem_pages(PAGE_SIZE);
pfn_to_mfn_frame_list_list[k] =
---- head-2011-04-13.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:26.000000000 +0200
-+++ head-2011-04-13/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:34.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:26.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:34.000000000 +0200
@@ -76,7 +76,7 @@ static void post_suspend(int suspend_can
unsigned long shinfo_mfn;
extern unsigned long max_pfn;
diff --git a/patches.xen/xen-x86-msr-on-pcpu b/patches.xen/xen-x86-msr-on-pcpu
index 985cee884e..15428c07c3 100644
--- a/patches.xen/xen-x86-msr-on-pcpu
+++ b/patches.xen/xen-x86-msr-on-pcpu
@@ -2,9 +2,9 @@ From: jbeulich@novell.com
Subject: introduce {rd,wr}msr_safe_on_pcpu() and add/enable users
Patch-mainline: n/a
---- head-2011-05-09.orig/arch/x86/Kconfig 2011-04-28 11:35:52.000000000 +0200
-+++ head-2011-05-09/arch/x86/Kconfig 2011-04-13 17:07:03.000000000 +0200
-@@ -1042,6 +1042,7 @@ config MICROCODE_OLD_INTERFACE
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-07-04 12:15:51.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-07-04 12:31:30.000000000 +0200
+@@ -1038,6 +1038,7 @@ config MICROCODE_OLD_INTERFACE
config X86_MSR
tristate "/dev/cpu/*/msr - Model-specific register support"
@@ -13,7 +13,7 @@ Patch-mainline: n/a
This device gives privileged processes access to the x86
Model-Specific Registers (MSRs). It is a character device with
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/arch/x86/kernel/msr-xen.c 2011-02-03 14:42:26.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/msr-xen.c 2011-02-03 14:42:26.000000000 +0100
@@ -0,0 +1,339 @@
+#ifndef CONFIG_XEN_PRIVILEGED_GUEST
+#include "msr.c"
@@ -354,9 +354,9 @@ Patch-mainline: n/a
+ _msr_exit();
+}
+#endif /* CONFIG_XEN_PRIVILEGED_GUEST */
---- head-2011-05-09.orig/drivers/hwmon/Kconfig 2011-05-09 11:42:13.000000000 +0200
-+++ head-2011-05-09/drivers/hwmon/Kconfig 2011-05-09 11:55:11.000000000 +0200
-@@ -402,7 +402,8 @@ config SENSORS_GPIO_FAN
+--- head-2011-06-30.orig/drivers/hwmon/Kconfig 2011-06-30 17:10:07.000000000 +0200
++++ head-2011-06-30/drivers/hwmon/Kconfig 2011-07-04 12:31:41.000000000 +0200
+@@ -412,7 +412,8 @@ config SENSORS_GPIO_FAN
config SENSORS_CORETEMP
tristate "Intel Core/Core2/Atom temperature sensor"
@@ -366,17 +366,7 @@ Patch-mainline: n/a
help
If you say yes here you get support for the temperature
sensor inside your CPU. Most of the family 6 CPUs
-@@ -410,7 +411,8 @@ config SENSORS_CORETEMP
-
- config SENSORS_PKGTEMP
- tristate "Intel processor package temperature sensor"
-- depends on X86 && !XEN && EXPERIMENTAL
-+ depends on X86 && !XEN_UNPRIVILEGED_GUEST && EXPERIMENTAL
-+ select XEN_DOMCTL if XEN
- help
- If you say yes here you get support for the package level temperature
- sensor inside your CPU. Check documentation/driver for details.
-@@ -1069,7 +1071,8 @@ config SENSORS_TWL4030_MADC
+@@ -1141,7 +1142,8 @@ config SENSORS_TWL4030_MADC
config SENSORS_VIA_CPUTEMP
tristate "VIA CPU temperature sensor"
@@ -386,8 +376,8 @@ Patch-mainline: n/a
help
If you say yes here you get support for the temperature
sensor inside your CPU. Supported are all known variants of
---- head-2011-05-09.orig/drivers/xen/core/Makefile 2011-02-02 15:10:34.000000000 +0100
-+++ head-2011-05-09/drivers/xen/core/Makefile 2011-02-03 14:42:26.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/Makefile 2011-02-02 15:10:34.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/Makefile 2011-02-03 14:42:26.000000000 +0100
@@ -5,8 +5,7 @@
obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o
@@ -404,8 +394,8 @@ Patch-mainline: n/a
CFLAGS_domctl.o := -D__XEN_PUBLIC_XEN_H__ -D__XEN_PUBLIC_GRANT_TABLE_H__
-CFLAGS_domctl.o += -D__XEN_TOOLS__ -imacros xen/interface/domctl.h
+CFLAGS_domctl.o += -D__XEN_TOOLS__ -imacros xen/interface/domctl.h -imacros xen/interface/sysctl.h
---- head-2011-05-09.orig/drivers/xen/core/domctl.c 2010-11-23 16:20:20.000000000 +0100
-+++ head-2011-05-09/drivers/xen/core/domctl.c 2011-02-03 14:42:26.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/domctl.c 2010-11-23 16:20:20.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/domctl.c 2011-02-03 14:42:26.000000000 +0100
@@ -92,6 +92,110 @@ union xen_domctl {
} v5, v6, v7;
};
@@ -702,15 +692,15 @@ Patch-mainline: n/a
#endif /* CONFIG_X86 */
MODULE_LICENSE("GPL");
---- head-2011-05-09.orig/drivers/xen/core/domctl.h 2010-11-23 16:20:20.000000000 +0100
-+++ head-2011-05-09/drivers/xen/core/domctl.h 2011-02-03 14:42:26.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/domctl.h 2010-11-23 16:20:20.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/domctl.h 2011-02-03 14:42:26.000000000 +0100
@@ -1,3 +1,4 @@
int xen_guest_address_size(int domid);
int xen_guest_blkif_protocol(int domid);
int xen_set_physical_cpu_affinity(int pcpu);
+int xen_get_topology_info(unsigned int cpu, u32 *core, u32 *socket, u32 *node);
---- head-2011-05-09.orig/drivers/xen/core/pcpu.c 2011-02-02 15:09:57.000000000 +0100
-+++ head-2011-05-09/drivers/xen/core/pcpu.c 2011-03-23 10:12:33.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/pcpu.c 2011-02-02 15:09:57.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/pcpu.c 2011-03-23 10:12:33.000000000 +0100
@@ -11,6 +11,7 @@
#include <asm/hypervisor.h>
#include <xen/interface/platform.h>
@@ -800,7 +790,7 @@ Patch-mainline: n/a
{
int err;
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-09/include/xen/pcpu.h 2011-02-03 14:42:26.000000000 +0100
++++ head-2011-06-30/include/xen/pcpu.h 2011-02-03 14:42:26.000000000 +0100
@@ -0,0 +1,18 @@
+#ifndef _XEN_SYSCTL_H
+#define _XEN_SYSCTL_H
diff --git a/patches.xen/xen-x86-no-lapic b/patches.xen/xen-x86-no-lapic
index d71ac180e9..44fa2cc6cc 100644
--- a/patches.xen/xen-x86-no-lapic
+++ b/patches.xen/xen-x86-no-lapic
@@ -3,8 +3,8 @@ Subject: Disallow all accesses to the local APIC page
Patch-mainline: n/a
References: bnc#191115
---- head-2011-05-23.orig/arch/x86/include/asm/apic.h 2011-04-13 14:08:57.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/asm/apic.h 2011-04-13 17:05:20.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/apic.h 2011-04-13 14:08:57.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/apic.h 2011-07-04 12:28:47.000000000 +0200
@@ -9,7 +9,9 @@
#include <asm/processor.h>
#include <asm/apicdef.h>
@@ -78,32 +78,32 @@ References: bnc#191115
/* wakeup_secondary_cpu */
int (*wakeup_secondary_cpu)(int apicid, unsigned long start_eip);
-@@ -372,6 +384,7 @@ struct apic {
- /* determine CPU -> NUMA node mapping */
+@@ -377,6 +389,7 @@ struct apic {
+ */
int (*x86_32_numa_cpu_node)(int cpu);
#endif
+#endif /* CONFIG_XEN */
};
/*
-@@ -381,6 +394,8 @@ struct apic {
+@@ -386,6 +399,8 @@ struct apic {
*/
extern struct apic *apic;
+#ifndef CONFIG_XEN
+
/*
- * APIC functionality to boot other CPUs - only used on SMP:
- */
-@@ -483,6 +498,7 @@ static inline void default_wait_for_init
+ * APIC drivers are probed based on how they are listed in the .apicdrivers
+ * section. So the order is important and enforced by the ordering
+@@ -503,6 +518,7 @@ static inline void default_wait_for_init
- extern void generic_bigsmp_probe(void);
+ extern struct apic *generic_bigsmp_probe(void);
+#endif /* CONFIG_XEN */
#ifdef CONFIG_X86_LOCAL_APIC
-@@ -499,6 +515,8 @@ static inline const struct cpumask *defa
+@@ -519,6 +535,8 @@ static inline const struct cpumask *defa
#endif
}
@@ -112,7 +112,7 @@ References: bnc#191115
DECLARE_EARLY_PER_CPU(u16, x86_bios_cpu_apicid);
-@@ -609,6 +627,8 @@ extern int default_cpu_present_to_apicid
+@@ -625,6 +643,8 @@ extern int default_cpu_present_to_apicid
extern int default_check_phys_apicid_present(int phys_apicid);
#endif
@@ -121,8 +121,8 @@ References: bnc#191115
#endif /* CONFIG_X86_LOCAL_APIC */
#endif /* _ASM_X86_APIC_H */
---- head-2011-05-23.orig/arch/x86/include/asm/apicdef.h 2011-05-23 10:35:51.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/asm/apicdef.h 2011-05-23 11:41:00.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/apicdef.h 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/apicdef.h 2011-05-23 11:41:00.000000000 +0200
@@ -17,6 +17,8 @@
*/
#define IO_APIC_SLOT_SIZE 1024
@@ -167,8 +167,8 @@ References: bnc#191115
#ifdef CONFIG_X86_32
#define BAD_APICID 0xFFu
#else
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/fixmap.h 2011-02-01 15:41:35.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/fixmap.h 2011-02-03 14:34:58.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/fixmap.h 2011-02-01 15:41:35.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/fixmap.h 2011-02-03 14:34:58.000000000 +0100
@@ -17,7 +17,6 @@
#ifndef __ASSEMBLY__
#include <linux/kernel.h>
@@ -189,8 +189,8 @@ References: bnc#191115
#ifdef CONFIG_X86_IO_APIC
FIX_IO_APIC_BASE_0,
FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS - 1,
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/smp.h 2011-04-13 17:01:31.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/smp.h 2011-03-03 16:50:42.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/smp.h 2011-04-13 17:01:31.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/smp.h 2011-03-03 16:50:42.000000000 +0100
@@ -15,7 +15,7 @@
# include <asm/io_apic.h>
# endif
@@ -209,8 +209,8 @@ References: bnc#191115
#ifndef CONFIG_X86_64
static inline int logical_smp_processor_id(void)
---- head-2011-05-23.orig/arch/x86/kernel/acpi/boot.c 2011-04-13 14:08:57.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/acpi/boot.c 2011-03-11 11:17:06.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/acpi/boot.c 2011-04-13 14:08:57.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/acpi/boot.c 2011-03-11 11:17:06.000000000 +0100
@@ -74,14 +74,14 @@ int acpi_sci_override_gsi __initdata;
int acpi_skip_timer_override __initdata;
int acpi_use_timer_override __initdata;
@@ -262,8 +262,8 @@ References: bnc#191115
return 0;
}
---- head-2011-05-23.orig/arch/x86/kernel/irq-xen.c 2011-04-14 11:25:42.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/irq-xen.c 2011-04-13 17:01:22.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/irq-xen.c 2011-07-01 15:19:34.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/irq-xen.c 2011-04-13 17:01:22.000000000 +0200
@@ -17,9 +17,9 @@
#include <asm/mce.h>
#include <asm/hw_irq.h>
@@ -314,8 +314,8 @@ References: bnc#191115
}
---- head-2011-05-23.orig/drivers/xen/core/smpboot.c 2011-02-02 15:10:16.000000000 +0100
-+++ head-2011-05-23/drivers/xen/core/smpboot.c 2011-03-03 16:50:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-02-02 15:10:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-03-03 16:50:49.000000000 +0100
@@ -283,7 +283,7 @@ void __init smp_prepare_cpus(unsigned in
* Here we can be sure that there is an IO-APIC in the system. Let's
* go and set it up:
diff --git a/patches.xen/xen-x86-panic-no-reboot b/patches.xen/xen-x86-panic-no-reboot
index 413be9179d..6ac155fee5 100644
--- a/patches.xen/xen-x86-panic-no-reboot
+++ b/patches.xen/xen-x86-panic-no-reboot
@@ -4,9 +4,9 @@ Patch-mainline: obsolete
$subject says it all.
---- head-2011-04-13.orig/arch/x86/kernel/setup-xen.c 2011-04-13 14:20:42.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/setup-xen.c 2011-04-13 16:56:47.000000000 +0200
-@@ -769,15 +769,17 @@ void __init setup_arch(char **cmdline_p)
+--- head-2011-06-30.orig/arch/x86/kernel/setup-xen.c 2011-07-01 15:46:25.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup-xen.c 2011-07-04 12:21:52.000000000 +0200
+@@ -768,15 +768,17 @@ void __init setup_arch(char **cmdline_p)
unsigned long p2m_pages;
struct physdev_set_iopl set_iopl;
diff --git a/patches.xen/xen-x86-per-cpu-vcpu-info b/patches.xen/xen-x86-per-cpu-vcpu-info
index ec0bb481e5..78748c46ee 100644
--- a/patches.xen/xen-x86-per-cpu-vcpu-info
+++ b/patches.xen/xen-x86-per-cpu-vcpu-info
@@ -5,8 +5,8 @@ Patch-mainline: obsolete
... reducing access code size and latency, as well as being the
prerequisite for removing the limitation on 32 vCPU-s per guest.
---- head-2011-05-09.orig/arch/x86/include/asm/percpu.h 2011-05-09 11:36:25.000000000 +0200
-+++ head-2011-05-09/arch/x86/include/asm/percpu.h 2011-04-13 17:06:05.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/percpu.h 2011-06-30 15:04:06.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/percpu.h 2011-04-13 17:06:05.000000000 +0200
@@ -311,6 +311,40 @@ do { \
pxo_ret__; \
})
@@ -59,8 +59,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#define __this_cpu_read_1(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
#define __this_cpu_read_2(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:11:23.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:12:07.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:11:23.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:12:07.000000000 +0100
@@ -51,12 +51,26 @@
extern shared_info_t *HYPERVISOR_shared_info;
@@ -88,8 +88,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#ifdef CONFIG_X86_32
extern unsigned long hypervisor_virt_start;
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-02 15:09:52.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-03 14:42:15.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-02 15:09:52.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/irqflags.h 2011-02-03 14:42:15.000000000 +0100
@@ -14,7 +14,7 @@
* includes these barriers, for example.
*/
@@ -165,8 +165,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
TRACE_IRQS_OFF ; \
sysexit_ecrit: /**** END OF SYSEXIT CRITICAL REGION ****/ ; \
mov $__KERNEL_PERCPU, %ecx ; \
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:11:13.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:12:10.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:11:13.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:12:10.000000000 +0100
@@ -123,6 +123,8 @@ static inline void xen_set_pgd(pgd_t *pg
#define __pte_mfn(_pte) (((_pte).pte & PTE_PFN_MASK) >> PAGE_SHIFT)
@@ -176,8 +176,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
extern void sync_global_pgds(unsigned long start, unsigned long end);
/*
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/system.h 2011-04-13 16:26:43.000000000 +0200
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/system.h 2011-04-13 17:06:13.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/system.h 2011-04-13 16:26:43.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/system.h 2011-04-13 17:06:13.000000000 +0200
@@ -245,8 +245,8 @@ static inline void xen_write_cr0(unsigne
asm volatile("mov %0,%%cr0": : "r" (val), "m" (__force_order));
}
@@ -189,9 +189,9 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
static inline unsigned long xen_read_cr3(void)
{
---- head-2011-05-09.orig/arch/x86/kernel/cpu/common-xen.c 2011-04-12 16:50:13.000000000 +0200
-+++ head-2011-05-09/arch/x86/kernel/cpu/common-xen.c 2011-03-17 14:44:07.000000000 +0100
-@@ -346,8 +346,16 @@ static const char *__cpuinit table_looku
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/common-xen.c 2011-07-01 15:19:34.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/common-xen.c 2011-07-04 12:30:47.000000000 +0200
+@@ -365,8 +365,16 @@ static const char *__cpuinit table_looku
__u32 cpu_caps_cleared[NCAPINTS] __cpuinitdata;
__u32 cpu_caps_set[NCAPINTS] __cpuinitdata;
@@ -209,8 +209,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#ifdef CONFIG_X86_32
loadsegment(fs, __KERNEL_PERCPU);
#else
---- head-2011-05-09.orig/arch/x86/kernel/entry_32-xen.S 2011-04-26 09:44:50.000000000 +0200
-+++ head-2011-05-09/arch/x86/kernel/entry_32-xen.S 2011-04-13 17:06:21.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/entry_32-xen.S 2011-04-26 09:44:50.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/entry_32-xen.S 2011-04-13 17:06:21.000000000 +0200
@@ -441,6 +441,9 @@ sysenter_exit:
movl PT_EIP(%esp), %edx
movl PT_OLDESP(%esp), %ecx
@@ -243,8 +243,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
.previous
# Hypervisor uses this for application faults while it executes.
---- head-2011-05-09.orig/arch/x86/kernel/head-xen.c 2011-02-01 15:09:47.000000000 +0100
-+++ head-2011-05-09/arch/x86/kernel/head-xen.c 2011-02-03 14:42:15.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head-xen.c 2011-07-01 15:39:52.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head-xen.c 2011-02-03 14:42:15.000000000 +0100
@@ -144,6 +144,8 @@ void __init xen_start_kernel(void)
HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
clear_page(empty_zero_page);
@@ -254,8 +254,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
/* Set up mapping of lowest 1MB of physical memory. */
for (i = 0; i < NR_FIX_ISAMAPS; i++)
if (is_initial_xendomain())
---- head-2011-05-09.orig/arch/x86/kernel/time-xen.c 2011-04-14 16:18:51.000000000 +0200
-+++ head-2011-05-09/arch/x86/kernel/time-xen.c 2011-04-14 16:19:12.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-07-04 10:25:07.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-04-14 16:19:12.000000000 +0200
@@ -247,16 +247,10 @@ static void get_time_values_from_xen(uns
local_irq_restore(flags);
}
@@ -284,8 +284,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
get_time_values_from_xen(cpu);
barrier();
} while (local_time_version != shadow->version);
---- head-2011-05-09.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:54:29.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/hypervisor.c 2011-05-09 11:55:04.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:54:29.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/hypervisor.c 2011-05-09 11:55:04.000000000 +0200
@@ -41,6 +41,7 @@
#include <xen/balloon.h>
#include <xen/features.h>
@@ -398,8 +398,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#define NR_MC BITS_PER_LONG
#define NR_MMU BITS_PER_LONG
---- head-2011-05-09.orig/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:14.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/init_64-xen.c 2011-02-03 14:42:15.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-07-04 12:30:03.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-02-03 14:42:15.000000000 +0100
@@ -118,6 +118,26 @@ void __meminit early_make_page_readonly(
BUG();
}
@@ -427,8 +427,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#ifndef CONFIG_XEN
static int __init parse_direct_gbpages_off(char *arg)
{
---- head-2011-05-09.orig/drivers/xen/Kconfig 2011-04-14 11:28:24.000000000 +0200
-+++ head-2011-05-09/drivers/xen/Kconfig 2011-04-14 11:28:35.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-14 11:28:24.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-04-14 11:28:35.000000000 +0200
@@ -382,6 +382,18 @@ config XEN_COMPAT
default 0x030002 if XEN_COMPAT_030002_AND_LATER
default 0
@@ -448,8 +448,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
endmenu
config HAVE_IRQ_IGNORE_UNHANDLED
---- head-2011-05-09.orig/drivers/xen/core/evtchn.c 2011-04-14 16:37:32.000000000 +0200
-+++ head-2011-05-09/drivers/xen/core/evtchn.c 2011-04-14 16:37:51.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2011-04-14 16:37:32.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-04-14 16:37:51.000000000 +0200
@@ -355,6 +355,24 @@ static DEFINE_PER_CPU(unsigned int, upca
static DEFINE_PER_CPU(unsigned int, current_l1i);
static DEFINE_PER_CPU(unsigned int, current_l2i);
@@ -538,8 +538,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
}
EXPORT_SYMBOL_GPL(unmask_evtchn);
---- head-2011-05-09.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:34.000000000 +0200
-+++ head-2011-05-09/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:40.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:34.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-07-04 12:30:40.000000000 +0200
@@ -70,7 +70,7 @@ static void pre_suspend(void)
mfn_to_pfn(xen_start_info->console.domU.mfn);
}
@@ -581,7 +581,7 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
#endif
-@@ -166,7 +179,7 @@ static int take_machine_down(void *_susp
+@@ -161,7 +174,7 @@ static int take_machine_down(void *_susp
BUG_ON(suspend_cancelled > 0);
suspend->resume_notifier(suspend_cancelled);
if (suspend_cancelled >= 0)
@@ -590,8 +590,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
if (!suspend_cancelled)
xen_clockevents_resume();
if (suspend_cancelled >= 0)
---- head-2011-05-09.orig/drivers/xen/core/smpboot.c 2011-03-03 16:50:49.000000000 +0100
-+++ head-2011-05-09/drivers/xen/core/smpboot.c 2011-02-03 14:42:15.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-03-03 16:50:49.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-02-03 14:42:15.000000000 +0100
@@ -290,8 +290,13 @@ void __init smp_prepare_cpus(unsigned in
void __init smp_prepare_boot_cpu(void)
@@ -606,8 +606,8 @@ prerequisite for removing the limitation on 32 vCPU-s per guest.
}
#ifdef CONFIG_HOTPLUG_CPU
---- head-2011-05-09.orig/drivers/xen/core/spinlock.c 2011-04-14 17:50:59.000000000 +0200
-+++ head-2011-05-09/drivers/xen/core/spinlock.c 2011-04-14 17:51:20.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/core/spinlock.c 2011-04-14 17:50:59.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/spinlock.c 2011-04-14 17:51:20.000000000 +0200
@@ -130,7 +130,7 @@ unsigned int xen_spin_wait(arch_spinlock
spinning.prev = percpu_read(_spinning);
smp_wmb();
diff --git a/patches.xen/xen-x86-pmd-handling b/patches.xen/xen-x86-pmd-handling
index 5a4f24aaeb..6cc9cac6dd 100644
--- a/patches.xen/xen-x86-pmd-handling
+++ b/patches.xen/xen-x86-pmd-handling
@@ -2,8 +2,8 @@ From: jbeulich@novell.com
Subject: consolidate pmd/pud/pgd entry handling
Patch-mainline: obsolete
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-02-02 15:09:52.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:11:23.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-02-02 15:09:52.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:11:23.000000000 +0100
@@ -101,10 +101,12 @@ void xen_invlpg(unsigned long ptr);
void xen_l1_entry_update(pte_t *ptr, pte_t val);
void xen_l2_entry_update(pmd_t *ptr, pmd_t val);
@@ -37,8 +37,8 @@ Patch-mainline: obsolete
MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,
void *uop, unsigned int count)
{
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-01 15:41:35.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:41:13.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-01 15:41:35.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:41:13.000000000 +0100
@@ -75,20 +75,16 @@ static inline void pmd_populate(struct m
struct page *pte)
{
@@ -118,8 +118,8 @@ Patch-mainline: obsolete
}
static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgtable.h 2011-03-23 10:10:00.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgtable.h 2011-03-23 10:11:19.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable.h 2011-03-23 10:10:00.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable.h 2011-03-23 10:11:19.000000000 +0100
@@ -618,7 +618,7 @@ static inline pmd_t xen_local_pmdp_get_a
{
pmd_t res = *pmdp;
@@ -129,8 +129,8 @@ Patch-mainline: obsolete
return res;
}
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-04-12 15:59:10.000000000 +0200
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-04-11 16:12:34.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-04-12 15:59:10.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-04-11 16:12:34.000000000 +0200
@@ -56,12 +56,15 @@ static inline void __xen_pte_clear(pte_t
ptep->pte_high = 0;
}
@@ -167,8 +167,8 @@ Patch-mainline: obsolete
#ifdef CONFIG_SMP
static inline pte_t xen_ptep_get_and_clear(pte_t *ptep, pte_t res)
{
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-04-12 15:59:10.000000000 +0200
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:11:13.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-04-12 15:59:10.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:11:13.000000000 +0100
@@ -65,10 +65,13 @@ static inline void xen_set_pmd(pmd_t *pm
xen_l2_entry_update(pmdp, pmd);
}
@@ -226,8 +226,8 @@ Patch-mainline: obsolete
#define __pte_mfn(_pte) (((_pte).pte & PTE_PFN_MASK) >> PAGE_SHIFT)
---- head-2011-05-09.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:54:21.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/hypervisor.c 2011-05-09 11:54:29.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:54:21.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/hypervisor.c 2011-05-09 11:54:29.000000000 +0200
@@ -360,31 +360,91 @@ void xen_l1_entry_update(pte_t *ptr, pte
}
EXPORT_SYMBOL_GPL(xen_l1_entry_update);
@@ -327,9 +327,9 @@ Patch-mainline: obsolete
}
#endif /* CONFIG_X86_64 */
---- head-2011-05-09.orig/arch/x86/mm/init_32-xen.c 2011-04-13 16:54:02.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/init_32-xen.c 2011-04-13 17:05:39.000000000 +0200
-@@ -688,6 +688,8 @@ static void __init zone_sizes_init(void)
+--- head-2011-06-30.orig/arch/x86/mm/init_32-xen.c 2011-07-04 12:15:21.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_32-xen.c 2011-07-04 12:29:02.000000000 +0200
+@@ -690,6 +690,8 @@ static void __init zone_sizes_init(void)
#endif
free_area_init_nodes(max_zone_pfns);
@@ -338,7 +338,7 @@ Patch-mainline: obsolete
}
void __init setup_bootmem_allocator(void)
-@@ -907,8 +909,6 @@ void __init mem_init(void)
+@@ -910,8 +912,6 @@ void __init mem_init(void)
if (boot_cpu_data.wp_works_ok < 0)
test_wp_bit();
@@ -347,8 +347,8 @@ Patch-mainline: obsolete
}
#ifdef CONFIG_MEMORY_HOTPLUG
---- head-2011-05-09.orig/arch/x86/mm/init_64-xen.c 2011-04-13 16:54:38.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:14.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-04-13 16:54:38.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-07-04 12:30:03.000000000 +0200
@@ -231,8 +231,11 @@ static pud_t *fill_pud(pgd_t *pgd, unsig
{
if (pgd_none(*pgd)) {
@@ -377,15 +377,15 @@ Patch-mainline: obsolete
if (pmd != pmd_offset(pud, 0))
printk(KERN_ERR "PAGETABLE BUG #01! %p <-> %p\n",
pmd, pmd_offset(pud, 0));
-@@ -586,7 +592,6 @@ phys_pmd_init(pmd_t *pmd_page, unsigned
- XENFEAT_writable_page_tables);
- *pmd = __pmd(pte_phys | _PAGE_TABLE);
+@@ -595,7 +601,6 @@ phys_pmd_init(pmd_t *pmd_page, unsigned
+ } else
+ *pmd = __pmd(pte_phys | _PAGE_TABLE);
} else {
- make_page_readonly(pte, XENFEAT_writable_page_tables);
spin_lock(&init_mm.page_table_lock);
pmd_populate_kernel(&init_mm, pmd, __va(pte_phys));
spin_unlock(&init_mm.page_table_lock);
-@@ -671,7 +676,6 @@ phys_pud_init(pud_t *pud_page, unsigned
+@@ -682,7 +687,6 @@ phys_pud_init(pud_t *pud_page, unsigned
} else
*pud = __pud(pmd_phys | _PAGE_TABLE);
} else {
@@ -393,7 +393,7 @@ Patch-mainline: obsolete
spin_lock(&init_mm.page_table_lock);
pud_populate(&init_mm, pud, __va(pmd_phys));
spin_unlock(&init_mm.page_table_lock);
-@@ -838,7 +842,6 @@ kernel_physical_mapping_init(unsigned lo
+@@ -849,7 +853,6 @@ kernel_physical_mapping_init(unsigned lo
XENFEAT_writable_page_tables);
xen_l4_entry_update(pgd, __pgd(pud_phys | _PAGE_TABLE));
} else {
@@ -401,7 +401,7 @@ Patch-mainline: obsolete
spin_lock(&init_mm.page_table_lock);
pgd_populate(&init_mm, pgd, __va(pud_phys));
spin_unlock(&init_mm.page_table_lock);
-@@ -886,7 +889,7 @@ void __init paging_init(void)
+@@ -899,7 +902,7 @@ void __init paging_init(void)
free_area_init_nodes(max_zone_pfns);
@@ -410,8 +410,8 @@ Patch-mainline: obsolete
}
/*
---- head-2011-05-09.orig/arch/x86/mm/pgtable-xen.c 2011-04-12 15:59:10.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/pgtable-xen.c 2011-04-11 16:12:44.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/pgtable-xen.c 2011-04-12 15:59:10.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/pgtable-xen.c 2011-04-11 16:12:44.000000000 +0200
@@ -66,16 +66,16 @@ early_param("userpte", setup_userpte);
void __pte_free(pgtable_t pte)
{
diff --git a/patches.xen/xen-x86_64-dump-user-pgt b/patches.xen/xen-x86_64-dump-user-pgt
index e31273b5a9..9b9e8a39e6 100644
--- a/patches.xen/xen-x86_64-dump-user-pgt
+++ b/patches.xen/xen-x86_64-dump-user-pgt
@@ -2,9 +2,9 @@ From: jbeulich@novell.com
Subject: dump the correct page tables for user mode faults
Patch-mainline: obsolete
---- head-2011-03-17.orig/arch/x86/mm/fault-xen.c 2011-03-17 14:22:21.000000000 +0100
-+++ head-2011-03-17/arch/x86/mm/fault-xen.c 2011-03-17 14:35:18.000000000 +0100
-@@ -345,6 +345,7 @@ static void dump_pagetable(unsigned long
+--- head-2011-06-30.orig/arch/x86/mm/fault-xen.c 2011-07-01 15:19:35.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/fault-xen.c 2011-07-04 12:33:46.000000000 +0200
+@@ -346,6 +346,7 @@ static void dump_pagetable(unsigned long
out:
printk(KERN_CONT "\n");
}
@@ -12,7 +12,7 @@ Patch-mainline: obsolete
#else /* CONFIG_X86_64: */
-@@ -449,7 +450,7 @@ static int bad_address(void *p)
+@@ -450,7 +451,7 @@ static int bad_address(void *p)
return probe_kernel_address((unsigned long *)p, dummy);
}
@@ -21,7 +21,7 @@ Patch-mainline: obsolete
{
pgd_t *base = __va(read_cr3() & PHYSICAL_PAGE_MASK);
pgd_t *pgd = base + pgd_index(address);
-@@ -457,6 +458,9 @@ static void dump_pagetable(unsigned long
+@@ -458,6 +459,9 @@ static void dump_pagetable(unsigned long
pmd_t *pmd;
pte_t *pte;
@@ -31,7 +31,7 @@ Patch-mainline: obsolete
if (bad_address(pgd))
goto bad;
-@@ -595,7 +599,7 @@ show_fault_oops(struct pt_regs *regs, un
+@@ -596,7 +600,7 @@ show_fault_oops(struct pt_regs *regs, un
printk(KERN_ALERT "IP:");
printk_address(regs->ip, 1);
@@ -40,7 +40,7 @@ Patch-mainline: obsolete
}
static noinline void
-@@ -612,7 +616,7 @@ pgtable_bad(struct pt_regs *regs, unsign
+@@ -613,7 +617,7 @@ pgtable_bad(struct pt_regs *regs, unsign
printk(KERN_ALERT "%s: Corrupted page table at address %lx\n",
tsk->comm, address);
diff --git a/patches.xen/xen-x86_64-note-init-p2m b/patches.xen/xen-x86_64-note-init-p2m
index 4fa940f9c9..8883821a47 100644
--- a/patches.xen/xen-x86_64-note-init-p2m
+++ b/patches.xen/xen-x86_64-note-init-p2m
@@ -18,8 +18,8 @@ shouldn't be as expensive (and hence can be viewed as an optimization
avoiding the spurious page fault on the local CPU), but is required
when the functions are used before the page fault handler gets set up.
---- head-2011-05-23.orig/arch/x86/kernel/head64-xen.c 2011-04-12 15:59:10.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:44.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/head64-xen.c 2011-04-12 15:59:10.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:44.000000000 +0200
@@ -121,6 +121,14 @@ void __init x86_64_start_reservations(ch
memblock_x86_reserve_range(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS");
@@ -35,8 +35,8 @@ when the functions are used before the page fault handler gets set up.
/*
* At this point everything still needed from the boot loader
* or BIOS or kernel text should be early reserved or marked not
---- head-2011-05-23.orig/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:36.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:41.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:36.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:41.000000000 +0100
@@ -17,6 +17,7 @@
#include <linux/elfnote.h>
#include <asm/segment.h>
@@ -53,9 +53,72 @@ when the functions are used before the page fault handler gets set up.
ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel")
ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic")
ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long 1)
---- head-2011-05-23.orig/arch/x86/kernel/setup-xen.c 2011-04-14 16:37:45.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/setup-xen.c 2011-04-14 16:38:00.000000000 +0200
-@@ -1148,7 +1148,7 @@ void __init setup_arch(char **cmdline_p)
+--- head-2011-06-30.orig/arch/x86/kernel/setup-xen.c 2011-07-04 12:32:51.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup-xen.c 2011-07-04 12:34:40.000000000 +0200
+@@ -1059,6 +1059,54 @@ void __init setup_arch(char **cmdline_p)
+ init_gbpages();
+
+ /* max_pfn_mapped is updated here */
++#ifdef CONFIG_X86_64_XEN
++ if (xen_start_info->mfn_list < __START_KERNEL_map) {
++ /* Map P2M space only after all usable memory. */
++ unsigned long p2m_start = xen_start_info->first_p2m_pfn;
++ unsigned long p2m_end = p2m_start
++ + xen_start_info->nr_p2m_frames;
++ unsigned long temp;
++
++ max_low_pfn_mapped = init_memory_mapping(
++ 0, min(max_low_pfn, p2m_start) << PAGE_SHIFT);
++ max_pfn_mapped = max_low_pfn_mapped;
++
++ if (p2m_end < max_low_pfn)
++ max_low_pfn_mapped = init_memory_mapping(
++ p2m_end << PAGE_SHIFT,
++ max_low_pfn << PAGE_SHIFT);
++ max_pfn_mapped = max_low_pfn_mapped;
++
++ if (max_low_pfn < p2m_start)
++ max_pfn_mapped = init_memory_mapping(
++ max_low_pfn << PAGE_SHIFT,
++ p2m_start << PAGE_SHIFT);
++
++ if (max(max_low_pfn, p2m_end) < max_pfn)
++ max_pfn_mapped = init_memory_mapping(
++ max(max_low_pfn, p2m_end) << PAGE_SHIFT,
++ max_pfn << PAGE_SHIFT);
++
++ temp = max_pfn_mapped;
++ if (p2m_start < max_low_pfn) {
++ temp = init_memory_mapping(
++ p2m_start << PAGE_SHIFT,
++ min(max_low_pfn, p2m_end) << PAGE_SHIFT);
++ if (temp > max_low_pfn_mapped)
++ max_low_pfn_mapped = temp;
++ }
++
++ if (max_low_pfn < p2m_end)
++ temp = init_memory_mapping(
++ max(max_low_pfn, p2m_start) << PAGE_SHIFT,
++ p2m_end << PAGE_SHIFT);
++ if (temp > max_pfn_mapped)
++ max_pfn_mapped = temp;
++
++ goto init_memory_mapping_done;
++ }
++#endif
++
+ max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
+ max_pfn_mapped = max_low_pfn_mapped;
+
+@@ -1066,6 +1114,7 @@ void __init setup_arch(char **cmdline_p)
+ if (max_pfn > max_low_pfn) {
+ max_pfn_mapped = init_memory_mapping(1UL<<32,
+ max_pfn<<PAGE_SHIFT);
++ init_memory_mapping_done:
+ /* can we preseve max_low_pfn ?*/
+ max_low_pfn = max_pfn;
+ }
+@@ -1157,7 +1206,7 @@ void __init setup_arch(char **cmdline_p)
difference = xen_start_info->nr_pages - max_pfn;
set_xen_guest_handle(reservation.extent_start,
@@ -64,7 +127,7 @@ when the functions are used before the page fault handler gets set up.
reservation.nr_extents = difference;
ret = HYPERVISOR_memory_op(XENMEM_decrease_reservation,
&reservation);
-@@ -1165,14 +1165,86 @@ void __init setup_arch(char **cmdline_p)
+@@ -1174,14 +1223,86 @@ void __init setup_arch(char **cmdline_p)
phys_to_machine_mapping = alloc_bootmem_pages(
max_pfn * sizeof(unsigned long));
memcpy(phys_to_machine_mapping,
@@ -156,9 +219,9 @@ when the functions are used before the page fault handler gets set up.
/*
* Initialise the list of the frames that specify the list of
---- head-2011-05-23.orig/arch/x86/mm/init-xen.c 2011-05-23 11:32:36.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/init-xen.c 2011-05-23 11:46:11.000000000 +0200
-@@ -353,9 +353,20 @@ unsigned long __init_refok init_memory_m
+--- head-2011-06-30.orig/arch/x86/mm/init-xen.c 2011-07-01 15:48:40.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init-xen.c 2011-07-04 12:34:33.000000000 +0200
+@@ -351,9 +351,20 @@ unsigned long __init_refok init_memory_m
* RO all the pagetable pages, including the ones that are beyond
* pgt_buf_end at that time.
*/
@@ -180,8 +243,8 @@ when the functions are used before the page fault handler gets set up.
if (!after_bootmem)
early_memtest(start, end);
---- head-2011-05-23.orig/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:38.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:49.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:26.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:56.000000000 +0200
@@ -220,6 +220,17 @@ void sync_global_pgds(unsigned long star
}
}
@@ -253,7 +316,16 @@ when the functions are used before the page fault handler gets set up.
/*
* No need for writable mapping of kernel image. This also ensures that
-@@ -754,6 +778,12 @@ void __init xen_init_pt(void)
+@@ -553,7 +577,7 @@ phys_pmd_init(pmd_t *pmd_page, unsigned
+
+ int i = pmd_index(address);
+
+- for (; i < PTRS_PER_PMD; i++, address += PMD_SIZE) {
++ for (; i < PTRS_PER_PMD; i++, address = (address & PMD_MASK) + PMD_SIZE) {
+ unsigned long pte_phys;
+ pmd_t *pmd = pmd_page + pmd_index(address);
+ pte_t *pte;
+@@ -765,6 +789,12 @@ void __init xen_init_pt(void)
(PTRS_PER_PUD - pud_index(__START_KERNEL_map))
* sizeof(*level3_kernel_pgt));
@@ -266,7 +338,7 @@ when the functions are used before the page fault handler gets set up.
/* Do an early initialization of the fixmap area. */
addr = __fix_to_virt(FIX_EARLYCON_MEM_BASE);
if (pud_present(level3_kernel_pgt[pud_index(addr)])) {
-@@ -785,22 +815,27 @@ void __init xen_init_pt(void)
+@@ -796,22 +826,27 @@ void __init xen_init_pt(void)
void __init xen_finish_init_mapping(void)
{
unsigned long start, end;
@@ -298,8 +370,8 @@ when the functions are used before the page fault handler gets set up.
/* Destroy the Xen-created mappings beyond the kernel image. */
start = PAGE_ALIGN(_brk_end);
end = __START_KERNEL_map + (pgt_buf_start << PAGE_SHIFT);
---- head-2011-05-23.orig/arch/x86/mm/pageattr-xen.c 2011-04-13 17:01:32.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/pageattr-xen.c 2011-04-28 11:36:37.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/pageattr-xen.c 2011-04-13 17:01:32.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/pageattr-xen.c 2011-04-28 11:36:37.000000000 +0200
@@ -1496,7 +1496,7 @@ static void __make_page_writable(unsigne
pte = lookup_address(va, &level);
@@ -309,8 +381,8 @@ when the functions are used before the page fault handler gets set up.
BUG();
if (in_secondary_range(va)) {
unsigned long pfn = pte_pfn(*pte);
---- head-2011-05-23.orig/arch/x86/mm/pgtable-xen.c 2011-04-11 16:14:31.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/pgtable-xen.c 2011-02-03 14:42:41.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable-xen.c 2011-04-11 16:14:31.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/pgtable-xen.c 2011-02-03 14:42:41.000000000 +0100
@@ -344,7 +344,7 @@ void __init xen_init_pgd_pin(void)
if (PTRS_PER_PUD > 1) /* not folded */
SetPagePinned(virt_to_page(pud));
@@ -329,8 +401,8 @@ when the functions are used before the page fault handler gets set up.
continue;
SetPagePinned(pmd_page(*pmd));
}
---- head-2011-05-23.orig/arch/x86/mm/pgtable_32-xen.c 2011-02-01 15:03:10.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/pgtable_32-xen.c 2011-02-03 14:42:41.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable_32-xen.c 2011-02-01 15:03:10.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pgtable_32-xen.c 2011-02-03 14:42:41.000000000 +0100
@@ -174,6 +174,6 @@ void make_lowmem_page_writable(void *va,
pte = lookup_address((unsigned long)va, &level);
BUG_ON(!pte || level != PG_LEVEL_4K || !pte_present(*pte));
diff --git a/patches.xen/xen-x86_64-pgd-alloc-order b/patches.xen/xen-x86_64-pgd-alloc-order
index 060c9f8b6f..b3a26cc7a9 100644
--- a/patches.xen/xen-x86_64-pgd-alloc-order
+++ b/patches.xen/xen-x86_64-pgd-alloc-order
@@ -4,8 +4,8 @@ Patch-mainline: n/a
At the same time remove the useless user mode pair of init_level4_pgt.
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2010-11-23 16:31:40.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:13:55.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2010-11-23 16:31:40.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:13:55.000000000 +0100
@@ -106,8 +106,8 @@ void do_hypervisor_callback(struct pt_re
* be MACHINE addresses.
*/
@@ -26,8 +26,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
void xen_pgd_pin(pgd_t *);
void xen_pgd_unpin(pgd_t *);
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/mmu_context.h 2011-02-08 10:25:49.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/mmu_context.h 2011-02-08 10:46:27.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/mmu_context.h 2011-02-08 10:25:49.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/mmu_context.h 2011-02-08 10:46:27.000000000 +0100
@@ -82,6 +82,9 @@ static inline void switch_mm(struct mm_s
{
unsigned cpu = smp_processor_id();
@@ -61,8 +61,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
load_LDT_nolock(&next->context);
}
}
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:41:13.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:42:36.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:41:13.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgalloc.h 2011-02-03 14:42:36.000000000 +0100
@@ -123,15 +123,13 @@ static inline void pud_populate(struct m
#endif /* CONFIG_X86_PAE */
@@ -80,8 +80,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
else
*__user_pgd(pgd) = *pgd = ent;
}
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:12:10.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:13:50.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:12:10.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-03-23 10:13:50.000000000 +0100
@@ -106,18 +106,25 @@ static inline void xen_set_pud(pud_t *pu
: (void)(*__pudp = xen_make_pud(0)); \
})
@@ -111,9 +111,9 @@ At the same time remove the useless user mode pair of init_level4_pgt.
: (void)(*__user_pgd(__pgdp) = *__pgdp = xen_make_pgd(0)); \
})
---- head-2011-05-09.orig/arch/x86/kernel/cpu/common-xen.c 2011-03-17 14:44:07.000000000 +0100
-+++ head-2011-05-09/arch/x86/kernel/cpu/common-xen.c 2011-05-18 10:48:44.000000000 +0200
-@@ -1068,8 +1068,7 @@ DEFINE_PER_CPU_FIRST(union irq_stack_uni
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/common-xen.c 2011-07-04 12:30:47.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/common-xen.c 2011-07-04 12:33:38.000000000 +0200
+@@ -1083,8 +1083,7 @@ DEFINE_PER_CPU_FIRST(union irq_stack_uni
void xen_switch_pt(void)
{
#ifdef CONFIG_XEN
@@ -123,8 +123,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
#endif
}
---- head-2011-05-09.orig/arch/x86/kernel/head_64-xen.S 2011-02-01 14:55:46.000000000 +0100
-+++ head-2011-05-09/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:36.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_64-xen.S 2011-02-01 14:55:46.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:36.000000000 +0100
@@ -56,14 +56,6 @@ ENTRY(name)
__PAGE_ALIGNED_BSS
NEXT_PAGE(init_level4_pgt)
@@ -140,8 +140,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
NEXT_PAGE(level3_kernel_pgt)
.fill 512,8,0
---- head-2011-05-09.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:55:22.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/hypervisor.c 2011-05-09 11:55:28.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:55:22.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/hypervisor.c 2011-05-09 11:55:28.000000000 +0200
@@ -523,7 +523,7 @@ void xen_l3_entry_update(pud_t *ptr, pud
#endif
@@ -223,9 +223,9 @@ At the same time remove the useless user mode pair of init_level4_pgt.
#endif
if (HYPERVISOR_mmuext_op(op, NR_PGD_PIN_OPS, NULL, DOMID_SELF) < 0)
BUG();
---- head-2011-05-09.orig/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:34.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:38.000000000 +0200
-@@ -754,9 +754,6 @@ void __init xen_init_pt(void)
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:18.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:26.000000000 +0200
+@@ -765,9 +765,6 @@ void __init xen_init_pt(void)
(PTRS_PER_PUD - pud_index(__START_KERNEL_map))
* sizeof(*level3_kernel_pgt));
@@ -235,7 +235,7 @@ At the same time remove the useless user mode pair of init_level4_pgt.
/* Do an early initialization of the fixmap area. */
addr = __fix_to_virt(FIX_EARLYCON_MEM_BASE);
if (pud_present(level3_kernel_pgt[pud_index(addr)])) {
-@@ -772,8 +769,6 @@ void __init xen_init_pt(void)
+@@ -783,8 +780,6 @@ void __init xen_init_pt(void)
early_make_page_readonly(init_level4_pgt,
XENFEAT_writable_page_tables);
@@ -244,8 +244,8 @@ At the same time remove the useless user mode pair of init_level4_pgt.
early_make_page_readonly(level3_kernel_pgt,
XENFEAT_writable_page_tables);
early_make_page_readonly(level3_user_pgt,
---- head-2011-05-09.orig/arch/x86/mm/pgtable-xen.c 2010-11-23 16:31:40.000000000 +0100
-+++ head-2011-05-09/arch/x86/mm/pgtable-xen.c 2011-04-11 16:14:31.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/pgtable-xen.c 2010-11-23 16:31:40.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pgtable-xen.c 2011-04-11 16:14:31.000000000 +0200
@@ -291,9 +291,11 @@ static void pgd_walk(pgd_t *pgd_base, pg
BUG();
seq = 0;
@@ -323,9 +323,9 @@ At the same time remove the useless user mode pair of init_level4_pgt.
}
/* blktap and gntdev need this, as otherwise they would implicitly (and
---- head-2011-05-09.orig/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:40.000000000 +0200
-+++ head-2011-05-09/drivers/xen/core/machine_reboot.c 2011-04-14 17:32:45.000000000 +0200
-@@ -194,8 +194,7 @@ static int take_machine_down(void *_susp
+--- head-2011-06-30.orig/drivers/xen/core/machine_reboot.c 2011-07-04 12:30:40.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/machine_reboot.c 2011-07-04 12:33:28.000000000 +0200
+@@ -187,8 +187,7 @@ static int take_machine_down(void *_susp
* in fast-suspend mode as that implies a new enough Xen.
*/
if (!suspend->fast_suspend)
diff --git a/patches.xen/xen-x86_64-pgd-pin b/patches.xen/xen-x86_64-pgd-pin
index e7d982aae3..ff49df4c7b 100644
--- a/patches.xen/xen-x86_64-pgd-pin
+++ b/patches.xen/xen-x86_64-pgd-pin
@@ -2,8 +2,8 @@ From: jbeulich@novell.com
Subject: make pinning of pgd pairs transparent to callers
Patch-mainline: obsolete
---- head-2011-05-09.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:12:07.000000000 +0100
-+++ head-2011-05-09/arch/x86/include/mach-xen/asm/hypervisor.h 2010-11-23 16:31:40.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-03-23 10:12:07.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2010-11-23 16:31:40.000000000 +0100
@@ -116,8 +116,8 @@ void xen_l1_entry_update(pte_t *ptr, pte
void xen_l2_entry_update(pmd_t *ptr, pmd_t val);
void xen_l3_entry_update(pud_t *ptr, pud_t val); /* x86_64/PAE */
@@ -15,8 +15,8 @@ Patch-mainline: obsolete
void xen_init_pgd_pin(void);
---- head-2011-05-09.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:55:04.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/hypervisor.c 2011-05-09 11:55:22.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/hypervisor.c 2011-05-09 11:55:04.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/hypervisor.c 2011-05-09 11:55:22.000000000 +0200
@@ -622,26 +622,38 @@ EXPORT_SYMBOL_GPL(xen_invlpg_mask);
#endif /* CONFIG_SMP */
@@ -70,9 +70,9 @@ Patch-mainline: obsolete
}
void xen_set_ldt(const void *ptr, unsigned int ents)
---- head-2011-05-09.orig/arch/x86/mm/init_64-xen.c 2011-02-03 14:42:15.000000000 +0100
-+++ head-2011-05-09/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:34.000000000 +0200
-@@ -783,10 +783,8 @@ void __init xen_init_pt(void)
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-02-03 14:42:15.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:18.000000000 +0200
+@@ -794,10 +794,8 @@ void __init xen_init_pt(void)
early_make_page_readonly(level1_fixmap_pgt,
XENFEAT_writable_page_tables);
@@ -85,8 +85,8 @@ Patch-mainline: obsolete
}
void __init xen_finish_init_mapping(void)
---- head-2011-05-09.orig/arch/x86/mm/pgtable-xen.c 2010-04-15 11:48:29.000000000 +0200
-+++ head-2011-05-09/arch/x86/mm/pgtable-xen.c 2010-11-23 16:31:40.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable-xen.c 2010-04-15 11:48:29.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/pgtable-xen.c 2010-11-23 16:31:40.000000000 +0100
@@ -368,19 +368,13 @@ static void __pgd_pin(pgd_t *pgd)
{
pgd_walk(pgd, PAGE_KERNEL_RO);
diff --git a/patches.xen/xen-x86_64-unmapped-initrd b/patches.xen/xen-x86_64-unmapped-initrd
index ee3dbc0ad9..822fe71ae3 100644
--- a/patches.xen/xen-x86_64-unmapped-initrd
+++ b/patches.xen/xen-x86_64-unmapped-initrd
@@ -7,8 +7,8 @@ getting mapped into the initial mapping. The kernel doesn't really need
the initrd to be mapped, so use new infrastructure available in 4.1+
Xen to avoid the mapping and hence the restriction.
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/setup.h 2011-02-01 14:54:13.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/setup.h 2011-02-03 14:42:45.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/setup.h 2011-07-04 12:32:43.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/setup.h 2011-07-04 12:35:19.000000000 +0200
@@ -3,6 +3,13 @@
void xen_start_kernel(void);
void xen_arch_setup(void);
@@ -20,11 +20,11 @@ Xen to avoid the mapping and hence the restriction.
+
+extern unsigned long xen_initrd_start;
+
- #endif
-
- #include_next <asm/setup.h>
---- head-2011-05-23.orig/arch/x86/kernel/head-xen.c 2011-02-03 14:42:15.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/head-xen.c 2011-02-03 14:42:45.000000000 +0100
+ #ifdef CONFIG_EFI
+ void efi_probe(void);
+ #else
+--- head-2011-06-30.orig/arch/x86/kernel/head-xen.c 2011-02-03 14:42:15.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head-xen.c 2011-02-03 14:42:45.000000000 +0100
@@ -75,6 +75,8 @@ extern void nmi(void);
#define CALLBACK_ADDR(fn) { __KERNEL_CS, (unsigned long)(fn) }
#endif
@@ -34,9 +34,9 @@ Xen to avoid the mapping and hence the restriction.
unsigned long *__read_mostly machine_to_phys_mapping =
(void *)MACH2PHYS_VIRT_START;
EXPORT_SYMBOL(machine_to_phys_mapping);
---- head-2011-05-23.orig/arch/x86/kernel/head32-xen.c 2011-05-09 11:43:03.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/head32-xen.c 2011-05-09 11:55:40.000000000 +0200
-@@ -78,6 +78,11 @@ void __init i386_start_kernel(void)
+--- head-2011-06-30.orig/arch/x86/kernel/head32-xen.c 2011-07-01 15:19:34.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head32-xen.c 2011-07-04 12:34:54.000000000 +0200
+@@ -76,6 +76,11 @@ void __init i386_start_kernel(void)
break;
}
#else
@@ -48,8 +48,8 @@ Xen to avoid the mapping and hence the restriction.
{
int max_cmdline;
---- head-2011-05-23.orig/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:44.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:59.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:44.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head64-xen.c 2011-04-11 16:14:59.000000000 +0200
@@ -121,13 +121,23 @@ void __init x86_64_start_reservations(ch
memblock_x86_reserve_range(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS");
@@ -78,8 +78,8 @@ Xen to avoid the mapping and hence the restriction.
/*
* At this point everything still needed from the boot loader
---- head-2011-05-23.orig/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:41.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:45.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:41.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_64-xen.S 2011-02-03 14:42:45.000000000 +0100
@@ -147,6 +147,7 @@ ENTRY(empty_zero_page)
ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad startup_64)
ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad hypercall_page)
@@ -88,8 +88,8 @@ Xen to avoid the mapping and hence the restriction.
ELFNOTE(Xen, XEN_ELFNOTE_INIT_P2M, .quad VMEMMAP_START)
ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel")
ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic")
---- head-2011-05-23.orig/arch/x86/kernel/setup-xen.c 2011-04-14 16:38:00.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/setup-xen.c 2011-04-13 17:14:49.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/setup-xen.c 2011-07-04 12:34:40.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup-xen.c 2011-06-10 12:10:28.000000000 +0200
@@ -410,7 +410,7 @@ static void __init relocate_initrd(void)
#else
printk(KERN_ERR "initrd extends beyond end of memory "
@@ -108,9 +108,9 @@ Xen to avoid the mapping and hence the restriction.
unsigned long ramdisk_size = xen_start_info->mod_len;
unsigned long ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size);
unsigned long end_of_lowmem = max_low_pfn_mapped << PAGE_SHIFT;
---- head-2011-05-23.orig/arch/x86/mm/init-xen.c 2011-05-23 11:46:11.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/init-xen.c 2011-05-23 11:53:26.000000000 +0200
-@@ -355,14 +355,7 @@ unsigned long __init_refok init_memory_m
+--- head-2011-06-30.orig/arch/x86/mm/init-xen.c 2011-07-04 12:34:33.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init-xen.c 2011-07-04 12:35:03.000000000 +0200
+@@ -353,14 +353,7 @@ unsigned long __init_refok init_memory_m
*/
if (!after_bootmem && pgt_buf_top > pgt_buf_start) {
#ifdef CONFIG_X86_64
@@ -126,8 +126,8 @@ Xen to avoid the mapping and hence the restriction.
#endif
x86_init.mapping.pagetable_reserve(PFN_PHYS(pgt_buf_start),
PFN_PHYS(pgt_buf_top));
---- head-2011-05-23.orig/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:49.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/init_64-xen.c 2011-04-26 09:47:56.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-07-04 12:33:56.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-07-04 12:35:04.000000000 +0200
@@ -220,13 +220,71 @@ void sync_global_pgds(unsigned long star
}
}
@@ -236,7 +236,7 @@ Xen to avoid the mapping and hence the restriction.
}
/* Make old page tables read-only. */
if (!xen_feature(XENFEAT_writable_page_tables)
-@@ -826,9 +895,6 @@ void __init xen_finish_init_mapping(void
+@@ -837,9 +906,6 @@ void __init xen_finish_init_mapping(void
&& xen_start_info->mfn_list >= __START_KERNEL_map)
phys_to_machine_mapping =
__va(__pa(xen_start_info->mfn_list));
diff --git a/patches.xen/xen3-auto-arch-i386.diff b/patches.xen/xen3-auto-arch-i386.diff
index 13654efbd3..6ab78e9c5b 100644
--- a/patches.xen/xen3-auto-arch-i386.diff
+++ b/patches.xen/xen3-auto-arch-i386.diff
@@ -1,5 +1,5 @@
Subject: xen3 arch-i386
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
diff --git a/patches.xen/xen3-auto-arch-x86.diff b/patches.xen/xen3-auto-arch-x86.diff
index 79c6439f03..afd9c97eca 100644
--- a/patches.xen/xen3-auto-arch-x86.diff
+++ b/patches.xen/xen3-auto-arch-x86.diff
@@ -1,5 +1,5 @@
Subject: xen3 arch-x86
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
@@ -9,8 +9,8 @@ take the forward porting patches:
2.6.26/arch/x86/kernel/crash.c
2.6.30/arch/x86/kernel/acpi/boot.c
---- head-2011-04-13.orig/arch/x86/Makefile 2011-04-13 10:07:24.000000000 +0200
-+++ head-2011-04-13/arch/x86/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/Makefile 2011-06-30 15:04:43.000000000 +0200
++++ head-2011-06-30/arch/x86/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -116,6 +116,10 @@ endif
# prevent gcc from generating any FP code by mistake
KBUILD_CFLAGS += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,)
@@ -58,9 +58,9 @@ take the forward porting patches:
PHONY += install
install:
---- head-2011-04-13.orig/arch/x86/boot/Makefile 2010-10-20 22:30:22.000000000 +0200
-+++ head-2011-04-13/arch/x86/boot/Makefile 2011-04-13 11:31:41.000000000 +0200
-@@ -23,6 +23,7 @@ ROOT_DEV := CURRENT
+--- head-2011-06-30.orig/arch/x86/boot/Makefile 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/arch/x86/boot/Makefile 2011-06-30 15:39:28.000000000 +0200
+@@ -17,6 +17,7 @@
SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
targets := vmlinux.bin setup.bin setup.elf bzImage
@@ -68,7 +68,7 @@ take the forward porting patches:
targets += fdimage fdimage144 fdimage288 image.iso mtools.conf
subdir- := compressed
-@@ -195,6 +196,14 @@ bzlilo: $(obj)/bzImage
+@@ -188,6 +189,14 @@ bzlilo: $(obj)/bzImage
cp System.map $(INSTALL_PATH)/
if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
@@ -83,9 +83,9 @@ take the forward porting patches:
install:
sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/bzImage \
System.map "$(INSTALL_PATH)"
---- head-2011-04-13.orig/arch/x86/kernel/Makefile 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/Makefile 2011-04-13 11:31:41.000000000 +0200
-@@ -112,9 +112,12 @@ obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION)
+--- head-2011-06-30.orig/arch/x86/kernel/Makefile 2011-06-30 15:04:07.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/Makefile 2011-06-30 15:39:36.000000000 +0200
+@@ -116,9 +116,12 @@ obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION)
obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o
obj-$(CONFIG_OF) += devicetree.o
@@ -97,8 +97,8 @@ take the forward porting patches:
+ obj-$(CONFIG_X86_XEN_GENAPIC) += genapic_xen_64.o
obj-$(CONFIG_AUDIT) += audit_64.o
- obj-$(CONFIG_GART_IOMMU) += pci-gart_64.o aperture_64.o
-@@ -123,4 +126,10 @@ ifeq ($(CONFIG_X86_64),y)
+ obj-$(CONFIG_GART_IOMMU) += amd_gart_64.o aperture_64.o
+@@ -127,4 +130,10 @@ ifeq ($(CONFIG_X86_64),y)
obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o
obj-y += vsmp_64.o
@@ -109,8 +109,8 @@ take the forward porting patches:
+
+disabled-obj-$(CONFIG_XEN) := i8259_$(BITS).o reboot.o smpboot_$(BITS).o
+%/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
---- head-2011-04-13.orig/arch/x86/kernel/acpi/Makefile 2010-02-24 19:52:17.000000000 +0100
-+++ head-2011-04-13/arch/x86/kernel/acpi/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/acpi/Makefile 2010-02-24 19:52:17.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/acpi/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -5,6 +5,9 @@ obj-$(CONFIG_ACPI_SLEEP) += sleep.o wake
ifneq ($(CONFIG_ACPI_PROCESSOR),)
@@ -126,8 +126,8 @@ take the forward porting patches:
$(Q)$(MAKE) $(build)=$(obj)/realmode
+disabled-obj-$(CONFIG_XEN) := cstate.o wakeup_$(BITS).o
---- head-2011-04-13.orig/arch/x86/kernel/cpu/mcheck/Makefile 2010-08-02 00:11:14.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/cpu/mcheck/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/mcheck/Makefile 2010-08-02 00:11:14.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/mcheck/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -3,6 +3,7 @@ obj-y = mce.o mce-severity.o
obj-$(CONFIG_X86_ANCIENT_MCE) += winchip.o p5.o
obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o
@@ -136,9 +136,9 @@ take the forward porting patches:
obj-$(CONFIG_X86_MCE_THRESHOLD) += threshold.o
obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
---- head-2011-04-13.orig/arch/x86/kernel/cpu/mcheck/mce.c 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/cpu/mcheck/mce.c 2011-04-13 11:31:41.000000000 +0200
-@@ -1147,8 +1147,15 @@ void mce_log_therm_throt_event(__u64 sta
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/mcheck/mce.c 2011-06-30 15:04:08.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/mcheck/mce.c 2011-06-30 15:39:46.000000000 +0200
+@@ -1138,8 +1138,15 @@ void mce_log_therm_throt_event(__u64 sta
* Periodic polling timer for "silent" machine check errors. If the
* poller finds an MCE, poll 2x faster. When the poller finds no more
* errors, poll 2x slower (up to check_interval seconds).
@@ -154,7 +154,7 @@ take the forward porting patches:
static DEFINE_PER_CPU(int, mce_next_interval); /* in jiffies */
static DEFINE_PER_CPU(struct timer_list, mce_timer);
-@@ -1313,6 +1320,7 @@ static int __cpuinit __mcheck_cpu_apply_
+@@ -1304,6 +1311,7 @@ static int __cpuinit __mcheck_cpu_apply_
/* This should be disabled by the BIOS, but isn't always */
if (c->x86_vendor == X86_VENDOR_AMD) {
@@ -162,7 +162,7 @@ take the forward porting patches:
if (c->x86 == 15 && banks > 4) {
/*
* disable GART TBL walk error reporting, which
-@@ -1321,6 +1329,7 @@ static int __cpuinit __mcheck_cpu_apply_
+@@ -1312,6 +1320,7 @@ static int __cpuinit __mcheck_cpu_apply_
*/
clear_bit(10, (unsigned long *)&mce_banks[4].ctl);
}
@@ -170,7 +170,7 @@ take the forward porting patches:
if (c->x86 <= 17 && mce_bootlog < 0) {
/*
* Lots of broken BIOS around that don't clear them
-@@ -1388,6 +1397,7 @@ static void __cpuinit __mcheck_cpu_ancie
+@@ -1379,6 +1388,7 @@ static void __cpuinit __mcheck_cpu_ancie
static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c)
{
@@ -178,7 +178,7 @@ take the forward porting patches:
switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
mce_intel_feature_init(c);
-@@ -1398,6 +1408,7 @@ static void __mcheck_cpu_init_vendor(str
+@@ -1389,6 +1399,7 @@ static void __mcheck_cpu_init_vendor(str
default:
break;
}
@@ -186,7 +186,7 @@ take the forward porting patches:
}
static void __mcheck_cpu_init_timer(void)
-@@ -2145,6 +2156,16 @@ static __init int mcheck_init_device(voi
+@@ -2134,6 +2145,16 @@ static __init int mcheck_init_device(voi
register_hotcpu_notifier(&mce_cpu_notifier);
misc_register(&mce_log_device);
@@ -203,25 +203,25 @@ take the forward porting patches:
return err;
}
---- head-2011-04-13.orig/arch/x86/kernel/cpu/mtrr/Makefile 2010-05-16 23:17:36.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/cpu/mtrr/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/mtrr/Makefile 2010-05-16 23:17:36.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/mtrr/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -1,3 +1,4 @@
obj-y := main.o if.o generic.o cleanup.o
obj-$(CONFIG_X86_32) += amd.o cyrix.o centaur.o
+obj-$(CONFIG_XEN) := main.o if.o
---- head-2011-04-13.orig/arch/x86/lib/Makefile 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/lib/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/lib/Makefile 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/arch/x86/lib/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -44,3 +44,5 @@ else
lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem_64.o
lib-y += cmpxchg16b_emu.o
endif
+
+lib-$(CONFIG_XEN_SCRUB_PAGES) += scrub.o
---- head-2011-04-13.orig/arch/x86/mm/Makefile 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/mm/Makefile 2011-04-13 11:31:41.000000000 +0200
-@@ -27,6 +27,8 @@ obj-$(CONFIG_AMD_NUMA) += amdtopology_6
- obj-$(CONFIG_ACPI_NUMA) += srat_$(BITS).o
+--- head-2011-06-30.orig/arch/x86/mm/Makefile 2011-06-30 15:04:11.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/Makefile 2011-06-30 15:40:00.000000000 +0200
+@@ -27,6 +27,8 @@ obj-$(CONFIG_AMD_NUMA) += amdtopology.o
+ obj-$(CONFIG_ACPI_NUMA) += srat.o
obj-$(CONFIG_NUMA_EMU) += numa_emulation.o
+obj-$(CONFIG_XEN) += hypervisor.o
@@ -229,8 +229,8 @@ take the forward porting patches:
obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o
obj-$(CONFIG_MEMTEST) += memtest.o
---- head-2011-04-13.orig/arch/x86/oprofile/Makefile 2008-12-25 00:26:37.000000000 +0100
-+++ head-2011-04-13/arch/x86/oprofile/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/oprofile/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ head-2011-06-30/arch/x86/oprofile/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -6,7 +6,14 @@ DRIVER_OBJS = $(addprefix ../../../drive
oprofilefs.o oprofile_stats.o \
timer_int.o )
@@ -246,8 +246,8 @@ take the forward porting patches:
op_model_ppro.o op_model_p4.o
oprofile-$(CONFIG_X86_IO_APIC) += nmi_timer_int.o
+endif
---- head-2011-04-13.orig/arch/x86/pci/Makefile 2011-03-15 02:20:32.000000000 +0100
-+++ head-2011-04-13/arch/x86/pci/Makefile 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/pci/Makefile 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/arch/x86/pci/Makefile 2011-04-13 11:31:41.000000000 +0200
@@ -5,6 +5,9 @@ obj-$(CONFIG_PCI_MMCONFIG) += mmconfig_$
obj-$(CONFIG_PCI_DIRECT) += direct.o
obj-$(CONFIG_PCI_OLPC) += olpc.o
@@ -258,8 +258,8 @@ take the forward porting patches:
obj-y += fixup.o
obj-$(CONFIG_X86_INTEL_CE) += ce4100.o
---- head-2011-04-13.orig/arch/x86/power/cpu.c 2010-10-20 22:30:22.000000000 +0200
-+++ head-2011-04-13/arch/x86/power/cpu.c 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/power/cpu.c 2010-10-20 22:30:22.000000000 +0200
++++ head-2011-06-30/arch/x86/power/cpu.c 2011-04-13 11:31:41.000000000 +0200
@@ -129,6 +129,7 @@ static void do_fpu_end(void)
static void fix_processor_context(void)
@@ -279,8 +279,8 @@ take the forward porting patches:
syscall_init(); /* This sets MSR_*STAR and related */
#endif
load_TR_desc(); /* This does ltr */
---- head-2011-04-13.orig/arch/x86/include/asm/acpi.h 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/include/asm/acpi.h 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/acpi.h 2011-06-30 15:04:05.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/acpi.h 2011-06-30 15:41:07.000000000 +0200
@@ -31,6 +31,10 @@
#include <asm/mpspec.h>
#include <asm/trampoline.h>
@@ -328,10 +328,10 @@ take the forward porting patches:
#define ARCH_HAS_POWER_INIT 1
+#endif
- struct bootnode;
-
---- head-2011-04-13.orig/arch/x86/include/asm/apic.h 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/include/asm/apic.h 2011-04-13 11:31:41.000000000 +0200
+ #ifdef CONFIG_ACPI_NUMA
+ extern int acpi_numa;
+--- head-2011-06-30.orig/arch/x86/include/asm/apic.h 2011-06-30 15:04:05.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/apic.h 2011-04-13 11:31:41.000000000 +0200
@@ -14,7 +14,9 @@
#include <asm/system.h>
#include <asm/msr.h>
@@ -342,8 +342,8 @@ take the forward porting patches:
/*
* Debugging macros
---- head-2011-04-13.orig/arch/x86/include/asm/kexec.h 2009-06-10 05:05:27.000000000 +0200
-+++ head-2011-04-13/arch/x86/include/asm/kexec.h 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/kexec.h 2009-06-10 05:05:27.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/kexec.h 2011-04-13 11:31:41.000000000 +0200
@@ -163,6 +163,19 @@ struct kimage_arch {
};
#endif
@@ -364,8 +364,8 @@ take the forward porting patches:
#endif /* __ASSEMBLY__ */
#endif /* _ASM_X86_KEXEC_H */
---- head-2011-04-13.orig/arch/x86/include/asm/topology.h 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/include/asm/topology.h 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/include/asm/topology.h 2011-06-30 15:04:06.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/topology.h 2011-04-13 11:31:41.000000000 +0200
@@ -30,7 +30,7 @@
# define ENABLE_TOPO_DEFINES
# endif
@@ -375,9 +375,9 @@ take the forward porting patches:
# define ENABLE_TOPO_DEFINES
# endif
#endif
---- head-2011-04-13.orig/arch/x86/vdso/Makefile 2011-01-05 01:50:19.000000000 +0100
-+++ head-2011-04-13/arch/x86/vdso/Makefile 2011-04-13 11:31:41.000000000 +0200
-@@ -65,6 +65,8 @@ obj-$(VDSO32-y) += vdso32-syms.lds
+--- head-2011-06-30.orig/arch/x86/vdso/Makefile 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/arch/x86/vdso/Makefile 2011-06-30 15:41:26.000000000 +0200
+@@ -78,6 +78,8 @@ obj-$(VDSO32-y) += vdso32-syms.lds
vdso32.so-$(VDSO32-y) += int80
vdso32.so-$(CONFIG_COMPAT) += syscall
vdso32.so-$(VDSO32-y) += sysenter
@@ -386,8 +386,8 @@ take the forward porting patches:
vdso32-images = $(vdso32.so-y:%=vdso32-%.so)
---- head-2011-04-13.orig/arch/x86/vdso/vdso32-setup.c 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/vdso/vdso32-setup.c 2011-04-13 11:31:41.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/vdso/vdso32-setup.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/arch/x86/vdso/vdso32-setup.c 2011-04-13 11:31:41.000000000 +0200
@@ -26,6 +26,10 @@
#include <asm/vdso.h>
#include <asm/proto.h>
diff --git a/patches.xen/xen3-auto-arch-x86_64.diff b/patches.xen/xen3-auto-arch-x86_64.diff
index 09f742bca4..42da5e4a4f 100644
--- a/patches.xen/xen3-auto-arch-x86_64.diff
+++ b/patches.xen/xen3-auto-arch-x86_64.diff
@@ -1,5 +1,5 @@
Subject: xen3 arch-x86_64
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
diff --git a/patches.xen/xen3-auto-common.diff b/patches.xen/xen3-auto-common.diff
index af38525a3a..7f366df08e 100644
--- a/patches.xen/xen3-auto-common.diff
+++ b/patches.xen/xen3-auto-common.diff
@@ -1,5 +1,5 @@
Subject: xen3 common
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
@@ -18,9 +18,9 @@ take the forward porting patches:
2.6.25/mm/highmem.c
2.6.30/include/linux/pci_regs.h
---- head-2011-05-23.orig/drivers/Makefile 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/Makefile 2011-05-09 11:37:27.000000000 +0200
-@@ -42,6 +42,7 @@ obj-$(CONFIG_PARPORT) += parport/
+--- head-2011-06-30.orig/drivers/Makefile 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/Makefile 2011-06-30 15:36:40.000000000 +0200
+@@ -45,6 +45,7 @@ obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ block/ misc/ mfd/ nfc/
obj-$(CONFIG_NUBUS) += nubus/
obj-y += macintosh/
@@ -28,9 +28,9 @@ take the forward porting patches:
obj-$(CONFIG_IDE) += ide/
obj-$(CONFIG_SCSI) += scsi/
obj-$(CONFIG_ATA) += ata/
---- head-2011-05-23.orig/drivers/acpi/Makefile 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/Makefile 2011-04-13 11:25:29.000000000 +0200
-@@ -67,6 +67,9 @@ obj-$(CONFIG_ACPI_EC_DEBUGFS) += ec_sys.
+--- head-2011-06-30.orig/drivers/acpi/Makefile 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/acpi/Makefile 2011-04-13 11:25:29.000000000 +0200
+@@ -67,6 +67,9 @@ obj-$(CONFIG_ACPI_CUSTOM_METHOD)+= custo
processor-y := processor_driver.o processor_throttling.o
processor-y += processor_idle.o processor_thermal.o
processor-$(CONFIG_CPU_FREQ) += processor_perflib.o
@@ -40,8 +40,8 @@ take the forward porting patches:
obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o
obj-$(CONFIG_ACPI_IPMI) += acpi_ipmi.o
---- head-2011-05-23.orig/drivers/acpi/acpica/hwsleep.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/acpica/hwsleep.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/acpica/hwsleep.c 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/drivers/acpi/acpica/hwsleep.c 2011-04-13 11:25:29.000000000 +0200
@@ -236,7 +236,11 @@ acpi_status asmlinkage acpi_enter_sleep_
u32 pm1b_control;
struct acpi_bit_register_info *sleep_type_reg_info;
@@ -79,8 +79,8 @@ take the forward porting patches:
return_ACPI_STATUS(AE_OK);
}
---- head-2011-05-23.orig/drivers/acpi/processor_driver.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/processor_driver.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/processor_driver.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/acpi/processor_driver.c 2011-04-13 11:25:29.000000000 +0200
@@ -325,7 +325,8 @@ static int acpi_processor_get_info(struc
*/
if (pr->id == -1) {
@@ -255,7 +255,7 @@ take the forward porting patches:
cpu_down(pr->id);
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/drivers/acpi/processor_extcntl.c 2011-01-31 14:53:38.000000000 +0100
++++ head-2011-06-30/drivers/acpi/processor_extcntl.c 2011-01-31 14:53:38.000000000 +0100
@@ -0,0 +1,241 @@
+/*
+ * processor_extcntl.c - channel to external control logic
@@ -498,8 +498,8 @@ take the forward porting patches:
+ kfree(perf);
+ return ret;
+}
---- head-2011-05-23.orig/drivers/acpi/processor_idle.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/processor_idle.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/processor_idle.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/acpi/processor_idle.c 2011-04-13 11:25:29.000000000 +0200
@@ -458,7 +458,8 @@ static int acpi_processor_get_power_info
*/
cx.entry_method = ACPI_CSTATE_HALT;
@@ -535,9 +535,9 @@ take the forward porting patches:
return 0;
}
---- head-2011-05-23.orig/drivers/acpi/processor_perflib.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/processor_perflib.c 2011-04-13 11:25:29.000000000 +0200
-@@ -79,6 +79,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the fre
+--- head-2011-06-30.orig/drivers/acpi/processor_perflib.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/acpi/processor_perflib.c 2011-06-30 15:36:54.000000000 +0200
+@@ -75,6 +75,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the fre
static int acpi_processor_ppc_status;
@@ -545,7 +545,7 @@ take the forward porting patches:
static int acpi_processor_ppc_notifier(struct notifier_block *nb,
unsigned long event, void *data)
{
-@@ -121,6 +122,7 @@ static int acpi_processor_ppc_notifier(s
+@@ -117,6 +118,7 @@ static int acpi_processor_ppc_notifier(s
static struct notifier_block acpi_ppc_notifier_block = {
.notifier_call = acpi_processor_ppc_notifier,
};
@@ -553,7 +553,7 @@ take the forward porting patches:
static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
{
-@@ -209,7 +211,12 @@ int acpi_processor_ppc_has_changed(struc
+@@ -205,7 +207,12 @@ int acpi_processor_ppc_has_changed(struc
if (ret < 0)
return (ret);
else
@@ -566,7 +566,7 @@ take the forward porting patches:
}
int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
-@@ -225,6 +232,7 @@ int acpi_processor_get_bios_limit(int cp
+@@ -221,6 +228,7 @@ int acpi_processor_get_bios_limit(int cp
}
EXPORT_SYMBOL(acpi_processor_get_bios_limit);
@@ -574,7 +574,7 @@ take the forward porting patches:
void acpi_processor_ppc_init(void)
{
if (!cpufreq_register_notifier
-@@ -243,6 +251,7 @@ void acpi_processor_ppc_exit(void)
+@@ -239,6 +247,7 @@ void acpi_processor_ppc_exit(void)
acpi_processor_ppc_status &= ~PPC_REGISTERED;
}
@@ -582,7 +582,7 @@ take the forward porting patches:
static int acpi_processor_get_performance_control(struct acpi_processor *pr)
{
-@@ -390,7 +399,10 @@ static int acpi_processor_get_performanc
+@@ -386,7 +395,10 @@ static int acpi_processor_get_performanc
return result;
}
@@ -594,7 +594,7 @@ take the forward porting patches:
{
int result = 0;
acpi_status status = AE_OK;
-@@ -435,6 +447,7 @@ static int acpi_processor_get_performanc
+@@ -431,6 +443,7 @@ static int acpi_processor_get_performanc
return result;
}
@@ -602,7 +602,7 @@ take the forward porting patches:
int acpi_processor_notify_smm(struct module *calling_module)
{
acpi_status status;
-@@ -495,8 +508,12 @@ int acpi_processor_notify_smm(struct mod
+@@ -491,8 +504,12 @@ int acpi_processor_notify_smm(struct mod
}
EXPORT_SYMBOL(acpi_processor_notify_smm);
@@ -616,8 +616,8 @@ take the forward porting patches:
{
int result = 0;
acpi_status status = AE_OK;
---- head-2011-05-23.orig/drivers/acpi/sleep.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/sleep.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/acpi/sleep.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/acpi/sleep.c 2011-04-13 11:25:29.000000000 +0200
@@ -61,6 +61,7 @@ static struct notifier_block tts_notifie
static int acpi_sleep_prepare(u32 acpi_state)
{
@@ -634,8 +634,8 @@ take the forward porting patches:
ACPI_FLUSH_CPU_CACHE();
#endif
printk(KERN_INFO PREFIX "Preparing to enter system sleep state S%d\n",
---- head-2011-05-23.orig/drivers/char/agp/intel-gtt.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/char/agp/intel-gtt.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/agp/intel-gtt.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/char/agp/intel-gtt.c 2011-04-13 11:25:29.000000000 +0200
@@ -147,8 +147,19 @@ static struct page *i8xx_alloc_pages(voi
if (page == NULL)
return NULL;
@@ -666,8 +666,8 @@ take the forward porting patches:
put_page(page);
__free_pages(page, 2);
atomic_dec(&agp_bridge->current_memory_agp);
---- head-2011-05-23.orig/drivers/char/mem.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/char/mem.c 2011-05-23 10:56:58.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/mem.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/char/mem.c 2011-05-23 10:56:58.000000000 +0200
@@ -86,6 +86,7 @@ void __weak unxlate_dev_mem_ptr(unsigned
{
}
@@ -726,16 +726,16 @@ take the forward porting patches:
#ifdef CONFIG_DEVKMEM
static const struct file_operations kmem_fops = {
---- head-2011-05-23.orig/drivers/char/tpm/Makefile 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/char/tpm/Makefile 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/tpm/Makefile 2006-09-20 05:42:06.000000000 +0200
++++ head-2011-06-30/drivers/char/tpm/Makefile 2011-04-13 11:25:29.000000000 +0200
@@ -9,3 +9,5 @@ obj-$(CONFIG_TCG_TIS) += tpm_tis.o
obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o
obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o
+obj-$(CONFIG_TCG_XEN) += tpm_xenu.o
+tpm_xenu-y = tpm_xen.o tpm_vtpm.o
---- head-2011-05-23.orig/drivers/char/tpm/tpm.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/char/tpm/tpm.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/tpm/tpm.h 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/tpm.h 2011-04-13 11:25:29.000000000 +0200
@@ -108,6 +108,9 @@ struct tpm_chip {
struct dentry **bios_dir;
@@ -766,7 +766,7 @@ take the forward porting patches:
extern void tpm_gen_interrupt(struct tpm_chip *);
extern void tpm_continue_selftest(struct tpm_chip *);
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/drivers/char/tpm/tpm_vtpm.c 2011-01-31 14:53:38.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/tpm_vtpm.c 2011-01-31 14:53:38.000000000 +0100
@@ -0,0 +1,542 @@
+/*
+ * Copyright (C) 2006 IBM Corporation
@@ -1311,7 +1311,7 @@ take the forward porting patches:
+ kfree(vtpms);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/drivers/char/tpm/tpm_vtpm.h 2011-01-31 14:53:38.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/tpm_vtpm.h 2011-01-31 14:53:38.000000000 +0100
@@ -0,0 +1,55 @@
+#ifndef TPM_VTPM_H
+#define TPM_VTPM_H
@@ -1369,7 +1369,7 @@ take the forward porting patches:
+
+#endif
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/drivers/char/tpm/tpm_xen.c 2011-01-31 14:53:38.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/tpm_xen.c 2011-01-31 14:53:38.000000000 +0100
@@ -0,0 +1,722 @@
+/*
+ * Copyright (c) 2005, IBM Corporation
@@ -2093,9 +2093,9 @@ take the forward porting patches:
+module_init(tpmif_init);
+
+MODULE_LICENSE("Dual BSD/GPL");
---- head-2011-05-23.orig/drivers/edac/edac_mc.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/edac/edac_mc.c 2011-04-13 11:25:29.000000000 +0200
-@@ -615,6 +615,10 @@ static void edac_mc_scrub_block(unsigned
+--- head-2011-06-30.orig/drivers/edac/edac_mc.c 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/edac/edac_mc.c 2011-06-30 15:37:01.000000000 +0200
+@@ -611,6 +611,10 @@ static void edac_mc_scrub_block(unsigned
debugf3("%s()\n", __func__);
@@ -2106,8 +2106,8 @@ take the forward porting patches:
/* ECC error page was not in our memory. Ignore it. */
if (!pfn_valid(page))
return;
---- head-2011-05-23.orig/drivers/firmware/dell_rbu.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/firmware/dell_rbu.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/firmware/dell_rbu.c 2010-08-02 00:11:14.000000000 +0200
++++ head-2011-06-30/drivers/firmware/dell_rbu.c 2011-04-13 11:25:29.000000000 +0200
@@ -170,9 +170,28 @@ static int create_packet(void *data, siz
spin_lock(&rbu_data.lock);
goto out_alloc_packet_array;
@@ -2214,8 +2214,8 @@ take the forward porting patches:
spin_lock_init(&rbu_data.lock);
init_packet_head();
---- head-2011-05-23.orig/drivers/ide/ide-lib.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/ide/ide-lib.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/ide/ide-lib.c 2009-09-10 00:13:59.000000000 +0200
++++ head-2011-06-30/drivers/ide/ide-lib.c 2011-04-13 11:25:29.000000000 +0200
@@ -18,12 +18,12 @@ void ide_toggle_bounce(ide_drive_t *driv
{
u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */
@@ -2233,8 +2233,8 @@ take the forward porting patches:
addr = *dev->dma_mask;
}
---- head-2011-05-23.orig/drivers/oprofile/buffer_sync.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/buffer_sync.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/buffer_sync.c 2011-06-30 15:04:14.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/buffer_sync.c 2011-06-30 15:37:10.000000000 +0200
@@ -8,6 +8,10 @@
* @author Barry Kasindorf
* @author Robert Richter <robert.richter@amd.com>
@@ -2263,7 +2263,7 @@ take the forward porting patches:
/* The task is on its way out. A sync of the buffer means we can catch
* any remaining samples for this task.
*/
-@@ -144,6 +149,11 @@ static struct notifier_block module_load
+@@ -151,6 +156,11 @@ static void free_all_tasks(void)
int sync_start(void)
{
int err;
@@ -2275,7 +2275,7 @@ take the forward porting patches:
if (!zalloc_cpumask_var(&marked_cpus, GFP_KERNEL))
return -ENOMEM;
-@@ -286,13 +296,29 @@ static void add_cpu_switch(int i)
+@@ -287,13 +297,29 @@ static void add_cpu_switch(int i)
last_cookie = INVALID_COOKIE;
}
@@ -2309,7 +2309,7 @@ take the forward porting patches:
}
static void
-@@ -373,12 +399,12 @@ static inline void add_sample_entry(unsi
+@@ -374,12 +400,12 @@ static inline void add_sample_entry(unsi
* for later lookup from userspace. Return 0 on failure.
*/
static int
@@ -2324,7 +2324,7 @@ take the forward porting patches:
add_sample_entry(s->eip, s->event);
return 1;
}
-@@ -503,9 +529,10 @@ void sync_buffer(int cpu)
+@@ -504,9 +530,10 @@ void sync_buffer(int cpu)
unsigned long val;
struct task_struct *new;
unsigned long cookie = 0;
@@ -2336,7 +2336,7 @@ take the forward porting patches:
unsigned long available;
unsigned long flags;
struct op_entry entry;
-@@ -515,6 +542,11 @@ void sync_buffer(int cpu)
+@@ -516,6 +543,11 @@ void sync_buffer(int cpu)
add_cpu_switch(cpu);
@@ -2348,7 +2348,7 @@ take the forward porting patches:
op_cpu_buffer_reset(cpu);
available = op_cpu_buffer_entries(cpu);
-@@ -523,6 +555,13 @@ void sync_buffer(int cpu)
+@@ -524,6 +556,13 @@ void sync_buffer(int cpu)
if (!sample)
break;
@@ -2362,7 +2362,7 @@ take the forward porting patches:
if (is_code(sample->eip)) {
flags = sample->event;
if (flags & TRACE_BEGIN) {
-@@ -531,10 +570,10 @@ void sync_buffer(int cpu)
+@@ -532,10 +571,10 @@ void sync_buffer(int cpu)
}
if (flags & KERNEL_CTX_SWITCH) {
/* kernel/userspace switch */
@@ -2375,7 +2375,7 @@ take the forward porting patches:
}
if (flags & USER_CTX_SWITCH
&& op_cpu_buffer_get_data(&entry, &val)) {
-@@ -547,16 +586,23 @@ void sync_buffer(int cpu)
+@@ -548,16 +587,23 @@ void sync_buffer(int cpu)
cookie = get_exec_dcookie(mm);
add_user_ctx_switch(new, cookie);
}
@@ -2400,7 +2400,7 @@ take the forward porting patches:
continue;
/* ignore backtraces if failed to add a sample */
-@@ -567,6 +613,10 @@ void sync_buffer(int cpu)
+@@ -568,6 +614,10 @@ void sync_buffer(int cpu)
}
release_mm(mm);
@@ -2411,8 +2411,8 @@ take the forward porting patches:
mark_done(cpu);
mutex_unlock(&buffer_mutex);
---- head-2011-05-23.orig/drivers/oprofile/cpu_buffer.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/cpu_buffer.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/cpu_buffer.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/cpu_buffer.c 2011-04-13 11:25:29.000000000 +0200
@@ -8,6 +8,10 @@
* @author Barry Kasindorf <barry.kasindorf@amd.com>
* @author Robert Richter <robert.richter@amd.com>
@@ -2528,8 +2528,8 @@ take the forward porting patches:
/*
* This serves to avoid cpu buffer overflow, and makes sure
* the task mortuary progresses
---- head-2011-05-23.orig/drivers/oprofile/cpu_buffer.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/cpu_buffer.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/cpu_buffer.h 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/drivers/oprofile/cpu_buffer.h 2011-04-13 11:25:29.000000000 +0200
@@ -41,7 +41,7 @@ struct op_entry;
struct oprofile_cpu_buffer {
unsigned long buffer_size;
@@ -2564,8 +2564,8 @@ take the forward porting patches:
+#define DOMAIN_SWITCH (1UL << 5)
#endif /* OPROFILE_CPU_BUFFER_H */
---- head-2011-05-23.orig/drivers/oprofile/event_buffer.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/event_buffer.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/event_buffer.h 2011-06-30 15:04:14.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/event_buffer.h 2011-04-13 11:25:29.000000000 +0200
@@ -30,6 +30,9 @@ void wake_up_buffer_waiter(void);
#define INVALID_COOKIE ~0UL
#define NO_COOKIE 0UL
@@ -2576,8 +2576,8 @@ take the forward porting patches:
extern const struct file_operations event_buffer_fops;
/* mutex between sync_cpu_buffers() and the
---- head-2011-05-23.orig/drivers/oprofile/oprof.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/oprof.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/oprof.c 2011-06-30 15:04:14.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/oprof.c 2011-04-13 11:25:29.000000000 +0200
@@ -5,6 +5,10 @@
* @remark Read the file COPYING
*
@@ -2622,8 +2622,8 @@ take the forward porting patches:
int oprofile_setup(void)
{
int err;
---- head-2011-05-23.orig/drivers/oprofile/oprof.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/oprof.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/oprof.h 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/drivers/oprofile/oprof.h 2011-04-13 11:25:29.000000000 +0200
@@ -40,4 +40,7 @@ void oprofile_timer_exit(void);
int oprofile_set_ulong(unsigned long *addr, unsigned long val);
int oprofile_set_timeout(unsigned long time);
@@ -2632,8 +2632,8 @@ take the forward porting patches:
+int oprofile_set_passive(int passive_domains[], unsigned int pdomains);
+
#endif /* OPROF_H */
---- head-2011-05-23.orig/drivers/oprofile/oprofile_files.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/oprofile_files.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/oprofile_files.c 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/drivers/oprofile/oprofile_files.c 2011-04-13 11:25:29.000000000 +0200
@@ -5,11 +5,17 @@
* @remark Read the file COPYING
*
@@ -2857,8 +2857,8 @@ take the forward porting patches:
oprofilefs_create_file(sb, root, "buffer", &event_buffer_fops);
oprofilefs_create_ulong(sb, root, "buffer_size", &oprofile_buffer_size);
oprofilefs_create_ulong(sb, root, "buffer_watershed", &oprofile_buffer_watershed);
---- head-2011-05-23.orig/fs/aio.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/fs/aio.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/fs/aio.c 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/fs/aio.c 2011-04-13 11:25:29.000000000 +0200
@@ -39,6 +39,11 @@
#include <asm/kmap_types.h>
#include <asm/uaccess.h>
@@ -3046,8 +3046,8 @@ take the forward porting patches:
get_ioctx(ioctx); /* io_destroy() expects us to hold a ref */
io_destroy(ioctx);
---- head-2011-05-23.orig/fs/compat_ioctl.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/fs/compat_ioctl.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/fs/compat_ioctl.c 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/fs/compat_ioctl.c 2011-04-13 11:25:29.000000000 +0200
@@ -114,6 +114,13 @@
#include <asm/fbio.h>
#endif
@@ -3082,8 +3082,8 @@ take the forward porting patches:
};
/*
---- head-2011-05-23.orig/include/acpi/processor.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/acpi/processor.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/acpi/processor.h 2011-06-30 15:04:23.000000000 +0200
++++ head-2011-06-30/include/acpi/processor.h 2011-06-30 15:37:24.000000000 +0200
@@ -17,6 +17,12 @@
#define ACPI_PROCESSOR_MAX_THROTTLE 250 /* 25% */
#define ACPI_PROCESSOR_MAX_DUTY_WIDTH 4
@@ -3146,7 +3146,7 @@ take the forward porting patches:
static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
{
return -ENODEV;
-@@ -359,4 +386,120 @@ static inline void acpi_thermal_cpufreq_
+@@ -352,4 +379,120 @@ static inline void acpi_thermal_cpufreq_
}
#endif
@@ -3267,8 +3267,8 @@ take the forward porting patches:
+#endif /* CONFIG_XEN */
+
#endif
---- head-2011-05-23.orig/include/asm-generic/pgtable.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/asm-generic/pgtable.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/asm-generic/pgtable.h 2011-06-30 15:04:23.000000000 +0200
++++ head-2011-06-30/include/asm-generic/pgtable.h 2011-04-13 11:25:29.000000000 +0200
@@ -156,6 +156,10 @@ static inline void pmdp_set_wrprotect(st
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
#endif
@@ -3280,8 +3280,8 @@ take the forward porting patches:
#ifndef __HAVE_ARCH_PMDP_SPLITTING_FLUSH
extern pmd_t pmdp_splitting_flush(struct vm_area_struct *vma,
unsigned long address,
---- head-2011-05-23.orig/include/linux/aio.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/aio.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/linux/aio.h 2010-08-02 00:11:14.000000000 +0200
++++ head-2011-06-30/include/linux/aio.h 2011-04-13 11:25:29.000000000 +0200
@@ -199,6 +199,12 @@ struct kioctx {
struct delayed_work wq;
@@ -3295,8 +3295,8 @@ take the forward porting patches:
struct rcu_head rcu_head;
};
---- head-2011-05-23.orig/include/linux/highmem.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/highmem.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/linux/highmem.h 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/include/linux/highmem.h 2011-04-13 11:25:29.000000000 +0200
@@ -178,12 +178,14 @@ alloc_zeroed_user_highpage_movable(struc
return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr);
}
@@ -3328,8 +3328,8 @@ take the forward porting patches:
+#endif
+
#endif /* _LINUX_HIGHMEM_H */
---- head-2011-05-23.orig/include/linux/interrupt.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/interrupt.h 2011-04-13 11:26:32.000000000 +0200
+--- head-2011-06-30.orig/include/linux/interrupt.h 2011-06-30 15:04:24.000000000 +0200
++++ head-2011-06-30/include/linux/interrupt.h 2011-04-13 11:26:32.000000000 +0200
@@ -375,6 +375,11 @@ static inline int disable_irq_wake(unsig
}
#endif /* CONFIG_GENERIC_HARDIRQS */
@@ -3342,8 +3342,8 @@ take the forward porting patches:
#ifdef CONFIG_IRQ_FORCED_THREADING
extern bool force_irqthreads;
---- head-2011-05-23.orig/include/linux/kexec.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/kexec.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/linux/kexec.h 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/include/linux/kexec.h 2011-04-13 11:25:29.000000000 +0200
@@ -46,6 +46,13 @@
KEXEC_CORE_NOTE_NAME_BYTES + \
KEXEC_CORE_NOTE_DESC_BYTES )
@@ -3371,8 +3371,8 @@ take the forward porting patches:
extern asmlinkage long sys_kexec_load(unsigned long entry,
unsigned long nr_segments,
struct kexec_segment __user *segments,
---- head-2011-05-23.orig/include/linux/mm.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/mm.h 2011-05-09 11:37:37.000000000 +0200
+--- head-2011-06-30.orig/include/linux/mm.h 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/include/linux/mm.h 2011-06-30 15:37:34.000000000 +0200
@@ -113,7 +113,12 @@ extern unsigned int kobjsize(const void
#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
@@ -3399,7 +3399,7 @@ take the forward porting patches:
/*
* mapping from the currently active vm_flags protection bits (the
* low four bits) to a page protection mask..
-@@ -212,6 +223,15 @@ struct vm_operations_struct {
+@@ -213,6 +224,15 @@ struct vm_operations_struct {
*/
int (*access)(struct vm_area_struct *vma, unsigned long addr,
void *buf, int len, int write);
@@ -3415,8 +3415,8 @@ take the forward porting patches:
#ifdef CONFIG_NUMA
/*
* set_policy() op must add a reference to any non-NULL @new mempolicy
---- head-2011-05-23.orig/include/linux/oprofile.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/oprofile.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/linux/oprofile.h 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/include/linux/oprofile.h 2011-04-13 11:25:29.000000000 +0200
@@ -19,6 +19,8 @@
#include <linux/errno.h>
#include <linux/printk.h>
@@ -3468,8 +3468,8 @@ take the forward porting patches:
/**
* Create a file of the given name as a child of the given root, with
---- head-2011-05-23.orig/include/linux/page-flags.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/page-flags.h 2011-04-28 11:06:45.000000000 +0200
+--- head-2011-06-30.orig/include/linux/page-flags.h 2011-06-30 15:04:25.000000000 +0200
++++ head-2011-06-30/include/linux/page-flags.h 2011-04-28 11:06:45.000000000 +0200
@@ -107,6 +107,11 @@ enum pageflags {
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
PG_compound_lock,
@@ -3534,9 +3534,9 @@ take the forward porting patches:
/*
* Flags checked when a page is prepped for return by the page allocator.
---- head-2011-05-23.orig/include/linux/pci.h 2011-04-13 10:16:02.000000000 +0200
-+++ head-2011-05-23/include/linux/pci.h 2011-04-13 11:25:29.000000000 +0200
-@@ -979,6 +979,11 @@ static inline int pci_msi_enabled(void)
+--- head-2011-06-30.orig/include/linux/pci.h 2011-06-30 15:21:48.000000000 +0200
++++ head-2011-06-30/include/linux/pci.h 2011-06-30 15:37:41.000000000 +0200
+@@ -1008,6 +1008,11 @@ static inline int pci_msi_enabled(void)
{
return 0;
}
@@ -3548,7 +3548,7 @@ take the forward porting patches:
#else
extern int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec);
extern void pci_msi_shutdown(struct pci_dev *dev);
-@@ -991,6 +996,10 @@ extern void pci_disable_msix(struct pci_
+@@ -1020,6 +1025,10 @@ extern void pci_disable_msix(struct pci_
extern void msi_remove_pci_irq_vectors(struct pci_dev *dev);
extern void pci_restore_msi_state(struct pci_dev *dev);
extern int pci_msi_enabled(void);
@@ -3559,8 +3559,8 @@ take the forward porting patches:
#endif
#ifdef CONFIG_PCIEPORTBUS
---- head-2011-05-23.orig/include/linux/vermagic.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/linux/vermagic.h 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/include/linux/vermagic.h 2010-02-24 19:52:17.000000000 +0100
++++ head-2011-06-30/include/linux/vermagic.h 2011-04-13 11:25:29.000000000 +0200
@@ -22,6 +22,11 @@
#else
#define MODULE_VERMAGIC_MODVERSIONS ""
@@ -3580,9 +3580,9 @@ take the forward porting patches:
- MODULE_ARCH_VERMAGIC
+ MODULE_VERMAGIC_XEN MODULE_ARCH_VERMAGIC
---- head-2011-05-23.orig/kernel/irq/spurious.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/kernel/irq/spurious.c 2011-04-13 11:25:29.000000000 +0200
-@@ -271,7 +271,7 @@ void note_interrupt(unsigned int irq, st
+--- head-2011-06-30.orig/kernel/irq/spurious.c 2011-06-30 15:04:39.000000000 +0200
++++ head-2011-06-30/kernel/irq/spurious.c 2011-06-30 15:38:11.000000000 +0200
+@@ -288,7 +288,7 @@ void note_interrupt(unsigned int irq, st
*/
if (time_after(jiffies, desc->last_unhandled + HZ/10))
desc->irqs_unhandled = 1;
@@ -3590,9 +3590,9 @@ take the forward porting patches:
+ else if (!irq_ignore_unhandled(irq))
desc->irqs_unhandled++;
desc->last_unhandled = jiffies;
- if (unlikely(action_ret != IRQ_NONE))
---- head-2011-05-23.orig/kernel/kexec.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/kernel/kexec.c 2011-04-28 11:06:56.000000000 +0200
+ }
+--- head-2011-06-30.orig/kernel/kexec.c 2011-06-30 15:04:40.000000000 +0200
++++ head-2011-06-30/kernel/kexec.c 2011-04-28 11:06:56.000000000 +0200
@@ -357,13 +357,26 @@ static int kimage_is_destination_range(s
return 0;
}
@@ -3793,9 +3793,9 @@ take the forward porting patches:
/* Install the new kernel, and Uninstall the old */
image = xchg(dest_image, image);
---- head-2011-05-23.orig/kernel/sysctl.c 2011-04-15 10:02:37.000000000 +0200
-+++ head-2011-05-23/kernel/sysctl.c 2011-04-15 10:15:37.000000000 +0200
-@@ -845,7 +845,7 @@ static struct ctl_table kern_table[] = {
+--- head-2011-06-30.orig/kernel/sysctl.c 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/kernel/sysctl.c 2011-06-30 15:38:23.000000000 +0200
+@@ -855,7 +855,7 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
@@ -3804,9 +3804,9 @@ take the forward porting patches:
{
.procname = "acpi_video_flags",
.data = &acpi_realmode_flags,
---- head-2011-05-23.orig/mm/memory.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/mm/memory.c 2011-05-23 10:56:46.000000000 +0200
-@@ -604,6 +604,12 @@ struct page *vm_normal_page(struct vm_ar
+--- head-2011-06-30.orig/mm/memory.c 2011-06-30 15:04:40.000000000 +0200
++++ head-2011-06-30/mm/memory.c 2011-06-30 15:38:34.000000000 +0200
+@@ -801,6 +801,12 @@ struct page *vm_normal_page(struct vm_ar
{
unsigned long pfn = pte_pfn(pte);
@@ -3819,7 +3819,7 @@ take the forward porting patches:
if (HAVE_PTE_SPECIAL) {
if (likely(!pte_special(pte)))
goto check_pfn;
-@@ -635,6 +641,9 @@ struct page *vm_normal_page(struct vm_ar
+@@ -832,6 +838,9 @@ struct page *vm_normal_page(struct vm_ar
return NULL;
check_pfn:
if (unlikely(pfn > highest_memmap_pfn)) {
@@ -3829,7 +3829,7 @@ take the forward porting patches:
print_bad_pte(vma, addr, pte, NULL);
return NULL;
}
-@@ -951,8 +960,12 @@ static unsigned long zap_pte_range(struc
+@@ -1148,8 +1157,12 @@ again:
page->index > details->last_index))
continue;
}
@@ -3844,15 +3844,15 @@ take the forward porting patches:
tlb_remove_tlb_entry(tlb, pte, addr);
if (unlikely(!page))
continue;
-@@ -1229,6 +1242,7 @@ unsigned long zap_page_range(struct vm_a
- tlb_finish_mmu(tlb, address, end);
+@@ -1395,6 +1408,7 @@ unsigned long zap_page_range(struct vm_a
+ tlb_finish_mmu(&tlb, address, end);
return end;
}
+EXPORT_SYMBOL(zap_page_range);
/**
* zap_vma_ptes - remove ptes mapping the vma
-@@ -1539,6 +1553,28 @@ int __get_user_pages(struct task_struct
+@@ -1705,6 +1719,28 @@ int __get_user_pages(struct task_struct
goto next_page;
}
@@ -3881,10 +3881,10 @@ take the forward porting patches:
if (!vma ||
(vma->vm_flags & (VM_IO | VM_PFNMAP)) ||
!(vm_flags & vma->vm_flags))
---- head-2011-05-23.orig/mm/mmap.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/mm/mmap.c 2011-05-23 10:56:51.000000000 +0200
-@@ -1932,6 +1932,12 @@ static void unmap_region(struct mm_struc
- tlb_finish_mmu(tlb, start, end);
+--- head-2011-06-30.orig/mm/mmap.c 2011-06-30 15:04:40.000000000 +0200
++++ head-2011-06-30/mm/mmap.c 2011-06-30 15:38:40.000000000 +0200
+@@ -1898,6 +1898,12 @@ static void unmap_region(struct mm_struc
+ tlb_finish_mmu(&tlb, start, end);
}
+static inline void unmap_vma(struct vm_area_struct *vma)
@@ -3896,7 +3896,7 @@ take the forward porting patches:
/*
* Create a list of vma's touched by the unmap, removing them from the mm's
* vma list as we go..
-@@ -1948,6 +1954,7 @@ detach_vmas_to_be_unmapped(struct mm_str
+@@ -1914,6 +1920,7 @@ detach_vmas_to_be_unmapped(struct mm_str
vma->vm_prev = NULL;
do {
rb_erase(&vma->vm_rb, &mm->mm_rb);
@@ -3904,7 +3904,7 @@ take the forward porting patches:
mm->map_count--;
tail_vma = vma;
vma = vma->vm_next;
-@@ -2290,6 +2297,9 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2257,6 +2264,9 @@ void exit_mmap(struct mm_struct *mm)
arch_exit_mmap(mm);
@@ -3914,8 +3914,8 @@ take the forward porting patches:
vma = mm->mmap;
if (!vma) /* Can happen if dup_mmap() received an OOM */
return;
---- head-2011-05-23.orig/mm/mprotect.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/mm/mprotect.c 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/mm/mprotect.c 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/mm/mprotect.c 2011-06-30 15:38:52.000000000 +0200
@@ -97,6 +97,8 @@ static inline void change_pmd_range(stru
}
if (pmd_none_or_clear_bad(pmd))
@@ -3925,9 +3925,9 @@ take the forward porting patches:
change_pte_range(vma->vm_mm, pmd, addr, next, newprot,
dirty_accountable);
} while (pmd++, addr = next, addr != end);
---- head-2011-05-23.orig/mm/page_alloc.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/mm/page_alloc.c 2011-04-13 11:25:29.000000000 +0200
-@@ -650,6 +650,13 @@ static bool free_pages_prepare(struct pa
+--- head-2011-06-30.orig/mm/page_alloc.c 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/mm/page_alloc.c 2011-06-30 15:38:58.000000000 +0200
+@@ -653,6 +653,13 @@ static bool free_pages_prepare(struct pa
int i;
int bad = 0;
@@ -3941,9 +3941,9 @@ take the forward porting patches:
trace_mm_page_free_direct(page, order);
kmemcheck_free_shadow(page, order);
---- head-2011-05-23.orig/scripts/Makefile.build 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/scripts/Makefile.build 2011-04-13 11:25:29.000000000 +0200
-@@ -110,6 +110,21 @@ ifndef obj
+--- head-2011-06-30.orig/scripts/Makefile.build 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/scripts/Makefile.build 2011-06-30 15:39:08.000000000 +0200
+@@ -126,6 +126,21 @@ ifndef obj
$(warning kbuild: Makefile.build is included improperly)
endif
@@ -3965,8 +3965,8 @@ take the forward porting patches:
# ===========================================================================
ifneq ($(strip $(lib-y) $(lib-m) $(lib-n) $(lib-)),)
---- head-2011-05-23.orig/scripts/Makefile.lib 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/scripts/Makefile.lib 2011-04-13 11:25:29.000000000 +0200
+--- head-2011-06-30.orig/scripts/Makefile.lib 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/scripts/Makefile.lib 2011-04-13 11:25:29.000000000 +0200
@@ -22,6 +22,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m))
lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m)))
diff --git a/patches.xen/xen3-auto-include-xen-interface.diff b/patches.xen/xen3-auto-include-xen-interface.diff
index 29aaf09c93..aade0d7be7 100644
--- a/patches.xen/xen3-auto-include-xen-interface.diff
+++ b/patches.xen/xen3-auto-include-xen-interface.diff
@@ -1,5 +1,5 @@
Subject: xen3 include-xen-interface
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
diff --git a/patches.xen/xen3-auto-xen-arch.diff b/patches.xen/xen3-auto-xen-arch.diff
index 945df49a4a..67300ef59f 100644
--- a/patches.xen/xen3-auto-xen-arch.diff
+++ b/patches.xen/xen3-auto-xen-arch.diff
@@ -1,5 +1,5 @@
Subject: xen3 xen-arch
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
@@ -41,7 +41,6 @@ places):
+++ linux/arch/x86/vdso/vdso32-setup-xen.c
+++ linux/drivers/char/mem-xen.c
+++ linux/drivers/hwmon/coretemp-xen.c
-+++ linux/drivers/hwmon/pkgtemp-xen.c
+++ linux/drivers/hwmon/via-cputemp-xen.c
+++ linux/arch/x86/include/mach-xen/asm/desc.h
+++ linux/arch/x86/include/mach-xen/asm/dma-mapping.h
@@ -58,6 +57,7 @@ places):
+++ linux/arch/x86/include/mach-xen/asm/pgtable-3level_types.h
+++ linux/arch/x86/include/mach-xen/asm/pgtable_64_types.h
+++ linux/arch/x86/include/mach-xen/asm/pgtable_types.h
++++ linux/arch/x86/include/mach-xen/asm/probe_roms.h
+++ linux/arch/x86/include/mach-xen/asm/processor.h
+++ linux/arch/x86/include/mach-xen/asm/smp.h
+++ linux/arch/x86/include/mach-xen/asm/spinlock.h
@@ -130,6 +130,7 @@ for reference, prefixed with the version the removal occured):
2.6.33/arch/x86/kernel/irq_32-xen.c
2.6.33/arch/x86/kernel/irq_64-xen.c
2.6.39/arch/x86/kernel/acpi/sleep-xen.c (added in 2.6.25)
+3.0/drivers/hwmon/pkgtemp-xen.c (added in 2.6.36)
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ b/arch/x86/kernel/acpi/processor_extcntl_xen.c 2010-03-22 12:00:53.000000000 +0100
diff --git a/patches.xen/xen3-auto-xen-drivers.diff b/patches.xen/xen3-auto-xen-drivers.diff
index 52442b2d9a..3237b2605e 100644
--- a/patches.xen/xen3-auto-xen-drivers.diff
+++ b/patches.xen/xen3-auto-xen-drivers.diff
@@ -1,5 +1,5 @@
Subject: xen3 xen-drivers
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
@@ -2119,8 +2119,8 @@ and in case upstream wants to take the forward porting patches:
+ 0, 0, NULL, NULL);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/blkback/vbd.c 2011-05-23 10:40:00.000000000 +0200
-@@ -0,0 +1,162 @@
++++ b/drivers/xen/blkback/vbd.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,169 @@
+/******************************************************************************
+ * blkback/vbd.c
+ *
@@ -2196,7 +2196,6 @@ and in case upstream wants to take the forward porting patches:
+ }
+
+ vbd->bdev = bdev;
-+ vbd->size = vbd_size(vbd);
+
+ if (vbd->bdev->bd_disk == NULL) {
+ DPRINTK("vbd_creat: device %08x doesn't exist.\n",
@@ -2205,6 +2204,8 @@ and in case upstream wants to take the forward porting patches:
+ return -ENOENT;
+ }
+
++ vbd->size = vbd_size(vbd);
++
+ if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom)
+ vbd->type |= VDISK_CDROM;
+ if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
@@ -2230,8 +2231,14 @@ and in case upstream wants to take the forward porting patches:
+ if ((operation != READ) && vbd->readonly)
+ goto out;
+
-+ if (unlikely((req->sector_number + req->nr_sects) > vbd_sz(vbd)))
-+ goto out;
++ if (likely(req->nr_sects)) {
++ blkif_sector_t end = req->sector_number + req->nr_sects;
++
++ if (unlikely(end < req->sector_number))
++ goto out;
++ if (unlikely(end > vbd_sz(vbd)))
++ goto out;
++ }
+
+ req->dev = vbd->pdevice;
+ req->bdev = vbd->bdev;
@@ -2284,8 +2291,8 @@ and in case upstream wants to take the forward porting patches:
+ xenbus_transaction_end(xbt, 1);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/blkback/xenbus.c 2010-11-25 09:36:37.000000000 +0100
-@@ -0,0 +1,557 @@
++++ b/drivers/xen/blkback/xenbus.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,559 @@
+/* Xenbus code for blkif backend
+ Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
+ Copyright (C) 2005 XenSource Ltd
@@ -2761,7 +2768,7 @@ and in case upstream wants to take the forward porting patches:
+
+ err = xenbus_switch_state(dev, XenbusStateConnected);
+ if (err)
-+ xenbus_dev_fatal(dev, err, "switching to Connected state",
++ xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
+ dev->nodename);
+
+ return;
@@ -2773,14 +2780,13 @@ and in case upstream wants to take the forward porting patches:
+static int connect_ring(struct backend_info *be)
+{
+ struct xenbus_device *dev = be->dev;
-+ unsigned long ring_ref;
-+ unsigned int evtchn;
-+ char protocol[64] = "";
++ unsigned int ring_ref, evtchn;
++ char *protocol;
+ int err;
+
+ DPRINTK("%s", dev->otherend);
+
-+ err = xenbus_gather(XBT_NIL, dev->otherend, "ring-ref", "%lu", &ring_ref,
++ err = xenbus_gather(XBT_NIL, dev->otherend, "ring-ref", "%u", &ring_ref,
+ "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
@@ -2791,9 +2797,9 @@ and in case upstream wants to take the forward porting patches:
+
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
+ err = xenbus_gather(XBT_NIL, dev->otherend, "protocol",
-+ "%63s", protocol, NULL);
++ NULL, &protocol, NULL);
+ if (err)
-+ strcpy(protocol, "unspecified, assuming native");
++ protocol = NULL;
+ else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE))
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
+ else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
@@ -2802,16 +2808,19 @@ and in case upstream wants to take the forward porting patches:
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
+ else {
+ xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
++ kfree(protocol);
+ return -1;
+ }
+ printk(KERN_INFO
-+ "blkback: ring-ref %ld, event-channel %d, protocol %d (%s)\n",
-+ ring_ref, evtchn, be->blkif->blk_protocol, protocol);
++ "blkback: ring-ref %u, event-channel %u, protocol %d (%s)\n",
++ ring_ref, evtchn, be->blkif->blk_protocol,
++ protocol ?: "unspecified, assuming native");
++ kfree(protocol);
+
+ /* Map the shared frame, irq etc. */
+ err = blkif_map(be->blkif, ring_ref, evtchn);
+ if (err) {
-+ xenbus_dev_fatal(dev, err, "mapping ring-ref %lu port %u",
++ xenbus_dev_fatal(dev, err, "mapping ring-ref %u port %u",
+ ring_ref, evtchn);
+ return err;
+ }
@@ -2852,8 +2861,8 @@ and in case upstream wants to take the forward porting patches:
+xenblk-objs := blkfront.o vbd.o
+
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/blkfront/blkfront.c 2011-05-23 10:40:00.000000000 +0200
-@@ -0,0 +1,967 @@
++++ b/drivers/xen/blkfront/blkfront.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,966 @@
+/******************************************************************************
+ * blkfront.c
+ *
@@ -3190,7 +3199,7 @@ and in case upstream wants to take the forward porting patches:
+ */
+ err = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
+ "sectors", "%Lu", &sectors);
-+ if (XENBUS_EXIST_ERR(err))
++ if (err != 1)
+ return;
+ printk(KERN_INFO "Setting capacity to %Lu\n",
+ sectors);
@@ -3215,10 +3224,9 @@ and in case upstream wants to take the forward porting patches:
+ return;
+ }
+
-+ err = xenbus_gather(XBT_NIL, info->xbdev->otherend,
-+ "feature-barrier", "%d", &info->feature_barrier,
-+ NULL);
-+ if (err)
++ err = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
++ "feature-barrier", "%d", &info->feature_barrier);
++ if (err <= 0)
+ info->feature_barrier = 0;
+
+ err = xlvbd_add(sectors, info->vdevice, binfo, sector_size, info);
@@ -4549,8 +4557,8 @@ and in case upstream wants to take the forward porting patches:
+
+xenblktap-y := xenbus.o interface.o blktap.o
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/blktap/blktap.c 2011-04-11 13:43:15.000000000 +0200
-@@ -0,0 +1,1753 @@
++++ b/drivers/xen/blktap/blktap.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,1746 @@
+/******************************************************************************
+ * drivers/xen/blktap/blktap.c
+ *
@@ -5579,7 +5587,7 @@ and in case upstream wants to take the forward porting patches:
+}
+
+static void fast_flush_area(pending_req_t *req, unsigned int k_idx,
-+ unsigned int u_idx, int tapidx)
++ unsigned int u_idx, tap_blkif_t *info)
+{
+ struct gnttab_unmap_grant_ref unmap[BLKIF_MAX_SEGMENTS_PER_REQUEST*2];
+ unsigned int i, mmap_idx, invcount = 0, locked = 0;
@@ -5587,23 +5595,14 @@ and in case upstream wants to take the forward porting patches:
+ uint64_t ptep;
+ int ret;
+ unsigned long uvaddr;
-+ tap_blkif_t *info;
-+ struct mm_struct *mm;
-+
-+
-+ if ((tapidx < 0) || (tapidx >= MAX_TAP_DEV)
-+ || !(info = tapfds[tapidx])) {
-+ WPRINTK("fast_flush: Couldn't get info!\n");
-+ return;
-+ }
-+
-+ mm = info->mm;
++ struct mm_struct *mm = info->mm;
+
+ if (mm != NULL && xen_feature(XENFEAT_auto_translated_physmap)) {
+ down_write(&mm->mmap_sem);
+ blktap_zap_page_range(mm,
+ MMAP_VADDR(info->user_vstart, u_idx, 0),
+ req->nr_pages);
++ info->idx_map[u_idx].mem = INVALID_MIDX;
+ up_write(&mm->mmap_sem);
+ return;
+ }
@@ -5661,7 +5660,10 @@ and in case upstream wants to take the forward porting patches:
+ req->nr_pages);
+ }
+
-+ if (locked)
++ if (!locked && mm != NULL)
++ down_write(&mm->mmap_sem);
++ info->idx_map[u_idx].mem = INVALID_MIDX;
++ if (mm != NULL)
+ up_write(&mm->mmap_sem);
+}
+
@@ -5796,8 +5798,7 @@ and in case upstream wants to take the forward porting patches:
+ offset = (uvaddr - info->rings_vstart) >> PAGE_SHIFT;
+ info->foreign_map.map[offset] = NULL;
+ }
-+ fast_flush_area(pending_req, pending_idx, usr_idx, info->minor);
-+ info->idx_map[usr_idx].mem = INVALID_MIDX;
++ fast_flush_area(pending_req, pending_idx, usr_idx, info);
+ make_response(blkif, pending_req->id, res.operation,
+ res.status);
+ blkif_put(pending_req->blkif);
@@ -6172,7 +6173,7 @@ and in case upstream wants to take the forward porting patches:
+
+ fail_flush:
+ WPRINTK("Reached Fail_flush\n");
-+ fast_flush_area(pending_req, pending_idx, usr_idx, blkif->dev_num);
++ fast_flush_area(pending_req, pending_idx, usr_idx, info);
+ fail_response:
+ make_response(blkif, req->id, req->operation, BLKIF_RSP_ERROR);
+ free_req(pending_req);
@@ -6565,8 +6566,8 @@ and in case upstream wants to take the forward porting patches:
+ 0, 0, NULL, NULL);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/blktap/xenbus.c 2011-04-11 13:43:15.000000000 +0200
-@@ -0,0 +1,508 @@
++++ b/drivers/xen/blktap/xenbus.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,507 @@
+/* drivers/xen/blktap/xenbus.c
+ *
+ * Xenbus code for blktap
@@ -6888,7 +6889,7 @@ and in case upstream wants to take the forward porting patches:
+ * and disk info to xenstore
+ */
+ err = xenbus_gather(XBT_NIL, dev->nodename, "info", "%lu", &info,
-+ NULL);
++ "sectors", "%Lu", &be->blkif->sectors, NULL);
+ if (XENBUS_EXIST_ERR(err))
+ return;
+ if (err) {
@@ -6898,9 +6899,6 @@ and in case upstream wants to take the forward porting patches:
+
+ DPRINTK("Userspace update on disk info, %lu\n",info);
+
-+ err = xenbus_gather(XBT_NIL, dev->nodename, "sectors", "%llu",
-+ &be->blkif->sectors, NULL);
-+
+ /* Associate tap dev with domid*/
+ be->blkif->dev_num = dom_to_devid(be->blkif->domid, be->xenbus_id,
+ be->blkif);
@@ -6995,7 +6993,7 @@ and in case upstream wants to take the forward porting patches:
+
+ err = xenbus_switch_state(dev, XenbusStateConnected);
+ if (err)
-+ xenbus_dev_fatal(dev, err, "switching to Connected state",
++ xenbus_dev_fatal(dev, err, "%s: switching to Connected state",
+ dev->nodename);
+
+ return;
@@ -7005,14 +7003,13 @@ and in case upstream wants to take the forward porting patches:
+static int connect_ring(struct backend_info *be)
+{
+ struct xenbus_device *dev = be->dev;
-+ unsigned long ring_ref;
-+ unsigned int evtchn;
-+ char protocol[64];
++ unsigned int ring_ref, evtchn;
++ char *protocol;
+ int err;
+
+ DPRINTK("%s\n", dev->otherend);
+
-+ err = xenbus_gather(XBT_NIL, dev->otherend, "ring-ref", "%lu",
++ err = xenbus_gather(XBT_NIL, dev->otherend, "ring-ref", "%u",
+ &ring_ref, "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
@@ -7023,9 +7020,9 @@ and in case upstream wants to take the forward porting patches:
+
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
+ err = xenbus_gather(XBT_NIL, dev->otherend, "protocol",
-+ "%63s", protocol, NULL);
++ NULL, &protocol, NULL);
+ if (err)
-+ strcpy(protocol, "unspecified, assuming native");
++ protocol = NULL;
+ else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE))
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
+ else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
@@ -7034,16 +7031,19 @@ and in case upstream wants to take the forward porting patches:
+ be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
+ else {
+ xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
++ kfree(protocol);
+ return -1;
+ }
+ printk(KERN_INFO
-+ "blktap: ring-ref %ld, event-channel %d, protocol %d (%s)\n",
-+ ring_ref, evtchn, be->blkif->blk_protocol, protocol);
++ "blktap: ring-ref %u, event-channel %u, protocol %d (%s)\n",
++ ring_ref, evtchn, be->blkif->blk_protocol,
++ protocol ?: "unspecified, assuming native");
++ kfree(protocol);
+
+ /* Map the shared frame, irq etc. */
+ err = tap_blkif_map(be->blkif, dev, ring_ref, evtchn);
+ if (err) {
-+ xenbus_dev_fatal(dev, err, "mapping ring-ref %lu port %u",
++ xenbus_dev_fatal(dev, err, "mapping ring-ref %u port %u",
+ ring_ref, evtchn);
+ return err;
+ }
@@ -14183,7 +14183,7 @@ and in case upstream wants to take the forward porting patches:
+
+core_initcall(hook_pci_bus);
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/core/reboot.c 2010-11-25 09:36:37.000000000 +0100
++++ b/drivers/xen/core/reboot.c 2011-06-30 15:37:44.000000000 +0200
@@ -0,0 +1,338 @@
+#define __KERNEL_SYSCALLS__
+#include <linux/version.h>
@@ -14402,7 +14402,7 @@ and in case upstream wants to take the forward porting patches:
+ err = xenbus_transaction_start(&xbt);
+ if (err)
+ return;
-+ if (!xenbus_scanf(xbt, "control", "sysrq", "%c", &sysrq_key)) {
++ if (xenbus_scanf(xbt, "control", "sysrq", "%c", &sysrq_key) <= 0) {
+ printk(KERN_ERR "Unable to read sysrq code in "
+ "control/sysrq\n");
+ xenbus_transaction_end(xbt, 1);
@@ -17762,7 +17762,7 @@ and in case upstream wants to take the forward porting patches:
+netbk-y := netback.o xenbus.o interface.o accel.o
+netloop-y := loopback.o
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/netback/accel.c 2008-01-07 13:19:18.000000000 +0100
++++ b/drivers/xen/netback/accel.c 2011-06-30 15:37:44.000000000 +0200
@@ -0,0 +1,269 @@
+/******************************************************************************
+ * drivers/xen/netback/accel.c
@@ -17974,10 +17974,10 @@ and in case upstream wants to take the forward porting patches:
+ */
+void netback_disconnect_accelerator(int id, const char *eth_name)
+{
-+ struct netback_accelerator *accelerator, *next;
++ struct netback_accelerator *accelerator;
+
+ mutex_lock(&accelerators_mutex);
-+ list_for_each_entry_safe(accelerator, next, &accelerators_list, link) {
++ list_for_each_entry(accelerator, &accelerators_list, link) {
+ if (!strcmp(eth_name, accelerator->eth_name)) {
+ xenbus_for_each_backend
+ (accelerator, netback_accelerator_remove_backend);
@@ -20655,7 +20655,7 @@ and in case upstream wants to take the forward porting patches:
+
+MODULE_LICENSE("Dual BSD/GPL");
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/netback/xenbus.c 2011-04-11 13:43:15.000000000 +0200
++++ b/drivers/xen/netback/xenbus.c 2011-06-30 15:37:44.000000000 +0200
@@ -0,0 +1,455 @@
+/* Xenbus code for netif backend
+ Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
@@ -21017,7 +21017,7 @@ and in case upstream wants to take the forward porting patches:
+{
+ netif_t *netif = be->netif;
+ struct xenbus_device *dev = be->dev;
-+ unsigned long tx_ring_ref, rx_ring_ref;
++ unsigned int tx_ring_ref, rx_ring_ref;
+ unsigned int evtchn, rx_copy;
+ int err;
+ int val;
@@ -21025,8 +21025,8 @@ and in case upstream wants to take the forward porting patches:
+ DPRINTK("");
+
+ err = xenbus_gather(XBT_NIL, dev->otherend,
-+ "tx-ring-ref", "%lu", &tx_ring_ref,
-+ "rx-ring-ref", "%lu", &rx_ring_ref,
++ "tx-ring-ref", "%u", &tx_ring_ref,
++ "rx-ring-ref", "%u", &rx_ring_ref,
+ "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
@@ -21080,7 +21080,7 @@ and in case upstream wants to take the forward porting patches:
+ err = netif_map(be, tx_ring_ref, rx_ring_ref, evtchn);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
-+ "mapping shared-frames %lu/%lu port %u",
++ "mapping shared-frames %u/%u port %u",
+ tx_ring_ref, rx_ring_ref, evtchn);
+ return err;
+ }
@@ -21950,8 +21950,8 @@ and in case upstream wants to take the forward porting patches:
+}
+
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/netfront/netfront.c 2010-11-25 09:36:37.000000000 +0100
-@@ -0,0 +1,2255 @@
++++ b/drivers/xen/netfront/netfront.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,2261 @@
+/******************************************************************************
+ * Virtual network driver for conversing with remote driver backends.
+ *
@@ -22169,6 +22169,7 @@ and in case upstream wants to take the forward porting patches:
+static struct net_device *create_netdev(struct xenbus_device *);
+
+static void end_access(int, void *);
++static void netif_release_rings(struct netfront_info *);
+static void netif_disconnect_backend(struct netfront_info *);
+
+static int network_connect(struct net_device *);
@@ -22476,6 +22477,7 @@ and in case upstream wants to take the forward porting patches:
+ return 0;
+
+ fail:
++ netif_release_rings(info);
+ return err;
+}
+
@@ -24106,6 +24108,15 @@ and in case upstream wants to take the forward porting patches:
+};
+#endif
+
++static void netif_release_rings(struct netfront_info *info)
++{
++ end_access(info->tx_ring_ref, info->tx.sring);
++ end_access(info->rx_ring_ref, info->rx.sring);
++ info->tx_ring_ref = GRANT_INVALID_REF;
++ info->rx_ring_ref = GRANT_INVALID_REF;
++ info->tx.sring = NULL;
++ info->rx.sring = NULL;
++}
+
+static void netif_disconnect_backend(struct netfront_info *info)
+{
@@ -24120,12 +24131,7 @@ and in case upstream wants to take the forward porting patches:
+ unbind_from_irqhandler(info->irq, info->netdev);
+ info->irq = 0;
+
-+ end_access(info->tx_ring_ref, info->tx.sring);
-+ end_access(info->rx_ring_ref, info->rx.sring);
-+ info->tx_ring_ref = GRANT_INVALID_REF;
-+ info->rx_ring_ref = GRANT_INVALID_REF;
-+ info->tx.sring = NULL;
-+ info->rx.sring = NULL;
++ netif_release_rings(info);
+}
+
+
@@ -28387,7 +28393,7 @@ and in case upstream wants to take the forward porting patches:
+
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/pciback/vpci.c 2009-03-18 10:39:32.000000000 +0100
++++ b/drivers/xen/pciback/vpci.c 2011-06-30 15:37:44.000000000 +0200
@@ -0,0 +1,242 @@
+/*
+ * PCI Backend - Provides a Virtual PCI bus (with real devices)
@@ -28537,9 +28543,9 @@ and in case upstream wants to take the forward porting patches:
+ spin_lock_irqsave(&vpci_dev->lock, flags);
+
+ for (slot = 0; slot < PCI_SLOT_MAX; slot++) {
-+ struct pci_dev_entry *e, *tmp;
-+ list_for_each_entry_safe(e, tmp, &vpci_dev->dev_list[slot],
-+ list) {
++ struct pci_dev_entry *e;
++
++ list_for_each_entry(e, &vpci_dev->dev_list[slot], list) {
+ if (e->dev == dev) {
+ list_del(&e->list);
+ found_dev = e->dev;
@@ -33009,8 +33015,8 @@ and in case upstream wants to take the forward porting patches:
+
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/scsiback/xenbus.c 2009-03-18 10:39:32.000000000 +0100
-@@ -0,0 +1,378 @@
++++ b/drivers/xen/scsiback/xenbus.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,377 @@
+/*
+ * Xen SCSI backend driver
+ *
@@ -33073,13 +33079,12 @@ and in case upstream wants to take the forward porting patches:
+static int scsiback_map(struct backend_info *be)
+{
+ struct xenbus_device *dev = be->dev;
-+ unsigned long ring_ref;
-+ unsigned int evtchn;
++ unsigned int ring_ref, evtchn;
+ int err;
+ char name[TASK_COMM_LEN];
+
+ err = xenbus_gather(XBT_NIL, dev->otherend,
-+ "ring-ref", "%lu", &ring_ref,
++ "ring-ref", "%u", &ring_ref,
+ "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_fatal(dev, err, "reading %s ring", dev->otherend);
@@ -43929,8 +43934,8 @@ and in case upstream wants to take the forward porting patches:
+
+#endif /* NETFRONT_ACCEL_TSO_H */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/sfc_netfront/accel_vi.c 2010-01-18 15:23:12.000000000 +0100
-@@ -0,0 +1,1202 @@
++++ b/drivers/xen/sfc_netfront/accel_vi.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,1204 @@
+/****************************************************************************
+ * Solarflare driver for Xen network acceleration
+ *
@@ -44451,6 +44456,8 @@ and in case upstream wants to take the forward porting patches:
+ }
+
+ rc = ef_vi_transmitv(&vnic->vi, iovecs, state.buffers, dma_id);
++ /* We checked for space already, so it really should succeed */
++ BUG_ON(rc != 0);
+
+ /* Track number of tx fastpath stats */
+ vnic->netdev_stats.fastpath_tx_bytes += skb->len;
@@ -52940,8 +52947,8 @@ and in case upstream wants to take the forward porting patches:
+
+MODULE_LICENSE("Dual BSD/GPL");
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/tpmback/xenbus.c 2011-04-11 13:43:15.000000000 +0200
-@@ -0,0 +1,274 @@
++++ b/drivers/xen/tpmback/xenbus.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,273 @@
+/* Xenbus code for tpmif backend
+ Copyright (C) 2005 IBM Corporation
+ Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
@@ -53154,12 +53161,11 @@ and in case upstream wants to take the forward porting patches:
+static int connect_ring(struct backend_info *be)
+{
+ struct xenbus_device *dev = be->dev;
-+ unsigned long ring_ref;
-+ unsigned int evtchn;
++ unsigned int ring_ref, evtchn;
+ int err;
+
+ err = xenbus_gather(XBT_NIL, dev->otherend,
-+ "ring-ref", "%lu", &ring_ref,
++ "ring-ref", "%u", &ring_ref,
+ "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_error(dev, err,
@@ -53182,7 +53188,7 @@ and in case upstream wants to take the forward porting patches:
+ err = tpmif_map(be->tpmif, ring_ref, evtchn);
+ if (err) {
+ xenbus_dev_error(dev, err,
-+ "mapping shared-frame %lu port %u",
++ "mapping shared-frame %u port %u",
+ ring_ref, evtchn);
+ return err;
+ }
@@ -55077,8 +55083,8 @@ and in case upstream wants to take the forward porting patches:
+ usb_deregister(&usbback_usb_driver);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/usbback/xenbus.c 2009-11-06 10:23:23.000000000 +0100
-@@ -0,0 +1,338 @@
++++ b/drivers/xen/usbback/xenbus.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,337 @@
+/*
+ * xenbus.c
+ *
@@ -55307,14 +55313,12 @@ and in case upstream wants to take the forward porting patches:
+static int connect_rings(usbif_t *usbif)
+{
+ struct xenbus_device *dev = usbif->xbdev;
-+ unsigned long urb_ring_ref;
-+ unsigned long conn_ring_ref;
-+ unsigned int evtchn;
++ unsigned int urb_ring_ref, conn_ring_ref, evtchn;
+ int err;
+
+ err = xenbus_gather(XBT_NIL, dev->otherend,
-+ "urb-ring-ref", "%lu", &urb_ring_ref,
-+ "conn-ring-ref", "%lu", &conn_ring_ref,
++ "urb-ring-ref", "%u", &urb_ring_ref,
++ "conn-ring-ref", "%u", &conn_ring_ref,
+ "event-channel", "%u", &evtchn, NULL);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
@@ -55323,13 +55327,14 @@ and in case upstream wants to take the forward porting patches:
+ return err;
+ }
+
-+ printk("usbback: urb-ring-ref %ld, conn-ring-ref %ld, event-channel %d\n",
++ printk("usbback: urb-ring-ref %u, conn-ring-ref %u,"
++ " event-channel %u\n",
+ urb_ring_ref, conn_ring_ref, evtchn);
+
+ err = usbif_map(usbif, urb_ring_ref, conn_ring_ref, evtchn);
+ if (err) {
+ xenbus_dev_fatal(dev, err,
-+ "mapping urb-ring-ref %lu conn-ring-ref %lu port %u",
++ "mapping urb-ring-ref %u conn-ring-ref %u port %u",
+ urb_ring_ref, conn_ring_ref, evtchn);
+ return err;
+ }
@@ -57590,8 +57595,8 @@ and in case upstream wants to take the forward porting patches:
+
+MODULE_LICENSE("Dual BSD/GPL");
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/drivers/xen/xenbus/xenbus_dev.c 2011-04-11 13:43:15.000000000 +0200
-@@ -0,0 +1,466 @@
++++ b/drivers/xen/xenbus/xenbus_dev.c 2011-06-30 15:37:44.000000000 +0200
+@@ -0,0 +1,497 @@
+/*
+ * xenbus_dev.c
+ *
@@ -57727,25 +57732,42 @@ and in case upstream wants to take the forward porting patches:
+ return i;
+}
+
-+static void queue_reply(struct xenbus_dev_data *u,
-+ char *data, unsigned int len)
++static int queue_reply(struct list_head *queue,
++ const void *data, unsigned int len)
+{
+ struct read_buffer *rb;
+
+ if (len == 0)
-+ return;
++ return 0;
+
+ rb = kmalloc(sizeof(*rb) + len, GFP_KERNEL);
-+ BUG_ON(rb == NULL);
++ if (!rb)
++ return -ENOMEM;
+
+ rb->cons = 0;
+ rb->len = len;
+
+ memcpy(rb->msg, data, len);
+
-+ list_add_tail(&rb->list, &u->read_buffers);
++ list_add_tail(&rb->list, queue);
++ return 0;
++}
+
-+ wake_up(&u->read_waitq);
++static void queue_flush(struct xenbus_dev_data *u, struct list_head *queue,
++ int err)
++{
++ if (!err) {
++ /* list_splice_tail(queue, &u->read_buffers); */
++ list_splice(queue, u->read_buffers.prev);
++ wake_up(&u->read_waitq);
++ } else
++ while (!list_empty(queue)) {
++ struct read_buffer *rb = list_entry(queue->next,
++ struct read_buffer, list);
++
++ list_del(queue->next);
++ kfree(rb);
++ }
+}
+
+struct watch_adapter
@@ -57771,7 +57793,8 @@ and in case upstream wants to take the forward porting patches:
+ container_of(watch, struct watch_adapter, watch);
+ struct xsd_sockmsg hdr;
+ const char *path, *token;
-+ int path_len, tok_len, body_len, data_len = 0;
++ int err, path_len, tok_len, body_len, data_len = 0;
++ LIST_HEAD(queue);
+
+ path = vec[XS_WATCH_PATH];
+ token = adap->token;
@@ -57786,11 +57809,14 @@ and in case upstream wants to take the forward porting patches:
+ hdr.len = body_len;
+
+ mutex_lock(&adap->dev_data->reply_mutex);
-+ queue_reply(adap->dev_data, (char *)&hdr, sizeof(hdr));
-+ queue_reply(adap->dev_data, (char *)path, path_len);
-+ queue_reply(adap->dev_data, (char *)token, tok_len);
-+ if (len > 2)
-+ queue_reply(adap->dev_data, (char *)vec[2], data_len);
++ err = queue_reply(&queue, &hdr, sizeof(hdr));
++ if (!err)
++ err = queue_reply(&queue, path, path_len);
++ if (!err)
++ err = queue_reply(&queue, token, tok_len);
++ if (!err && len > 2)
++ err = queue_reply(&queue, vec[2], data_len);
++ queue_flush(adap->dev_data, &queue, err);
+ mutex_unlock(&adap->dev_data->reply_mutex);
+}
+
@@ -57803,9 +57829,10 @@ and in case upstream wants to take the forward porting patches:
+ struct xenbus_dev_data *u = filp->private_data;
+ struct xenbus_dev_transaction *trans = NULL;
+ uint32_t msg_type;
-+ void *reply;
++ void *reply = NULL;
++ LIST_HEAD(queue);
+ char *path, *token;
-+ struct watch_adapter *watch, *tmp_watch;
++ struct watch_adapter *watch;
+ int err, rc = len;
+
+ if (!is_xenstored_ready())
@@ -57831,7 +57858,7 @@ and in case upstream wants to take the forward porting patches:
+ switch (msg_type) {
+ case XS_WATCH:
+ case XS_UNWATCH: {
-+ static const char *XS_RESP = "OK";
++ static const char XS_RESP[] = "OK";
+ struct xsd_sockmsg hdr;
+
+ path = u->u.buffer + sizeof(u->u.msg);
@@ -57861,8 +57888,7 @@ and in case upstream wants to take the forward porting patches:
+
+ list_add(&watch->list, &u->watches);
+ } else {
-+ list_for_each_entry_safe(watch, tmp_watch,
-+ &u->watches, list) {
++ list_for_each_entry(watch, &u->watches, list) {
+ if (!strcmp(watch->token, token) &&
+ !strcmp(watch->watch.node, path))
+ {
@@ -57875,26 +57901,36 @@ and in case upstream wants to take the forward porting patches:
+ }
+
+ hdr.type = msg_type;
-+ hdr.len = strlen(XS_RESP) + 1;
++ hdr.len = sizeof(XS_RESP);
+ mutex_lock(&u->reply_mutex);
-+ queue_reply(u, (char *)&hdr, sizeof(hdr));
-+ queue_reply(u, (char *)XS_RESP, hdr.len);
-+ mutex_unlock(&u->reply_mutex);
++ err = queue_reply(&queue, &hdr, sizeof(hdr))
++ ?: queue_reply(&queue, XS_RESP, hdr.len);
+ break;
+ }
+
-+ default:
-+ if (msg_type == XS_TRANSACTION_START) {
-+ trans = kmalloc(sizeof(*trans), GFP_KERNEL);
-+ if (!trans) {
-+ rc = -ENOMEM;
-+ goto out;
-+ }
++ case XS_TRANSACTION_START:
++ trans = kmalloc(sizeof(*trans), GFP_KERNEL);
++ if (!trans) {
++ rc = -ENOMEM;
++ goto out;
+ }
++ goto common;
+
++ case XS_TRANSACTION_END:
++ list_for_each_entry(trans, &u->transactions, list)
++ if (trans->handle.id == u->u.msg.tx_id)
++ break;
++ if (&trans->list == &u->transactions) {
++ rc = -ESRCH;
++ goto out;
++ }
++ /* fall through */
++ common:
++ default:
+ reply = xenbus_dev_request_and_reply(&u->u.msg);
+ if (IS_ERR(reply)) {
-+ kfree(trans);
++ if (msg_type == XS_TRANSACTION_START)
++ kfree(trans);
+ rc = PTR_ERR(reply);
+ goto out;
+ }
@@ -57903,21 +57939,21 @@ and in case upstream wants to take the forward porting patches:
+ trans->handle.id = simple_strtoul(reply, NULL, 0);
+ list_add(&trans->list, &u->transactions);
+ } else if (msg_type == XS_TRANSACTION_END) {
-+ list_for_each_entry(trans, &u->transactions, list)
-+ if (trans->handle.id == u->u.msg.tx_id)
-+ break;
-+ BUG_ON(&trans->list == &u->transactions);
+ list_del(&trans->list);
+ kfree(trans);
+ }
+ mutex_lock(&u->reply_mutex);
-+ queue_reply(u, (char *)&u->u.msg, sizeof(u->u.msg));
-+ queue_reply(u, (char *)reply, u->u.msg.len);
-+ mutex_unlock(&u->reply_mutex);
-+ kfree(reply);
++ err = queue_reply(&queue, &u->u.msg, sizeof(u->u.msg))
++ ?: queue_reply(&queue, reply, u->u.msg.len);
+ break;
+ }
+
++ queue_flush(u, &queue, err);
++ mutex_unlock(&u->reply_mutex);
++ kfree(reply);
++ if (err)
++ rc = err;
++
+ out:
+ u->len = 0;
+ return rc;
diff --git a/patches.xen/xen3-auto-xen-kconfig.diff b/patches.xen/xen3-auto-xen-kconfig.diff
index 5ccba3593f..1db04f198e 100644
--- a/patches.xen/xen3-auto-xen-kconfig.diff
+++ b/patches.xen/xen3-auto-xen-kconfig.diff
@@ -1,11 +1,11 @@
Subject: xen3 xen-kconfig
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
---- head-2011-04-28.orig/arch/x86/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig 2011-04-28 11:06:07.000000000 +0200
-@@ -88,6 +88,7 @@ config ARCH_DEFCONFIG
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 15:04:43.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 15:35:19.000000000 +0200
+@@ -86,6 +86,7 @@ config ARCH_DEFCONFIG
config GENERIC_CMOS_UPDATE
def_bool y
@@ -13,7 +13,7 @@ Acked-by: jbeulich@novell.com
config CLOCKSOURCE_WATCHDOG
def_bool y
-@@ -220,7 +221,17 @@ config X86_64_SMP
+@@ -225,7 +226,17 @@ config X86_64_SMP
config X86_HT
def_bool y
@@ -32,7 +32,7 @@ Acked-by: jbeulich@novell.com
config X86_32_LAZY_GS
def_bool y
-@@ -292,6 +303,17 @@ config X86_MPPARSE
+@@ -297,6 +308,17 @@ config X86_MPPARSE
For old smp systems that do not have proper acpi support. Newer systems
(esp with 64bit cpus) with acpi support, MADT and DSDT will override it
@@ -50,7 +50,7 @@ Acked-by: jbeulich@novell.com
config X86_BIGSMP
bool "Support for big SMP systems with more than 8 CPUs"
depends on X86_32 && SMP
-@@ -321,6 +343,13 @@ config X86_EXTENDED_PLATFORM
+@@ -326,6 +348,13 @@ config X86_EXTENDED_PLATFORM
generic distribution kernel, say Y here - otherwise say N.
endif
@@ -64,7 +64,7 @@ Acked-by: jbeulich@novell.com
if X86_64
config X86_EXTENDED_PLATFORM
bool "Support for extended (non-PC) x86 platforms"
-@@ -600,6 +629,7 @@ source "arch/x86/Kconfig.cpu"
+@@ -594,6 +623,7 @@ source "arch/x86/Kconfig.cpu"
config HPET_TIMER
def_bool X86_64
prompt "HPET Timer Support" if X86_32
@@ -72,7 +72,7 @@ Acked-by: jbeulich@novell.com
---help---
Use the IA-PC HPET (High Precision Event Timer) to manage
time in preference to the PIT and RTC, if a HPET is
-@@ -645,7 +675,7 @@ config GART_IOMMU
+@@ -639,7 +669,7 @@ config GART_IOMMU
bool "GART IOMMU support" if EXPERT
default y
select SWIOTLB
@@ -81,7 +81,7 @@ Acked-by: jbeulich@novell.com
---help---
Support for full DMA access of devices with 32bit memory access only
on systems with more than 3GB. This is usually needed for USB,
-@@ -660,7 +690,7 @@ config GART_IOMMU
+@@ -654,7 +684,7 @@ config GART_IOMMU
config CALGARY_IOMMU
bool "IBM Calgary IOMMU support"
select SWIOTLB
@@ -90,7 +90,7 @@ Acked-by: jbeulich@novell.com
---help---
Support for hardware IOMMUs in IBM's xSeries x366 and x460
systems. Needed to run systems with more than 3GB of memory
-@@ -743,6 +773,7 @@ config NR_CPUS
+@@ -738,6 +768,7 @@ config NR_CPUS
default "1" if !SMP
default "4096" if MAXSMP
default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
@@ -98,7 +98,7 @@ Acked-by: jbeulich@novell.com
default "8" if SMP
---help---
This allows you to specify the maximum number of CPUs which this
-@@ -785,7 +816,7 @@ source "kernel/Kconfig.preempt"
+@@ -780,7 +811,7 @@ source "kernel/Kconfig.preempt"
config X86_UP_APIC
bool "Local APIC support on uniprocessors"
@@ -107,7 +107,7 @@ Acked-by: jbeulich@novell.com
---help---
A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU
-@@ -811,15 +842,22 @@ config X86_UP_IOAPIC
+@@ -806,15 +837,22 @@ config X86_UP_IOAPIC
config X86_LOCAL_APIC
def_bool y
depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
@@ -130,7 +130,7 @@ Acked-by: jbeulich@novell.com
config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
bool "Reroute for broken boot IRQs"
depends on X86_IO_APIC
-@@ -845,6 +883,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
+@@ -840,6 +878,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
config X86_MCE
bool "Machine Check / overheating reporting"
@@ -138,7 +138,7 @@ Acked-by: jbeulich@novell.com
---help---
Machine Check support allows the processor to notify the
kernel if it detects a problem (e.g. overheating, data corruption).
-@@ -854,7 +893,7 @@ config X86_MCE
+@@ -849,7 +888,7 @@ config X86_MCE
config X86_MCE_INTEL
def_bool y
prompt "Intel MCE features"
@@ -147,7 +147,7 @@ Acked-by: jbeulich@novell.com
---help---
Additional support for intel specific MCE features such as
the thermal monitor.
-@@ -862,7 +901,7 @@ config X86_MCE_INTEL
+@@ -857,7 +896,7 @@ config X86_MCE_INTEL
config X86_MCE_AMD
def_bool y
prompt "AMD MCE features"
@@ -156,7 +156,7 @@ Acked-by: jbeulich@novell.com
---help---
Additional support for AMD specific MCE features such as
the DRAM Error Threshold.
-@@ -887,6 +926,10 @@ config X86_MCE_INJECT
+@@ -882,6 +921,10 @@ config X86_MCE_INJECT
If you don't know what a machine check is and you don't do kernel
QA it is safe to say n.
@@ -167,7 +167,7 @@ Acked-by: jbeulich@novell.com
config X86_THERMAL_VECTOR
def_bool y
depends on X86_MCE_INTEL
-@@ -939,7 +982,7 @@ config I8K
+@@ -935,7 +978,7 @@ config I8K
config X86_REBOOTFIXUPS
bool "Enable X86 board specific fixups for reboot"
@@ -176,7 +176,7 @@ Acked-by: jbeulich@novell.com
---help---
This enables chipset and/or board specific fixups to be done
in order to get reboot to work correctly. This is only needed on
-@@ -956,6 +999,7 @@ config X86_REBOOTFIXUPS
+@@ -952,6 +995,7 @@ config X86_REBOOTFIXUPS
config MICROCODE
tristate "/dev/cpu/microcode - microcode support"
@@ -184,7 +184,7 @@ Acked-by: jbeulich@novell.com
select FW_LOADER
---help---
If you say Y here, you will be able to update the microcode on
-@@ -1149,7 +1193,7 @@ config DIRECT_GBPAGES
+@@ -1145,7 +1189,7 @@ config DIRECT_GBPAGES
# Common NUMA Features
config NUMA
bool "Numa Memory Allocation and Scheduler Support"
@@ -193,7 +193,7 @@ Acked-by: jbeulich@novell.com
depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
---help---
-@@ -1258,6 +1302,7 @@ config ARCH_SPARSEMEM_DEFAULT
+@@ -1246,6 +1290,7 @@ config ARCH_DISCONTIGMEM_DEFAULT
config ARCH_SPARSEMEM_ENABLE
def_bool y
depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD
@@ -201,7 +201,7 @@ Acked-by: jbeulich@novell.com
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64
-@@ -1347,6 +1392,7 @@ config X86_RESERVE_LOW
+@@ -1343,6 +1388,7 @@ config X86_RESERVE_LOW
config MATH_EMULATION
bool
prompt "Math emulation" if X86_32
@@ -209,7 +209,7 @@ Acked-by: jbeulich@novell.com
---help---
Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have
-@@ -1373,6 +1419,7 @@ config MATH_EMULATION
+@@ -1369,6 +1415,7 @@ config MATH_EMULATION
config MTRR
def_bool y
prompt "MTRR (Memory Type Range Register) support" if EXPERT
@@ -217,7 +217,7 @@ Acked-by: jbeulich@novell.com
---help---
On Intel P6 family processors (Pentium Pro, Pentium II and later)
the Memory Type Range Registers (MTRRs) may be used to control
-@@ -1457,7 +1504,7 @@ config ARCH_USES_PG_UNCACHED
+@@ -1453,7 +1500,7 @@ config ARCH_USES_PG_UNCACHED
config EFI
bool "EFI runtime service support"
@@ -226,7 +226,7 @@ Acked-by: jbeulich@novell.com
---help---
This enables the kernel to use EFI runtime services that are
available (such as the EFI variable services).
-@@ -1505,6 +1552,7 @@ source kernel/Kconfig.hz
+@@ -1501,6 +1548,7 @@ source kernel/Kconfig.hz
config KEXEC
bool "kexec system call"
@@ -234,7 +234,7 @@ Acked-by: jbeulich@novell.com
---help---
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
-@@ -1522,6 +1570,7 @@ config KEXEC
+@@ -1518,6 +1566,7 @@ config KEXEC
config CRASH_DUMP
bool "kernel crash dumps"
depends on X86_64 || (X86_32 && HIGHMEM)
@@ -242,7 +242,7 @@ Acked-by: jbeulich@novell.com
---help---
Generate crash dump after being started by kexec.
This should be normally only set in special crash dump kernels
-@@ -1641,6 +1690,7 @@ config COMPAT_VDSO
+@@ -1637,6 +1686,7 @@ config COMPAT_VDSO
def_bool y
prompt "Compat VDSO support"
depends on X86_32 || IA32_EMULATION
@@ -250,7 +250,7 @@ Acked-by: jbeulich@novell.com
---help---
Map the 32-bit VDSO to the predictable old-style address too.
-@@ -1712,6 +1762,7 @@ config USE_PERCPU_NUMA_NODE_ID
+@@ -1704,6 +1754,7 @@ config USE_PERCPU_NUMA_NODE_ID
depends on NUMA
menu "Power management and ACPI options"
@@ -258,7 +258,7 @@ Acked-by: jbeulich@novell.com
config ARCH_HIBERNATION_HEADER
def_bool y
-@@ -1729,7 +1780,7 @@ config X86_APM_BOOT
+@@ -1721,7 +1772,7 @@ config X86_APM_BOOT
menuconfig APM
tristate "APM (Advanced Power Management) BIOS support"
@@ -267,7 +267,7 @@ Acked-by: jbeulich@novell.com
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with
-@@ -1890,6 +1941,7 @@ choice
+@@ -1882,6 +1933,7 @@ choice
config PCI_GOBIOS
bool "BIOS"
@@ -275,7 +275,7 @@ Acked-by: jbeulich@novell.com
config PCI_GOMMCONFIG
bool "MMConfig"
-@@ -1901,6 +1953,13 @@ config PCI_GOOLPC
+@@ -1893,6 +1945,13 @@ config PCI_GOOLPC
bool "OLPC XO-1"
depends on OLPC
@@ -289,7 +289,7 @@ Acked-by: jbeulich@novell.com
config PCI_GOANY
bool "Any"
-@@ -1908,7 +1967,7 @@ endchoice
+@@ -1900,7 +1959,7 @@ endchoice
config PCI_BIOS
def_bool y
@@ -298,7 +298,7 @@ Acked-by: jbeulich@novell.com
# x86-64 doesn't support PCI BIOS access from long mode so always go direct.
config PCI_DIRECT
-@@ -1950,6 +2009,22 @@ config PCI_CNB20LE_QUIRK
+@@ -1942,6 +2001,22 @@ config PCI_CNB20LE_QUIRK
You should say N unless you know you need this.
@@ -321,7 +321,7 @@ Acked-by: jbeulich@novell.com
config DMAR
bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
depends on PCI_MSI && ACPI && EXPERIMENTAL
-@@ -2015,6 +2090,7 @@ if X86_32
+@@ -2007,6 +2082,7 @@ if X86_32
config ISA
bool "ISA support"
@@ -329,7 +329,7 @@ Acked-by: jbeulich@novell.com
---help---
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
-@@ -2042,6 +2118,7 @@ source "drivers/eisa/Kconfig"
+@@ -2034,6 +2110,7 @@ source "drivers/eisa/Kconfig"
config MCA
bool "MCA support"
@@ -337,16 +337,16 @@ Acked-by: jbeulich@novell.com
---help---
MicroChannel Architecture is found in some IBM PS/2 machines and
laptops. It is a bus system similar to PCI or ISA. See
-@@ -2173,4 +2250,6 @@ source "crypto/Kconfig"
+@@ -2165,4 +2242,6 @@ source "crypto/Kconfig"
source "arch/x86/kvm/Kconfig"
+source "drivers/xen/Kconfig"
+
source "lib/Kconfig"
---- head-2011-04-28.orig/arch/x86/Kconfig.cpu 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig.cpu 2011-04-13 11:17:33.000000000 +0200
-@@ -334,7 +334,7 @@ config X86_PPRO_FENCE
+--- head-2011-06-30.orig/arch/x86/Kconfig.cpu 2011-06-30 15:04:05.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig.cpu 2011-06-30 15:35:37.000000000 +0200
+@@ -338,7 +338,7 @@ config X86_PPRO_FENCE
config X86_F00F_BUG
def_bool y
@@ -355,7 +355,7 @@ Acked-by: jbeulich@novell.com
config X86_INVD_BUG
def_bool y
-@@ -395,6 +395,7 @@ config X86_P6_NOP
+@@ -399,6 +399,7 @@ config X86_P6_NOP
config X86_TSC
def_bool y
depends on ((MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) && !X86_NUMAQ) || X86_64
@@ -363,9 +363,9 @@ Acked-by: jbeulich@novell.com
config X86_CMPXCHG64
def_bool y
---- head-2011-04-28.orig/arch/x86/Kconfig.debug 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig.debug 2011-04-13 11:17:33.000000000 +0200
-@@ -139,7 +139,7 @@ config DEBUG_NX_TEST
+--- head-2011-06-30.orig/arch/x86/Kconfig.debug 2011-06-30 15:04:05.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig.debug 2011-06-30 15:35:42.000000000 +0200
+@@ -119,7 +119,7 @@ config DEBUG_NX_TEST
config DOUBLEFAULT
default y
bool "Enable doublefault exception handler" if EXPERT
@@ -374,9 +374,9 @@ Acked-by: jbeulich@novell.com
---help---
This option allows trapping of rare doublefault exceptions that
would otherwise cause a system to silently reboot. Disabling this
---- head-2011-04-28.orig/drivers/acpi/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/acpi/Kconfig 2011-04-13 11:17:33.000000000 +0200
-@@ -319,6 +319,7 @@ config ACPI_PCI_SLOT
+--- head-2011-06-30.orig/drivers/acpi/Kconfig 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/acpi/Kconfig 2011-06-30 15:35:53.000000000 +0200
+@@ -308,6 +308,7 @@ config ACPI_PCI_SLOT
config X86_PM_TIMER
bool "Power Management Timer Support" if EXPERT
depends on X86
@@ -384,7 +384,7 @@ Acked-by: jbeulich@novell.com
default y
help
The Power Management Timer is available on all ACPI-capable,
-@@ -382,4 +383,13 @@ config ACPI_HED
+@@ -386,4 +387,13 @@ config ACPI_CUSTOM_METHOD
source "drivers/acpi/apei/Kconfig"
@@ -398,8 +398,8 @@ Acked-by: jbeulich@novell.com
+ depends on (X86 || IA64) && XEN
+ default y
endif # ACPI
---- head-2011-04-28.orig/drivers/char/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/char/Kconfig 2011-04-13 11:17:33.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/Kconfig 2011-06-30 15:04:43.000000000 +0200
++++ head-2011-06-30/drivers/char/Kconfig 2011-04-13 11:17:33.000000000 +0200
@@ -534,7 +534,7 @@ config MAX_RAW_DEVS
config HPET
bool "HPET - High Precision Event Timer" if (X86 || IA64)
@@ -409,8 +409,8 @@ Acked-by: jbeulich@novell.com
help
If you say Y here, you will have a miscdevice named "/dev/hpet/". Each
open selects one of the timers supported by the HPET. The timers are
---- head-2011-04-28.orig/drivers/char/tpm/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/char/tpm/Kconfig 2011-04-13 11:17:33.000000000 +0200
+--- head-2011-06-30.orig/drivers/char/tpm/Kconfig 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/Kconfig 2011-04-13 11:17:33.000000000 +0200
@@ -60,4 +60,13 @@ config TCG_INFINEON
Further information on this driver and the supported hardware
can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
@@ -425,17 +425,18 @@ Acked-by: jbeulich@novell.com
+ will be called tpm_xenu.
+
endif # TCG_TPM
---- head-2011-04-28.orig/drivers/cpufreq/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/cpufreq/Kconfig 2011-04-13 11:17:33.000000000 +0200
-@@ -1,5 +1,6 @@
+--- head-2011-06-30.orig/drivers/cpufreq/Kconfig 2011-06-30 15:04:12.000000000 +0200
++++ head-2011-06-30/drivers/cpufreq/Kconfig 2011-06-30 15:36:01.000000000 +0200
+@@ -2,6 +2,7 @@ menu "CPU Frequency scaling"
+
config CPU_FREQ
bool "CPU Frequency scaling"
+ depends on !PROCESSOR_EXTERNAL_CONTROL
help
CPU Frequency scaling allows you to change the clock speed of
CPUs on the fly. This is a nice method to save power, because
---- head-2011-04-28.orig/drivers/tty/serial/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/tty/serial/Kconfig 2011-04-13 11:17:33.000000000 +0200
+--- head-2011-06-30.orig/drivers/tty/serial/Kconfig 2011-06-30 15:04:18.000000000 +0200
++++ head-2011-06-30/drivers/tty/serial/Kconfig 2011-04-13 11:17:33.000000000 +0200
@@ -9,6 +9,7 @@ menu "Serial drivers"
# The new 8250/16550 serial drivers
config SERIAL_8250
@@ -444,8 +445,8 @@ Acked-by: jbeulich@novell.com
select SERIAL_CORE
---help---
This selects whether you want to include the driver for the standard
---- head-2011-04-28.orig/drivers/xen/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/drivers/xen/Kconfig 2011-04-13 11:17:33.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-04-13 11:17:33.000000000 +0200
@@ -1,8 +1,357 @@
+#
+# This Kconfig describe xen options
@@ -829,9 +830,9 @@ Acked-by: jbeulich@novell.com
If in doubt, say yes.
config XEN_DEV_EVTCHN
---- head-2011-04-28.orig/fs/Kconfig 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/fs/Kconfig 2011-04-13 11:17:33.000000000 +0200
-@@ -141,6 +141,7 @@ config HUGETLBFS
+--- head-2011-06-30.orig/fs/Kconfig 2011-06-30 15:04:43.000000000 +0200
++++ head-2011-06-30/fs/Kconfig 2011-06-30 15:36:20.000000000 +0200
+@@ -158,6 +158,7 @@ config HUGETLBFS
bool "HugeTLB file system support"
depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
SYS_SUPPORTS_HUGETLBFS || BROKEN
@@ -839,8 +840,8 @@ Acked-by: jbeulich@novell.com
help
hugetlbfs is a filesystem backing for HugeTLB pages, based on
ramfs. For architectures that support it, say Y here and read
---- head-2011-04-28.orig/kernel/Kconfig.preempt 2011-04-28 11:04:09.000000000 +0200
-+++ head-2011-04-28/kernel/Kconfig.preempt 2011-04-13 11:17:33.000000000 +0200
+--- head-2011-06-30.orig/kernel/Kconfig.preempt 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/kernel/Kconfig.preempt 2011-04-13 11:17:33.000000000 +0200
@@ -36,6 +36,7 @@ config PREEMPT_VOLUNTARY
config PREEMPT
diff --git a/patches.xen/xen3-fixup-arch-x86 b/patches.xen/xen3-fixup-arch-x86
index 82403a9e85..5a982fe4b1 100644
--- a/patches.xen/xen3-fixup-arch-x86
+++ b/patches.xen/xen3-fixup-arch-x86
@@ -2,9 +2,9 @@ Subject: xen3 x86 build fixes.
From: jbeulich@novell.com
Patch-mainline: n/a
---- head-2011-04-13.orig/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-04-13 10:06:58.000000000 +0200
-+++ head-2011-04-13/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-04-13 12:22:25.000000000 +0200
-@@ -759,7 +759,7 @@ unsigned int __cpuinit init_intel_cachei
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-06-30 15:04:08.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-06-30 16:01:36.000000000 +0200
+@@ -747,7 +747,7 @@ unsigned int __cpuinit init_intel_cachei
static DEFINE_PER_CPU(struct _cpuid4_info *, ici_cpuid4_info);
#define CPUID4_INFO_IDX(x, y) (&((per_cpu(ici_cpuid4_info, x))[y]))
@@ -13,16 +13,16 @@ Patch-mainline: n/a
static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index)
{
struct _cpuid4_info *this_leaf, *sibling_leaf;
---- head-2011-04-13.orig/arch/x86/power/Makefile 2009-09-10 00:13:59.000000000 +0200
-+++ head-2011-04-13/arch/x86/power/Makefile 2011-01-31 17:01:57.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/power/Makefile 2009-09-10 00:13:59.000000000 +0200
++++ head-2011-06-30/arch/x86/power/Makefile 2011-01-31 17:01:57.000000000 +0100
@@ -5,3 +5,5 @@ CFLAGS_cpu.o := $(nostackp)
obj-$(CONFIG_PM_SLEEP) += cpu.o
obj-$(CONFIG_HIBERNATION) += hibernate_$(BITS).o hibernate_asm_$(BITS).o
+
+disabled-obj-$(CONFIG_XEN) := cpu.o
---- head-2011-04-13.orig/arch/x86/power/cpu.c 2011-04-13 11:31:41.000000000 +0200
-+++ head-2011-04-13/arch/x86/power/cpu.c 2011-01-31 17:01:57.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/power/cpu.c 2011-04-13 11:31:41.000000000 +0200
++++ head-2011-06-30/arch/x86/power/cpu.c 2011-01-31 17:01:57.000000000 +0100
@@ -129,7 +129,6 @@ static void do_fpu_end(void)
static void fix_processor_context(void)
diff --git a/patches.xen/xen3-fixup-common b/patches.xen/xen3-fixup-common
index b541e1a6e8..ea1f001aca 100644
--- a/patches.xen/xen3-fixup-common
+++ b/patches.xen/xen3-fixup-common
@@ -2,8 +2,8 @@ Subject: Fix xen build.
From: jbeulich@novell.com
Patch-mainline: n/a
---- head-2011-05-23.orig/drivers/acpi/acpica/hwsleep.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/acpi/acpica/hwsleep.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/acpi/acpica/hwsleep.c 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/drivers/acpi/acpica/hwsleep.c 2011-01-31 17:01:49.000000000 +0100
@@ -419,6 +419,7 @@ ACPI_EXPORT_SYMBOL(acpi_enter_sleep_stat
* THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
*
@@ -20,8 +20,8 @@ Patch-mainline: n/a
/*******************************************************************************
*
---- head-2011-05-23.orig/drivers/base/cpu.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/base/cpu.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/base/cpu.c 2010-08-02 00:11:14.000000000 +0200
++++ head-2011-06-30/drivers/base/cpu.c 2011-01-31 17:01:49.000000000 +0100
@@ -106,7 +106,7 @@ static inline void register_cpu_control(
}
#endif /* CONFIG_HOTPLUG_CPU */
@@ -40,8 +40,8 @@ Patch-mainline: n/a
if (!error)
error = sysdev_create_file(&cpu->sysdev, &attr_crash_notes);
#endif
---- head-2011-05-23.orig/drivers/ide/ide-lib.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/ide/ide-lib.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/ide/ide-lib.c 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/drivers/ide/ide-lib.c 2011-01-31 17:01:49.000000000 +0100
@@ -18,6 +18,16 @@ void ide_toggle_bounce(ide_drive_t *driv
{
u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */
@@ -67,8 +67,8 @@ Patch-mainline: n/a
if (drive->queue)
blk_queue_bounce_limit(drive->queue, addr);
---- head-2011-05-23.orig/drivers/oprofile/buffer_sync.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/buffer_sync.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/oprofile/buffer_sync.c 2011-06-30 15:37:10.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/buffer_sync.c 2011-06-30 16:01:00.000000000 +0200
@@ -47,7 +47,9 @@ static cpumask_var_t marked_cpus;
static DEFINE_SPINLOCK(task_mortuary);
static void process_task_mortuary(void);
@@ -79,7 +79,7 @@ Patch-mainline: n/a
/* Take ownership of the task struct and place it on the
* list for processing. Only after two full buffer syncs
-@@ -149,11 +151,13 @@ static struct notifier_block module_load
+@@ -156,11 +158,13 @@ static void free_all_tasks(void)
int sync_start(void)
{
int err;
@@ -93,7 +93,7 @@ Patch-mainline: n/a
if (!zalloc_cpumask_var(&marked_cpus, GFP_KERNEL))
return -ENOMEM;
-@@ -314,12 +318,14 @@ static void add_cpu_mode_switch(unsigned
+@@ -315,12 +319,14 @@ static void add_cpu_mode_switch(unsigned
}
}
@@ -108,7 +108,7 @@ Patch-mainline: n/a
static void
add_user_ctx_switch(struct task_struct const *task, unsigned long cookie)
-@@ -542,10 +548,12 @@ void sync_buffer(int cpu)
+@@ -543,10 +549,12 @@ void sync_buffer(int cpu)
add_cpu_switch(cpu);
@@ -121,7 +121,7 @@ Patch-mainline: n/a
op_cpu_buffer_reset(cpu);
available = op_cpu_buffer_entries(cpu);
-@@ -555,12 +563,14 @@ void sync_buffer(int cpu)
+@@ -556,12 +564,14 @@ void sync_buffer(int cpu)
if (!sample)
break;
@@ -136,7 +136,7 @@ Patch-mainline: n/a
if (is_code(sample->eip)) {
flags = sample->event;
-@@ -586,17 +596,21 @@ void sync_buffer(int cpu)
+@@ -587,17 +597,21 @@ void sync_buffer(int cpu)
cookie = get_exec_dcookie(mm);
add_user_ctx_switch(new, cookie);
}
@@ -158,7 +158,7 @@ Patch-mainline: n/a
if (state < sb_bt_start)
/* ignore sample */
-@@ -613,9 +627,11 @@ void sync_buffer(int cpu)
+@@ -614,9 +628,11 @@ void sync_buffer(int cpu)
}
release_mm(mm);
@@ -170,8 +170,8 @@ Patch-mainline: n/a
mark_done(cpu);
---- head-2011-05-23.orig/drivers/oprofile/cpu_buffer.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/cpu_buffer.c 2011-04-13 12:22:07.000000000 +0200
+--- head-2011-06-30.orig/drivers/oprofile/cpu_buffer.c 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/cpu_buffer.c 2011-04-13 12:22:07.000000000 +0200
@@ -42,7 +42,11 @@ static void wq_sync_buffer(struct work_s
#define DEFAULT_TIMER_EXPIRE (HZ / 10)
static int work_enabled;
@@ -200,8 +200,8 @@ Patch-mainline: n/a
/*
* This serves to avoid cpu buffer overflow, and makes sure
---- head-2011-05-23.orig/drivers/oprofile/oprof.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/oprof.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/oprofile/oprof.c 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/oprof.c 2011-01-31 17:01:49.000000000 +0100
@@ -39,6 +39,7 @@ static DEFINE_MUTEX(start_mutex);
*/
static int timer = 0;
@@ -218,8 +218,8 @@ Patch-mainline: n/a
int oprofile_setup(void)
{
---- head-2011-05-23.orig/drivers/oprofile/oprofile_files.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/drivers/oprofile/oprofile_files.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/oprofile/oprofile_files.c 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/drivers/oprofile/oprofile_files.c 2011-01-31 17:01:49.000000000 +0100
@@ -180,6 +180,8 @@ static const struct file_operations dump
.llseek = noop_llseek,
};
@@ -249,8 +249,8 @@ Patch-mainline: n/a
oprofilefs_create_file(sb, root, "buffer", &event_buffer_fops);
oprofilefs_create_ulong(sb, root, "buffer_size", &oprofile_buffer_size);
oprofilefs_create_ulong(sb, root, "buffer_watershed", &oprofile_buffer_watershed);
---- head-2011-05-23.orig/drivers/xen/core/smpboot.c 2010-11-08 17:27:03.000000000 +0100
-+++ head-2011-05-23/drivers/xen/core/smpboot.c 2011-01-31 17:01:49.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2010-11-08 17:27:03.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-01-31 17:01:49.000000000 +0100
@@ -55,7 +55,6 @@ static char callfunc_name[NR_CPUS][15];
cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;
@@ -259,9 +259,9 @@ Patch-mainline: n/a
#if defined(__i386__)
u8 x86_cpu_to_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = 0xff };
---- head-2011-05-23.orig/include/linux/mm.h 2011-05-09 11:37:37.000000000 +0200
-+++ head-2011-05-23/include/linux/mm.h 2011-05-09 11:37:50.000000000 +0200
-@@ -224,6 +224,7 @@ struct vm_operations_struct {
+--- head-2011-06-30.orig/include/linux/mm.h 2011-06-30 15:37:34.000000000 +0200
++++ head-2011-06-30/include/linux/mm.h 2011-06-30 16:01:09.000000000 +0200
+@@ -225,6 +225,7 @@ struct vm_operations_struct {
int (*access)(struct vm_area_struct *vma, unsigned long addr,
void *buf, int len, int write);
@@ -269,7 +269,7 @@ Patch-mainline: n/a
/* Area-specific function for clearing the PTE at @ptep. Returns the
* original value of @ptep. */
pte_t (*zap_pte)(struct vm_area_struct *vma,
-@@ -231,6 +232,7 @@ struct vm_operations_struct {
+@@ -232,6 +233,7 @@ struct vm_operations_struct {
/* called before close() to indicate no more pages should be mapped */
void (*unmap)(struct vm_area_struct *area);
@@ -277,8 +277,8 @@ Patch-mainline: n/a
#ifdef CONFIG_NUMA
/*
---- head-2011-05-23.orig/include/linux/oprofile.h 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/include/linux/oprofile.h 2011-02-17 10:06:04.000000000 +0100
+--- head-2011-06-30.orig/include/linux/oprofile.h 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/include/linux/oprofile.h 2011-02-17 10:06:04.000000000 +0100
@@ -19,8 +19,9 @@
#include <linux/errno.h>
#include <linux/printk.h>
@@ -304,8 +304,8 @@ Patch-mainline: n/a
/* Do any necessary interrupt setup. Optional. */
int (*setup)(void);
/* Do any necessary interrupt shutdown. Optional. */
---- head-2011-05-23.orig/include/linux/page-flags.h 2011-04-28 11:06:45.000000000 +0200
-+++ head-2011-05-23/include/linux/page-flags.h 2011-04-28 11:08:54.000000000 +0200
+--- head-2011-06-30.orig/include/linux/page-flags.h 2011-04-28 11:06:45.000000000 +0200
++++ head-2011-06-30/include/linux/page-flags.h 2011-04-28 11:08:54.000000000 +0200
@@ -109,7 +109,7 @@ enum pageflags {
#endif
#ifdef CONFIG_XEN
@@ -327,8 +327,8 @@ Patch-mainline: n/a
#define PageBlkback(page) test_bit(PG_blkback, &(page)->flags)
#define SetPageBlkback(page) set_bit(PG_blkback, &(page)->flags)
---- head-2011-05-23.orig/kernel/kexec.c 2011-04-28 11:06:56.000000000 +0200
-+++ head-2011-05-23/kernel/kexec.c 2011-04-28 11:08:43.000000000 +0200
+--- head-2011-06-30.orig/kernel/kexec.c 2011-04-28 11:06:56.000000000 +0200
++++ head-2011-06-30/kernel/kexec.c 2011-04-28 11:08:43.000000000 +0200
@@ -41,8 +41,10 @@
#include <asm/system.h>
#include <asm/sections.h>
@@ -368,9 +368,9 @@ Patch-mainline: n/a
return 0;
}
module_init(crash_notes_memory_init)
---- head-2011-05-23.orig/mm/memory.c 2011-05-23 10:56:46.000000000 +0200
-+++ head-2011-05-23/mm/memory.c 2011-01-31 17:01:49.000000000 +0100
-@@ -960,10 +960,12 @@ static unsigned long zap_pte_range(struc
+--- head-2011-06-30.orig/mm/memory.c 2011-06-30 15:38:34.000000000 +0200
++++ head-2011-06-30/mm/memory.c 2011-06-30 16:01:18.000000000 +0200
+@@ -1157,10 +1157,12 @@ again:
page->index > details->last_index))
continue;
}
@@ -383,9 +383,9 @@ Patch-mainline: n/a
ptent = ptep_get_and_clear_full(mm, addr, pte,
tlb->fullmm);
tlb_remove_tlb_entry(tlb, pte, addr);
---- head-2011-05-23.orig/mm/mmap.c 2011-05-23 10:56:51.000000000 +0200
-+++ head-2011-05-23/mm/mmap.c 2011-05-23 10:59:23.000000000 +0200
-@@ -1934,8 +1934,10 @@ static void unmap_region(struct mm_struc
+--- head-2011-06-30.orig/mm/mmap.c 2011-06-30 15:38:40.000000000 +0200
++++ head-2011-06-30/mm/mmap.c 2011-06-30 16:01:21.000000000 +0200
+@@ -1900,8 +1900,10 @@ static void unmap_region(struct mm_struc
static inline void unmap_vma(struct vm_area_struct *vma)
{
@@ -396,7 +396,7 @@ Patch-mainline: n/a
}
/*
-@@ -2297,8 +2299,10 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2264,8 +2266,10 @@ void exit_mmap(struct mm_struct *mm)
arch_exit_mmap(mm);
@@ -407,8 +407,8 @@ Patch-mainline: n/a
vma = mm->mmap;
if (!vma) /* Can happen if dup_mmap() received an OOM */
---- head-2011-05-23.orig/mm/tmem-xen.c 2011-05-23 10:40:00.000000000 +0200
-+++ head-2011-05-23/mm/tmem-xen.c 2011-05-23 11:03:08.000000000 +0200
+--- head-2011-06-30.orig/mm/tmem-xen.c 2011-05-23 10:40:00.000000000 +0200
++++ head-2011-06-30/mm/tmem-xen.c 2011-05-23 11:03:08.000000000 +0200
@@ -7,8 +7,9 @@
#include <linux/types.h>
#include <xen/interface/xen.h>
diff --git a/patches.xen/xen3-fixup-kconfig b/patches.xen/xen3-fixup-kconfig
index 8c9831d047..3319d96f5d 100644
--- a/patches.xen/xen3-fixup-kconfig
+++ b/patches.xen/xen3-fixup-kconfig
@@ -2,9 +2,9 @@ Subject: Fix xen configuration.
From: jbeulich@novell.com
Patch-mainline: n/a
---- head-2011-04-13.orig/arch/x86/Kconfig 2011-04-13 11:22:00.000000000 +0200
-+++ head-2011-04-13/arch/x86/Kconfig 2011-04-13 12:21:32.000000000 +0200
-@@ -186,6 +186,7 @@ config HAVE_CPUMASK_OF_CPU_MAP
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 15:35:19.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 16:00:41.000000000 +0200
+@@ -191,6 +191,7 @@ config HAVE_CPUMASK_OF_CPU_MAP
config ARCH_HIBERNATION_POSSIBLE
def_bool y
@@ -12,9 +12,9 @@ Patch-mainline: n/a
config ARCH_SUSPEND_POSSIBLE
def_bool y
---- head-2011-04-13.orig/arch/x86/Kconfig.cpu 2011-04-13 11:17:33.000000000 +0200
-+++ head-2011-04-13/arch/x86/Kconfig.cpu 2011-04-13 12:21:36.000000000 +0200
-@@ -8,7 +8,7 @@ choice
+--- head-2011-06-30.orig/arch/x86/Kconfig.cpu 2011-06-30 15:35:37.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig.cpu 2011-06-30 16:00:44.000000000 +0200
+@@ -6,7 +6,7 @@ choice
config M386
bool "386"
@@ -23,7 +23,7 @@ Patch-mainline: n/a
---help---
This is the processor type of your CPU. This information is used for
optimizing purposes. In order to compile a kernel that can run on
-@@ -49,7 +49,7 @@ config M386
+@@ -47,7 +47,7 @@ config M386
config M486
bool "486"
@@ -32,7 +32,7 @@ Patch-mainline: n/a
---help---
Select this for a 486 series processor, either Intel or one of the
compatible processors from AMD, Cyrix, IBM, or Intel. Includes DX,
-@@ -58,7 +58,7 @@ config M486
+@@ -56,7 +56,7 @@ config M486
config M586
bool "586/K5/5x86/6x86/6x86MX"
@@ -41,7 +41,7 @@ Patch-mainline: n/a
---help---
Select this for an 586 or 686 series processor such as the AMD K5,
the Cyrix 5x86, 6x86 and 6x86MX. This choice does not
-@@ -66,14 +66,14 @@ config M586
+@@ -64,14 +64,14 @@ config M586
config M586TSC
bool "Pentium-Classic"
@@ -58,7 +58,7 @@ Patch-mainline: n/a
---help---
Select this for a Pentium with the MMX graphics/multimedia
extended instructions.
-@@ -334,7 +334,7 @@ config X86_PPRO_FENCE
+@@ -338,7 +338,7 @@ config X86_PPRO_FENCE
config X86_F00F_BUG
def_bool y
@@ -67,8 +67,8 @@ Patch-mainline: n/a
config X86_INVD_BUG
def_bool y
---- head-2011-04-13.orig/drivers/xen/Kconfig 2011-04-13 11:17:33.000000000 +0200
-+++ head-2011-04-13/drivers/xen/Kconfig 2011-02-24 14:05:09.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-04-13 11:17:33.000000000 +0200
++++ head-2011-06-30/drivers/xen/Kconfig 2011-02-24 14:05:09.000000000 +0100
@@ -22,6 +22,7 @@ config XEN_PRIVILEGED_GUEST
config XEN_UNPRIVILEGED_GUEST
diff --git a/patches.xen/xen3-fixup-xen b/patches.xen/xen3-fixup-xen
index d1316b2160..fc6b125fc3 100644
--- a/patches.xen/xen3-fixup-xen
+++ b/patches.xen/xen3-fixup-xen
@@ -1,40 +1,41 @@
Subject: Fix Xen build wrt. Xen files coming from mainline.
-From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1085:5df7af6c2cc2)
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1095:3c900d6a5f6a)
Patch-mainline: n/a
Acked-by: jbeulich@novell.com
---- head-2011-05-23.orig/drivers/xen/Makefile 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/Makefile 2011-01-31 15:14:12.000000000 +0100
-@@ -1,24 +1,28 @@
+--- head-2011-06-30.orig/drivers/xen/Makefile 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/Makefile 2011-01-31 15:14:12.000000000 +0100
+@@ -1,25 +1,28 @@
-obj-y += grant-table.o features.o events.o manage.o balloon.o
+obj-y += core/
+obj-y += console/
+obj-y += evtchn/
obj-y += xenbus/
+-obj-y += tmem.o
+obj-y += char/
-nostackp := $(call cc-option, -fno-stack-protector)
-CFLAGS_features.o := $(nostackp)
-
--obj-$(CONFIG_BLOCK) += biomerge.o
--obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
--obj-$(CONFIG_XEN_XENCOMM) += xencomm.o
--obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o
--obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
--obj-$(CONFIG_XEN_GNTDEV) += xen-gntdev.o
+-obj-$(CONFIG_BLOCK) += biomerge.o
+-obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
+-obj-$(CONFIG_XEN_XENCOMM) += xencomm.o
+-obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o
+-obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
+-obj-$(CONFIG_XEN_GNTDEV) += xen-gntdev.o
-obj-$(CONFIG_XEN_GRANT_DEV_ALLOC) += xen-gntalloc.o
--obj-$(CONFIG_XENFS) += xenfs/
+-obj-$(CONFIG_XENFS) += xenfs/
-obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
--obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o
--obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
--obj-$(CONFIG_XEN_DOM0) += pci.o
+-obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o
+-obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
+-obj-$(CONFIG_XEN_DOM0) += pci.o
-
--xen-evtchn-y := evtchn.o
+-xen-evtchn-y := evtchn.o
-xen-gntdev-y := gntdev.o
-xen-gntalloc-y := gntalloc.o
-
--xen-platform-pci-y := platform-pci.o
+-xen-platform-pci-y := platform-pci.o
+obj-y += util.o
+obj-$(CONFIG_XEN_BALLOON) += balloon/
+obj-$(CONFIG_XEN_BLKDEV_BACKEND) += blkback/
@@ -57,8 +58,8 @@ Acked-by: jbeulich@novell.com
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_UTIL) += sfc_netutil/
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_FRONTEND) += sfc_netfront/
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_BACKEND) += sfc_netback/
---- head-2011-05-23.orig/drivers/xen/xenbus/Makefile 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/Makefile 2011-02-02 17:06:11.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/Makefile 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/Makefile 2011-02-02 17:06:11.000000000 +0100
@@ -1,12 +1,9 @@
-obj-y += xenbus.o
+obj-y += xenbus_client.o xenbus_comms.o xenbus_xs.o xenbus_probe.o
@@ -79,8 +80,8 @@ Acked-by: jbeulich@novell.com
+xenbus-$(CONFIG_XEN_BACKEND) += xenbus_probe_backend.o
+obj-y += $(xenbus-y) $(xenbus-m)
+obj-$(CONFIG_XEN_XENBUS_DEV) += xenbus_dev.o
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_client.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_client.c 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_client.c 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_client.c 2011-06-30 15:37:44.000000000 +0200
@@ -31,14 +31,17 @@
*/
@@ -360,11 +361,11 @@ Acked-by: jbeulich@novell.com
- const char *fmt, ...)
-{
- va_list ap;
--
+
- va_start(ap, fmt);
- xenbus_va_dev_error(dev, err, fmt, ap);
- va_end(ap);
-
+-
- if (!depth)
- __xenbus_switch_state(dev, XenbusStateClosing, 1);
-}
@@ -438,7 +439,7 @@ Acked-by: jbeulich@novell.com
int xenbus_free_evtchn(struct xenbus_device *dev, int port)
{
struct evtchn_close close;
-@@ -418,189 +270,6 @@ int xenbus_free_evtchn(struct xenbus_dev
+@@ -418,194 +270,11 @@ int xenbus_free_evtchn(struct xenbus_dev
EXPORT_SYMBOL_GPL(xenbus_free_evtchn);
@@ -627,9 +628,17 @@ Acked-by: jbeulich@novell.com
- */
enum xenbus_state xenbus_read_driver_state(const char *path)
{
- enum xenbus_state result;
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_comms.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 13:43:15.000000000 +0200
+- enum xenbus_state result;
+- int err = xenbus_gather(XBT_NIL, path, "state", "%d", &result, NULL);
+- if (err)
++ int result;
++
++ if (xenbus_scanf(XBT_NIL, path, "state", "%d", &result) != 1)
+ result = XenbusStateUnknown;
+
+ return result;
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_comms.c 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 13:43:15.000000000 +0200
@@ -34,25 +34,55 @@
#include <linux/interrupt.h>
#include <linux/sched.h>
@@ -760,8 +769,8 @@ Acked-by: jbeulich@novell.com
+
return 0;
}
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_comms.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_comms.h 2011-04-11 13:43:15.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_comms.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_comms.h 2011-04-11 13:43:15.000000000 +0200
@@ -43,4 +43,27 @@ int xs_input_avail(void);
extern struct xenstore_domain_interface *xen_store_interface;
extern int xen_store_evtchn;
@@ -790,8 +799,8 @@ Acked-by: jbeulich@novell.com
+#endif
+
#endif /* _XENBUS_COMMS_H */
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_probe.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_probe.c 2011-04-11 13:43:15.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_probe.c 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_probe.c 2011-06-30 15:37:44.000000000 +0200
@@ -4,6 +4,7 @@
* Copyright (C) 2005 Rusty Russell, IBM Corporation
* Copyright (C) 2005 Mike Wray, Hewlett-Packard
@@ -1525,7 +1534,7 @@ Acked-by: jbeulich@novell.com
EXPORT_SYMBOL_GPL(register_xenstore_notifier);
void unregister_xenstore_notifier(struct notifier_block *nb)
-@@ -672,51 +860,268 @@ void unregister_xenstore_notifier(struct
+@@ -672,51 +860,269 @@ void unregister_xenstore_notifier(struct
blocking_notifier_chain_unregister(&xenstore_chain, nb);
}
EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);
@@ -1537,7 +1546,8 @@ Acked-by: jbeulich@novell.com
+
+static void xenbus_reset_state_changed(struct xenbus_watch *w, const char **v, unsigned int l)
+{
-+ xenbus_scanf(XBT_NIL, v[XS_WATCH_PATH], "", "%i", &be_state);
++ if (xenbus_scanf(XBT_NIL, v[XS_WATCH_PATH], "", "%i", &be_state) != 1)
++ be_state = XenbusStateUnknown;
+ printk(KERN_INFO "XENBUS: %s %s\n", v[XS_WATCH_PATH], xenbus_strstate(be_state));
+ wake_up(&be_state_wq);
+}
@@ -1811,7 +1821,7 @@ Acked-by: jbeulich@novell.com
xen_store_mfn = xen_start_info->store_mfn =
pfn_to_mfn(virt_to_phys((void *)page) >>
-@@ -724,63 +1129,226 @@ static int __init xenbus_init(void)
+@@ -724,63 +1130,226 @@ static int __init xenbus_init(void)
/* Next allocate a local port which xenstored can bind to */
alloc_unbound.dom = DOMID_SELF;
@@ -2068,8 +2078,8 @@ Acked-by: jbeulich@novell.com
+ return bus_for_each_dev(&xenbus_frontend.bus, NULL, arg, fn);
+}
+EXPORT_SYMBOL_GPL(xenbus_for_each_frontend);
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_probe.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_probe.h 2011-01-31 16:11:24.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_probe.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_probe.h 2011-01-31 16:11:24.000000000 +0100
@@ -34,45 +34,47 @@
#ifndef _XENBUS_PROBE_H
#define _XENBUS_PROBE_H
@@ -2139,8 +2149,8 @@ Acked-by: jbeulich@novell.com
+extern void dev_changed(const char *node, struct xen_bus_type *bus);
#endif
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_probe_backend.c 2011-02-01 14:49:58.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_probe_backend.c 2011-02-01 14:49:58.000000000 +0100
@@ -33,7 +33,7 @@
#define DPRINTK(fmt, args...) \
@@ -2451,8 +2461,8 @@ Acked-by: jbeulich@novell.com
}
-subsys_initcall(xenbus_probe_backend_init);
+EXPORT_SYMBOL_GPL(xenbus_for_each_backend);
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_xs.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_xs.c 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_xs.c 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_xs.c 2011-06-30 15:37:44.000000000 +0200
@@ -47,6 +47,14 @@
#include <xen/xenbus.h>
#include "xenbus_comms.h"
@@ -2477,14 +2487,28 @@ Acked-by: jbeulich@novell.com
static DECLARE_WAIT_QUEUE_HEAD(watch_events_waitq);
static int get_error(const char *errorstring)
-@@ -212,14 +220,13 @@ void *xenbus_dev_request_and_reply(struc
+@@ -195,10 +203,10 @@ static void transaction_resume(void)
+ void *xenbus_dev_request_and_reply(struct xsd_sockmsg *msg)
+ {
+ void *ret;
+- struct xsd_sockmsg req_msg = *msg;
++ enum xsd_sockmsg_type type = msg->type;
+ int err;
+
+- if (req_msg.type == XS_TRANSACTION_START)
++ if (type == XS_TRANSACTION_START)
+ transaction_start();
+
+ mutex_lock(&xs_state.request_mutex);
+@@ -212,14 +220,12 @@ void *xenbus_dev_request_and_reply(struc
mutex_unlock(&xs_state.request_mutex);
- if ((msg->type == XS_TRANSACTION_END) ||
-+ if ((req_msg.type == XS_TRANSACTION_END) ||
- ((req_msg.type == XS_TRANSACTION_START) &&
- (msg->type == XS_ERROR)))
+- ((req_msg.type == XS_TRANSACTION_START) &&
+- (msg->type == XS_ERROR)))
++ if ((type == XS_TRANSACTION_END) ||
++ ((type == XS_TRANSACTION_START) && (msg->type == XS_ERROR)))
transaction_end();
return ret;
@@ -2493,7 +2517,7 @@ Acked-by: jbeulich@novell.com
/* Send message to xs, get kmalloc'ed reply. ERR_PTR() on error. */
static void *xs_talkv(struct xenbus_transaction t,
-@@ -330,7 +337,7 @@ static char **split(char *strings, unsig
+@@ -330,7 +336,7 @@ static char **split(char *strings, unsig
char *p, **ret;
/* Count the strings. */
@@ -2502,7 +2526,7 @@ Acked-by: jbeulich@novell.com
/* Transfer to one big alloc for easy freeing. */
ret = kmalloc(*num * sizeof(char *) + len, GFP_NOIO | __GFP_HIGH);
-@@ -344,6 +351,7 @@ static char **split(char *strings, unsig
+@@ -344,6 +350,7 @@ static char **split(char *strings, unsig
strings = (char *)&ret[*num];
for (p = strings, *num = 0; p < strings + len; p += strlen(p) + 1)
ret[(*num)++] = p;
@@ -2510,7 +2534,7 @@ Acked-by: jbeulich@novell.com
return ret;
}
-@@ -657,6 +665,8 @@ void unregister_xenbus_watch(struct xenb
+@@ -657,6 +664,8 @@ void unregister_xenbus_watch(struct xenb
char token[sizeof(watch) * 2 + 1];
int err;
@@ -2519,7 +2543,7 @@ Acked-by: jbeulich@novell.com
sprintf(token, "%lX", (long)watch);
down_read(&xs_state.watch_mutex);
-@@ -674,11 +684,6 @@ void unregister_xenbus_watch(struct xenb
+@@ -674,11 +683,6 @@ void unregister_xenbus_watch(struct xenb
up_read(&xs_state.watch_mutex);
@@ -2531,7 +2555,7 @@ Acked-by: jbeulich@novell.com
/* Cancel pending watch events. */
spin_lock(&watch_events_lock);
list_for_each_entry_safe(msg, tmp, &watch_events, list) {
-@@ -690,8 +695,11 @@ void unregister_xenbus_watch(struct xenb
+@@ -690,8 +694,11 @@ void unregister_xenbus_watch(struct xenb
}
spin_unlock(&watch_events_lock);
@@ -2544,7 +2568,7 @@ Acked-by: jbeulich@novell.com
}
EXPORT_SYMBOL_GPL(unregister_xenbus_watch);
-@@ -708,8 +716,6 @@ void xs_resume(void)
+@@ -708,8 +715,6 @@ void xs_resume(void)
struct xenbus_watch *watch;
char token[sizeof(watch) * 2 + 1];
@@ -2553,7 +2577,7 @@ Acked-by: jbeulich@novell.com
mutex_unlock(&xs_state.response_mutex);
mutex_unlock(&xs_state.request_mutex);
transaction_resume();
-@@ -731,11 +737,30 @@ void xs_suspend_cancel(void)
+@@ -731,11 +736,30 @@ void xs_suspend_cancel(void)
mutex_unlock(&xs_state.transaction_mutex);
}
@@ -2584,7 +2608,7 @@ Acked-by: jbeulich@novell.com
for (;;) {
wait_event_interruptible(watch_events_waitq,
!list_empty(&watch_events));
-@@ -751,17 +776,29 @@ static int xenwatch_thread(void *unused)
+@@ -751,17 +775,29 @@ static int xenwatch_thread(void *unused)
list_del(ent);
spin_unlock(&watch_events_lock);
@@ -2623,7 +2647,7 @@ Acked-by: jbeulich@novell.com
}
return 0;
-@@ -855,6 +892,7 @@ static int xenbus_thread(void *unused)
+@@ -855,6 +891,7 @@ static int xenbus_thread(void *unused)
{
int err;
@@ -2631,7 +2655,7 @@ Acked-by: jbeulich@novell.com
for (;;) {
err = process_msg();
if (err)
-@@ -869,7 +907,6 @@ static int xenbus_thread(void *unused)
+@@ -869,7 +906,6 @@ static int xenbus_thread(void *unused)
int xs_init(void)
{
@@ -2639,7 +2663,7 @@ Acked-by: jbeulich@novell.com
struct task_struct *task;
INIT_LIST_HEAD(&xs_state.reply_list);
-@@ -883,11 +920,6 @@ int xs_init(void)
+@@ -883,11 +919,6 @@ int xs_init(void)
atomic_set(&xs_state.transaction_count, 0);
init_waitqueue_head(&xs_state.transaction_wq);
@@ -2651,8 +2675,8 @@ Acked-by: jbeulich@novell.com
task = kthread_run(xenwatch_thread, NULL, "xenwatch");
if (IS_ERR(task))
return PTR_ERR(task);
---- head-2011-05-23.orig/include/xen/balloon.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/balloon.h 2007-06-12 13:14:19.000000000 +0200
+--- head-2011-06-30.orig/include/xen/balloon.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/balloon.h 2007-06-12 13:14:19.000000000 +0200
@@ -1,25 +1,57 @@
/******************************************************************************
- * Xen balloon functionality
@@ -2729,8 +2753,8 @@ Acked-by: jbeulich@novell.com
-int alloc_xenballooned_pages(int nr_pages, struct page** pages);
-void free_xenballooned_pages(int nr_pages, struct page** pages);
+#endif /* __ASM_BALLOON_H__ */
---- head-2011-05-23.orig/include/xen/evtchn.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/evtchn.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/evtchn.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/evtchn.h 2011-01-31 15:14:12.000000000 +0100
@@ -1,7 +1,11 @@
+#if defined(CONFIG_PARAVIRT_XEN) || !defined(__KERNEL__)
+#include "public/evtchn.h"
@@ -2906,8 +2930,8 @@ Acked-by: jbeulich@novell.com
-#endif /* __LINUX_PUBLIC_EVTCHN_H__ */
+#endif /* __ASM_EVTCHN_H__ */
+#endif /* CONFIG_PARAVIRT_XEN */
---- head-2011-05-23.orig/include/xen/hvm.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/hvm.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/hvm.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/hvm.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,9 +3,8 @@
#define XEN_HVM_H__
@@ -2937,8 +2961,8 @@ Acked-by: jbeulich@novell.com
- HVM_CALLBACK_VIA_TYPE_SHIFT | (x))
-
#endif /* XEN_HVM_H__ */
---- head-2011-05-23.orig/include/xen/interface/callback.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/callback.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/callback.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/callback.h 2011-01-31 15:14:12.000000000 +0100
@@ -86,6 +86,8 @@ struct callback_register {
uint16_t flags;
xen_callback_t address;
@@ -2961,8 +2985,8 @@ Acked-by: jbeulich@novell.com
+#endif
#endif /* __XEN_PUBLIC_CALLBACK_H__ */
---- head-2011-05-23.orig/include/xen/interface/elfnote.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/elfnote.h 2011-03-17 13:50:24.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/elfnote.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/elfnote.h 2011-03-17 13:50:24.000000000 +0100
@@ -3,6 +3,24 @@
*
* Definitions used for the Xen ELF notes.
@@ -3103,8 +3127,8 @@ Acked-by: jbeulich@novell.com
#endif /* __XEN_PUBLIC_ELFNOTE_H__ */
/*
---- head-2011-05-23.orig/include/xen/interface/event_channel.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/event_channel.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/event_channel.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/event_channel.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Event channels between domains.
@@ -3434,8 +3458,8 @@ Acked-by: jbeulich@novell.com
+DEFINE_XEN_GUEST_HANDLE(evtchn_op_t);
#endif /* __XEN_PUBLIC_EVENT_CHANNEL_H__ */
---- head-2011-05-23.orig/include/xen/interface/features.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/features.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/features.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/features.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Feature flags, reported by XENVER_get_features.
@@ -3477,8 +3501,8 @@ Acked-by: jbeulich@novell.com
/* x86: Does this Xen host support the HVM callback vector type? */
#define XENFEAT_hvm_callback_vector 8
---- head-2011-05-23.orig/include/xen/interface/grant_table.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/grant_table.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/grant_table.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/grant_table.h 2011-01-31 15:14:12.000000000 +0100
@@ -85,12 +85,26 @@
*/
@@ -3886,8 +3910,8 @@ Acked-by: jbeulich@novell.com
}
#endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */
---- head-2011-05-23.orig/include/xen/interface/hvm/hvm_op.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/hvm/hvm_op.h 2011-05-23 10:40:00.000000000 +0200
+--- head-2011-06-30.orig/include/xen/interface/hvm/hvm_op.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/hvm/hvm_op.h 2011-05-23 10:40:00.000000000 +0200
@@ -21,6 +21,9 @@
#ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
#define __XEN_PUBLIC_HVM_HVM_OP_H__
@@ -4115,8 +4139,8 @@ Acked-by: jbeulich@novell.com
+DEFINE_XEN_GUEST_HANDLE(xen_hvm_get_mem_type_t);
+
#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
---- head-2011-05-23.orig/include/xen/interface/hvm/params.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/hvm/params.h 2011-05-23 10:40:00.000000000 +0200
+--- head-2011-06-30.orig/include/xen/interface/hvm/params.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/hvm/params.h 2011-05-23 10:40:00.000000000 +0200
@@ -33,11 +33,17 @@
* val[63:56] == 1: val[55:0] is a delivery PCI INTx line, as follows:
* Domain = val[47:32], Bus = val[31:16],
@@ -4195,8 +4219,8 @@ Acked-by: jbeulich@novell.com
+#define HVM_NR_PARAMS 25
#endif /* __XEN_PUBLIC_HVM_PARAMS_H__ */
---- head-2011-05-23.orig/include/xen/interface/io/blkif.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/blkif.h 2011-03-17 13:50:24.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/blkif.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/blkif.h 2011-07-01 16:32:10.000000000 +0200
@@ -3,6 +3,24 @@
*
* Unified block-device I/O interface for Xen guest OSes.
@@ -4244,24 +4268,18 @@ Acked-by: jbeulich@novell.com
* requests are likely to succeed or fail. Either way, a barrier request
* may fail at any time with BLKIF_RSP_EOPNOTSUPP if it is unsupported by
* the underlying block-device hardware. The boolean simply indicates whether
-@@ -43,39 +63,96 @@ typedef uint64_t blkif_sector_t;
+@@ -43,7 +63,6 @@ typedef uint64_t blkif_sector_t;
* create the "feature-barrier" node!
*/
#define BLKIF_OP_WRITE_BARRIER 2
-+/*
-+ * Recognised if "feature-flush-cache" is present in backend xenbus
-+ * info. A flush will ask the underlying storage hardware to flush its
-+ * non-volatile caches as appropriate. The "feature-flush-cache" node
-+ * contains a boolean indicating whether flush requests are likely to
-+ * succeed or fail. Either way, a flush request may fail at any time
-+ * with BLKIF_RSP_EOPNOTSUPP if it is unsupported by the underlying
-+ * block-device hardware. The boolean simply indicates whether or not it
-+ * is worthwhile for the frontend to attempt flushes. If a backend does
-+ * not recognise BLKIF_OP_WRITE_FLUSH_CACHE, it should *not* create the
-+ * "feature-flush-cache" node!
-+ */
-+#define BLKIF_OP_FLUSH_DISKCACHE 3
-+/*
+-
+ /*
+ * Recognised if "feature-flush-cache" is present in backend xenbus
+ * info. A flush will ask the underlying storage hardware to flush its
+@@ -58,37 +77,82 @@ typedef uint64_t blkif_sector_t;
+ */
+ #define BLKIF_OP_FLUSH_DISKCACHE 3
+ /*
+ * Used in SLES sources for device specific command packet
+ * contained within the request. Reserved for that purpose.
+ */
@@ -4286,8 +4304,8 @@ Acked-by: jbeulich@novell.com
+ * e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc
+ */
+#define BLKIF_OP_TRIM 5
-
- /*
++
++/*
* Maximum scatter/gather segments per request.
- * This is carefully chosen so that sizeof(struct blkif_ring) <= PAGE_SIZE.
+ * This is carefully chosen so that sizeof(blkif_ring_t) <= PAGE_SIZE.
@@ -4360,8 +4378,8 @@ Acked-by: jbeulich@novell.com
/*
* STATUS RETURN CODES.
---- head-2011-05-23.orig/include/xen/interface/io/console.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/console.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/console.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/console.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Console I/O interface for Xen guest OSes.
@@ -4387,8 +4405,8 @@ Acked-by: jbeulich@novell.com
* Copyright (c) 2005, Keir Fraser
*/
---- head-2011-05-23.orig/include/xen/interface/io/fbif.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/fbif.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/fbif.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/fbif.h 2011-01-31 15:14:12.000000000 +0100
@@ -41,12 +41,13 @@
*/
#define XENFB_TYPE_UPDATE 2
@@ -4553,8 +4571,8 @@ Acked-by: jbeulich@novell.com
};
/*
---- head-2011-05-23.orig/include/xen/interface/io/kbdif.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/kbdif.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/kbdif.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/kbdif.h 2011-01-31 15:14:12.000000000 +0100
@@ -45,34 +45,38 @@
*/
#define XENKBD_TYPE_POS 4
@@ -4662,8 +4680,8 @@ Acked-by: jbeulich@novell.com
};
#endif
---- head-2011-05-23.orig/include/xen/interface/io/netif.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/netif.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/netif.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/netif.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Unified network-device I/O interface for Xen guest OSes.
@@ -4906,8 +4924,8 @@ Acked-by: jbeulich@novell.com
+#define NETIF_RSP_NULL 1
#endif
---- head-2011-05-23.orig/include/xen/interface/io/protocols.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/protocols.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/protocols.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/protocols.h 2011-01-31 15:14:12.000000000 +0100
@@ -1,10 +1,31 @@
+/******************************************************************************
+ * protocols.h
@@ -4950,8 +4968,8 @@ Acked-by: jbeulich@novell.com
#else
# error arch fixup needed here
#endif
---- head-2011-05-23.orig/include/xen/interface/io/ring.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/ring.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/ring.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/ring.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,16 +3,42 @@
*
* Shared producer-consumer ring macros.
@@ -5337,8 +5355,8 @@ Acked-by: jbeulich@novell.com
} while (0)
#endif /* __XEN_PUBLIC_IO_RING_H__ */
---- head-2011-05-23.orig/include/xen/interface/io/xenbus.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/xenbus.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/xenbus.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/xenbus.h 2011-01-31 15:14:12.000000000 +0100
@@ -36,6 +36,7 @@ enum xenbus_state
XenbusStateReconfigured = 8
@@ -5347,8 +5365,8 @@ Acked-by: jbeulich@novell.com
#endif /* _XEN_PUBLIC_IO_XENBUS_H */
---- head-2011-05-23.orig/include/xen/interface/io/xs_wire.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/io/xs_wire.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/io/xs_wire.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/io/xs_wire.h 2011-01-31 15:14:12.000000000 +0100
@@ -1,6 +1,25 @@
/*
* Details of the "wire" protocol between Xen Store Daemon and client
@@ -5423,8 +5441,8 @@ Acked-by: jbeulich@novell.com
+#define XENSTORE_REL_PATH_MAX 2048
+
#endif /* _XS_WIRE_H */
---- head-2011-05-23.orig/include/xen/interface/memory.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/memory.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/memory.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/memory.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,13 +3,31 @@
*
* Memory reservation and information.
@@ -5685,8 +5703,8 @@ Acked-by: jbeulich@novell.com
+#define XENMEM_get_sharing_freed_pages 18
+
#endif /* __XEN_PUBLIC_MEMORY_H__ */
---- head-2011-05-23.orig/include/xen/interface/physdev.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/physdev.h 2011-03-17 13:50:24.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/physdev.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/physdev.h 2011-03-17 13:50:24.000000000 +0100
@@ -21,6 +21,8 @@
#ifndef __XEN_PUBLIC_PHYSDEV_H__
#define __XEN_PUBLIC_PHYSDEV_H__
@@ -5852,8 +5870,8 @@ Acked-by: jbeulich@novell.com
/*
* Notify that some PIRQ-bound event channels have been unmasked.
* ** This command is obsolete since interface version 0x00030202 and is **
---- head-2011-05-23.orig/include/xen/interface/sched.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/sched.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/sched.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/sched.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Scheduler state interactions
@@ -5943,8 +5961,8 @@ Acked-by: jbeulich@novell.com
/*
* Reason codes for SCHEDOP_shutdown. These may be interpreted by control
---- head-2011-05-23.orig/include/xen/interface/vcpu.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/vcpu.h 2011-03-17 13:50:24.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/vcpu.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/vcpu.h 2011-03-17 13:50:24.000000000 +0100
@@ -27,11 +27,13 @@
#ifndef __XEN_PUBLIC_VCPU_H__
#define __XEN_PUBLIC_VCPU_H__
@@ -6180,8 +6198,8 @@ Acked-by: jbeulich@novell.com
+DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
#endif /* __XEN_PUBLIC_VCPU_H__ */
---- head-2011-05-23.orig/include/xen/interface/version.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/version.h 2011-01-31 15:14:12.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/version.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/version.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
* Xen version, type, and compile information.
@@ -6276,8 +6294,8 @@ Acked-by: jbeulich@novell.com
+typedef char xen_commandline_t[1024];
+
#endif /* __XEN_PUBLIC_VERSION_H__ */
---- head-2011-05-23.orig/include/xen/interface/xen.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/interface/xen.h 2011-03-17 13:50:24.000000000 +0100
+--- head-2011-06-30.orig/include/xen/interface/xen.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/interface/xen.h 2011-06-30 15:56:26.000000000 +0200
@@ -3,35 +3,69 @@
*
* Guest OS interface to Xen.
@@ -6373,7 +6391,7 @@ Acked-by: jbeulich@novell.com
#define __HYPERVISOR_grant_table_op 20
#define __HYPERVISOR_vm_assist 21
#define __HYPERVISOR_update_va_mapping_otherdomain 22
-@@ -50,14 +84,18 @@
+@@ -50,14 +84,17 @@
#define __HYPERVISOR_vcpu_op 24
#define __HYPERVISOR_set_segment_base 25 /* x86/64 only */
#define __HYPERVISOR_mmuext_op 26
@@ -6390,11 +6408,10 @@ Acked-by: jbeulich@novell.com
+#define __HYPERVISOR_sysctl 35
+#define __HYPERVISOR_domctl 36
+#define __HYPERVISOR_kexec_op 37
-+#define __HYPERVISOR_tmem_op 38
+ #define __HYPERVISOR_tmem_op 38
/* Architecture-specific hypercall definitions. */
- #define __HYPERVISOR_arch_0 48
-@@ -70,15 +108,49 @@
+@@ -71,15 +108,49 @@
#define __HYPERVISOR_arch_7 55
/*
@@ -6450,7 +6467,7 @@ Acked-by: jbeulich@novell.com
/* Architecture-specific VIRQ definitions. */
#define VIRQ_ARCH_0 16
-@@ -91,19 +163,28 @@
+@@ -92,19 +163,28 @@
#define VIRQ_ARCH_7 23
#define NR_VIRQS 24
@@ -6488,7 +6505,7 @@ Acked-by: jbeulich@novell.com
* FD == DOMID_IO: Permit /only/ I/O mappings, at the priv level of the caller.
* FD == DOMID_XEN: Map restricted areas of Xen's heap space.
* ptr[:2] -- Machine address of the page-table entry to modify.
-@@ -119,8 +200,8 @@
+@@ -120,8 +200,8 @@
* As MMU_NORMAL_PT_UPDATE above, but A/D bits currently in the PTE are ORed
* with those in @val.
*/
@@ -6499,7 +6516,7 @@ Acked-by: jbeulich@novell.com
#define MMU_PT_UPDATE_PRESERVE_AD 2 /* atomically: *ptr = val | (*ptr&(A|D)) */
/*
-@@ -163,9 +244,23 @@
+@@ -164,9 +244,23 @@
* cmd: MMUEXT_FLUSH_CACHE
* No additional arguments. Writes back and flushes cache contents.
*
@@ -6523,7 +6540,7 @@ Acked-by: jbeulich@novell.com
*/
#define MMUEXT_PIN_L1_TABLE 0
#define MMUEXT_PIN_L2_TABLE 1
-@@ -182,24 +277,37 @@
+@@ -183,24 +277,37 @@
#define MMUEXT_FLUSH_CACHE 12
#define MMUEXT_SET_LDT 13
#define MMUEXT_NEW_USER_BASEPTR 15
@@ -6575,7 +6592,7 @@ Acked-by: jbeulich@novell.com
#endif
/* These are passed as 'flags' to update_va_mapping. They can be ORed. */
-@@ -224,11 +332,24 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
+@@ -225,11 +332,24 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
*/
#define VMASST_CMD_enable 0
#define VMASST_CMD_disable 1
@@ -6601,7 +6618,7 @@ Acked-by: jbeulich@novell.com
#ifndef __ASSEMBLY__
-@@ -260,6 +381,16 @@ typedef uint16_t domid_t;
+@@ -261,6 +381,16 @@ typedef uint16_t domid_t;
#define DOMID_XEN (0x7FF2U)
/*
@@ -6618,7 +6635,7 @@ Acked-by: jbeulich@novell.com
* Send an array of these to HYPERVISOR_mmu_update().
* NB. The fields are natural pointer/address size for this architecture.
*/
-@@ -267,18 +398,19 @@ struct mmu_update {
+@@ -268,18 +398,19 @@ struct mmu_update {
uint64_t ptr; /* Machine address of PTE. */
uint64_t val; /* New contents of PTE. */
};
@@ -6642,7 +6659,7 @@ Acked-by: jbeulich@novell.com
/*
* Event channel endpoints per domain:
-@@ -287,173 +419,274 @@ DEFINE_GUEST_HANDLE_STRUCT(multicall_ent
+@@ -288,173 +419,274 @@ DEFINE_GUEST_HANDLE_STRUCT(multicall_ent
#define NR_EVENT_CHANNELS (sizeof(unsigned long) * sizeof(unsigned long) * 64)
struct vcpu_time_info {
@@ -7047,19 +7064,38 @@ Acked-by: jbeulich@novell.com
typedef uint8_t xen_domain_handle_t[16];
-@@ -461,6 +694,11 @@ typedef uint8_t xen_domain_handle_t[16];
+@@ -462,26 +694,10 @@ typedef uint8_t xen_domain_handle_t[16];
#define __mk_unsigned_long(x) x ## UL
#define mk_unsigned_long(x) __mk_unsigned_long(x)
+-#define TMEM_SPEC_VERSION 1
+-
+-struct tmem_op {
+- uint32_t cmd;
+- int32_t pool_id;
+- union {
+- struct { /* for cmd == TMEM_NEW_POOL */
+- uint64_t uuid[2];
+- uint32_t flags;
+- } new;
+- struct {
+- uint64_t oid[3];
+- uint32_t index;
+- uint32_t tmem_offset;
+- uint32_t pfn_offset;
+- uint32_t len;
+- GUEST_HANDLE(void) gmfn; /* guest machine page frame */
+- } gen;
+- } u;
+-};
+__DEFINE_XEN_GUEST_HANDLE(uint8, uint8_t);
+__DEFINE_XEN_GUEST_HANDLE(uint16, uint16_t);
+__DEFINE_XEN_GUEST_HANDLE(uint32, uint32_t);
+__DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
-+
+
#else /* __ASSEMBLY__ */
- /* In assembly code we cannot use C numeric constant suffixes. */
-@@ -468,4 +706,23 @@ typedef uint8_t xen_domain_handle_t[16];
+@@ -490,4 +706,23 @@ struct tmem_op {
#endif /* !__ASSEMBLY__ */
@@ -7083,8 +7119,8 @@ Acked-by: jbeulich@novell.com
+#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
+
#endif /* __XEN_PUBLIC_XEN_H__ */
---- head-2011-05-23.orig/include/xen/xenbus.h 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/include/xen/xenbus.h 2011-04-11 13:43:15.000000000 +0200
+--- head-2011-06-30.orig/include/xen/xenbus.h 2011-07-01 16:31:53.000000000 +0200
++++ head-2011-06-30/include/xen/xenbus.h 2011-06-30 15:37:44.000000000 +0200
@@ -39,7 +39,7 @@
#include <linux/mutex.h>
#include <linux/completion.h>
@@ -7287,7 +7323,7 @@ Acked-by: jbeulich@novell.com
+ * formatted message.
+ */
+void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt,
-+ ...);
++ ...) __attribute__((__format__(__printf__, 3, 4)));
+
+
+/***
@@ -7296,7 +7332,7 @@ Acked-by: jbeulich@novell.com
+ * closedown of this driver and its peer.
+ */
+void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt,
-+ ...);
++ ...) __attribute__((__format__(__printf__, 3, 4)));
+
+int xenbus_dev_init(void);
diff --git a/patches.xen/xen3-patch-2.6.18 b/patches.xen/xen3-patch-2.6.18
index 5417409d04..0c0b653545 100644
--- a/patches.xen/xen3-patch-2.6.18
+++ b/patches.xen/xen3-patch-2.6.18
@@ -6,9 +6,9 @@ Automatically created from "patches.kernel.org/patch-2.6.18" by xen-port-patches
Acked-by: jbeulich@novell.com
---- head-2011-04-28.orig/arch/x86/Kconfig 2011-04-13 12:21:32.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig 2011-04-28 11:09:05.000000000 +0200
-@@ -88,7 +88,6 @@ config ARCH_DEFCONFIG
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 16:00:41.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 16:01:48.000000000 +0200
+@@ -86,7 +86,6 @@ config ARCH_DEFCONFIG
config GENERIC_CMOS_UPDATE
def_bool y
@@ -16,7 +16,7 @@ Acked-by: jbeulich@novell.com
config CLOCKSOURCE_WATCHDOG
def_bool y
-@@ -1592,7 +1591,7 @@ config KEXEC_JUMP
+@@ -1588,7 +1587,7 @@ config KEXEC_JUMP
code in physical address mode via KEXEC
config PHYSICAL_START
@@ -25,17 +25,17 @@ Acked-by: jbeulich@novell.com
default "0x1000000"
---help---
This gives the physical address where the kernel is loaded.
---- head-2011-04-28.orig/arch/x86/kernel/Makefile 2011-04-13 11:31:41.000000000 +0200
-+++ head-2011-04-28/arch/x86/kernel/Makefile 2011-04-13 12:22:39.000000000 +0200
-@@ -131,5 +131,5 @@ ifeq ($(CONFIG_X86_64),y)
+--- head-2011-06-30.orig/arch/x86/kernel/Makefile 2011-06-30 15:39:36.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/Makefile 2011-06-30 16:01:54.000000000 +0200
+@@ -135,5 +135,5 @@ ifeq ($(CONFIG_X86_64),y)
pci-dma_64-$(CONFIG_XEN) += pci-dma_32.o
endif
-disabled-obj-$(CONFIG_XEN) := i8259_$(BITS).o reboot.o smpboot_$(BITS).o
+disabled-obj-$(CONFIG_XEN) := i8253.o i8259_$(BITS).o reboot.o smpboot_$(BITS).o tsc_$(BITS).o
%/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
---- head-2011-04-28.orig/arch/x86/kernel/quirks.c 2011-04-28 11:04:08.000000000 +0200
-+++ head-2011-04-28/arch/x86/kernel/quirks.c 2011-02-28 15:04:15.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/quirks.c 2011-01-05 01:50:19.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/quirks.c 2011-02-28 15:04:15.000000000 +0100
@@ -6,7 +6,7 @@
#include <asm/hpet.h>
@@ -67,8 +67,8 @@ Acked-by: jbeulich@novell.com
}
/* put back the original value for config space*/
---- head-2011-04-28.orig/arch/x86/kernel/setup64-xen.c 2008-01-28 12:24:19.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/setup64-xen.c 2011-01-31 17:02:29.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup64-xen.c 2008-01-28 12:24:19.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/setup64-xen.c 2011-01-31 17:02:29.000000000 +0100
@@ -363,5 +363,7 @@ void __cpuinit cpu_init (void)
fpu_init();
@@ -78,8 +78,8 @@ Acked-by: jbeulich@novell.com
+ if (raw_irqs_disabled())
+ kernel_eflags &= ~X86_EFLAGS_IF;
}
---- head-2011-04-28.orig/arch/x86/kernel/time-xen.c 2010-08-31 09:24:21.000000000 +0200
-+++ head-2011-04-28/arch/x86/kernel/time-xen.c 2011-01-31 17:02:29.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2010-08-31 09:24:21.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-01-31 17:02:29.000000000 +0100
@@ -45,7 +45,6 @@
#include <linux/sysdev.h>
#include <linux/bcd.h>
@@ -335,9 +335,9 @@ Acked-by: jbeulich@novell.com
timer_name[cpu],
NULL);
if (irq < 0)
---- head-2011-04-28.orig/drivers/acpi/processor_perflib.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-04-28/drivers/acpi/processor_perflib.c 2011-01-31 17:02:29.000000000 +0100
-@@ -578,6 +578,8 @@ end:
+--- head-2011-06-30.orig/drivers/acpi/processor_perflib.c 2011-06-30 15:36:54.000000000 +0200
++++ head-2011-06-30/drivers/acpi/processor_perflib.c 2011-06-30 16:02:05.000000000 +0200
+@@ -574,6 +574,8 @@ end:
return result;
}
@@ -346,14 +346,14 @@ Acked-by: jbeulich@novell.com
int acpi_processor_preregister_performance(
struct acpi_processor_performance __percpu *performance)
{
-@@ -793,3 +795,5 @@ acpi_processor_unregister_performance(st
+@@ -789,3 +791,5 @@ acpi_processor_unregister_performance(st
}
EXPORT_SYMBOL(acpi_processor_unregister_performance);
+
+#endif /* !CONFIG_PROCESSOR_EXTERNAL_CONTROL */
---- head-2011-04-28.orig/drivers/xen/console/console.c 2009-03-18 10:39:31.000000000 +0100
-+++ head-2011-04-28/drivers/xen/console/console.c 2011-01-31 17:02:29.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/console/console.c 2009-03-18 10:39:31.000000000 +0100
++++ head-2011-06-30/drivers/xen/console/console.c 2011-01-31 17:02:29.000000000 +0100
@@ -94,7 +94,6 @@ static int __init xencons_setup(char *st
{
char *q;
@@ -362,8 +362,8 @@ Acked-by: jbeulich@novell.com
console_use_vt = 1;
if (!strncmp(str, "ttyS", 4)) {
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/processor_32.h 2008-01-28 12:24:19.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:02:29.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/processor_32.h 2008-01-28 12:24:19.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:02:29.000000000 +0100
@@ -23,7 +23,7 @@
#include <xen/interface/physdev.h>
@@ -373,8 +373,8 @@ Acked-by: jbeulich@novell.com
struct desc_struct {
unsigned long a,b;
---- head-2011-04-28.orig/arch/x86/include/asm/thread_info.h 2011-04-28 11:04:08.000000000 +0200
-+++ head-2011-04-28/arch/x86/include/asm/thread_info.h 2011-01-31 17:02:29.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/asm/thread_info.h 2011-05-19 06:06:34.000000000 +0200
++++ head-2011-06-30/arch/x86/include/asm/thread_info.h 2011-01-31 17:02:29.000000000 +0100
@@ -144,11 +144,15 @@ struct thread_info {
_TIF_USER_RETURN_NOTIFY)
diff --git a/patches.xen/xen3-patch-2.6.19 b/patches.xen/xen3-patch-2.6.19
index c5958a5e35..e2dc6bd08f 100644
--- a/patches.xen/xen3-patch-2.6.19
+++ b/patches.xen/xen3-patch-2.6.19
@@ -6,9 +6,9 @@ Automatically created from "patches.kernel.org/patch-2.6.19" by xen-port-patches
Acked-by: jbeulich@novell.com
---- head-2011-05-23.orig/arch/x86/Kconfig 2011-04-28 11:09:05.000000000 +0200
-+++ head-2011-05-23/arch/x86/Kconfig 2011-04-13 12:23:38.000000000 +0200
-@@ -539,6 +539,7 @@ config SCHED_OMIT_FRAME_POINTER
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 16:01:48.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 16:02:26.000000000 +0200
+@@ -533,6 +533,7 @@ config SCHED_OMIT_FRAME_POINTER
menuconfig PARAVIRT_GUEST
bool "Paravirtualized guest support"
@@ -16,8 +16,8 @@ Acked-by: jbeulich@novell.com
---help---
Say Y here to get to see options related to running Linux under
various hypervisors. This option alone does not add any kernel code.
---- head-2011-05-23.orig/arch/x86/kernel/acpi/boot.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/acpi/boot.c 2011-04-13 12:23:45.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/acpi/boot.c 2011-06-30 15:04:42.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/acpi/boot.c 2011-04-13 12:23:45.000000000 +0200
@@ -70,8 +70,12 @@ int acpi_strict;
u8 acpi_sci_flags __initdata;
@@ -70,8 +70,8 @@ Acked-by: jbeulich@novell.com
static int __init parse_acpi_skip_timer_override(char *arg)
{
acpi_skip_timer_override = 1;
---- head-2011-05-23.orig/arch/x86/kernel/apic/apic-xen.c 2007-06-12 13:12:48.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/apic/apic-xen.c 2007-06-12 13:12:48.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -54,7 +54,6 @@ static cpumask_t timer_bcast_ipi;
/*
* Knob to control our willingness to enable the local APIC.
@@ -112,8 +112,8 @@ Acked-by: jbeulich@novell.com
#endif
}
}
---- head-2011-05-23.orig/arch/x86/kernel/cpu/common-xen.c 2009-05-19 09:16:41.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/common-xen.c 2009-05-19 09:16:41.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -43,7 +43,7 @@ struct cpu_dev * cpu_devs[X86_VENDOR_NUM
extern int disable_pse;
@@ -177,16 +177,8 @@ Acked-by: jbeulich@novell.com
/* Clear all 6 debug registers: */
set_debugreg(0, 0);
---- head-2011-05-23.orig/arch/x86/kernel/cpu/mcheck/Makefile 2011-04-13 11:31:41.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/cpu/mcheck/Makefile 2011-04-11 14:28:39.000000000 +0200
-@@ -10,3 +10,5 @@ obj-$(CONFIG_X86_MCE_INJECT) += mce-inje
- obj-$(CONFIG_X86_THERMAL_VECTOR) += therm_throt.o
-
- obj-$(CONFIG_ACPI_APEI) += mce-apei.o
-+
-+disabled-obj-$(CONFIG_XEN) := therm_throt.o
---- head-2011-05-23.orig/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2009-10-01 11:00:47.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2009-10-01 11:00:47.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/cpu/mcheck/mce_dom0.c 2011-01-31 17:29:16.000000000 +0100
@@ -53,8 +53,7 @@ static struct mc_info *g_mi;
/*dom0 mce virq handler, logging physical mce error info*/
@@ -205,8 +197,8 @@ Acked-by: jbeulich@novell.com
+ mce_dom0_interrupt(VIRQ_MCA, NULL);
}
---- head-2011-05-23.orig/arch/x86/kernel/entry_32-xen.S 2009-05-19 09:16:41.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/entry_32-xen.S 2009-05-19 09:16:41.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:29:16.000000000 +0100
@@ -80,8 +80,12 @@ VM_MASK = 0x00020000
NMI_MASK = 0x80000000
@@ -593,8 +585,8 @@ Acked-by: jbeulich@novell.com
.section .rodata,"a"
#include "syscall_table.S"
---- head-2011-05-23.orig/arch/x86/kernel/head_32-xen.S 2007-06-12 13:12:48.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/head_32-xen.S 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_32-xen.S 2007-06-12 13:12:48.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head_32-xen.S 2011-01-31 17:29:16.000000000 +0100
@@ -62,7 +62,7 @@ ENTRY(startup_32)
movl %eax,%gs
cld # gcc2 wants the direction flag cleared at all times
@@ -604,8 +596,8 @@ Acked-by: jbeulich@novell.com
jmp start_kernel
#define HYPERCALL_PAGE_OFFSET 0x1000
---- head-2011-05-23.orig/arch/x86/kernel/io_apic_32-xen.c 2009-03-18 10:39:31.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/io_apic_32-xen.c 2009-03-18 10:39:31.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -31,6 +31,9 @@
#include <linux/acpi.h>
#include <linux/module.h>
@@ -1685,8 +1677,8 @@ Acked-by: jbeulich@novell.com
+ return 0;
+}
+early_param("noapic", parse_noapic);
---- head-2011-05-23.orig/arch/x86/kernel/ldt_32-xen.c 2007-06-12 13:12:48.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/ldt_32-xen.c 2007-06-12 13:12:48.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * linux/kernel/ldt.c
@@ -1694,8 +1686,8 @@ Acked-by: jbeulich@novell.com
*
* Copyright (C) 1992 Krishna Balasubramanian and Linus Torvalds
* Copyright (C) 1999 Ingo Molnar <mingo@redhat.com>
---- head-2011-05-23.orig/arch/x86/kernel/microcode-xen.c 2007-06-12 13:12:48.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/microcode-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/microcode-xen.c 2007-06-12 13:12:48.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/microcode-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -2,6 +2,7 @@
* Intel CPU Microcode Update Driver for Linux
*
@@ -1831,8 +1823,8 @@ Acked-by: jbeulich@novell.com
module_init(microcode_init)
module_exit(microcode_exit)
-MODULE_ALIAS_MISCDEV(MICROCODE_MINOR);
---- head-2011-05-23.orig/arch/x86/kernel/mpparse_32-xen.c 2007-06-12 13:12:48.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/mpparse_32-xen.c 2007-06-12 13:12:48.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -30,6 +30,7 @@
#include <asm/io_apic.h>
@@ -1999,8 +1991,8 @@ Acked-by: jbeulich@novell.com
/*
* Mapping between Global System Interrups, which
* represent all possible interrupts, and IRQs
---- head-2011-05-23.orig/arch/x86/kernel/pci-dma-xen.c 2009-11-06 10:23:23.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/pci-dma-xen.c 2009-11-06 10:23:23.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -110,8 +110,7 @@ dma_map_sg(struct device *hwdev, struct
{
int i, rc;
@@ -2059,8 +2051,8 @@ Acked-by: jbeulich@novell.com
if (swiotlb)
swiotlb_unmap_single(dev, dma_addr, size, direction);
else
---- head-2011-05-23.orig/arch/x86/kernel/process_32-xen.c 2008-07-21 11:00:32.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/process_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/process_32-xen.c 2008-07-21 11:00:32.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/process_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -37,6 +37,7 @@
#include <linux/kallsyms.h>
#include <linux/ptrace.h>
@@ -2150,8 +2142,8 @@ Acked-by: jbeulich@novell.com
sp -= get_random_int() % 8192;
return sp & ~0xf;
}
---- head-2011-05-23.orig/arch/x86/kernel/setup_32-xen.c 2008-04-22 15:41:51.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup_32-xen.c 2008-04-22 15:41:51.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -56,6 +56,7 @@
#include <asm/apic.h>
#include <asm/e820.h>
@@ -2726,8 +2718,8 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_ACPI
acpi_boot_init();
---- head-2011-05-23.orig/arch/x86/kernel/smp_32-xen.c 2007-12-10 08:47:31.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp_32-xen.c 2007-12-10 08:47:31.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -279,8 +279,7 @@ static inline void leave_mm (unsigned lo
* 2) Leave the mm if we are in the lazy tlb mode.
*/
@@ -2827,8 +2819,8 @@ Acked-by: jbeulich@novell.com
+ return 0;
+}
+EXPORT_SYMBOL(smp_call_function_single);
---- head-2011-05-23.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:02:29.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/time-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:02:29.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -88,7 +88,6 @@ int pit_latch_buggy; /* ext
unsigned long vxtime_hz = PIT_TICK_RATE;
struct vxtime_data __vxtime __section_vxtime; /* for vsyscalls */
@@ -3012,8 +3004,8 @@ Acked-by: jbeulich@novell.com
if ((hpet_enable() >= 0) && hpet_use_timer) {
printk("Using HPET for base-timer\n");
---- head-2011-05-23.orig/arch/x86/kernel/traps_32-xen.c 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/traps_32-xen.c 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -28,6 +28,7 @@
#include <linux/kprobes.h>
#include <linux/kexec.h>
@@ -3460,8 +3452,8 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_KPROBES
fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code)
{
---- head-2011-05-23.orig/arch/x86/mach-xen/setup.c 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/mach-xen/setup.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mach-xen/setup.c 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/mach-xen/setup.c 2011-01-31 17:29:16.000000000 +0100
@@ -103,8 +103,10 @@ void __init pre_setup_arch_hook(void)
setup_xen_features();
@@ -3475,8 +3467,8 @@ Acked-by: jbeulich@novell.com
if (HYPERVISOR_memory_op(XENMEM_machphys_mapping, &mapping) == 0) {
machine_to_phys_mapping = (unsigned long *)mapping.v_start;
---- head-2011-05-23.orig/arch/x86/mm/fault_32-xen.c 2010-09-23 15:39:04.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/fault_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/fault_32-xen.c 2010-09-23 15:39:04.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/fault_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -27,21 +27,24 @@
#include <asm/uaccess.h>
#include <asm/desc.h>
@@ -3563,8 +3555,8 @@ Acked-by: jbeulich@novell.com
yield();
down_read(&mm->mmap_sem);
goto survive;
---- head-2011-05-23.orig/arch/x86/mm/highmem_32-xen.c 2008-10-29 09:55:56.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/highmem_32-xen.c 2008-10-29 09:55:56.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -38,11 +38,9 @@ static void *__kmap_atomic(struct page *
idx = type + KM_TYPE_NR*smp_processor_id();
@@ -3631,8 +3623,8 @@ Acked-by: jbeulich@novell.com
return (void*) vaddr;
}
---- head-2011-05-23.orig/arch/x86/mm/hypervisor.c 2009-06-09 15:01:37.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/hypervisor.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/hypervisor.c 2009-06-09 15:01:37.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/hypervisor.c 2011-01-31 17:29:16.000000000 +0100
@@ -31,6 +31,7 @@
*/
@@ -3968,8 +3960,8 @@ Acked-by: jbeulich@novell.com
if (++i == MAX_BATCHED_FULL_PTES) {
if ((rc = HYPERVISOR_mmu_update(
&u[0], i, NULL, DOMID_SELF)) != 0)
---- head-2011-05-23.orig/arch/x86/mm/init_32-xen.c 2008-10-29 09:55:56.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/init_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_32-xen.c 2008-10-29 09:55:56.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/init_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -313,8 +313,7 @@ static void __init permanent_kmaps_init(
static void __meminit free_new_highpage(struct page *page, int pfn)
{
@@ -4148,8 +4140,8 @@ Acked-by: jbeulich@novell.com
unsigned long start_pfn = start >> PAGE_SHIFT;
unsigned long nr_pages = size >> PAGE_SHIFT;
---- head-2011-05-23.orig/arch/x86/mm/ioremap-xen.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/ioremap-xen.c 2011-02-07 15:37:37.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/ioremap-xen.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/ioremap-xen.c 2011-02-07 15:37:37.000000000 +0100
@@ -12,7 +12,7 @@
#include <linux/init.h>
#include <linux/slab.h>
@@ -4197,8 +4189,8 @@ Acked-by: jbeulich@novell.com
vunmap((void __force *) addr);
return NULL;
}
---- head-2011-05-23.orig/arch/x86/mm/pgtable_32-xen.c 2010-09-23 15:39:04.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable_32-xen.c 2010-09-23 15:39:04.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -68,7 +68,9 @@ void show_mem(void)
printk(KERN_INFO "%lu pages writeback\n",
global_page_state(NR_WRITEBACK));
@@ -4254,8 +4246,8 @@ Acked-by: jbeulich@novell.com
}
pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
---- head-2011-05-23.orig/arch/x86/pci/irq-xen.c 2008-03-06 08:54:32.000000000 +0100
-+++ head-2011-05-23/arch/x86/pci/irq-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/pci/irq-xen.c 2008-03-06 08:54:32.000000000 +0100
++++ head-2011-06-30/arch/x86/pci/irq-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -991,10 +991,6 @@ static void __init pcibios_fixup_irqs(vo
pci_name(bridge), 'A' + pin, irq);
}
@@ -4312,8 +4304,8 @@ Acked-by: jbeulich@novell.com
-
- return count;
-}
---- head-2011-05-23.orig/arch/x86/ia32/ia32entry-xen.S 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/ia32/ia32entry-xen.S 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:29:16.000000000 +0100
@@ -83,6 +83,7 @@
*/
ENTRY(ia32_sysenter_target)
@@ -4363,9 +4355,9 @@ Acked-by: jbeulich@novell.com
.quad compat_sys_move_pages
+ .quad sys_getcpu
ia32_syscall_end:
---- head-2011-05-23.orig/arch/x86/kernel/Makefile 2011-04-13 12:22:39.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/Makefile 2011-04-13 12:23:51.000000000 +0200
-@@ -117,7 +117,7 @@ obj-$(CONFIG_X86_XEN) += fixup.o
+--- head-2011-06-30.orig/arch/x86/kernel/Makefile 2011-06-30 16:01:54.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/Makefile 2011-06-30 16:02:19.000000000 +0200
+@@ -121,7 +121,7 @@ obj-$(CONFIG_X86_XEN) += fixup.o
###
# 64 bit specific files
ifeq ($(CONFIG_X86_64),y)
@@ -4373,8 +4365,8 @@ Acked-by: jbeulich@novell.com
+ obj-$(CONFIG_X86_XEN_GENAPIC) += genapic_64.o genapic_xen_64.o
obj-$(CONFIG_AUDIT) += audit_64.o
- obj-$(CONFIG_GART_IOMMU) += pci-gart_64.o aperture_64.o
-@@ -131,5 +131,7 @@ ifeq ($(CONFIG_X86_64),y)
+ obj-$(CONFIG_GART_IOMMU) += amd_gart_64.o aperture_64.o
+@@ -135,5 +135,7 @@ ifeq ($(CONFIG_X86_64),y)
pci-dma_64-$(CONFIG_XEN) += pci-dma_32.o
endif
@@ -4383,8 +4375,8 @@ Acked-by: jbeulich@novell.com
+ smpboot_$(BITS).o tsc_$(BITS).o
+disabled-obj-$(CONFIG_XEN_UNPRIVILEGED_GUEST) += mpparse_64.o
%/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
---- head-2011-05-23.orig/arch/x86/kernel/e820_64-xen.c 2009-12-04 08:45:56.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/e820_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/e820_64-xen.c 2009-12-04 08:45:56.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/e820_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -16,6 +16,7 @@
#include <linux/string.h>
#include <linux/kexec.h>
@@ -4876,8 +4868,8 @@ Acked-by: jbeulich@novell.com
}
unsigned long pci_mem_start = 0xaeedbabe;
---- head-2011-05-23.orig/arch/x86/kernel/early_printk-xen.c 2007-06-12 13:13:01.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/early_printk-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/early_printk-xen.c 2007-06-12 13:13:01.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/early_printk-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -244,20 +244,16 @@ void early_printk(const char *fmt, ...)
static int __initdata keep_early;
@@ -4924,8 +4916,8 @@ Acked-by: jbeulich@novell.com
}
-__setup("earlyprintk=", setup_early_printk);
---- head-2011-05-23.orig/arch/x86/kernel/entry_64-xen.S 2009-06-23 09:28:21.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/entry_64-xen.S 2009-06-23 09:28:21.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:29:16.000000000 +0100
@@ -4,9 +4,6 @@
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright (C) 2000, 2001, 2002 Andi Kleen SuSE Labs
@@ -5168,8 +5160,8 @@ Acked-by: jbeulich@novell.com
ENTRY(alignment_check)
errorentry do_alignment_check
---- head-2011-05-23.orig/arch/x86/kernel/head_64-xen.S 2010-11-08 17:27:03.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/head_64-xen.S 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_64-xen.S 2010-11-08 17:27:03.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_64-xen.S 2011-01-31 17:29:16.000000000 +0100
@@ -5,9 +5,6 @@
* Copyright (C) 2000 Pavel Machek <pavel@suse.cz>
* Copyright (C) 2000 Karsten Keil <kkeil@suse.de>
@@ -5189,8 +5181,8 @@ Acked-by: jbeulich@novell.com
gdt_end:
/* asm/segment.h:GDT_ENTRIES must match this */
/* This should be a multiple of the cache line size */
---- head-2011-05-23.orig/arch/x86/kernel/head64-xen.c 2007-06-12 13:13:01.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/head64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head64-xen.c 2007-06-12 13:13:01.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/head64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -7,6 +7,9 @@
* Modified for Xen.
*/
@@ -5282,8 +5274,8 @@ Acked-by: jbeulich@novell.com
- setup_boot_cpu_data();
start_kernel();
}
---- head-2011-05-23.orig/arch/x86/kernel/io_apic_64-xen.c 2009-03-18 10:39:31.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/io_apic_64-xen.c 2009-03-18 10:39:31.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -26,9 +26,12 @@
#include <linux/delay.h>
#include <linux/sched.h>
@@ -6983,8 +6975,8 @@ Acked-by: jbeulich@novell.com
spin_unlock_irqrestore(&ioapic_lock, flags);
return 0;
---- head-2011-05-23.orig/arch/x86/kernel/ioport_64-xen.c 2008-01-28 12:24:19.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/ioport_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/ioport_64-xen.c 2008-01-28 12:24:19.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/ioport_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -58,6 +58,7 @@ asmlinkage long sys_ioperm(unsigned long
memset(bitmap, 0xff, IO_BITMAP_BYTES);
@@ -6993,8 +6985,8 @@ Acked-by: jbeulich@novell.com
set_xen_guest_handle(set_iobitmap.bitmap, (char *)bitmap);
set_iobitmap.nr_ports = IO_BITMAP_BITS;
---- head-2011-05-23.orig/arch/x86/kernel/mpparse_64-xen.c 2007-06-12 13:13:01.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/mpparse_64-xen.c 2007-06-12 13:13:01.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -41,8 +41,7 @@ int acpi_found_madt;
* Various Linux-internal data structures created from the
* MP-table.
@@ -7608,8 +7600,8 @@ Acked-by: jbeulich@novell.com
-
-#endif /*CONFIG_X86_IO_APIC*/
#endif /*CONFIG_ACPI*/
---- head-2011-05-23.orig/arch/x86/kernel/process_64-xen.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:50.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/process_64-xen.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:50.000000000 +0100
@@ -88,25 +88,24 @@ void idle_notifier_unregister(struct not
}
EXPORT_SYMBOL(idle_notifier_unregister);
@@ -7816,8 +7808,8 @@ Acked-by: jbeulich@novell.com
sp -= get_random_int() % 8192;
return sp & ~0xf;
}
---- head-2011-05-23.orig/arch/x86/kernel/setup_64-xen.c 2010-10-05 09:58:12.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup_64-xen.c 2010-10-05 09:58:12.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -88,9 +88,6 @@ extern struct edid_info edid_info;
shared_info_t *HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page;
EXPORT_SYMBOL(HYPERVISOR_shared_info);
@@ -8254,8 +8246,8 @@ Acked-by: jbeulich@novell.com
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* VIA/Cyrix/Centaur-defined */
---- head-2011-05-23.orig/arch/x86/kernel/setup64-xen.c 2011-01-31 17:02:29.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/setup64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup64-xen.c 2011-01-31 17:02:29.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/setup64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -31,7 +31,7 @@
#include <asm/hypervisor.h>
#endif
@@ -8349,8 +8341,8 @@ Acked-by: jbeulich@novell.com
orig_ist->ist[v] = t->ist[v] = (unsigned long)estacks;
}
---- head-2011-05-23.orig/arch/x86/kernel/smp_64-xen.c 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp_64-xen.c 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -381,9 +381,8 @@ int smp_call_function_single (int cpu, v
/* prevent preemption and reschedule on another processor */
int me = get_cpu();
@@ -8412,8 +8404,8 @@ Acked-by: jbeulich@novell.com
- return 0; /* Should not happen */
-#endif
-}
---- head-2011-05-23.orig/arch/x86/kernel/traps_64-xen.c 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/traps_64-xen.c 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -23,6 +23,7 @@
#include <linux/delay.h>
#include <linux/spinlock.h>
@@ -8869,8 +8861,8 @@ Acked-by: jbeulich@novell.com
-__setup("call_trace=", call_trace_setup);
+early_param("call_trace", call_trace_setup);
#endif
---- head-2011-05-23.orig/arch/x86/kernel/vsyscall_64-xen.c 2007-06-18 08:38:13.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/vsyscall_64-xen.c 2007-06-18 08:38:13.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -26,6 +26,10 @@
#include <linux/seqlock.h>
#include <linux/jiffies.h>
@@ -9064,8 +9056,8 @@ Acked-by: jbeulich@novell.com
return 0;
}
---- head-2011-05-23.orig/arch/x86/mm/fault_64-xen.c 2010-09-23 15:39:04.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/fault_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/fault_64-xen.c 2010-09-23 15:39:04.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/fault_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -40,8 +40,7 @@
#define PF_RSVD (1<<3)
#define PF_INSTR (1<<4)
@@ -9203,8 +9195,8 @@ Acked-by: jbeulich@novell.com
pgd_page_table(unlock, page);
}
spin_unlock(&pgd_lock);
---- head-2011-05-23.orig/arch/x86/mm/init_64-xen.c 2010-04-29 09:34:47.000000000 +0200
-+++ head-2011-05-23/arch/x86/mm/init_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2010-04-29 09:34:47.000000000 +0200
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -61,8 +61,6 @@ EXPORT_SYMBOL(__kernel_page_user);
int after_bootmem;
@@ -9517,8 +9509,8 @@ Acked-by: jbeulich@novell.com
}
int kern_addr_valid(unsigned long addr)
---- head-2011-05-23.orig/arch/x86/mm/pageattr_64-xen.c 2009-03-18 10:39:31.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pageattr_64-xen.c 2009-03-18 10:39:31.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -377,8 +377,8 @@ static void revert_page(unsigned long ad
BUG_ON(pud_none(*pud));
pmd = pmd_offset(pud, address);
@@ -9583,8 +9575,8 @@ Acked-by: jbeulich@novell.com
}
}
up_write(&init_mm.mmap_sem);
---- head-2011-05-23.orig/drivers/char/tpm/tpm_xen.c 2011-01-31 14:53:38.000000000 +0100
-+++ head-2011-05-23/drivers/char/tpm/tpm_xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/char/tpm/tpm_xen.c 2011-01-31 14:53:38.000000000 +0100
++++ head-2011-06-30/drivers/char/tpm/tpm_xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -85,8 +85,7 @@ static struct tpm_private *my_priv;
/* local function prototypes */
@@ -9604,8 +9596,8 @@ Acked-by: jbeulich@novell.com
{
struct tpm_private *tp = tpm_priv;
unsigned long flags;
---- head-2011-05-23.orig/drivers/pci/Kconfig 2011-01-31 14:32:40.000000000 +0100
-+++ head-2011-05-23/drivers/pci/Kconfig 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/Kconfig 2011-01-31 14:32:40.000000000 +0100
++++ head-2011-06-30/drivers/pci/Kconfig 2011-01-31 17:29:16.000000000 +0100
@@ -86,7 +86,7 @@ config XEN_PCIDEV_FE_DEBUG
config HT_IRQ
bool "Interrupts on hypertransport devices"
@@ -9615,8 +9607,8 @@ Acked-by: jbeulich@novell.com
help
This allows native hypertransport devices to use interrupts.
---- head-2011-05-23.orig/drivers/pci/msi-xen.c 2009-12-04 08:45:56.000000000 +0100
-+++ head-2011-05-23/drivers/pci/msi-xen.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/msi-xen.c 2009-12-04 08:45:56.000000000 +0100
++++ head-2011-06-30/drivers/pci/msi-xen.c 2011-01-31 17:29:16.000000000 +0100
@@ -6,6 +6,7 @@
* Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
*/
@@ -9848,8 +9840,8 @@ Acked-by: jbeulich@novell.com
* allocated for this device function, are reclaimed to unused state,
* which may be used later on.
**/
---- head-2011-05-23.orig/drivers/xen/Kconfig 2011-02-24 14:05:09.000000000 +0100
-+++ head-2011-05-23/drivers/xen/Kconfig 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/Kconfig 2011-02-24 14:05:09.000000000 +0100
++++ head-2011-06-30/drivers/xen/Kconfig 2011-01-31 17:29:16.000000000 +0100
@@ -332,6 +332,10 @@ endmenu
config HAVE_IRQ_IGNORE_UNHANDLED
def_bool y
@@ -9861,8 +9853,8 @@ Acked-by: jbeulich@novell.com
config NO_IDLE_HZ
def_bool y
---- head-2011-05-23.orig/drivers/xen/balloon/balloon.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/balloon/balloon.c 2011-03-23 08:48:06.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/balloon/balloon.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/balloon/balloon.c 2011-03-23 08:48:06.000000000 +0100
@@ -37,6 +37,7 @@
#include <linux/sched.h>
#include <linux/errno.h>
@@ -10060,8 +10052,8 @@ Acked-by: jbeulich@novell.com
bs.driver_pages--;
balloon_unlock(flags);
---- head-2011-05-23.orig/drivers/xen/blkback/blkback.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/blkback/blkback.c 2011-04-11 14:28:25.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/blkback.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/blkback.c 2011-04-11 14:28:25.000000000 +0200
@@ -297,7 +297,7 @@ static void blkif_notify_work(blkif_t *b
wake_up(&blkif->wq);
}
@@ -10071,8 +10063,8 @@ Acked-by: jbeulich@novell.com
{
blkif_notify_work(dev_id);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/blkback/common.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/blkback/common.h 2011-04-11 14:28:27.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/common.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/common.h 2011-04-11 14:28:27.000000000 +0200
@@ -136,7 +136,7 @@ void blkif_interface_init(void);
void blkif_xenbus_init(void);
@@ -10082,8 +10074,8 @@ Acked-by: jbeulich@novell.com
int blkif_schedule(void *arg);
int blkback_barrier(struct xenbus_transaction xbt,
---- head-2011-05-23.orig/drivers/xen/blkfront/blkfront.c 2011-05-23 10:40:00.000000000 +0200
-+++ head-2011-05-23/drivers/xen/blkfront/blkfront.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkfront/blkfront.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/blkfront.c 2011-06-30 16:02:36.000000000 +0200
@@ -70,9 +70,9 @@ static int setup_blkring(struct xenbus_d
static void kick_pending_request_queues(struct blkfront_info *);
@@ -10105,7 +10097,7 @@ Acked-by: jbeulich@novell.com
return err;
}
-@@ -743,7 +743,7 @@ void do_blkif_request(request_queue_t *r
+@@ -742,7 +742,7 @@ void do_blkif_request(request_queue_t *r
}
@@ -10114,7 +10106,7 @@ Acked-by: jbeulich@novell.com
{
struct request *req;
blkif_response_t *bret;
-@@ -854,7 +854,7 @@ static void blkif_completion(struct blk_
+@@ -853,7 +853,7 @@ static void blkif_completion(struct blk_
gnttab_end_foreign_access(s->req.seg[i].gref, 0UL);
}
@@ -10123,7 +10115,7 @@ Acked-by: jbeulich@novell.com
{
int i;
blkif_request_t *req;
-@@ -862,8 +862,10 @@ static void blkif_recover(struct blkfron
+@@ -861,8 +861,10 @@ static void blkif_recover(struct blkfron
int j;
/* Stage 1: Make a safe copy of the shadow state. */
@@ -10136,7 +10128,7 @@ Acked-by: jbeulich@novell.com
/* Stage 2: Set up free list. */
memset(&info->shadow, 0, sizeof(info->shadow));
-@@ -917,6 +919,8 @@ static void blkif_recover(struct blkfron
+@@ -916,6 +918,8 @@ static void blkif_recover(struct blkfron
kick_pending_request_queues(info);
spin_unlock_irq(&blkif_io_lock);
@@ -10145,9 +10137,9 @@ Acked-by: jbeulich@novell.com
}
int blkfront_is_ready(struct xenbus_device *dev)
---- head-2011-05-23.orig/drivers/xen/blktap/blktap.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/blktap/blktap.c 2011-04-11 14:28:18.000000000 +0200
-@@ -1265,7 +1265,7 @@ static void blkif_notify_work(blkif_t *b
+--- head-2011-06-30.orig/drivers/xen/blktap/blktap.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/blktap.c 2011-06-30 16:02:41.000000000 +0200
+@@ -1258,7 +1258,7 @@ static void blkif_notify_work(blkif_t *b
wake_up(&blkif->wq);
}
@@ -10156,8 +10148,8 @@ Acked-by: jbeulich@novell.com
{
blkif_notify_work(dev_id);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/blktap/common.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/blktap/common.h 2011-04-11 14:28:19.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blktap/common.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/common.h 2011-04-11 14:28:19.000000000 +0200
@@ -105,7 +105,7 @@ void tap_blkif_interface_init(void);
void tap_blkif_xenbus_init(void);
@@ -10167,8 +10159,8 @@ Acked-by: jbeulich@novell.com
int tap_blkif_schedule(void *arg);
int dom_to_devid(domid_t domid, int xenbus_id, blkif_t *blkif);
---- head-2011-05-23.orig/drivers/xen/blktap2/sysfs.c 2011-03-02 12:00:16.000000000 +0100
-+++ head-2011-05-23/drivers/xen/blktap2/sysfs.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blktap2/sysfs.c 2011-03-02 12:00:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/blktap2/sysfs.c 2011-01-31 17:29:16.000000000 +0100
@@ -150,7 +150,7 @@ blktap_sysfs_pause_device(struct class_d
err = blktap_device_pause(tap);
if (!err) {
@@ -10257,8 +10249,8 @@ Acked-by: jbeulich@novell.com
- return 0;
+ return err;
}
---- head-2011-05-23.orig/drivers/xen/console/console.c 2011-01-31 17:02:29.000000000 +0100
-+++ head-2011-05-23/drivers/xen/console/console.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/console/console.c 2011-01-31 17:02:29.000000000 +0100
++++ head-2011-06-30/drivers/xen/console/console.c 2011-01-31 17:29:16.000000000 +0100
@@ -360,7 +360,7 @@ static struct tty_struct *xencons_tty;
static int xencons_priv_irq;
static char x_char;
@@ -10304,8 +10296,8 @@ Acked-by: jbeulich@novell.com
.open = xencons_open,
.close = xencons_close,
.write = xencons_write,
---- head-2011-05-23.orig/drivers/xen/console/xencons_ring.c 2007-06-12 13:13:44.000000000 +0200
-+++ head-2011-05-23/drivers/xen/console/xencons_ring.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/console/xencons_ring.c 2007-06-12 13:13:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/console/xencons_ring.c 2011-01-31 17:29:16.000000000 +0100
@@ -83,7 +83,7 @@ int xencons_ring_send(const char *data,
return sent;
}
@@ -10324,8 +10316,8 @@ Acked-by: jbeulich@novell.com
cons++;
}
---- head-2011-05-23.orig/drivers/xen/core/evtchn.c 2010-11-25 09:36:37.000000000 +0100
-+++ head-2011-05-23/drivers/xen/core/evtchn.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/evtchn.c 2010-11-25 09:36:37.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/evtchn.c 2011-01-31 17:29:16.000000000 +0100
@@ -539,7 +539,7 @@ static void unbind_from_irq(unsigned int
int bind_caller_port_to_irqhandler(
@@ -10605,8 +10597,8 @@ Acked-by: jbeulich@novell.com
+ handle_fasteoi_irq, "fasteoi");
}
}
---- head-2011-05-23.orig/drivers/xen/core/gnttab.c 2010-09-23 15:39:04.000000000 +0200
-+++ head-2011-05-23/drivers/xen/core/gnttab.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/gnttab.c 2010-09-23 15:39:04.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/gnttab.c 2011-01-31 17:29:16.000000000 +0100
@@ -510,6 +510,7 @@ static void gnttab_page_free(struct page
BUG_ON(order);
ClearPageForeign(page);
@@ -10624,8 +10616,8 @@ Acked-by: jbeulich@novell.com
*pagep = new_page;
SetPageForeign(page, gnttab_page_free);
---- head-2011-05-23.orig/drivers/xen/core/reboot.c 2010-11-25 09:36:37.000000000 +0100
-+++ head-2011-05-23/drivers/xen/core/reboot.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/reboot.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/core/reboot.c 2011-01-31 17:29:16.000000000 +0100
@@ -1,4 +1,3 @@
-#define __KERNEL_SYSCALLS__
#include <linux/version.h>
@@ -10657,8 +10649,8 @@ Acked-by: jbeulich@novell.com
{
switch_shutdown_state(SHUTDOWN_SUSPEND);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/core/smpboot.c 2011-01-31 17:01:49.000000000 +0100
-+++ head-2011-05-23/drivers/xen/core/smpboot.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-01-31 17:01:49.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-01-31 17:29:16.000000000 +0100
@@ -25,8 +25,8 @@
#include <xen/cpu_hotplug.h>
#include <xen/xenbus.h>
@@ -10679,8 +10671,8 @@ Acked-by: jbeulich@novell.com
#endif
void __init prefill_possible_map(void)
---- head-2011-05-23.orig/drivers/xen/fbfront/xenfb.c 2011-03-02 12:00:16.000000000 +0100
-+++ head-2011-05-23/drivers/xen/fbfront/xenfb.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/fbfront/xenfb.c 2011-03-02 12:00:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/fbfront/xenfb.c 2011-01-31 17:29:16.000000000 +0100
@@ -524,8 +524,7 @@ static struct fb_ops xenfb_fb_ops = {
.fb_set_par = xenfb_set_par,
};
@@ -10691,8 +10683,8 @@ Acked-by: jbeulich@novell.com
{
/*
* No in events recognized, simply ignore them all.
---- head-2011-05-23.orig/drivers/xen/fbfront/xenkbd.c 2011-05-23 10:40:00.000000000 +0200
-+++ head-2011-05-23/drivers/xen/fbfront/xenkbd.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/fbfront/xenkbd.c 2011-05-23 10:40:00.000000000 +0200
++++ head-2011-06-30/drivers/xen/fbfront/xenkbd.c 2011-01-31 17:29:16.000000000 +0100
@@ -46,7 +46,7 @@ static void xenkbd_disconnect_backend(st
* to do that.
*/
@@ -10702,8 +10694,8 @@ Acked-by: jbeulich@novell.com
{
struct xenkbd_info *info = dev_id;
struct xenkbd_page *page = info->page;
---- head-2011-05-23.orig/drivers/xen/gntdev/gntdev.c 2011-01-03 12:43:21.000000000 +0100
-+++ head-2011-05-23/drivers/xen/gntdev/gntdev.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/gntdev/gntdev.c 2011-01-03 12:43:21.000000000 +0100
++++ head-2011-06-30/drivers/xen/gntdev/gntdev.c 2011-01-31 17:29:16.000000000 +0100
@@ -744,9 +744,6 @@ static pte_t gntdev_clear_pte(struct vm_
BUG();
}
@@ -10743,8 +10735,8 @@ Acked-by: jbeulich@novell.com
}
return copy;
---- head-2011-05-23.orig/drivers/xen/netback/accel.c 2008-01-07 13:19:18.000000000 +0100
-+++ head-2011-05-23/drivers/xen/netback/accel.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/netback/accel.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/accel.c 2011-01-31 17:29:16.000000000 +0100
@@ -65,7 +65,7 @@ static int match_accelerator(struct xenb
if (IS_ERR(eth_name)) {
@@ -10754,8 +10746,8 @@ Acked-by: jbeulich@novell.com
__FUNCTION__, PTR_ERR(eth_name));
return 0;
} else {
---- head-2011-05-23.orig/drivers/xen/netback/common.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/netback/common.h 2011-04-11 14:28:08.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/common.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/common.h 2011-04-11 14:28:08.000000000 +0200
@@ -92,6 +92,7 @@ typedef struct netif_st {
/* Statistics */
@@ -10773,8 +10765,8 @@ Acked-by: jbeulich@novell.com
static inline int netbk_can_queue(struct net_device *dev)
{
---- head-2011-05-23.orig/drivers/xen/netback/interface.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/netback/interface.c 2011-04-11 14:28:07.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/interface.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/interface.c 2011-04-11 14:28:07.000000000 +0200
@@ -172,6 +172,7 @@ static const struct netif_stat {
u16 offset;
} netbk_stats[] = {
@@ -10783,8 +10775,8 @@ Acked-by: jbeulich@novell.com
};
static int netbk_get_stats_count(struct net_device *dev)
---- head-2011-05-23.orig/drivers/xen/netback/loopback.c 2011-01-03 12:43:21.000000000 +0100
-+++ head-2011-05-23/drivers/xen/netback/loopback.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/netback/loopback.c 2011-01-03 12:43:21.000000000 +0100
++++ head-2011-06-30/drivers/xen/netback/loopback.c 2011-01-31 17:29:16.000000000 +0100
@@ -152,16 +152,6 @@ static int loopback_start_xmit(struct sk
np->stats.rx_bytes += skb->len;
np->stats.rx_packets++;
@@ -10802,8 +10794,8 @@ Acked-by: jbeulich@novell.com
skb->pkt_type = PACKET_HOST; /* overridden by eth_type_trans() */
skb->protocol = eth_type_trans(skb, dev);
skb->dev = dev;
---- head-2011-05-23.orig/drivers/xen/netback/netback.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/netback/netback.c 2011-04-11 14:28:01.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/netback/netback.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/netback/netback.c 2011-04-11 14:28:01.000000000 +0200
@@ -41,6 +41,7 @@
#include <xen/evtchn.h>
#include <xen/gnttab.h>
@@ -10891,8 +10883,8 @@ Acked-by: jbeulich@novell.com
{
struct list_head *ent;
netif_t *netif;
---- head-2011-05-23.orig/drivers/xen/netfront/netfront.c 2010-11-25 09:36:37.000000000 +0100
-+++ head-2011-05-23/drivers/xen/netfront/netfront.c 2011-02-09 15:35:31.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/netfront/netfront.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/netfront/netfront.c 2011-06-30 16:02:48.000000000 +0200
@@ -63,6 +63,7 @@
#include <asm/uaccess.h>
#include <xen/interface/grant_table.h>
@@ -10910,7 +10902,7 @@ Acked-by: jbeulich@novell.com
}
#else
#define HAVE_GSO 0
-@@ -222,7 +223,7 @@ static void network_tx_buf_gc(struct net
+@@ -223,7 +224,7 @@ static void network_tx_buf_gc(struct net
static void network_alloc_rx_buffers(struct net_device *);
static void send_fake_arp(struct net_device *);
@@ -10919,7 +10911,7 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_SYSFS
static int xennet_sysfs_addif(struct net_device *netdev);
-@@ -992,12 +993,10 @@ static int network_start_xmit(struct sk_
+@@ -994,12 +995,10 @@ static int network_start_xmit(struct sk_
tx->flags = 0;
extra = NULL;
@@ -10934,7 +10926,7 @@ Acked-by: jbeulich@novell.com
#if HAVE_TSO
if (skb_shinfo(skb)->gso_size) {
-@@ -1049,7 +1048,7 @@ static int network_start_xmit(struct sk_
+@@ -1051,7 +1050,7 @@ static int network_start_xmit(struct sk_
return 0;
}
@@ -10943,7 +10935,7 @@ Acked-by: jbeulich@novell.com
{
struct net_device *dev = dev_id;
struct netfront_info *np = netdev_priv(dev);
-@@ -1424,18 +1423,13 @@ err:
+@@ -1426,18 +1425,13 @@ err:
skb->truesize += skb->data_len - (RX_COPY_THRESHOLD - len);
skb->len += skb->data_len;
@@ -10966,7 +10958,7 @@ Acked-by: jbeulich@novell.com
np->stats.rx_packets++;
np->stats.rx_bytes += skb->len;
-@@ -1480,6 +1474,11 @@ err:
+@@ -1482,6 +1476,11 @@ err:
/* Ethernet work: Delayed to here as it peeks the header. */
skb->protocol = eth_type_trans(skb, dev);
@@ -10978,7 +10970,7 @@ Acked-by: jbeulich@novell.com
/* Pass it up. */
netif_receive_skb(skb);
dev->last_rx = jiffies;
-@@ -1772,6 +1771,44 @@ static void xennet_set_features(struct n
+@@ -1774,6 +1773,44 @@ static void xennet_set_features(struct n
xennet_set_tso(dev, 1);
}
@@ -11023,7 +11015,7 @@ Acked-by: jbeulich@novell.com
static void netfront_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
{
-@@ -1897,6 +1934,10 @@ static struct ethtool_ops network_ethtoo
+@@ -1899,6 +1936,10 @@ static struct ethtool_ops network_ethtoo
.set_tso = xennet_set_tso,
#endif
.get_link = ethtool_op_get_link,
@@ -11034,8 +11026,8 @@ Acked-by: jbeulich@novell.com
};
#ifdef CONFIG_SYSFS
---- head-2011-05-23.orig/drivers/xen/netfront/netfront.h 2010-02-24 13:13:46.000000000 +0100
-+++ head-2011-05-23/drivers/xen/netfront/netfront.h 2011-02-09 15:35:17.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/netfront/netfront.h 2010-02-24 13:13:46.000000000 +0100
++++ head-2011-06-30/drivers/xen/netfront/netfront.h 2011-02-09 15:35:17.000000000 +0100
@@ -150,6 +150,7 @@ struct netfront_info {
struct net_device *netdev;
@@ -11044,8 +11036,8 @@ Acked-by: jbeulich@novell.com
struct netif_tx_front_ring tx;
struct netif_rx_front_ring rx;
---- head-2011-05-23.orig/drivers/xen/pciback/pciback.h 2009-03-18 10:39:32.000000000 +0100
-+++ head-2011-05-23/drivers/xen/pciback/pciback.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/pciback.h 2009-03-18 10:39:32.000000000 +0100
++++ head-2011-06-30/drivers/xen/pciback/pciback.h 2011-01-31 17:29:16.000000000 +0100
@@ -99,7 +99,7 @@ int pciback_publish_pci_roots(struct pci
void pciback_release_devices(struct pciback_device *pdev);
@@ -11055,8 +11047,8 @@ Acked-by: jbeulich@novell.com
void pciback_do_op(void *data);
int pciback_xenbus_register(void);
---- head-2011-05-23.orig/drivers/xen/pciback/pciback_ops.c 2011-02-17 09:58:10.000000000 +0100
-+++ head-2011-05-23/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:33.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/pciback_ops.c 2011-02-17 09:58:10.000000000 +0100
++++ head-2011-06-30/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:33.000000000 +0100
@@ -132,7 +132,7 @@ void pciback_do_op(void *data)
test_and_schedule_op(pdev);
}
@@ -11066,8 +11058,8 @@ Acked-by: jbeulich@novell.com
{
struct pciback_device *pdev = dev_id;
---- head-2011-05-23.orig/drivers/xen/pcifront/pcifront.h 2010-10-05 09:58:12.000000000 +0200
-+++ head-2011-05-23/drivers/xen/pcifront/pcifront.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pcifront/pcifront.h 2010-10-05 09:58:12.000000000 +0200
++++ head-2011-06-30/drivers/xen/pcifront/pcifront.h 2011-01-31 17:29:16.000000000 +0100
@@ -51,6 +51,6 @@ void pcifront_free_roots(struct pcifront
void pcifront_do_aer( void *data);
@@ -11076,8 +11068,8 @@ Acked-by: jbeulich@novell.com
+irqreturn_t pcifront_handler_aer(int irq, void *dev);
#endif /* __XEN_PCIFRONT_H__ */
---- head-2011-05-23.orig/drivers/xen/pcifront/pci_op.c 2010-11-25 09:36:37.000000000 +0100
-+++ head-2011-05-23/drivers/xen/pcifront/pci_op.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pcifront/pci_op.c 2010-11-25 09:36:37.000000000 +0100
++++ head-2011-06-30/drivers/xen/pcifront/pci_op.c 2011-01-31 17:29:16.000000000 +0100
@@ -662,7 +662,7 @@ void pcifront_do_aer(void *data)
}
@@ -11087,8 +11079,8 @@ Acked-by: jbeulich@novell.com
{
struct pcifront_device *pdev = dev;
schedule_pcifront_aer_op(pdev);
---- head-2011-05-23.orig/drivers/xen/privcmd/compat_privcmd.c 2010-01-27 14:01:48.000000000 +0100
-+++ head-2011-05-23/drivers/xen/privcmd/compat_privcmd.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/privcmd/compat_privcmd.c 2010-01-27 14:01:48.000000000 +0100
++++ head-2011-06-30/drivers/xen/privcmd/compat_privcmd.c 2011-01-31 17:29:16.000000000 +0100
@@ -18,7 +18,6 @@
* Authors: Jimi Xenidis <jimix@watson.ibm.com>
*/
@@ -11097,8 +11089,8 @@ Acked-by: jbeulich@novell.com
#include <linux/compat.h>
#include <linux/ioctl.h>
#include <linux/syscalls.h>
---- head-2011-05-23.orig/drivers/xen/privcmd/privcmd.c 2010-01-27 14:01:48.000000000 +0100
-+++ head-2011-05-23/drivers/xen/privcmd/privcmd.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/privcmd/privcmd.c 2010-01-27 14:01:48.000000000 +0100
++++ head-2011-06-30/drivers/xen/privcmd/privcmd.c 2011-01-31 17:29:16.000000000 +0100
@@ -71,43 +71,16 @@ static long privcmd_ioctl(struct file *f
if (copy_from_user(&hypercall, udata, sizeof(hypercall)))
return -EFAULT;
@@ -11159,8 +11151,8 @@ Acked-by: jbeulich@novell.com
vma->vm_ops = &privcmd_vm_ops;
vma->vm_private_data = NULL;
---- head-2011-05-23.orig/drivers/xen/scsiback/common.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/scsiback/common.h 2011-04-11 14:27:49.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/scsiback/common.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/scsiback/common.h 2011-04-11 14:27:49.000000000 +0200
@@ -138,7 +138,7 @@ typedef struct {
#define VSCSI_TYPE_HOST 1
@@ -11170,8 +11162,8 @@ Acked-by: jbeulich@novell.com
int scsiback_init_sring(struct vscsibk_info *, grant_ref_t, evtchn_port_t);
int scsiback_schedule(void *data);
---- head-2011-05-23.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/scsiback/scsiback.c 2011-04-11 14:27:51.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/scsiback/scsiback.c 2011-04-11 14:27:51.000000000 +0200
@@ -461,7 +461,7 @@ void scsiback_cmd_exec(pending_req_t *pe
write = (data_dir == DMA_TO_DEVICE);
rq = blk_get_request(pending_req->sdev->request_queue, write, GFP_KERNEL);
@@ -11190,8 +11182,8 @@ Acked-by: jbeulich@novell.com
{
scsiback_notify_work((struct vscsibk_info *)dev_id);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/scsifront/common.h 2010-02-24 13:13:46.000000000 +0100
-+++ head-2011-05-23/drivers/xen/scsifront/common.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/scsifront/common.h 2010-02-24 13:13:46.000000000 +0100
++++ head-2011-06-30/drivers/xen/scsifront/common.h 2011-01-31 17:29:16.000000000 +0100
@@ -128,7 +128,7 @@ struct vscsifrnt_info {
int scsifront_xenbus_init(void);
void scsifront_xenbus_unregister(void);
@@ -11201,8 +11193,8 @@ Acked-by: jbeulich@novell.com
int scsifront_cmd_done(struct vscsifrnt_info *info);
---- head-2011-05-23.orig/drivers/xen/scsifront/scsifront.c 2011-02-02 12:19:11.000000000 +0100
-+++ head-2011-05-23/drivers/xen/scsifront/scsifront.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/scsifront/scsifront.c 2011-02-02 12:19:11.000000000 +0100
++++ head-2011-06-30/drivers/xen/scsifront/scsifront.c 2011-01-31 17:29:16.000000000 +0100
@@ -100,7 +100,7 @@ static void scsifront_do_request(struct
notify_remote_via_irq(irq);
}
@@ -11212,8 +11204,8 @@ Acked-by: jbeulich@novell.com
{
scsifront_notify_work((struct vscsifrnt_info *)dev_id);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/sfc_netback/accel_xenbus.c 2010-01-04 11:56:34.000000000 +0100
-+++ head-2011-05-23/drivers/xen/sfc_netback/accel_xenbus.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netback/accel_xenbus.c 2010-01-04 11:56:34.000000000 +0100
++++ head-2011-06-30/drivers/xen/sfc_netback/accel_xenbus.c 2011-01-31 17:29:16.000000000 +0100
@@ -69,8 +69,7 @@ static void unlink_bend(struct netback_a
@@ -11234,8 +11226,8 @@ Acked-by: jbeulich@novell.com
{
VPRINTK("netirq %d from device %s\n", irq,
((struct xenbus_device *)context)->nodename);
---- head-2011-05-23.orig/drivers/xen/sfc_netfront/accel.h 2009-04-07 13:58:48.000000000 +0200
-+++ head-2011-05-23/drivers/xen/sfc_netfront/accel.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netfront/accel.h 2009-04-07 13:58:48.000000000 +0200
++++ head-2011-06-30/drivers/xen/sfc_netfront/accel.h 2011-01-31 17:29:16.000000000 +0100
@@ -467,10 +467,8 @@ void netfront_accel_msg_tx_fastpath(netf
u32 ip, u16 port, u8 protocol);
@@ -11249,8 +11241,8 @@ Acked-by: jbeulich@novell.com
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
extern void netfront_accel_msg_from_bend(struct work_struct *context);
---- head-2011-05-23.orig/drivers/xen/sfc_netfront/accel_msg.c 2009-04-07 13:58:48.000000000 +0200
-+++ head-2011-05-23/drivers/xen/sfc_netfront/accel_msg.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netfront/accel_msg.c 2009-04-07 13:58:48.000000000 +0200
++++ head-2011-06-30/drivers/xen/sfc_netfront/accel_msg.c 2011-01-31 17:29:16.000000000 +0100
@@ -488,8 +488,7 @@ void netfront_accel_msg_from_bend(void *
}
@@ -11271,8 +11263,8 @@ Acked-by: jbeulich@novell.com
{
netfront_accel_vnic *vnic = (netfront_accel_vnic *)context;
struct net_device *net_dev = vnic->net_dev;
---- head-2011-05-23.orig/drivers/xen/sfc_netfront/accel_tso.c 2008-02-26 10:54:12.000000000 +0100
-+++ head-2011-05-23/drivers/xen/sfc_netfront/accel_tso.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netfront/accel_tso.c 2008-02-26 10:54:12.000000000 +0100
++++ head-2011-06-30/drivers/xen/sfc_netfront/accel_tso.c 2011-01-31 17:29:16.000000000 +0100
@@ -363,7 +363,7 @@ int netfront_accel_enqueue_skb_tso(netfr
tso_check_safe(skb);
@@ -11282,8 +11274,8 @@ Acked-by: jbeulich@novell.com
EPRINTK("Trying to TSO send a packet without HW checksum\n");
tso_start(&state, skb);
---- head-2011-05-23.orig/drivers/xen/sfc_netfront/accel_vi.c 2010-01-18 15:23:12.000000000 +0100
-+++ head-2011-05-23/drivers/xen/sfc_netfront/accel_vi.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netfront/accel_vi.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/sfc_netfront/accel_vi.c 2011-06-30 16:03:00.000000000 +0200
@@ -463,7 +463,7 @@ netfront_accel_enqueue_skb_multi(netfron
frag_i = -1;
@@ -11293,7 +11285,7 @@ Acked-by: jbeulich@novell.com
/* Set to zero to encourage falcon to work it out for us */
*(u16*)(skb->h.raw + skb->csum) = 0;
}
-@@ -582,7 +582,7 @@ netfront_accel_enqueue_skb_single(netfro
+@@ -584,7 +584,7 @@ netfront_accel_enqueue_skb_single(netfro
kva = buf->pkt_kva;
@@ -11302,8 +11294,8 @@ Acked-by: jbeulich@novell.com
/* Set to zero to encourage falcon to work it out for us */
*(u16*)(skb->h.raw + skb->csum) = 0;
}
---- head-2011-05-23.orig/drivers/xen/tpmback/common.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/tpmback/common.h 2011-04-11 14:27:26.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/tpmback/common.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/tpmback/common.h 2011-04-11 14:27:26.000000000 +0200
@@ -71,7 +71,7 @@ void tpmif_deschedule_work(tpmif_t * tpm
void tpmif_xenbus_init(void);
void tpmif_xenbus_exit(void);
@@ -11313,8 +11305,8 @@ Acked-by: jbeulich@novell.com
long int tpmback_get_instance(struct backend_info *bi);
---- head-2011-05-23.orig/drivers/xen/tpmback/tpmback.c 2010-09-23 15:39:04.000000000 +0200
-+++ head-2011-05-23/drivers/xen/tpmback/tpmback.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/tpmback/tpmback.c 2010-09-23 15:39:04.000000000 +0200
++++ head-2011-06-30/drivers/xen/tpmback/tpmback.c 2011-01-31 17:29:16.000000000 +0100
@@ -497,7 +497,7 @@ static ssize_t vtpm_op_read(struct file
list_del(&pak->next);
write_unlock_irqrestore(&dataex.pak_lock, flags);
@@ -11333,8 +11325,8 @@ Acked-by: jbeulich@novell.com
{
tpmif_t *tpmif = (tpmif_t *) dev_id;
---- head-2011-05-23.orig/drivers/xen/usbback/usbback.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/usbback/usbback.c 2011-04-11 14:27:33.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/usbback/usbback.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbback/usbback.c 2011-04-11 14:27:33.000000000 +0200
@@ -290,7 +290,7 @@ static void usbbk_notify_work(usbif_t *u
wake_up(&usbif->wq);
}
@@ -11353,8 +11345,8 @@ Acked-by: jbeulich@novell.com
{
pending_req_t *pending_req = (pending_req_t *)urb->context;
---- head-2011-05-23.orig/drivers/xen/usbback/usbback.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/usbback/usbback.h 2011-04-11 14:27:35.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/usbback/usbback.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbback/usbback.h 2011-04-11 14:27:35.000000000 +0200
@@ -151,7 +151,7 @@ int portid_add(const char *busid,
int portid_remove(const domid_t domid,
const unsigned int handle,
@@ -11364,8 +11356,8 @@ Acked-by: jbeulich@novell.com
int usbbk_schedule(void *arg);
struct usbstub *find_attached_device(usbif_t *usbif, int port);
void usbbk_attach_device(usbif_t *usbif, struct usbstub *stub);
---- head-2011-05-23.orig/drivers/xen/usbback/usbstub.c 2011-03-02 12:00:16.000000000 +0100
-+++ head-2011-05-23/drivers/xen/usbback/usbstub.c 2011-03-11 10:54:35.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/usbback/usbstub.c 2011-03-02 12:00:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/usbback/usbstub.c 2011-03-11 10:54:35.000000000 +0100
@@ -283,7 +283,7 @@ static ssize_t usbstub_show_portids(stru
static DRIVER_ATTR(port_ids, S_IRUSR, usbstub_show_portids, NULL);
@@ -11393,8 +11385,8 @@ Acked-by: jbeulich@novell.com
&driver_attr_port_ids);
usb_deregister(&usbback_usb_driver);
}
---- head-2011-05-23.orig/drivers/xen/usbfront/usbfront.h 2009-10-15 11:45:41.000000000 +0200
-+++ head-2011-05-23/drivers/xen/usbfront/usbfront.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/usbfront/usbfront.h 2009-10-15 11:45:41.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbfront/usbfront.h 2011-01-31 17:29:16.000000000 +0100
@@ -195,7 +195,7 @@ timer_action(struct usbfront_info *info,
extern struct kmem_cache *xenhcd_urbp_cachep;
extern struct hc_driver xen_usb20_hc_driver;
@@ -11404,8 +11396,8 @@ Acked-by: jbeulich@novell.com
void xenhcd_rhport_state_change(struct usbfront_info *info,
int port, enum usb_device_speed speed);
int xenhcd_schedule(void *arg);
---- head-2011-05-23.orig/drivers/xen/usbfront/usbfront-dbg.c 2009-10-15 11:45:41.000000000 +0200
-+++ head-2011-05-23/drivers/xen/usbfront/usbfront-dbg.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/usbfront/usbfront-dbg.c 2009-10-15 11:45:41.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbfront/usbfront-dbg.c 2011-01-31 17:29:16.000000000 +0100
@@ -90,7 +90,9 @@ static CLASS_DEVICE_ATTR(statistics, S_I
static inline void create_debug_file(struct usbfront_info *info)
{
@@ -11417,8 +11409,8 @@ Acked-by: jbeulich@novell.com
}
static inline void remove_debug_file(struct usbfront_info *info)
---- head-2011-05-23.orig/drivers/xen/usbfront/usbfront-q.c 2009-10-15 11:45:41.000000000 +0200
-+++ head-2011-05-23/drivers/xen/usbfront/usbfront-q.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/usbfront/usbfront-q.c 2009-10-15 11:45:41.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbfront/usbfront-q.c 2011-01-31 17:29:16.000000000 +0100
@@ -236,7 +236,7 @@ __acquires(info->lock)
COUNT(info->stats.complete);
}
@@ -11437,8 +11429,8 @@ Acked-by: jbeulich@novell.com
{
xenhcd_notify_work((struct usbfront_info *) dev_id);
return IRQ_HANDLED;
---- head-2011-05-23.orig/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:29:16.000000000 +0100
@@ -54,7 +54,7 @@ static DECLARE_WORK(probe_work, xenbus_p
static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
@@ -11448,8 +11440,8 @@ Acked-by: jbeulich@novell.com
{
int old, new;
---- head-2011-05-23.orig/drivers/xen/xenoprof/xenoprofile.c 2010-01-07 09:38:29.000000000 +0100
-+++ head-2011-05-23/drivers/xen/xenoprof/xenoprofile.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenoprof/xenoprofile.c 2010-01-07 09:38:29.000000000 +0100
++++ head-2011-06-30/drivers/xen/xenoprof/xenoprofile.c 2011-01-31 17:29:16.000000000 +0100
@@ -194,8 +194,7 @@ done:
oprofile_add_domain_switch(COORDINATOR_DOMAIN);
}
@@ -11460,8 +11452,8 @@ Acked-by: jbeulich@novell.com
{
struct xenoprof_buf * buf;
static unsigned long flag;
---- head-2011-05-23.orig/include/asm-generic/pgtable.h 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/include/asm-generic/pgtable.h 2011-03-11 10:54:24.000000000 +0100
+--- head-2011-06-30.orig/include/asm-generic/pgtable.h 2011-04-13 11:25:29.000000000 +0200
++++ head-2011-06-30/include/asm-generic/pgtable.h 2011-03-11 10:54:24.000000000 +0100
@@ -157,7 +157,7 @@ static inline void pmdp_set_wrprotect(st
#endif
@@ -11471,8 +11463,8 @@ Acked-by: jbeulich@novell.com
#endif
#ifndef __HAVE_ARCH_PMDP_SPLITTING_FLUSH
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/desc_32.h 2008-01-28 12:24:19.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/desc_32.h 2008-01-28 12:24:19.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -32,52 +32,110 @@ static inline struct desc_struct *get_cp
return (struct desc_struct *)per_cpu(cpu_gdt_descr, cpu).address;
}
@@ -11633,8 +11625,8 @@ Acked-by: jbeulich@novell.com
static inline void clear_LDT(void)
{
int cpu = get_cpu();
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/fixmap_32.h 2007-06-12 13:14:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/fixmap_32.h 2007-06-12 13:14:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -55,7 +55,7 @@ enum fixed_addresses {
#ifdef CONFIG_X86_LOCAL_APIC
FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
@@ -11656,8 +11648,8 @@ Acked-by: jbeulich@novell.com
#define set_fixmap(idx, phys) \
__set_fixmap(idx, phys, PAGE_KERNEL)
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/hypercall_32.h 2009-06-23 09:28:21.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/hypercall_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypercall_32.h 2009-06-23 09:28:21.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypercall_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -128,6 +128,23 @@
__res; \
})
@@ -11728,8 +11720,8 @@ Acked-by: jbeulich@novell.com
return _hypercall3(int, grant_table_op, cmd, uop, count);
}
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/hypercall_64.h 2009-06-23 09:28:21.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/hypercall_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypercall_64.h 2009-06-23 09:28:21.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypercall_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -135,6 +135,23 @@
__res; \
})
@@ -11799,8 +11791,8 @@ Acked-by: jbeulich@novell.com
return _hypercall3(int, grant_table_op, cmd, uop, count);
}
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2009-07-13 14:25:35.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2009-07-13 14:25:35.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:29:16.000000000 +0100
@@ -44,6 +44,7 @@
#include <xen/interface/sched.h>
#include <xen/interface/nmi.h>
@@ -11871,8 +11863,8 @@ Acked-by: jbeulich@novell.com
static inline int
HYPERVISOR_yield(
void)
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2008-04-02 12:34:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2008-04-02 12:34:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:29:16.000000000 +0100
@@ -53,7 +53,6 @@ static inline int pte_exec_kernel(pte_t
* not possible, use pte_get_and_clear to obtain the old pte
* value and then use set_pte to update it. -ben
@@ -11929,8 +11921,8 @@ Acked-by: jbeulich@novell.com
static inline int pte_same(pte_t a, pte_t b)
{
return a.pte_low == b.pte_low && a.pte_high == b.pte_high;
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-02-07 15:37:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-02-07 15:37:16.000000000 +0100
@@ -260,31 +260,89 @@ static inline pte_t pte_mkhuge(pte_t pte
# include <asm/pgtable-2level.h>
#endif
@@ -12141,8 +12133,8 @@ Acked-by: jbeulich@novell.com
#include <asm-generic/pgtable.h>
#endif /* _I386_PGTABLE_H */
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:02:29.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:02:29.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -146,6 +146,18 @@ static inline void detect_ht(struct cpui
#define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */
#define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */
@@ -12254,8 +12246,8 @@ Acked-by: jbeulich@novell.com
/* from system description table in BIOS. Mostly for MCA use, but
others may find it useful. */
extern unsigned int machine_id;
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/smp_32.h 2007-06-12 13:14:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/smp_32.h 2007-06-12 13:14:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -79,25 +79,36 @@ static inline int hard_smp_processor_id(
return GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID));
}
@@ -12300,8 +12292,8 @@ Acked-by: jbeulich@novell.com
+#endif
+
#endif
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/system_32.h 2007-06-12 13:14:02.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/system_32.h 2007-06-12 13:14:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -267,6 +267,9 @@ static inline unsigned long __xchg(unsig
#define cmpxchg(ptr,o,n)\
((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\
@@ -12352,8 +12344,8 @@ Acked-by: jbeulich@novell.com
#ifndef CONFIG_X86_CMPXCHG
/*
* Building a kernel capable running on 80386. It may be necessary to
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/tlbflush_32.h 2007-11-26 16:59:25.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/tlbflush_32.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/tlbflush_32.h 2007-11-26 16:59:25.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/tlbflush_32.h 2011-01-31 17:29:16.000000000 +0100
@@ -8,8 +8,6 @@
#define __flush_tlb_global() xen_tlb_flush()
#define __flush_tlb_all() xen_tlb_flush()
@@ -12363,8 +12355,8 @@ Acked-by: jbeulich@novell.com
#define cpu_has_invlpg (boot_cpu_data.x86 > 3)
#define __flush_tlb_single(addr) xen_invlpg(addr)
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/fixmap_64.h 2007-06-12 13:14:13.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/fixmap_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/fixmap_64.h 2007-06-12 13:14:13.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/fixmap_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -41,7 +41,7 @@ enum fixed_addresses {
#ifdef CONFIG_X86_LOCAL_APIC
FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
@@ -12374,8 +12366,8 @@ Acked-by: jbeulich@novell.com
FIX_IO_APIC_BASE_0,
FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1,
#endif
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-02-07 15:37:14.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-02-07 15:37:14.000000000 +0100
@@ -44,12 +44,9 @@ extern unsigned long __supported_pte_mas
#define swapper_pg_dir init_level4_pgt
@@ -12554,8 +12546,8 @@ Acked-by: jbeulich@novell.com
#define __HAVE_ARCH_PTEP_GET_AND_CLEAR
#define __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL
#define __HAVE_ARCH_PTEP_CLEAR_FLUSH
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/processor_64.h 2008-03-06 08:54:32.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/processor_64.h 2008-03-06 08:54:32.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -484,6 +484,8 @@ static inline void __mwait(unsigned long
: :"a" (eax), "c" (ecx));
}
@@ -12565,8 +12557,8 @@ Acked-by: jbeulich@novell.com
#define stack_current() \
({ \
struct thread_info *ti; \
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/smp_64.h 2007-06-12 13:14:13.000000000 +0200
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/smp_64.h 2007-06-12 13:14:13.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -4,15 +4,12 @@
/*
* We need the APIC definitions automatically as part of 'smp.h'
@@ -12672,8 +12664,8 @@ Acked-by: jbeulich@novell.com
+#endif /* !CONFIG_SMP */
#endif
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/system_64.h 2007-11-26 16:59:25.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/system_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/system_64.h 2007-11-26 16:59:25.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/system_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -24,6 +24,7 @@
#define __EXTRA_CLOBBER \
,"rcx","rbx","rdx","r8","r9","r10","r11","r12","r13","r14","r15"
@@ -12682,8 +12674,8 @@ Acked-by: jbeulich@novell.com
#define switch_to(prev,next,last) \
asm volatile(SAVE_CONTEXT \
"movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */ \
---- head-2011-05-23.orig/arch/x86/include/mach-xen/asm/tlbflush_64.h 2007-11-26 16:59:25.000000000 +0100
-+++ head-2011-05-23/arch/x86/include/mach-xen/asm/tlbflush_64.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/tlbflush_64.h 2007-11-26 16:59:25.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/tlbflush_64.h 2011-01-31 17:29:16.000000000 +0100
@@ -12,9 +12,6 @@
*/
#define __flush_tlb_global() xen_tlb_flush()
@@ -12694,8 +12686,8 @@ Acked-by: jbeulich@novell.com
#define __flush_tlb_all() __flush_tlb_global()
#define __flush_tlb_one(addr) xen_invlpg((unsigned long)addr)
---- head-2011-05-23.orig/include/xen/evtchn.h 2011-01-31 15:14:12.000000000 +0100
-+++ head-2011-05-23/include/xen/evtchn.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/include/xen/evtchn.h 2011-01-31 15:14:12.000000000 +0100
++++ head-2011-06-30/include/xen/evtchn.h 2011-01-31 17:29:16.000000000 +0100
@@ -57,34 +57,34 @@
*/
int bind_caller_port_to_irqhandler(
@@ -12737,7 +12729,7 @@ Acked-by: jbeulich@novell.com
const char *devname,
void *dev_id);
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-05-23/include/xen/net-util.h 2011-02-09 15:49:42.000000000 +0100
++++ head-2011-06-30/include/xen/net-util.h 2011-02-09 15:49:42.000000000 +0100
@@ -0,0 +1,74 @@
+#ifndef __XEN_NETUTIL_H__
+#define __XEN_NETUTIL_H__
@@ -12813,8 +12805,8 @@ Acked-by: jbeulich@novell.com
+}
+
+#endif /* __XEN_NETUTIL_H__ */
---- head-2011-05-23.orig/include/xen/xencons.h 2007-10-15 09:39:38.000000000 +0200
-+++ head-2011-05-23/include/xen/xencons.h 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/include/xen/xencons.h 2007-10-15 09:39:38.000000000 +0200
++++ head-2011-06-30/include/xen/xencons.h 2011-01-31 17:29:16.000000000 +0100
@@ -8,7 +8,7 @@ void xencons_force_flush(void);
void xencons_resume(void);
@@ -12824,8 +12816,8 @@ Acked-by: jbeulich@novell.com
void xencons_tx(void);
int xencons_ring_init(void);
---- head-2011-05-23.orig/mm/mprotect.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/mm/mprotect.c 2011-01-31 17:29:16.000000000 +0100
+--- head-2011-06-30.orig/mm/mprotect.c 2011-06-30 15:38:52.000000000 +0200
++++ head-2011-06-30/mm/mprotect.c 2011-01-31 17:29:16.000000000 +0100
@@ -97,7 +97,7 @@ static inline void change_pmd_range(stru
}
if (pmd_none_or_clear_bad(pmd))
@@ -12835,9 +12827,9 @@ Acked-by: jbeulich@novell.com
continue;
change_pte_range(vma->vm_mm, pmd, addr, next, newprot,
dirty_accountable);
---- head-2011-05-23.orig/mm/page_alloc.c 2011-04-13 11:25:29.000000000 +0200
-+++ head-2011-05-23/mm/page_alloc.c 2011-05-23 11:07:51.000000000 +0200
-@@ -5087,6 +5087,23 @@ void setup_per_zone_wmarks(void)
+--- head-2011-06-30.orig/mm/page_alloc.c 2011-06-30 15:38:58.000000000 +0200
++++ head-2011-06-30/mm/page_alloc.c 2011-06-30 16:03:09.000000000 +0200
+@@ -5116,6 +5116,23 @@ void setup_per_zone_wmarks(void)
spin_unlock_irqrestore(&zone->lock, flags);
}
diff --git a/patches.xen/xen3-patch-2.6.20 b/patches.xen/xen3-patch-2.6.20
index c7af1ce393..013166f135 100644
--- a/patches.xen/xen3-patch-2.6.20
+++ b/patches.xen/xen3-patch-2.6.20
@@ -6,9 +6,9 @@ Automatically created from "patches.kernel.org/patch-2.6.20" by xen-port-patches
Acked-by: jbeulich@novell.com
---- head-2011-04-28.orig/arch/x86/Kconfig 2011-04-13 12:23:38.000000000 +0200
-+++ head-2011-04-28/arch/x86/Kconfig 2011-04-28 11:09:26.000000000 +0200
-@@ -1634,6 +1634,7 @@ config PHYSICAL_START
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 16:02:26.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 16:03:27.000000000 +0200
+@@ -1630,6 +1630,7 @@ config PHYSICAL_START
config RELOCATABLE
bool "Build a relocatable kernel"
@@ -16,7 +16,7 @@ Acked-by: jbeulich@novell.com
default y
---help---
This builds a kernel image that retains relocation information
-@@ -1655,7 +1656,8 @@ config X86_NEED_RELOCS
+@@ -1651,7 +1652,8 @@ config X86_NEED_RELOCS
depends on X86_32 && RELOCATABLE
config PHYSICAL_ALIGN
@@ -26,8 +26,8 @@ Acked-by: jbeulich@novell.com
default "0x1000000"
range 0x2000 0x1000000
---help---
---- head-2011-04-28.orig/arch/x86/kernel/asm-offsets_32.c 2011-04-13 11:32:32.000000000 +0200
-+++ head-2011-04-28/arch/x86/kernel/asm-offsets_32.c 2011-04-13 12:30:12.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/asm-offsets_32.c 2011-04-13 11:32:32.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/asm-offsets_32.c 2011-04-13 12:30:12.000000000 +0200
@@ -64,6 +64,11 @@ void foo(void)
DEFINE(SYSENTER_stack_sp0, 0);
#endif
@@ -40,8 +40,8 @@ Acked-by: jbeulich@novell.com
#if defined(CONFIG_LGUEST) || defined(CONFIG_LGUEST_GUEST) || defined(CONFIG_LGUEST_MODULE)
BLANK();
OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled);
---- head-2011-04-28.orig/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -22,6 +22,7 @@
#define phys_pkg_id(a,b) a
#endif
@@ -439,8 +439,8 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_HOTPLUG_CPU
void __cpuinit cpu_uninit(void)
{
---- head-2011-04-28.orig/arch/x86/kernel/cpu/mtrr/main-xen.c 2008-01-28 12:24:18.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/cpu/mtrr/main-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/mtrr/main-xen.c 2008-01-28 12:24:18.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/cpu/mtrr/main-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -12,7 +12,7 @@
static DEFINE_MUTEX(mtrr_mutex);
@@ -461,7 +461,7 @@ Acked-by: jbeulich@novell.com
struct xen_platform_op op;
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2011-04-28/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -0,0 +1,1002 @@
+#include <linux/kernel.h>
+#include <linux/types.h>
@@ -1465,8 +1465,8 @@ Acked-by: jbeulich@novell.com
+ return 0;
+}
+early_param("memmap", parse_memmap);
---- head-2011-04-28.orig/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:32:16.000000000 +0100
@@ -30,12 +30,13 @@
* 18(%esp) - %eax
* 1C(%esp) - %ds
@@ -2237,8 +2237,8 @@ Acked-by: jbeulich@novell.com
ENTRY(fixup_4gb_segment)
RING0_EC_FRAME
pushl $do_fixup_4gb_segment
---- head-2011-04-28.orig/arch/x86/kernel/head_32-xen.S 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_32-xen.S 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:16.000000000 +0100
@@ -9,6 +9,7 @@
#include <asm/cache.h>
#include <asm/thread_info.h>
@@ -2355,8 +2355,8 @@ Acked-by: jbeulich@novell.com
.ascii ",FEATURES=writable_page_tables"
.ascii "|writable_descriptor_tables"
.ascii "|auto_translated_physmap"
---- head-2011-04-28.orig/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -34,6 +34,7 @@
#include <linux/pci.h>
#include <linux/msi.h>
@@ -2549,8 +2549,8 @@ Acked-by: jbeulich@novell.com
set_native_irq_info(irq, TARGET_CPUS);
spin_unlock_irqrestore(&ioapic_lock, flags);
---- head-2011-04-28.orig/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/ldt_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -177,16 +177,14 @@ static int read_default_ldt(void __user
{
int err;
@@ -2569,8 +2569,8 @@ Acked-by: jbeulich@novell.com
err = -EFAULT;
return err;
---- head-2011-04-28.orig/arch/x86/kernel/microcode-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/microcode-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Intel CPU Microcode Update Driver for Linux
@@ -2598,8 +2598,8 @@ Acked-by: jbeulich@novell.com
return 0;
}
---- head-2011-04-28.orig/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -36,7 +36,7 @@
/* Have we found an MP table */
@@ -2649,8 +2649,8 @@ Acked-by: jbeulich@novell.com
{
struct mpc_config_processor processor;
int boot_cpu = 0;
---- head-2011-04-28.orig/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -273,7 +273,7 @@ EXPORT_SYMBOL(dma_free_coherent);
int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
dma_addr_t device_addr, size_t size, int flags)
@@ -2686,8 +2686,8 @@ Acked-by: jbeulich@novell.com
return 0;
}
EXPORT_SYMBOL(dma_declare_coherent_memory);
---- head-2011-04-28.orig/arch/x86/kernel/process_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/process_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -60,6 +60,7 @@
#include <asm/tlbflush.h>
@@ -2812,8 +2812,8 @@ Acked-by: jbeulich@novell.com
return prev_p;
}
---- head-2011-04-28.orig/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -76,9 +76,6 @@
#include <xen/interface/kexec.h>
#endif
@@ -3900,8 +3900,8 @@ Acked-by: jbeulich@novell.com
if (is_initial_xendomain()) {
#ifdef CONFIG_VT
---- head-2011-04-28.orig/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -659,6 +659,10 @@ int smp_call_function_single(int cpu, vo
put_cpu();
return -EBUSY;
@@ -3913,8 +3913,8 @@ Acked-by: jbeulich@novell.com
spin_lock_bh(&call_lock);
__smp_call_function_single(cpu, func, info, nonatomic, wait);
spin_unlock_bh(&call_lock);
---- head-2011-04-28.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/time-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -60,6 +60,7 @@
#include <asm/uaccess.h>
#include <asm/processor.h>
@@ -3970,8 +3970,8 @@ Acked-by: jbeulich@novell.com
}
#endif
---- head-2011-04-28.orig/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -29,6 +29,8 @@
#include <linux/kexec.h>
#include <linux/unwind.h>
@@ -4308,8 +4308,8 @@ Acked-by: jbeulich@novell.com
-}
-__setup("call_trace=", call_trace_setup);
-#endif
---- head-2011-04-28.orig/arch/x86/kernel/vmlinux.lds.S 2011-04-28 11:04:08.000000000 +0200
-+++ head-2011-04-28/arch/x86/kernel/vmlinux.lds.S 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/vmlinux.lds.S 2011-06-30 15:04:43.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/vmlinux.lds.S 2011-01-31 17:32:16.000000000 +0100
@@ -84,6 +84,10 @@ SECTIONS
{
#ifdef CONFIG_X86_32
@@ -4321,8 +4321,8 @@ Acked-by: jbeulich@novell.com
phys_startup_32 = startup_32 - LOAD_OFFSET;
#else
. = __START_KERNEL;
---- head-2011-04-28.orig/arch/x86/kvm/Kconfig 2011-04-28 11:04:08.000000000 +0200
-+++ head-2011-04-28/arch/x86/kvm/Kconfig 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kvm/Kconfig 2011-03-15 02:20:32.000000000 +0100
++++ head-2011-06-30/arch/x86/kvm/Kconfig 2011-01-31 17:32:16.000000000 +0100
@@ -7,6 +7,7 @@ source "virt/kvm/Kconfig"
menuconfig VIRTUALIZATION
bool "Virtualization"
@@ -4331,8 +4331,8 @@ Acked-by: jbeulich@novell.com
default y
---help---
Say Y here to get to see options for using your Linux host to run other
---- head-2011-04-28.orig/arch/x86/mm/fault_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/fault_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -22,9 +22,9 @@
#include <linux/highmem.h>
#include <linux/module.h>
@@ -4377,8 +4377,8 @@ Acked-by: jbeulich@novell.com
break;
prefetch = (instr_lo == 0xF) &&
(opcode == 0x0D || opcode == 0x18);
---- head-2011-04-28.orig/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -32,7 +32,7 @@ static void *__kmap_atomic(struct page *
unsigned long vaddr;
@@ -4433,8 +4433,8 @@ Acked-by: jbeulich@novell.com
idx = type + KM_TYPE_NR*smp_processor_id();
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
---- head-2011-04-28.orig/arch/x86/mm/init_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -233,8 +233,6 @@ static inline int page_kills_ppro(unsign
#endif
@@ -4495,8 +4495,8 @@ Acked-by: jbeulich@novell.com
void __init pgtable_cache_init(void)
{
---- head-2011-04-28.orig/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -203,7 +203,7 @@ void pte_free(struct page *pte)
__free_page(pte);
}
@@ -4524,8 +4524,8 @@ Acked-by: jbeulich@novell.com
{
unsigned long flags; /* can be called from interrupt context */
---- head-2011-04-28.orig/arch/x86/pci/irq-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/pci/irq-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/pci/irq-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/pci/irq-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -768,7 +768,7 @@ static void __init pirq_find_router(stru
DBG(KERN_DEBUG "PCI: Attempting to find IRQ router for %04x:%04x\n",
rt->rtr_vendor, rt->rtr_device);
@@ -4544,8 +4544,8 @@ Acked-by: jbeulich@novell.com
}
static struct irq_info *pirq_get_info(struct pci_dev *dev)
---- head-2011-04-28.orig/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/entry_64-xen.S 2011-01-31 17:32:16.000000000 +0100
@@ -261,7 +261,6 @@ ENTRY(system_call)
movq %rax,ORIG_RAX-ARGOFFSET(%rsp)
GET_THREAD_INFO(%rcx)
@@ -4683,8 +4683,8 @@ Acked-by: jbeulich@novell.com
- CFI_ENDPROC
-ENDPROC(arch_unwind_init_running)
-#endif
---- head-2011-04-28.orig/arch/x86/kernel/head64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/head64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -104,7 +104,10 @@ void __init x86_64_start_kernel(char * r
machine_to_phys_order++;
@@ -4697,8 +4697,8 @@ Acked-by: jbeulich@novell.com
set_intr_gate(i, early_idt_handler);
asm volatile("lidt %0" :: "m" (idt_descr));
#endif
---- head-2011-04-28.orig/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/io_apic_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -202,14 +202,20 @@ static struct IO_APIC_route_entry ioapic
* the interrupt, and we need to make sure the entry is fully populated
* before that happens.
@@ -4891,8 +4891,8 @@ Acked-by: jbeulich@novell.com
}
}
---- head-2011-04-28.orig/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/mpparse_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -35,8 +35,6 @@
int smp_found_config;
unsigned int __initdata maxcpus = NR_CPUS;
@@ -4902,8 +4902,8 @@ Acked-by: jbeulich@novell.com
/*
* Various Linux-internal data structures created from the
* MP-table.
---- head-2011-04-28.orig/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:50.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:59.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:50.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/process_64-xen.c 2011-02-02 08:30:59.000000000 +0100
@@ -118,29 +118,23 @@ void exit_idle(void)
static void poll_idle (void)
{
@@ -4958,8 +4958,8 @@ Acked-by: jbeulich@novell.com
enter_idle();
idle();
/* In many cases the interrupt that ended idle
---- head-2011-04-28.orig/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/setup_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -574,8 +574,7 @@ void __init setup_arch(char **cmdline_p)
if (LOADER_TYPE && INITRD_START) {
if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) {
@@ -5012,8 +5012,8 @@ Acked-by: jbeulich@novell.com
c->x86_max_cores = intel_num_cpu_cores(c);
srat_detect_node();
---- head-2011-04-28.orig/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/smp_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -384,12 +384,17 @@ int smp_call_function_single (int cpu, v
put_cpu();
return 0;
@@ -5032,8 +5032,8 @@ Acked-by: jbeulich@novell.com
/*
* this function sends a 'generic call function' IPI to all other CPUs
---- head-2011-04-28.orig/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/traps_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -30,9 +30,10 @@
#include <linux/kprobes.h>
#include <linux/kexec.h>
@@ -5259,8 +5259,8 @@ Acked-by: jbeulich@novell.com
-}
-early_param("call_trace", call_trace_setup);
-#endif
---- head-2011-04-28.orig/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/vsyscall_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -42,6 +42,7 @@
#include <asm/topology.h>
@@ -5302,8 +5302,8 @@ Acked-by: jbeulich@novell.com
__set_fixmap(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
}
---- head-2011-04-28.orig/arch/x86/mm/fault_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/fault_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/fault_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/fault_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -23,9 +23,9 @@
#include <linux/compiler.h>
#include <linux/module.h>
@@ -5351,8 +5351,8 @@ Acked-by: jbeulich@novell.com
}
void dump_pagetable(unsigned long address)
---- head-2011-04-28.orig/arch/x86/mm/init_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/init_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/init_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -1164,14 +1164,15 @@ static __init int x8664_sysctl_init(void
__initcall(x8664_sysctl_init);
#endif
@@ -5372,8 +5372,8 @@ Acked-by: jbeulich@novell.com
};
struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
---- head-2011-04-28.orig/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pageattr_64-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -330,34 +330,40 @@ static struct page *split_large_page(uns
return base;
}
@@ -5460,8 +5460,8 @@ Acked-by: jbeulich@novell.com
}
}
---- head-2011-04-28.orig/drivers/pci/msi-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/pci/msi-xen.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/pci/msi-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/pci/msi-xen.c 2011-01-31 17:32:16.000000000 +0100
@@ -273,10 +273,8 @@ void disable_msi_mode(struct pci_dev *de
pci_write_config_word(dev, msi_control_reg(pos), control);
dev->msix_enabled = 0;
@@ -5488,8 +5488,8 @@ Acked-by: jbeulich@novell.com
}
#ifdef CONFIG_PM
---- head-2011-04-28.orig/drivers/xen/balloon/balloon.c 2011-03-23 08:48:06.000000000 +0100
-+++ head-2011-04-28/drivers/xen/balloon/balloon.c 2011-03-23 08:51:42.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/balloon/balloon.c 2011-03-23 08:48:06.000000000 +0100
++++ head-2011-06-30/drivers/xen/balloon/balloon.c 2011-03-23 08:51:42.000000000 +0100
@@ -106,8 +106,8 @@ static unsigned long __read_mostly total
static LIST_HEAD(ballooned_pages);
@@ -5510,8 +5510,8 @@ Acked-by: jbeulich@novell.com
{
int need_sleep = 0;
long credit;
---- head-2011-04-28.orig/drivers/xen/blkback/blkback.c 2011-04-11 14:28:25.000000000 +0200
-+++ head-2011-04-28/drivers/xen/blkback/blkback.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkback/blkback.c 2011-04-11 14:28:25.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/blkback.c 2011-01-31 17:32:16.000000000 +0100
@@ -37,6 +37,7 @@
#include <linux/spinlock.h>
@@ -5520,8 +5520,8 @@ Acked-by: jbeulich@novell.com
#include <linux/list.h>
#include <linux/delay.h>
#include <xen/balloon.h>
---- head-2011-04-28.orig/drivers/xen/blkback/interface.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-04-28/drivers/xen/blkback/interface.c 2011-04-11 14:29:25.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blkback/interface.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkback/interface.c 2011-04-11 14:29:25.000000000 +0200
@@ -35,7 +35,7 @@
#include <linux/kthread.h>
#include <linux/vmalloc.h>
@@ -5531,8 +5531,8 @@ Acked-by: jbeulich@novell.com
blkif_t *blkif_alloc(domid_t domid)
{
---- head-2011-04-28.orig/drivers/xen/blkfront/blkfront.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/blkfront/blkfront.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blkfront/blkfront.c 2011-06-30 16:02:36.000000000 +0200
++++ head-2011-06-30/drivers/xen/blkfront/blkfront.c 2011-06-30 16:03:31.000000000 +0200
@@ -71,7 +71,7 @@ static int setup_blkring(struct xenbus_d
static void kick_pending_request_queues(struct blkfront_info *);
@@ -5551,7 +5551,7 @@ Acked-by: jbeulich@novell.com
for (i = 0; i < BLK_RING_SIZE; i++)
info->shadow[i].req.id = i+1;
-@@ -482,9 +482,9 @@ static void kick_pending_request_queues(
+@@ -481,9 +481,9 @@ static void kick_pending_request_queues(
}
}
@@ -5563,8 +5563,8 @@ Acked-by: jbeulich@novell.com
spin_lock_irq(&blkif_io_lock);
if (info->connected == BLKIF_STATE_CONNECTED)
kick_pending_request_queues(info);
---- head-2011-04-28.orig/drivers/xen/blktap/blktap.c 2011-04-11 14:28:18.000000000 +0200
-+++ head-2011-04-28/drivers/xen/blktap/blktap.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/blktap/blktap.c 2011-06-30 16:02:41.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/blktap.c 2011-01-31 17:32:16.000000000 +0100
@@ -40,6 +40,7 @@
#include <linux/spinlock.h>
@@ -5573,8 +5573,8 @@ Acked-by: jbeulich@novell.com
#include <linux/list.h>
#include <asm/hypervisor.h>
#include "common.h"
---- head-2011-04-28.orig/drivers/xen/blktap/interface.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-04-28/drivers/xen/blktap/interface.c 2011-04-11 14:29:39.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/blktap/interface.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/blktap/interface.c 2011-04-11 14:29:39.000000000 +0200
@@ -35,7 +35,7 @@
#include <xen/evtchn.h>
#include <linux/vmalloc.h>
@@ -5584,8 +5584,8 @@ Acked-by: jbeulich@novell.com
blkif_t *tap_alloc_blkif(domid_t domid)
{
---- head-2011-04-28.orig/drivers/xen/char/mem.c 2007-08-06 15:10:49.000000000 +0200
-+++ head-2011-04-28/drivers/xen/char/mem.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/char/mem.c 2007-08-06 15:10:49.000000000 +0200
++++ head-2011-06-30/drivers/xen/char/mem.c 2011-01-31 17:32:16.000000000 +0100
@@ -157,7 +157,7 @@ static loff_t memory_lseek(struct file *
{
loff_t ret;
@@ -5604,8 +5604,8 @@ Acked-by: jbeulich@novell.com
return ret;
}
---- head-2011-04-28.orig/drivers/xen/console/console.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/console/console.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/console/console.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/console/console.c 2011-01-31 17:32:16.000000000 +0100
@@ -85,11 +85,6 @@ static int xc_num = -1;
#define XEN_HVC_MAJOR 229
#define XEN_HVC_MINOR 0
@@ -5640,8 +5640,8 @@ Acked-by: jbeulich@novell.com
if (buf[i] == '\x0f') { /* ^O */
if (!sysrq_requested) {
sysrq_requested = jiffies;
---- head-2011-04-28.orig/drivers/xen/core/reboot.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/core/reboot.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/reboot.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/reboot.c 2011-01-31 17:32:16.000000000 +0100
@@ -33,8 +33,8 @@ static int suspend_cancelled;
/* Can we leave APs online when we suspend? */
static int fast_suspend;
@@ -5677,8 +5677,8 @@ Acked-by: jbeulich@novell.com
{
int err;
---- head-2011-04-28.orig/drivers/xen/core/smpboot.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/core/smpboot.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/core/smpboot.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/core/smpboot.c 2011-01-31 17:32:16.000000000 +0100
@@ -158,7 +158,12 @@ static void xen_smp_intr_exit(unsigned i
void __cpuinit cpu_bringup(void)
@@ -5731,8 +5731,8 @@ Acked-by: jbeulich@novell.com
#ifdef __x86_64__
cpu_pda(cpu)->pcurrent = idle;
cpu_pda(cpu)->cpunumber = cpu;
---- head-2011-04-28.orig/drivers/xen/fbfront/xenfb.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/fbfront/xenfb.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/fbfront/xenfb.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/fbfront/xenfb.c 2011-01-31 17:32:16.000000000 +0100
@@ -25,6 +25,7 @@
#include <linux/vmalloc.h>
#include <linux/mm.h>
@@ -5741,8 +5741,8 @@ Acked-by: jbeulich@novell.com
#include <asm/hypervisor.h>
#include <xen/evtchn.h>
#include <xen/interface/io/fbif.h>
---- head-2011-04-28.orig/drivers/xen/netback/loopback.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/netback/loopback.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/netback/loopback.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/netback/loopback.c 2011-01-31 17:32:16.000000000 +0100
@@ -54,6 +54,7 @@
#include <net/dst.h>
#include <net/xfrm.h> /* secpath_reset() */
@@ -5751,8 +5751,8 @@ Acked-by: jbeulich@novell.com
static int nloopbacks = -1;
module_param(nloopbacks, int, 0);
---- head-2011-04-28.orig/drivers/xen/pciback/conf_space_header.c 2010-03-02 09:56:10.000000000 +0100
-+++ head-2011-04-28/drivers/xen/pciback/conf_space_header.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/conf_space_header.c 2010-03-02 09:56:10.000000000 +0100
++++ head-2011-06-30/drivers/xen/pciback/conf_space_header.c 2011-01-31 17:32:16.000000000 +0100
@@ -24,7 +24,7 @@ static int command_read(struct pci_dev *
int ret;
@@ -5779,8 +5779,8 @@ Acked-by: jbeulich@novell.com
if (unlikely(verbose_request))
printk(KERN_DEBUG "pciback: %s: disable\n",
pci_name(dev));
---- head-2011-04-28.orig/drivers/xen/pciback/pciback.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/pciback/pciback.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/pciback.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/pciback/pciback.h 2011-01-31 17:32:16.000000000 +0100
@@ -100,7 +100,7 @@ void pciback_release_devices(struct pcib
/* Handles events from front-end */
@@ -5790,8 +5790,8 @@ Acked-by: jbeulich@novell.com
int pciback_xenbus_register(void);
void pciback_xenbus_unregister(void);
---- head-2011-04-28.orig/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:33.000000000 +0100
-+++ head-2011-04-28/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:46.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:33.000000000 +0100
++++ head-2011-06-30/drivers/xen/pciback/pciback_ops.c 2011-02-17 10:07:46.000000000 +0100
@@ -34,7 +34,7 @@ void pciback_reset_device(struct pci_dev
pci_write_config_word(dev, PCI_COMMAND, 0);
@@ -5813,8 +5813,8 @@ Acked-by: jbeulich@novell.com
struct pci_dev *dev;
struct xen_pci_op *op = &pdev->sh_info->op;
---- head-2011-04-28.orig/drivers/xen/pciback/xenbus.c 2009-04-07 13:58:48.000000000 +0200
-+++ head-2011-04-28/drivers/xen/pciback/xenbus.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pciback/xenbus.c 2009-04-07 13:58:48.000000000 +0200
++++ head-2011-06-30/drivers/xen/pciback/xenbus.c 2011-01-31 17:32:16.000000000 +0100
@@ -33,7 +33,7 @@ static struct pciback_device *alloc_pdev
pdev->evtchn_irq = INVALID_EVTCHN_IRQ;
pdev->be_watching = 0;
@@ -5824,8 +5824,8 @@ Acked-by: jbeulich@novell.com
if (pciback_init_devices(pdev)) {
kfree(pdev);
---- head-2011-04-28.orig/drivers/xen/pcifront/pci_op.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/pcifront/pci_op.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pcifront/pci_op.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/pcifront/pci_op.c 2011-01-31 17:32:16.000000000 +0100
@@ -634,9 +634,9 @@ static pci_ers_result_t pcifront_common_
}
@@ -5838,8 +5838,8 @@ Acked-by: jbeulich@novell.com
int cmd = pdev->sh_info->aer_op.cmd;
pci_channel_state_t state =
(pci_channel_state_t)pdev->sh_info->aer_op.err;
---- head-2011-04-28.orig/drivers/xen/pcifront/pcifront.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/pcifront/pcifront.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pcifront/pcifront.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/pcifront/pcifront.h 2011-01-31 17:32:16.000000000 +0100
@@ -49,7 +49,7 @@ int pcifront_rescan_root(struct pcifront
unsigned int domain, unsigned int bus);
void pcifront_free_roots(struct pcifront_device *pdev);
@@ -5849,8 +5849,8 @@ Acked-by: jbeulich@novell.com
irqreturn_t pcifront_handler_aer(int irq, void *dev);
---- head-2011-04-28.orig/drivers/xen/pcifront/xenbus.c 2010-10-05 09:58:12.000000000 +0200
-+++ head-2011-04-28/drivers/xen/pcifront/xenbus.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/pcifront/xenbus.c 2010-10-05 09:58:12.000000000 +0200
++++ head-2011-06-30/drivers/xen/pcifront/xenbus.c 2011-01-31 17:32:16.000000000 +0100
@@ -50,7 +50,7 @@ static struct pcifront_device *alloc_pde
pdev->gnt_ref = INVALID_GRANT_REF;
pdev->irq = -1;
@@ -5860,8 +5860,8 @@ Acked-by: jbeulich@novell.com
dev_dbg(&xdev->dev, "Allocated pdev @ 0x%p pdev->sh_info @ 0x%p\n",
pdev, pdev->sh_info);
---- head-2011-04-28.orig/drivers/xen/scsiback/interface.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-04-28/drivers/xen/scsiback/interface.c 2011-04-11 14:30:02.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/scsiback/interface.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/scsiback/interface.c 2011-04-11 14:30:02.000000000 +0200
@@ -41,7 +41,7 @@
#include <linux/vmalloc.h>
@@ -5871,8 +5871,8 @@ Acked-by: jbeulich@novell.com
struct vscsibk_info *vscsibk_info_alloc(domid_t domid)
{
---- head-2011-04-28.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 14:27:51.000000000 +0200
-+++ head-2011-04-28/drivers/xen/scsiback/scsiback.c 2011-04-11 14:30:08.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/scsiback/scsiback.c 2011-04-11 14:27:51.000000000 +0200
++++ head-2011-06-30/drivers/xen/scsiback/scsiback.c 2011-04-11 14:30:08.000000000 +0200
@@ -343,13 +343,11 @@ static int scsiback_merge_bio(struct req
if (!rq->bio)
@@ -5888,8 +5888,8 @@ Acked-by: jbeulich@novell.com
}
return 0;
---- head-2011-04-28.orig/drivers/xen/sfc_netfront/accel_vi.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/sfc_netfront/accel_vi.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/sfc_netfront/accel_vi.c 2011-06-30 16:03:00.000000000 +0200
++++ head-2011-06-30/drivers/xen/sfc_netfront/accel_vi.c 2011-06-30 16:03:44.000000000 +0200
@@ -465,7 +465,7 @@ netfront_accel_enqueue_skb_multi(netfron
if (skb->ip_summed == CHECKSUM_PARTIAL) {
@@ -5899,7 +5899,7 @@ Acked-by: jbeulich@novell.com
}
if (multi_post_start_new_buffer(vnic, &state)) {
-@@ -584,7 +584,7 @@ netfront_accel_enqueue_skb_single(netfro
+@@ -586,7 +586,7 @@ netfront_accel_enqueue_skb_single(netfro
if (skb->ip_summed == CHECKSUM_PARTIAL) {
/* Set to zero to encourage falcon to work it out for us */
@@ -5908,8 +5908,8 @@ Acked-by: jbeulich@novell.com
}
NETFRONT_ACCEL_PKTBUFF_FOR_EACH_FRAGMENT
(skb, idx, frag_data, frag_len, {
---- head-2011-04-28.orig/drivers/xen/tpmback/interface.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-04-28/drivers/xen/tpmback/interface.c 2011-04-11 14:30:27.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/tpmback/interface.c 2011-04-11 13:43:15.000000000 +0200
++++ head-2011-06-30/drivers/xen/tpmback/interface.c 2011-04-11 14:30:27.000000000 +0200
@@ -18,7 +18,7 @@
#include <xen/evtchn.h>
#include <xen/gnttab.h>
@@ -5919,8 +5919,8 @@ Acked-by: jbeulich@novell.com
int num_frontends = 0;
LIST_HEAD(tpmif_list);
---- head-2011-04-28.orig/drivers/xen/usbback/usbback.c 2011-04-11 14:27:33.000000000 +0200
-+++ head-2011-04-28/drivers/xen/usbback/usbback.c 2011-04-11 14:30:35.000000000 +0200
+--- head-2011-06-30.orig/drivers/xen/usbback/usbback.c 2011-04-11 14:27:33.000000000 +0200
++++ head-2011-06-30/drivers/xen/usbback/usbback.c 2011-04-11 14:30:35.000000000 +0200
@@ -536,9 +536,10 @@ struct set_interface_request {
struct work_struct work;
};
@@ -5987,8 +5987,8 @@ Acked-by: jbeulich@novell.com
usb_get_dev(udev);
schedule_work(&req->work);
---- head-2011-04-28.orig/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_comms.c 2011-01-31 17:32:16.000000000 +0100
@@ -49,8 +49,8 @@
static int xenbus_irq;
@@ -6000,9 +6000,9 @@ Acked-by: jbeulich@novell.com
static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
---- head-2011-04-28.orig/drivers/xen/xenbus/xenbus_probe.c 2011-04-11 13:43:15.000000000 +0200
-+++ head-2011-04-28/drivers/xen/xenbus/xenbus_probe.c 2011-04-11 14:31:15.000000000 +0200
-@@ -954,7 +954,7 @@ static void xenbus_reset_state(void)
+--- head-2011-06-30.orig/drivers/xen/xenbus/xenbus_probe.c 2011-06-30 15:37:44.000000000 +0200
++++ head-2011-06-30/drivers/xen/xenbus/xenbus_probe.c 2011-06-30 16:03:51.000000000 +0200
+@@ -955,7 +955,7 @@ static void xenbus_reset_state(void)
}
#endif
@@ -6011,8 +6011,8 @@ Acked-by: jbeulich@novell.com
{
BUG_ON(!is_xenstored_ready());
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/desc_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -4,8 +4,6 @@
#include <asm/ldt.h>
#include <asm/segment.h>
@@ -6198,8 +6198,8 @@ Acked-by: jbeulich@novell.com
#endif /* !__ASSEMBLY__ */
#endif
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/fixmap_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -13,13 +13,16 @@
#ifndef _ASM_FIXMAP_H
#define _ASM_FIXMAP_H
@@ -6218,8 +6218,8 @@ Acked-by: jbeulich@novell.com
#ifndef __ASSEMBLY__
#include <linux/kernel.h>
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/highmem.h 2008-10-29 09:55:56.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/highmem.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/highmem.h 2008-10-29 09:55:56.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/highmem.h 2011-01-31 17:32:16.000000000 +0100
@@ -85,7 +85,7 @@ static inline void clear_user_highpage(s
void copy_highpage(struct page *to, struct page *from);
@@ -6229,8 +6229,8 @@ Acked-by: jbeulich@novell.com
{
copy_highpage(to, from);
}
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/hypervisor.h 2011-01-31 17:32:16.000000000 +0100
@@ -47,15 +47,6 @@
#include <asm/percpu.h>
#include <asm/ptrace.h>
@@ -6247,8 +6247,8 @@ Acked-by: jbeulich@novell.com
extern shared_info_t *HYPERVISOR_shared_info;
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/irqflags_32.h 2007-06-12 13:14:02.000000000 +0200
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/irqflags_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/irqflags_32.h 2007-06-12 13:14:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/irqflags_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -22,9 +22,6 @@
#define __raw_local_save_flags() (current_vcpu_info()->evtchn_upcall_mask)
@@ -6343,8 +6343,8 @@ Acked-by: jbeulich@novell.com
#endif /* __ASSEMBLY__ */
/*
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/mmu_context_32.h 2007-06-12 13:14:02.000000000 +0200
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/mmu_context_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/mmu_context_32.h 2007-06-12 13:14:02.000000000 +0200
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/mmu_context_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -27,14 +27,13 @@ static inline void enter_lazy_tlb(struct
static inline void __prepare_arch_switch(void)
{
@@ -6384,8 +6384,8 @@ Acked-by: jbeulich@novell.com
static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next)
{
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable-3level.h 2011-01-31 17:32:16.000000000 +0100
@@ -1,8 +1,6 @@
#ifndef _I386_PGTABLE_3LEVEL_H
#define _I386_PGTABLE_3LEVEL_H
@@ -6484,8 +6484,8 @@ Acked-by: jbeulich@novell.com
#define __pte_mfn(_pte) (((_pte).pte_low >> PAGE_SHIFT) | \
((_pte).pte_high << (32-PAGE_SHIFT)))
#define pte_mfn(_pte) ((_pte).pte_low & _PAGE_PRESENT ? \
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-02-07 15:37:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-02-07 15:37:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -38,14 +38,14 @@ struct vm_area_struct;
#define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page))
extern unsigned long empty_zero_page[1024];
@@ -6534,8 +6534,8 @@ Acked-by: jbeulich@novell.com
#define __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL
#define ptep_get_and_clear_full(mm, addr, ptep, full) \
((full) ? ({ \
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/processor_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -20,6 +20,7 @@
#include <linux/threads.h>
#include <asm/percpu.h>
@@ -6814,8 +6814,8 @@ Acked-by: jbeulich@novell.com
+extern void secondary_cpu_init(void);
+
#endif /* __ASM_I386_PROCESSOR_H */
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/smp_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -8,6 +8,7 @@
#include <linux/kernel.h>
#include <linux/threads.h>
@@ -6833,8 +6833,8 @@ Acked-by: jbeulich@novell.com
extern cpumask_t cpu_possible_map;
#define cpu_callin_map cpu_possible_map
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/system_32.h 2011-01-31 17:32:16.000000000 +0100
@@ -139,17 +139,17 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t"
#define write_cr4(x) \
__asm__ __volatile__("movl %0,%%cr4": :"r" (x))
@@ -6859,8 +6859,8 @@ Acked-by: jbeulich@novell.com
static inline unsigned long get_limit(unsigned long segment)
{
unsigned long __limit;
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/desc_64.h 2008-01-28 12:24:19.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/desc_64.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/desc_64.h 2008-01-28 12:24:19.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/desc_64.h 2011-01-31 17:32:16.000000000 +0100
@@ -9,62 +9,11 @@
#include <linux/string.h>
@@ -6925,8 +6925,8 @@ Acked-by: jbeulich@novell.com
extern struct desc_ptr idt_descr, cpu_gdt_descr[NR_CPUS];
extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-02-07 15:37:14.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-02-07 15:37:14.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/pgtable_64.h 2011-01-31 17:32:16.000000000 +0100
@@ -237,19 +237,18 @@ extern unsigned int __kernel_page_user;
static inline unsigned long pgd_bad(pgd_t pgd)
@@ -6966,8 +6966,8 @@ Acked-by: jbeulich@novell.com
#define pfn_pmd(nr,prot) (__pmd(((nr) << PAGE_SHIFT) | pgprot_val(prot)))
#define pmd_pfn(x) ((pmd_val(x) & __PHYSICAL_MASK) >> PAGE_SHIFT)
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/processor_64.h 2011-01-31 17:32:16.000000000 +0100
@@ -484,6 +484,14 @@ static inline void __mwait(unsigned long
: :"a" (eax), "c" (ecx));
}
@@ -6983,8 +6983,8 @@ Acked-by: jbeulich@novell.com
extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx);
#define stack_current() \
---- head-2011-04-28.orig/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-04-28/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:32:16.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/include/mach-xen/asm/smp_64.h 2011-01-31 17:32:16.000000000 +0100
@@ -88,11 +88,6 @@ extern u8 x86_cpu_to_log_apicid[NR_CPUS]
extern u8 bios_cpu_apicid[];
@@ -7011,8 +7011,8 @@ Acked-by: jbeulich@novell.com
#endif /* !CONFIG_SMP */
#endif
---- head-2011-04-28.orig/include/xen/net-util.h 2011-02-09 15:49:42.000000000 +0100
-+++ head-2011-04-28/include/xen/net-util.h 2011-02-09 15:50:19.000000000 +0100
+--- head-2011-06-30.orig/include/xen/net-util.h 2011-02-09 15:49:42.000000000 +0100
++++ head-2011-06-30/include/xen/net-util.h 2011-02-09 15:50:19.000000000 +0100
@@ -39,12 +39,12 @@ static inline int skb_checksum_setup(str
switch (iph->protocol) {
@@ -7037,8 +7037,8 @@ Acked-by: jbeulich@novell.com
goto out;
if (csum) {
---- head-2011-04-28.orig/kernel/kexec.c 2011-04-28 11:08:43.000000000 +0200
-+++ head-2011-04-28/kernel/kexec.c 2011-04-28 11:09:21.000000000 +0200
+--- head-2011-06-30.orig/kernel/kexec.c 2011-04-28 11:08:43.000000000 +0200
++++ head-2011-06-30/kernel/kexec.c 2011-04-28 11:09:21.000000000 +0200
@@ -372,7 +372,7 @@ static struct page *kimage_alloc_pages(g
if (limit == ~0UL)
address_bits = BITS_PER_LONG;
diff --git a/patches.xen/xen3-patch-2.6.21 b/patches.xen/xen3-patch-2.6.21
index ef75f11691..7d2b70378a 100644
--- a/patches.xen/xen3-patch-2.6.21
+++ b/patches.xen/xen3-patch-2.6.21
@@ -6,9 +6,9 @@ Automatically created from "patches.kernel.org/patch-2.6.21" by xen-port-patches
Acked-by: jbeulich@novell.com
---- head-2011-05-23.orig/arch/x86/Kconfig 2011-04-28 11:09:26.000000000 +0200
-+++ head-2011-05-23/arch/x86/Kconfig 2011-04-13 12:30:24.000000000 +0200
-@@ -91,13 +91,15 @@ config GENERIC_CMOS_UPDATE
+--- head-2011-06-30.orig/arch/x86/Kconfig 2011-06-30 16:03:27.000000000 +0200
++++ head-2011-06-30/arch/x86/Kconfig 2011-06-30 16:04:41.000000000 +0200
+@@ -89,13 +89,15 @@ config GENERIC_CMOS_UPDATE
config CLOCKSOURCE_WATCHDOG
def_bool y
@@ -25,9 +25,9 @@ Acked-by: jbeulich@novell.com
config LOCKDEP_SUPPORT
def_bool y
---- head-2011-05-23.orig/arch/x86/kernel/Makefile 2011-04-13 12:23:51.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/Makefile 2011-04-13 12:30:30.000000000 +0200
-@@ -131,7 +131,7 @@ ifeq ($(CONFIG_X86_64),y)
+--- head-2011-06-30.orig/arch/x86/kernel/Makefile 2011-06-30 16:02:19.000000000 +0200
++++ head-2011-06-30/arch/x86/kernel/Makefile 2011-06-30 16:04:43.000000000 +0200
+@@ -135,7 +135,7 @@ ifeq ($(CONFIG_X86_64),y)
pci-dma_64-$(CONFIG_XEN) += pci-dma_32.o
endif
@@ -37,8 +37,8 @@ Acked-by: jbeulich@novell.com
+ smpboot_$(BITS).o tsc_$(BITS).o tsc_sync.o
disabled-obj-$(CONFIG_XEN_UNPRIVILEGED_GUEST) += mpparse_64.o
%/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
---- head-2011-05-23.orig/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/apic/apic-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -25,6 +25,8 @@
#include <linux/kernel_stat.h>
#include <linux/sysdev.h>
@@ -135,8 +135,8 @@ Acked-by: jbeulich@novell.com
int setup_profiling_timer(unsigned int multiplier)
{
return -EINVAL;
---- head-2011-05-23.orig/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/cpu/common-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -612,7 +612,7 @@ void __init early_cpu_init(void)
struct pt_regs * __devinit idle_regs(struct pt_regs *regs)
{
@@ -182,8 +182,8 @@ Acked-by: jbeulich@novell.com
/* Clear all 6 debug registers: */
set_debugreg(0, 0);
---- head-2011-05-23.orig/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/e820_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -14,6 +14,7 @@
#include <asm/pgtable.h>
#include <asm/page.h>
@@ -223,8 +223,8 @@ Acked-by: jbeulich@novell.com
return sum == 0;
}
---- head-2011-05-23.orig/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/entry_32-xen.S 2011-04-26 09:08:37.000000000 +0200
+--- head-2011-06-30.orig/arch/x86/kernel/entry_32-xen.S 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/entry_32-xen.S 2011-04-26 09:08:37.000000000 +0200
@@ -30,7 +30,7 @@
* 18(%esp) - %eax
* 1C(%esp) - %ds
@@ -597,8 +597,8 @@ Acked-by: jbeulich@novell.com
ENTRY(kernel_thread_helper)
pushl $0 # fake return address for unwinder
---- head-2011-05-23.orig/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/head_32-xen.S 2011-01-31 17:32:22.000000000 +0100
@@ -27,6 +27,7 @@
#define X86_CAPABILITY new_cpu_data+CPUINFO_x86_capability
#define X86_VENDOR_ID new_cpu_data+CPUINFO_x86_vendor_id
@@ -631,8 +631,8 @@ Acked-by: jbeulich@novell.com
/* get the PDA pointer */
movl $boot_pda, %eax
---- head-2011-05-23.orig/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/io_apic_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -167,7 +167,7 @@ static inline void io_apic_write(unsigne
*/
static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
@@ -783,8 +783,8 @@ Acked-by: jbeulich@novell.com
spin_unlock_irqrestore(&ioapic_lock, flags);
return 0;
---- head-2011-05-23.orig/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/microcode-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -108,7 +108,7 @@ static ssize_t microcode_write (struct f
return ret;
}
@@ -794,8 +794,8 @@ Acked-by: jbeulich@novell.com
.owner = THIS_MODULE,
.write = microcode_write,
.open = microcode_open,
---- head-2011-05-23.orig/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/mpparse_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -1079,7 +1079,7 @@ int mp_register_gsi(u32 gsi, int trigger
static int gsi_to_irq[MAX_GSI_NUM];
@@ -814,8 +814,8 @@ Acked-by: jbeulich@novell.com
gsi = pci_irq++;
gsi_to_irq[irq] = gsi;
} else {
---- head-2011-05-23.orig/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/pci-dma-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -308,7 +308,7 @@ int dma_declare_coherent_memory(struct d
return DMA_MEMORY_IO;
@@ -825,8 +825,8 @@ Acked-by: jbeulich@novell.com
out:
if (mem_base)
iounmap(mem_base);
---- head-2011-05-23.orig/arch/x86/kernel/pcspeaker.c 2011-05-23 10:35:52.000000000 +0200
-+++ head-2011-05-23/arch/x86/kernel/pcspeaker.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/pcspeaker.c 2008-12-25 00:26:37.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/pcspeaker.c 2011-01-31 17:32:22.000000000 +0100
@@ -6,6 +6,11 @@ static __init int add_pcspkr(void)
{
struct platform_device *pd;
@@ -839,8 +839,8 @@ Acked-by: jbeulich@novell.com
pd = platform_device_register_simple("pcspkr", -1, NULL, 0);
return IS_ERR(pd) ? PTR_ERR(pd) : 0;
---- head-2011-05-23.orig/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/process_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -38,6 +38,7 @@
#include <linux/ptrace.h>
#include <linux/random.h>
@@ -953,8 +953,8 @@ Acked-by: jbeulich@novell.com
return prev_p;
}
---- head-2011-05-23.orig/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/setup_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -33,7 +33,6 @@
#include <linux/initrd.h>
#include <linux/bootmem.h>
@@ -1044,8 +1044,8 @@ Acked-by: jbeulich@novell.com
- * c-basic-offset:8
- * End:
- */
---- head-2011-05-23.orig/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/smp_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -335,8 +335,7 @@ static void flush_tlb_others(cpumask_t c
/*
* i'm not happy about this global shared spinlock in the
@@ -1065,8 +1065,8 @@ Acked-by: jbeulich@novell.com
flush_mm = NULL;
flush_va = 0;
---- head-2011-05-23.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/time-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/time-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/time-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -50,6 +50,7 @@
#include <linux/kernel_stat.h>
#include <linux/posix-timers.h>
@@ -1528,8 +1528,8 @@ Acked-by: jbeulich@novell.com
return 0;
}
__initcall(xen_sysctl_init);
---- head-2011-05-23.orig/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/kernel/traps_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -100,6 +100,7 @@ asmlinkage void fixup_4gb_segment(void);
asmlinkage void machine_check(void);
@@ -1604,8 +1604,8 @@ Acked-by: jbeulich@novell.com
+ return 1;
+}
+__setup("code_bytes=", code_bytes_setup);
---- head-2011-05-23.orig/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/fault_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -46,43 +46,17 @@ int unregister_page_fault_notifier(struc
}
EXPORT_SYMBOL_GPL(unregister_page_fault_notifier);
@@ -1676,8 +1676,8 @@ Acked-by: jbeulich@novell.com
return;
/* It's safe to allow irq's after cr2 has been saved and the vmalloc
---- head-2011-05-23.orig/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/highmem_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -33,14 +33,16 @@ static void *__kmap_atomic(struct page *
/* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
@@ -1706,8 +1706,8 @@ Acked-by: jbeulich@novell.com
return (void*) vaddr;
}
---- head-2011-05-23.orig/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/init_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -66,6 +66,7 @@ static pmd_t * __init one_md_table_init(
#ifdef CONFIG_X86_PAE
@@ -1724,8 +1724,8 @@ Acked-by: jbeulich@novell.com
make_lowmem_page_readonly(page_table,
XENFEAT_writable_page_tables);
set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
---- head-2011-05-23.orig/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:16.000000000 +0100
++++ head-2011-06-30/arch/x86/mm/pgtable_32-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -149,6 +149,8 @@ void __set_fixmap (enum fixed_addresses
void __init reserve_top_address(unsigned long reserve)
{
@@ -1805,8 +1805,8 @@ Acked-by: jbeulich@novell.com
kmem_cache_free(pmd_cache, pmd);
}
---- head-2011-05-23.orig/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:32:22.000000000 +0100
+--- head-2011-06-30.orig/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:29:16.000000000 +0100
++++ head-2011-06-30/arch/x86/ia32/ia32entry-xen.S 2011-01-31 17:32:22.000000000 +0100
@@ -465,7 +465,7 @@ ia32_sys_call_table:
.quad sys32_vm86_warning /* vm86old */
.quad compat_sys_wait4
@@ -1831,8 +1831,8 @@ Acked-by: jbeulich@novell.com
.quad sys_getcpu
+ .quad sys_epoll_pwait
ia32_syscall_end:
---- head-2011-05-23.orig/arch/x86/kernel/e820_64-xen.c 2011-01-31 17:29:16.000000000 +0100
-+++ head-2011-05-23/arch/x86/kernel/e820_64-xen.c 2011-01-31 17:32:22.000000000 +0100