Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2013-12-25 11:48:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
New Changes file:
--- /dev/null 2013-11-25 01:44:08.036031256 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-cubox.changes 2013-12-25 11:48:11.000000000 +0100
@@ -0,0 +1,29593 @@
+-------------------------------------------------------------------
+Fri Nov 29 21:29:19 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.2.
+- Refresh patches.xen/xen3-patch-2.6.29.
+- Delete
+ patches.suse/btrfs-relocate-csums-properly-with-prealloc-extents.patch.
+- commit 3b81e61
+
+-------------------------------------------------------------------
+Fri Nov 29 11:35:21 CET 2013 - tiwai@suse.de
+
+- Build mei and mei_me as modules (bnc#852656)
+- commit 1a570dd
+
+-------------------------------------------------------------------
+Thu Nov 28 15:01:08 CET 2013 - jdelvare@suse.de
+
+- supported.conf: dd drivers/hwmon/smsc47b397
+ That one is very simple and reliable and found in a number of
+ enterprise-grade workstations. I believe it would make sense to support
+ it.
+- commit 3a2ac9d
+
+-------------------------------------------------------------------
+Wed Nov 27 17:59:14 CET 2013 - duwe@suse.de
+
+- pstore: automatically dump and clean dmesg entries
+ (fate#315232).
+- Update config files.
+- commit 9525160
+
+-------------------------------------------------------------------
+Tue Nov 26 17:28:52 CET 2013 - agraf@suse.de
+
+- omapdrm: fix compile with dma_addr_t > u32.
+- commit 611f4eb
+
+-------------------------------------------------------------------
+Thu Nov 21 00:04:25 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.1.
+- commit 1e06fbe
+
+-------------------------------------------------------------------
+Wed Nov 20 14:47:00 CET 2013 - jslaby@suse.cz
+
+- Update config files (fate#315172).
+- commit a0984ed
+
+-------------------------------------------------------------------
+Wed Nov 20 13:15:58 CET 2013 - jslaby@suse.cz
+
+- x86/dumpstack: Fix printk_address for direct addresses
+ (bnc#845621).
+- Refresh patches.suse/stack-unwind.
+- Refresh patches.xen/xen-x86_64-dump-user-pgt.
+- commit ce55b22
+
+-------------------------------------------------------------------
+Tue Nov 19 16:52:03 CET 2013 - jbohac@suse.cz
+
+- supported.conf: marked net/netfilter/xt_set as supported (bnc#851066)
+ xt_set should have been enabled together with the ip_set modules in
+ fate#313309
+- commit c2e046e
+
+-------------------------------------------------------------------
+Tue Nov 12 14:09:24 CET 2013 - jdelvare@suse.de
+
+- armv6hl, armv7hl: Update config files.
+ Set CONFIG_BATMAN_ADV_BLA=y as all other kernel configuration files
+ have.
+- commit e7c00d8
+
+-------------------------------------------------------------------
+Fri Nov 8 17:27:48 CET 2013 - jdelvare@suse.de
+
+- Update config files:
+ * CONFIG_BATMAN_ADV_NC=y, because other BATMAN_ADV options are all
+ enabled so why not this one.
+ * CONFIG_GPIO_SCH=m, CONFIG_GPIO_PCH=m, because we support all other
+ features of these pieces of hardware.
+ * CONFIG_INTEL_POWERCLAMP=m, because this small driver might be
+ useful in specific cases, and there's no obvious reason not to
+ include it.
+- commit 79e7a03
+
+-------------------------------------------------------------------
+Thu Nov 7 14:39:46 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-final.
+- commit ec28986
+
+-------------------------------------------------------------------
+Wed Nov 6 17:58:38 CET 2013 - duwe@suse.de
+
+- fate#316581: CONFIG_IBM_BSR y -> m
+- commit f5eba64
+
+-------------------------------------------------------------------
+Mon Nov 4 13:54:39 CET 2013 - jslaby@suse.cz
+
+- Delete patches.kernel.org/patch-3.11.1.
+- commit ec24572
+
+-------------------------------------------------------------------
+Mon Nov 4 03:19:40 CET 2013 - jeffm@suse.com
+
+- Update config files.
+- commit f7c27a2
+
+-------------------------------------------------------------------
+Mon Nov 4 02:20:43 CET 2013 - jeffm@suse.com
+
+- Update to 3.12-final.
+- commit bd2bcf1
+
+-------------------------------------------------------------------
+Mon Nov 4 02:19:32 CET 2013 - jeffm@suse.com
+
+- Refresh
+ patches.suse/btrfs-add-ability-to-query-change-feature-bits-online-ioctl.
+- commit a58c8c5
+
+-------------------------------------------------------------------
+Mon Nov 4 02:16:56 CET 2013 - jeffm@suse.com
+
+- Refresh patches.suse/btrfs-add-tracing-for-failed-reservations.
+- Refresh patches.suse/btrfs-publish-allocation-data-in-sysfs.
+ - No code change: missing 'quilt add' caused a chunk to be
+ in the wrong patch.
+- commit 0346b5c
+
+-------------------------------------------------------------------
+Wed Oct 30 17:49:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add extra chmap for 2.1 outputs on ASUS laptops
+ (bnc#846531).
+- commit 5fe5110
+
+-------------------------------------------------------------------
+Wed Oct 30 12:36:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add a fixup for ASUS N76VZ (bnc#846529).
+- commit c8ca4fb
+
+-------------------------------------------------------------------
+Tue Oct 29 14:04:37 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-rc7 and c/s 1240.
+- commit 49141ff
+
+-------------------------------------------------------------------
+Mon Oct 28 15:04:30 CET 2013 - jeffm@suse.de
+
+- Update to 3.12-rc7.
+- commit c59f68d
+
+-------------------------------------------------------------------
+Tue Oct 22 21:20:23 CEST 2013 - jeffm@suse.com
+
+- nouveau: Fix race with fence signaling (bnc#844177).
+- commit db1113e
+
+-------------------------------------------------------------------
+Tue Oct 22 21:19:59 CEST 2013 - jeffm@suse.com
+
+- btrfs: add ioctl to export size of global metadata reservation.
+- btrfs: add tracing for failed reservations.
+- btrfs: publish allocation data in sysfs.
+- btrfs: publish device membership in sysfs.
+- btrfs: publish fs label in sysfs.
+- btrfs: publish per-super attributes in sysfs.
+- btrfs: publish per-super features in sysfs.
+- btrfs: publish supported featured in sysfs.
+- btrfs: publish unknown feature bits in sysfs.
+- kobject: export kobj_sysfs_ops.
+- Refresh
+ patches.suse/btrfs-add-ability-to-change-features-via-sysfs.
+- Refresh
+ patches.suse/btrfs-use-feature-attributes-to-print-names-in-errors.
+- Delete
+ patches.suse/btrfs-add-per-super-attribute-publishing-to-sysfs.
+- Delete
+ patches.suse/btrfs-add-publishing-of-unknown-features-in-sysfs.
+- Delete patches.suse/btrfs-export-supported-featured-to-sysfs.
+- Delete patches.suse/btrfs-publish-per-super-features-to-sysfs.
+- Delete patches.suse/introduce-kobj_completion.
+- commit 28f62b4
+
+-------------------------------------------------------------------
+Mon Oct 21 22:40:08 CEST 2013 - jeffm@suse.com
+
+- Update to 3.12-rc6.
+- commit 7244867
+
++++ 29396 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-cubox.changes
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes 2013-12-23 22:23:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2013-12-25 11:48:11.000000000 +0100
@@ -2,189 +1,0 @@
-Mon Dec 23 02:42:55 CET 2013 - agraf@suse.de
-
-- ibmveth: Fix more little endian issues.
-- powerpc: Don't return to BE mode when we are already there.
-- powerpc: Add hack to make ppc64le work on hosts without ILE.
-- powerpc: Add relocation code for fixups.
-- powerpc: Add global exports for all interrupt vectors.
-- commit 3d0a348
-
--------------------------------------------------------------------
-Sat Dec 21 18:43:27 CET 2013 - jeffm@suse.de
-
-- Update to 3.13-rc4.
-- ppc64le/vanilla appears to have not been resynced when copied.
-- commit 82b44e7
-
--------------------------------------------------------------------
-Fri Dec 20 01:14:25 CET 2013 - agraf@suse.de
-
-- Update config files: Disable relocation on ppc64le (it's broken)
-- commit fbe0eb5
-
--------------------------------------------------------------------
-Thu Dec 19 18:39:34 CET 2013 - agraf@suse.de
-
-- Update config files: Disable kvm for ppc64le (not implemented upstream)
-- commit 7fa2dfd
-
--------------------------------------------------------------------
-Thu Dec 19 18:17:44 CET 2013 - agraf@suse.de
-
-- powerpc: PTRACE_PEEKUSR always returns FPR0.
-- commit c9829ea
-
--------------------------------------------------------------------
-Thu Dec 19 18:17:17 CET 2013 - agraf@suse.de
-
-- PPC: Build only vmlinux target.
-- commit 04c2cde
-
--------------------------------------------------------------------
-Thu Dec 19 18:15:37 CET 2013 - agraf@suse.de
-
-- powerpc: Make 64-bit non-VMX __copy_tofrom_user bi-endian.
-- commit 0044320
-
--------------------------------------------------------------------
-Thu Dec 19 18:14:07 CET 2013 - agraf@suse.de
-
-- Add ppc64le support (configs are a copy of the ppc64 ones with LE enabled)
-- commit d86dbed
-
--------------------------------------------------------------------
-Thu Dec 19 18:13:02 CET 2013 - agraf@suse.de
-
-- sched: Remove PREEMPT_NEED_RESCHED from generic code. (fixes ppc)
-- commit 605502a
-
--------------------------------------------------------------------
-Thu Dec 19 18:11:43 CET 2013 - agraf@suse.de
-
-- Disable 32-on-64 ptrace patch, it breaks for ppc64le
-- commit a943cf8
-
--------------------------------------------------------------------
-Thu Dec 19 18:10:46 CET 2013 - agraf@suse.de
-
-- Update config files
- - remove epapr bytechan interface, we don't support booke
-- commit 68ab0ab
-
--------------------------------------------------------------------
-Wed Dec 18 15:10:19 CET 2013 - tiwai@suse.de
-
-- Disable simplefb and x86 sysfb due to breakage (bnc#855821)
-- commit 656db57
-
--------------------------------------------------------------------
-Mon Dec 16 15:39:56 CET 2013 - ohering@suse.de
-
-- fbmem: really support wildcard video=options for all fbdev
- drivers.
-- commit 5b170d7
-
--------------------------------------------------------------------
-Mon Dec 16 15:36:07 CET 2013 - ohering@suse.de
-
-- Delete
- patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch.
-- commit b3125ee
-
--------------------------------------------------------------------
-Fri Dec 13 16:02:31 CET 2013 - tiwai@suse.de
-
-- Add missing CONFIG_PINCTRL_SINGLE kconfig setups
-- commit 39ea148
-
--------------------------------------------------------------------
-Thu Dec 12 13:53:00 CET 2013 - jdelvare@suse.de
-
-- config.conf: s390 is history
-- Delete config/s390/s390.
-- Delete config/s390/trace.
-- Delete config/s390/vanilla.
-- commit 2bf5161
-
--------------------------------------------------------------------
-Thu Dec 12 10:24:11 CET 2013 - jdelvare@suse.de
-
-- Delete patches.suse/ida-remove-warning-dump-stack.patch.
- Already included since kernel 3.11 (WARN calls dump_stack.)
-- commit 8e04564
-
--------------------------------------------------------------------
-Wed Dec 11 02:46:26 CET 2013 - stefan.bruens@rwth-aachen.de
-
-- config: set CONFIG_X86_INTEL_LPSS and CONFIG_I2C_DESIGNWARE_PLATFORM
- Enable INTEL LPSS (Low Power SubSystem) for LynxPoint chipsets (bnc#849125)
- and DesignWare (platform) i2c bus driver (bnc#849338).
- The DesignWare i2c driver depends on the clock subsystem.
-- commit 3a6fe23
-
--------------------------------------------------------------------
-Mon Dec 9 12:40:58 CET 2013 - hare@suse.de
-
-- Delete patches.suse/scsi-error-test-unit-ready-timeout:
- Superseded by commit 0816c9251a7180383bb7811e1a1545f7b78e5374.
-- commit 44df1ce
-
--------------------------------------------------------------------
-Mon Dec 9 12:32:26 CET 2013 - hare@suse.de
-
-- iscsi_target: race condition on shutdown (bnc#850072).
-- commit c4710fd
-
--------------------------------------------------------------------
-Sun Dec 8 20:02:23 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc3.
-- commit 82b4383
-
--------------------------------------------------------------------
-Wed Dec 4 20:20:22 CET 2013 - jeffm@suse.de
-
-- config: enable CONFIG_EXPERT
- 3.10 introduced Kconfig rules that automatically builds in
- uncommon HID drivers if EXPERT is not set.
- This commit does not introduce any other config changes.
-- commit 30a8773
-
--------------------------------------------------------------------
-Wed Dec 4 19:57:54 CET 2013 - jeffm@suse.com
-
-- README: Update to document typical patch naming
-- commit d2a2470
-
--------------------------------------------------------------------
-Wed Dec 4 16:43:58 CET 2013 - tiwai@suse.de
-
-- config: CONFIG_CHECKPOINT_RESTORE=y and CONFIG_MEM_SOFT_DIRTY=y on x86_64
-- commit d99342f
-
--------------------------------------------------------------------
-Mon Dec 2 04:25:25 CET 2013 - jeffm@suse.com
-
-- Revert "init: define console_initcall when built as a module."
- This reverts commit 9eb723d9911b941e71381831812b7c7bd17d24f3.
-- commit c172b07
-
--------------------------------------------------------------------
-Mon Dec 2 03:55:26 CET 2013 - jeffm@suse.com
-
-- init: define console_initcall when built as a module.
-- commit 9eb723d
-
--------------------------------------------------------------------
-Mon Dec 2 03:23:04 CET 2013 - jeffm@suse.com
-
-- overlayfs: update for 3.13 delegated_inode API changes.
-- commit 3d88c7f
-
--------------------------------------------------------------------
-Mon Dec 2 02:29:42 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc2.
- - Eliminated 1 patch.
-- commit 75ac3c3
-
--------------------------------------------------------------------
@@ -229,21 +39,0 @@
-Sat Nov 23 01:43:38 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc1.
-- Eliminated 7 patches.
-- Xen is disabled.
-- ARM needs config updates.
-- commit 2dfdca4
++++ 27 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
New Changes file:
--- /dev/null 2013-11-25 01:44:08.036031256 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-ec2.changes 2013-12-25 11:48:11.000000000 +0100
@@ -0,0 +1,29593 @@
+-------------------------------------------------------------------
+Fri Nov 29 21:29:19 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.2.
+- Refresh patches.xen/xen3-patch-2.6.29.
+- Delete
+ patches.suse/btrfs-relocate-csums-properly-with-prealloc-extents.patch.
+- commit 3b81e61
+
+-------------------------------------------------------------------
+Fri Nov 29 11:35:21 CET 2013 - tiwai@suse.de
+
+- Build mei and mei_me as modules (bnc#852656)
+- commit 1a570dd
+
+-------------------------------------------------------------------
+Thu Nov 28 15:01:08 CET 2013 - jdelvare@suse.de
+
+- supported.conf: dd drivers/hwmon/smsc47b397
+ That one is very simple and reliable and found in a number of
+ enterprise-grade workstations. I believe it would make sense to support
+ it.
+- commit 3a2ac9d
+
+-------------------------------------------------------------------
+Wed Nov 27 17:59:14 CET 2013 - duwe@suse.de
+
+- pstore: automatically dump and clean dmesg entries
+ (fate#315232).
+- Update config files.
+- commit 9525160
+
+-------------------------------------------------------------------
+Tue Nov 26 17:28:52 CET 2013 - agraf@suse.de
+
+- omapdrm: fix compile with dma_addr_t > u32.
+- commit 611f4eb
+
+-------------------------------------------------------------------
+Thu Nov 21 00:04:25 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.1.
+- commit 1e06fbe
+
+-------------------------------------------------------------------
+Wed Nov 20 14:47:00 CET 2013 - jslaby@suse.cz
+
+- Update config files (fate#315172).
+- commit a0984ed
+
+-------------------------------------------------------------------
+Wed Nov 20 13:15:58 CET 2013 - jslaby@suse.cz
+
+- x86/dumpstack: Fix printk_address for direct addresses
+ (bnc#845621).
+- Refresh patches.suse/stack-unwind.
+- Refresh patches.xen/xen-x86_64-dump-user-pgt.
+- commit ce55b22
+
+-------------------------------------------------------------------
+Tue Nov 19 16:52:03 CET 2013 - jbohac@suse.cz
+
+- supported.conf: marked net/netfilter/xt_set as supported (bnc#851066)
+ xt_set should have been enabled together with the ip_set modules in
+ fate#313309
+- commit c2e046e
+
+-------------------------------------------------------------------
+Tue Nov 12 14:09:24 CET 2013 - jdelvare@suse.de
+
+- armv6hl, armv7hl: Update config files.
+ Set CONFIG_BATMAN_ADV_BLA=y as all other kernel configuration files
+ have.
+- commit e7c00d8
+
+-------------------------------------------------------------------
+Fri Nov 8 17:27:48 CET 2013 - jdelvare@suse.de
+
+- Update config files:
+ * CONFIG_BATMAN_ADV_NC=y, because other BATMAN_ADV options are all
+ enabled so why not this one.
+ * CONFIG_GPIO_SCH=m, CONFIG_GPIO_PCH=m, because we support all other
+ features of these pieces of hardware.
+ * CONFIG_INTEL_POWERCLAMP=m, because this small driver might be
+ useful in specific cases, and there's no obvious reason not to
+ include it.
+- commit 79e7a03
+
+-------------------------------------------------------------------
+Thu Nov 7 14:39:46 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-final.
+- commit ec28986
+
+-------------------------------------------------------------------
+Wed Nov 6 17:58:38 CET 2013 - duwe@suse.de
+
+- fate#316581: CONFIG_IBM_BSR y -> m
+- commit f5eba64
+
+-------------------------------------------------------------------
+Mon Nov 4 13:54:39 CET 2013 - jslaby@suse.cz
+
+- Delete patches.kernel.org/patch-3.11.1.
+- commit ec24572
+
+-------------------------------------------------------------------
+Mon Nov 4 03:19:40 CET 2013 - jeffm@suse.com
+
+- Update config files.
+- commit f7c27a2
+
+-------------------------------------------------------------------
+Mon Nov 4 02:20:43 CET 2013 - jeffm@suse.com
+
+- Update to 3.12-final.
+- commit bd2bcf1
+
+-------------------------------------------------------------------
+Mon Nov 4 02:19:32 CET 2013 - jeffm@suse.com
+
+- Refresh
+ patches.suse/btrfs-add-ability-to-query-change-feature-bits-online-ioctl.
+- commit a58c8c5
+
+-------------------------------------------------------------------
+Mon Nov 4 02:16:56 CET 2013 - jeffm@suse.com
+
+- Refresh patches.suse/btrfs-add-tracing-for-failed-reservations.
+- Refresh patches.suse/btrfs-publish-allocation-data-in-sysfs.
+ - No code change: missing 'quilt add' caused a chunk to be
+ in the wrong patch.
+- commit 0346b5c
+
+-------------------------------------------------------------------
+Wed Oct 30 17:49:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add extra chmap for 2.1 outputs on ASUS laptops
+ (bnc#846531).
+- commit 5fe5110
+
+-------------------------------------------------------------------
+Wed Oct 30 12:36:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add a fixup for ASUS N76VZ (bnc#846529).
+- commit c8ca4fb
+
+-------------------------------------------------------------------
+Tue Oct 29 14:04:37 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-rc7 and c/s 1240.
+- commit 49141ff
+
+-------------------------------------------------------------------
+Mon Oct 28 15:04:30 CET 2013 - jeffm@suse.de
+
+- Update to 3.12-rc7.
+- commit c59f68d
+
+-------------------------------------------------------------------
+Tue Oct 22 21:20:23 CEST 2013 - jeffm@suse.com
+
+- nouveau: Fix race with fence signaling (bnc#844177).
+- commit db1113e
+
+-------------------------------------------------------------------
+Tue Oct 22 21:19:59 CEST 2013 - jeffm@suse.com
+
+- btrfs: add ioctl to export size of global metadata reservation.
+- btrfs: add tracing for failed reservations.
+- btrfs: publish allocation data in sysfs.
+- btrfs: publish device membership in sysfs.
+- btrfs: publish fs label in sysfs.
+- btrfs: publish per-super attributes in sysfs.
+- btrfs: publish per-super features in sysfs.
+- btrfs: publish supported featured in sysfs.
+- btrfs: publish unknown feature bits in sysfs.
+- kobject: export kobj_sysfs_ops.
+- Refresh
+ patches.suse/btrfs-add-ability-to-change-features-via-sysfs.
+- Refresh
+ patches.suse/btrfs-use-feature-attributes-to-print-names-in-errors.
+- Delete
+ patches.suse/btrfs-add-per-super-attribute-publishing-to-sysfs.
+- Delete
+ patches.suse/btrfs-add-publishing-of-unknown-features-in-sysfs.
+- Delete patches.suse/btrfs-export-supported-featured-to-sysfs.
+- Delete patches.suse/btrfs-publish-per-super-features-to-sysfs.
+- Delete patches.suse/introduce-kobj_completion.
+- commit 28f62b4
+
+-------------------------------------------------------------------
+Mon Oct 21 22:40:08 CEST 2013 - jeffm@suse.com
+
+- Update to 3.12-rc6.
+- commit 7244867
+
++++ 29396 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-ec2.changes
New Changes file:
kernel-exynos.changes: same change
New Changes file:
kernel-lpae.changes: same change
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-pae.changes 2013-12-23 22:23:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-pae.changes 2013-12-25 11:48:12.000000000 +0100
@@ -2,189 +1,0 @@
-Mon Dec 23 02:42:55 CET 2013 - agraf@suse.de
-
-- ibmveth: Fix more little endian issues.
-- powerpc: Don't return to BE mode when we are already there.
-- powerpc: Add hack to make ppc64le work on hosts without ILE.
-- powerpc: Add relocation code for fixups.
-- powerpc: Add global exports for all interrupt vectors.
-- commit 3d0a348
-
--------------------------------------------------------------------
-Sat Dec 21 18:43:27 CET 2013 - jeffm@suse.de
-
-- Update to 3.13-rc4.
-- ppc64le/vanilla appears to have not been resynced when copied.
-- commit 82b44e7
-
--------------------------------------------------------------------
-Fri Dec 20 01:14:25 CET 2013 - agraf@suse.de
-
-- Update config files: Disable relocation on ppc64le (it's broken)
-- commit fbe0eb5
-
--------------------------------------------------------------------
-Thu Dec 19 18:39:34 CET 2013 - agraf@suse.de
-
-- Update config files: Disable kvm for ppc64le (not implemented upstream)
-- commit 7fa2dfd
-
--------------------------------------------------------------------
-Thu Dec 19 18:17:44 CET 2013 - agraf@suse.de
-
-- powerpc: PTRACE_PEEKUSR always returns FPR0.
-- commit c9829ea
-
--------------------------------------------------------------------
-Thu Dec 19 18:17:17 CET 2013 - agraf@suse.de
-
-- PPC: Build only vmlinux target.
-- commit 04c2cde
-
--------------------------------------------------------------------
-Thu Dec 19 18:15:37 CET 2013 - agraf@suse.de
-
-- powerpc: Make 64-bit non-VMX __copy_tofrom_user bi-endian.
-- commit 0044320
-
--------------------------------------------------------------------
-Thu Dec 19 18:14:07 CET 2013 - agraf@suse.de
-
-- Add ppc64le support (configs are a copy of the ppc64 ones with LE enabled)
-- commit d86dbed
-
--------------------------------------------------------------------
-Thu Dec 19 18:13:02 CET 2013 - agraf@suse.de
-
-- sched: Remove PREEMPT_NEED_RESCHED from generic code. (fixes ppc)
-- commit 605502a
-
--------------------------------------------------------------------
-Thu Dec 19 18:11:43 CET 2013 - agraf@suse.de
-
-- Disable 32-on-64 ptrace patch, it breaks for ppc64le
-- commit a943cf8
-
--------------------------------------------------------------------
-Thu Dec 19 18:10:46 CET 2013 - agraf@suse.de
-
-- Update config files
- - remove epapr bytechan interface, we don't support booke
-- commit 68ab0ab
-
--------------------------------------------------------------------
-Wed Dec 18 15:10:19 CET 2013 - tiwai@suse.de
-
-- Disable simplefb and x86 sysfb due to breakage (bnc#855821)
-- commit 656db57
-
--------------------------------------------------------------------
-Mon Dec 16 15:39:56 CET 2013 - ohering@suse.de
-
-- fbmem: really support wildcard video=options for all fbdev
- drivers.
-- commit 5b170d7
-
--------------------------------------------------------------------
-Mon Dec 16 15:36:07 CET 2013 - ohering@suse.de
-
-- Delete
- patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch.
-- commit b3125ee
-
--------------------------------------------------------------------
-Fri Dec 13 16:02:31 CET 2013 - tiwai@suse.de
-
-- Add missing CONFIG_PINCTRL_SINGLE kconfig setups
-- commit 39ea148
-
--------------------------------------------------------------------
-Thu Dec 12 13:53:00 CET 2013 - jdelvare@suse.de
-
-- config.conf: s390 is history
-- Delete config/s390/s390.
-- Delete config/s390/trace.
-- Delete config/s390/vanilla.
-- commit 2bf5161
-
--------------------------------------------------------------------
-Thu Dec 12 10:24:11 CET 2013 - jdelvare@suse.de
-
-- Delete patches.suse/ida-remove-warning-dump-stack.patch.
- Already included since kernel 3.11 (WARN calls dump_stack.)
-- commit 8e04564
-
--------------------------------------------------------------------
-Wed Dec 11 02:46:26 CET 2013 - stefan.bruens@rwth-aachen.de
-
-- config: set CONFIG_X86_INTEL_LPSS and CONFIG_I2C_DESIGNWARE_PLATFORM
- Enable INTEL LPSS (Low Power SubSystem) for LynxPoint chipsets (bnc#849125)
- and DesignWare (platform) i2c bus driver (bnc#849338).
- The DesignWare i2c driver depends on the clock subsystem.
-- commit 3a6fe23
-
--------------------------------------------------------------------
-Mon Dec 9 12:40:58 CET 2013 - hare@suse.de
-
-- Delete patches.suse/scsi-error-test-unit-ready-timeout:
- Superseded by commit 0816c9251a7180383bb7811e1a1545f7b78e5374.
-- commit 44df1ce
-
--------------------------------------------------------------------
-Mon Dec 9 12:32:26 CET 2013 - hare@suse.de
-
-- iscsi_target: race condition on shutdown (bnc#850072).
-- commit c4710fd
-
--------------------------------------------------------------------
-Sun Dec 8 20:02:23 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc3.
-- commit 82b4383
-
--------------------------------------------------------------------
-Wed Dec 4 20:20:22 CET 2013 - jeffm@suse.de
-
-- config: enable CONFIG_EXPERT
- 3.10 introduced Kconfig rules that automatically builds in
- uncommon HID drivers if EXPERT is not set.
- This commit does not introduce any other config changes.
-- commit 30a8773
-
--------------------------------------------------------------------
-Wed Dec 4 19:57:54 CET 2013 - jeffm@suse.com
-
-- README: Update to document typical patch naming
-- commit d2a2470
-
--------------------------------------------------------------------
-Wed Dec 4 16:43:58 CET 2013 - tiwai@suse.de
-
-- config: CONFIG_CHECKPOINT_RESTORE=y and CONFIG_MEM_SOFT_DIRTY=y on x86_64
-- commit d99342f
-
--------------------------------------------------------------------
-Mon Dec 2 04:25:25 CET 2013 - jeffm@suse.com
-
-- Revert "init: define console_initcall when built as a module."
- This reverts commit 9eb723d9911b941e71381831812b7c7bd17d24f3.
-- commit c172b07
-
--------------------------------------------------------------------
-Mon Dec 2 03:55:26 CET 2013 - jeffm@suse.com
-
-- init: define console_initcall when built as a module.
-- commit 9eb723d
-
--------------------------------------------------------------------
-Mon Dec 2 03:23:04 CET 2013 - jeffm@suse.com
-
-- overlayfs: update for 3.13 delegated_inode API changes.
-- commit 3d88c7f
-
--------------------------------------------------------------------
-Mon Dec 2 02:29:42 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc2.
- - Eliminated 1 patch.
-- commit 75ac3c3
-
--------------------------------------------------------------------
@@ -229,21 +39,0 @@
-Sat Nov 23 01:43:38 CET 2013 - jeffm@suse.com
-
-- Update to 3.13-rc1.
-- Eliminated 7 patches.
-- Xen is disabled.
-- ARM needs config updates.
-- commit 2dfdca4
++++ 27 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-pae.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-pae.changes
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
New Changes file:
--- /dev/null 2013-11-25 01:44:08.036031256 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-xen.changes 2013-12-25 11:48:12.000000000 +0100
@@ -0,0 +1,29593 @@
+-------------------------------------------------------------------
+Fri Nov 29 21:29:19 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.2.
+- Refresh patches.xen/xen3-patch-2.6.29.
+- Delete
+ patches.suse/btrfs-relocate-csums-properly-with-prealloc-extents.patch.
+- commit 3b81e61
+
+-------------------------------------------------------------------
+Fri Nov 29 11:35:21 CET 2013 - tiwai@suse.de
+
+- Build mei and mei_me as modules (bnc#852656)
+- commit 1a570dd
+
+-------------------------------------------------------------------
+Thu Nov 28 15:01:08 CET 2013 - jdelvare@suse.de
+
+- supported.conf: dd drivers/hwmon/smsc47b397
+ That one is very simple and reliable and found in a number of
+ enterprise-grade workstations. I believe it would make sense to support
+ it.
+- commit 3a2ac9d
+
+-------------------------------------------------------------------
+Wed Nov 27 17:59:14 CET 2013 - duwe@suse.de
+
+- pstore: automatically dump and clean dmesg entries
+ (fate#315232).
+- Update config files.
+- commit 9525160
+
+-------------------------------------------------------------------
+Tue Nov 26 17:28:52 CET 2013 - agraf@suse.de
+
+- omapdrm: fix compile with dma_addr_t > u32.
+- commit 611f4eb
+
+-------------------------------------------------------------------
+Thu Nov 21 00:04:25 CET 2013 - jslaby@suse.cz
+
+- Linux 3.12.1.
+- commit 1e06fbe
+
+-------------------------------------------------------------------
+Wed Nov 20 14:47:00 CET 2013 - jslaby@suse.cz
+
+- Update config files (fate#315172).
+- commit a0984ed
+
+-------------------------------------------------------------------
+Wed Nov 20 13:15:58 CET 2013 - jslaby@suse.cz
+
+- x86/dumpstack: Fix printk_address for direct addresses
+ (bnc#845621).
+- Refresh patches.suse/stack-unwind.
+- Refresh patches.xen/xen-x86_64-dump-user-pgt.
+- commit ce55b22
+
+-------------------------------------------------------------------
+Tue Nov 19 16:52:03 CET 2013 - jbohac@suse.cz
+
+- supported.conf: marked net/netfilter/xt_set as supported (bnc#851066)
+ xt_set should have been enabled together with the ip_set modules in
+ fate#313309
+- commit c2e046e
+
+-------------------------------------------------------------------
+Tue Nov 12 14:09:24 CET 2013 - jdelvare@suse.de
+
+- armv6hl, armv7hl: Update config files.
+ Set CONFIG_BATMAN_ADV_BLA=y as all other kernel configuration files
+ have.
+- commit e7c00d8
+
+-------------------------------------------------------------------
+Fri Nov 8 17:27:48 CET 2013 - jdelvare@suse.de
+
+- Update config files:
+ * CONFIG_BATMAN_ADV_NC=y, because other BATMAN_ADV options are all
+ enabled so why not this one.
+ * CONFIG_GPIO_SCH=m, CONFIG_GPIO_PCH=m, because we support all other
+ features of these pieces of hardware.
+ * CONFIG_INTEL_POWERCLAMP=m, because this small driver might be
+ useful in specific cases, and there's no obvious reason not to
+ include it.
+- commit 79e7a03
+
+-------------------------------------------------------------------
+Thu Nov 7 14:39:46 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-final.
+- commit ec28986
+
+-------------------------------------------------------------------
+Wed Nov 6 17:58:38 CET 2013 - duwe@suse.de
+
+- fate#316581: CONFIG_IBM_BSR y -> m
+- commit f5eba64
+
+-------------------------------------------------------------------
+Mon Nov 4 13:54:39 CET 2013 - jslaby@suse.cz
+
+- Delete patches.kernel.org/patch-3.11.1.
+- commit ec24572
+
+-------------------------------------------------------------------
+Mon Nov 4 03:19:40 CET 2013 - jeffm@suse.com
+
+- Update config files.
+- commit f7c27a2
+
+-------------------------------------------------------------------
+Mon Nov 4 02:20:43 CET 2013 - jeffm@suse.com
+
+- Update to 3.12-final.
+- commit bd2bcf1
+
+-------------------------------------------------------------------
+Mon Nov 4 02:19:32 CET 2013 - jeffm@suse.com
+
+- Refresh
+ patches.suse/btrfs-add-ability-to-query-change-feature-bits-online-ioctl.
+- commit a58c8c5
+
+-------------------------------------------------------------------
+Mon Nov 4 02:16:56 CET 2013 - jeffm@suse.com
+
+- Refresh patches.suse/btrfs-add-tracing-for-failed-reservations.
+- Refresh patches.suse/btrfs-publish-allocation-data-in-sysfs.
+ - No code change: missing 'quilt add' caused a chunk to be
+ in the wrong patch.
+- commit 0346b5c
+
+-------------------------------------------------------------------
+Wed Oct 30 17:49:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add extra chmap for 2.1 outputs on ASUS laptops
+ (bnc#846531).
+- commit 5fe5110
+
+-------------------------------------------------------------------
+Wed Oct 30 12:36:05 CET 2013 - tiwai@suse.de
+
+- ALSA: hda - Add a fixup for ASUS N76VZ (bnc#846529).
+- commit c8ca4fb
+
+-------------------------------------------------------------------
+Tue Oct 29 14:04:37 CET 2013 - jbeulich@suse.com
+
+- Update Xen patches to 3.12-rc7 and c/s 1240.
+- commit 49141ff
+
+-------------------------------------------------------------------
+Mon Oct 28 15:04:30 CET 2013 - jeffm@suse.de
+
+- Update to 3.12-rc7.
+- commit c59f68d
+
+-------------------------------------------------------------------
+Tue Oct 22 21:20:23 CEST 2013 - jeffm@suse.com
+
+- nouveau: Fix race with fence signaling (bnc#844177).
+- commit db1113e
+
+-------------------------------------------------------------------
+Tue Oct 22 21:19:59 CEST 2013 - jeffm@suse.com
+
+- btrfs: add ioctl to export size of global metadata reservation.
+- btrfs: add tracing for failed reservations.
+- btrfs: publish allocation data in sysfs.
+- btrfs: publish device membership in sysfs.
+- btrfs: publish fs label in sysfs.
+- btrfs: publish per-super attributes in sysfs.
+- btrfs: publish per-super features in sysfs.
+- btrfs: publish supported featured in sysfs.
+- btrfs: publish unknown feature bits in sysfs.
+- kobject: export kobj_sysfs_ops.
+- Refresh
+ patches.suse/btrfs-add-ability-to-change-features-via-sysfs.
+- Refresh
+ patches.suse/btrfs-use-feature-attributes-to-print-names-in-errors.
+- Delete
+ patches.suse/btrfs-add-per-super-attribute-publishing-to-sysfs.
+- Delete
+ patches.suse/btrfs-add-publishing-of-unknown-features-in-sysfs.
+- Delete patches.suse/btrfs-export-supported-featured-to-sysfs.
+- Delete patches.suse/btrfs-publish-per-super-features-to-sysfs.
+- Delete patches.suse/introduce-kobj_completion.
+- commit 28f62b4
+
+-------------------------------------------------------------------
+Mon Oct 21 22:40:08 CEST 2013 - jeffm@suse.com
+
+- Update to 3.12-rc6.
+- commit 7244867
+
++++ 29396 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-xen.changes
Old:
----
linux-3.13-rc4.tar.bz2
series.confe
New:
----
kernel-cubox.changes
kernel-cubox.spec
kernel-ec2.changes
kernel-ec2.spec
kernel-exynos.changes
kernel-exynos.spec
kernel-lpae.changes
kernel-lpae.spec
kernel-xen.changes
kernel-xen.spec
linux-3.12.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-cubox.spec ++++++
++++ 1024 lines (skipped)
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:16.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:16.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -149,7 +149,7 @@
Obsoletes: kernel-kdump <= 2.6.28
%endif
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@@ -209,7 +209,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 ppc64 ppc64le x86_64
+ExclusiveArch: %ix86 ia64 ppc64 x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:16.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:16.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-default
Summary: The Standard Kernel
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -161,7 +161,7 @@
Obsoletes: kernel-smp <= 2.6.17
%endif
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@@ -221,7 +221,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ia64 ppc ppc64 s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
++++++ kernel-desktop.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:16.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:16.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-desktop
Summary: Kernel optimized for the desktop
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -146,7 +146,7 @@
Provides: kernel = %version-%source_rel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:16.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:16.000000000 +0100
@@ -17,16 +17,16 @@
# norootforbuild
-%define patchversion 3.13.0-rc4
+%define patchversion 3.12.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-docs
Summary: Kernel Documentation
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
++++++ kernel-ec2.spec ++++++
++++ 1030 lines (skipped)
kernel-exynos.spec: same change
kernel-lpae.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-pae
Summary: Kernel with PAE Support
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -151,7 +151,7 @@
Obsoletes: kernel-vmi <= 2.6.38
%endif
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -18,8 +18,8 @@
# norootforbuild
# icecream 0
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -29,9 +29,9 @@
Name: kernel-source
Summary: The Linux Kernel Sources
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -45,7 +45,7 @@
Provides: multiversion(kernel)
Provides: linux
Provides: %name = %version-%source_rel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -23,10 +23,10 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
-Version: 3.13.rc4
+Version: 3.12.2
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -39,21 +39,33 @@
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
-%ifarch %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
+%ifarch armv7hl
+Requires: kernel-cubox-devel = %version-%source_rel
+%endif
+%ifarch aarch64 armv6hl armv7hl %ix86 ia64 ppc ppc64 s390x x86_64
Requires: kernel-default-devel = %version-%source_rel
%endif
%ifarch %ix86 x86_64
Requires: kernel-desktop-devel = %version-%source_rel
%endif
+%ifarch armv7hl
+Requires: kernel-exynos-devel = %version-%source_rel
+%endif
+%ifarch armv7hl
+Requires: kernel-lpae-devel = %version-%source_rel
+%endif
%ifarch %ix86
Requires: kernel-pae-devel = %version-%source_rel
%endif
+%ifarch %ix86 x86_64
+Requires: kernel-xen-devel = %version-%source_rel
+%endif
Provides: multiversion(kernel)
Provides: %name = %version-%source_rel
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ia64 ppc ppc64 s390x x86_64
Prefix: /usr/src
%description
++++++ kernel-trace.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-trace
Summary: The Standard Kernel with Tracing Features
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -149,7 +149,7 @@
Obsoletes: kernel-kdump <= 2.6.28
%endif
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@@ -209,7 +209,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 ppc64 ppc64le s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc64 s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.13-rc4
-%define patchversion 3.13.0-rc4
+%define srcversion 3.12
+%define patchversion 3.12.2
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
-Version: 3.13.rc4
+Version: 3.12.2
%if 0%{?is_kotd}
-Release: <RELEASE>.g3d0a348
+Release: <RELEASE>.g3b81e61
%else
Release: 0
%endif
@@ -146,7 +146,7 @@
Provides: kernel = %version-%source_rel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@@ -206,7 +206,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc ppc64 s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
++++++ kernel-xen.spec ++++++
++++ 1033 lines (skipped)
++++++ arch-symbols ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -25,7 +25,7 @@
if [ "$1" = "--list" ]; then
# List all known architectures
- echo i386 mips{,64} sparc{,64} ppc{,64,64le} s390{,x} ia64 x86_64 alpha parisc armv6hl armv7hl arm64
+ echo i386 mips{,64} sparc{,64} ppc{,64} s390{,x} ia64 x86_64 alpha parisc armv6hl armv7hl arm64
exit 0
fi
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -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
@@ -37,19 +37,17 @@
+ppc64 -syms ppc64/debug
+ppc64 ppc64/vanilla
-+ppc64le ppc64le/default
-+ppc64le -syms ppc64le/trace
-+ppc64le -syms ppc64le/debug
-+ppc64le ppc64le/vanilla
-
# ARM architectures
-#+armv6hl armv6hl/default
-#+armv7hl armv7hl/default
-#+armv7hl armv7hl/lpae
-#+armv7hl armv7hl/cubox
-#+armv7hl armv7hl/exynos
-#+arm64 arm64/default
-
++armv6hl armv6hl/default
++armv7hl armv7hl/default
++armv7hl armv7hl/lpae
++armv7hl armv7hl/cubox
++armv7hl armv7hl/exynos
++arm64 arm64/default
+
+#+s390 s390/s390
+#+s390 -syms s390/trace
+#+s390 s390/vanilla
+s390x s390x/default
+s390x -syms s390x/trace
+s390x s390x/vanilla
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:17.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:17.000000000 +0100
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=3.13-rc4
+SRCVERSION=3.12
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
++++++ config.tar.bz2 ++++++
++++ 85343 lines of diff (skipped)
++++++ linux-3.13-rc4.tar.bz2 -> linux-3.12.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-3.13-rc4.tar.bz2 /work/SRC/openSUSE:Factory/.kernel-source.new/linux-3.12.tar.bz2 differ: char 11, line 1
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/acpi_thermal_passive_blacklist.patch new/patches.arch/acpi_thermal_passive_blacklist.patch
--- old/patches.arch/acpi_thermal_passive_blacklist.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/acpi_thermal_passive_blacklist.patch 2013-11-26 17:28:52.000000000 +0100
@@ -120,6 +120,6 @@
+ }
+ }
+
- pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
- acpi_device_bid(device), KELVIN_TO_CELSIUS(tz->temperature));
- goto end;
+ printk(KERN_INFO PREFIX "%s [%s] (%ld C)\n",
+ acpi_device_name(device), acpi_device_bid(device),
+ KELVIN_TO_CELSIUS(tz->temperature));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm-arndale-dma.patch new/patches.arch/arm-arndale-dma.patch
--- old/patches.arch/arm-arndale-dma.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/arm-arndale-dma.patch 2013-11-26 17:28:52.000000000 +0100
@@ -19,9 +19,9 @@
--- linux-3.12-rc2-master.orig/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ linux-3.12-rc2-master/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -14,6 +14,7 @@
- #include
- #include
+ #include
#include
+ #include
+#include
#include
@@ -54,8 +54,8 @@
{
struct device_node *i2c_np;
@@ -47,6 +68,9 @@ static void __init exynos5_dt_machine_in
-
- exynos_cpuidle_init();
+ }
+ }
+ if (of_machine_is_compatible("samsung,exynos5250"))
+ bus_register_notifier(&platform_bus_type, &exynos5250_platform_nb);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm-arndale-usb.patch new/patches.arch/arm-arndale-usb.patch
--- old/patches.arch/arm-arndale-usb.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/arm-arndale-usb.patch 2013-11-26 17:28:52.000000000 +0100
@@ -1,7 +1,7 @@
From ed10e166008cb2a2ea2d6b886e78cc45715cbdff Mon Sep 17 00:00:00 2001
From: Alexander Graf
Date: Thu, 14 Mar 2013 00:45:36 +0100
-Subject: [PATCH] USB: ehci-exynos: Fix phy reset
+Subject: [PATCH] USB: ehci-s5p: Fix phy reset
Patch-Mainline: Not yet
On my Exynos 5 based Arndale system, I need to pull the reset line down
@@ -27,18 +27,18 @@
- remove gpio_free call
- move reset logic after phy node search
---
- drivers/usb/host/ehci-exynos.c | 25 +++++++++++++++++++++++++
+ drivers/usb/host/ehci-s5p.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
-diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c
+diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
index 379037f..376cacb 100644
---- a/drivers/usb/host/ehci-exynos.c
-+++ b/drivers/usb/host/ehci-exynos.c
-@@ -71,6 +71,29 @@ static void exynos_setup_vbus_gpio(struct platform_device *pdev)
+--- a/drivers/usb/host/ehci-s5p.c
++++ b/drivers/usb/host/ehci-s5p.c
+@@ -71,6 +71,29 @@ static void s5p_setup_vbus_gpio(struct platform_device *pdev)
dev_err(dev, "can't request ehci vbus gpio %d", gpio);
}
-+static void exynos_setup_reset_gpio(struct platform_device *pdev)
++static void s5p_setup_reset_gpio(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ int err;
@@ -61,18 +61,18 @@
+ __gpio_set_value(gpio, 1);
+}
+
- static int exynos_ehci_probe(struct platform_device *pdev)
+ static int s5p_ehci_probe(struct platform_device *pdev)
{
- struct exynos_ehci_hcd *exynos_ehci;
-@@ -116,6 +139,8 @@ static int exynos_ehci_probe(struct platform_device *pdev)
+ struct s5p_ehci_platdata *pdata = dev_get_platdata(&pdev->dev);
+@@ -116,6 +139,8 @@ static int s5p_ehci_probe(struct platform_device *pdev)
skip_phy:
-+ exynos_setup_reset_gpio(pdev);
++ s5p_setup_reset_gpio(pdev);
+
- exynos_ehci->clk = devm_clk_get(&pdev->dev, "usbhost");
+ s5p_ehci->clk = devm_clk_get(&pdev->dev, "usbhost");
- if (IS_ERR(exynos_ehci->clk)) {
+ if (IS_ERR(s5p_ehci->clk)) {
--
1.7.10.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm-exynos-dwmmc-modalias.patch new/patches.arch/arm-exynos-dwmmc-modalias.patch
--- old/patches.arch/arm-exynos-dwmmc-modalias.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/arm-exynos-dwmmc-modalias.patch 2013-11-26 17:28:52.000000000 +0100
@@ -19,5 +19,5 @@
.name = "dwmmc_exynos",
+ .owner = THIS_MODULE,
.of_match_table = dw_mci_exynos_match,
- .pm = &dw_mci_exynos_pmops,
+ .pm = &dw_mci_pltfm_pmops,
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64-fix-ptrace.patch new/patches.arch/ppc64-fix-ptrace.patch
--- old/patches.arch/ppc64-fix-ptrace.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64-fix-ptrace.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-From 36aa1b180e7398e2bd27642760bfaa4ad8c65ab6 Mon Sep 17 00:00:00 2001
-From: Ulrich Weigand
-Date: Thu, 12 Dec 2013 04:59:34 +0000
-Subject: powerpc: PTRACE_PEEKUSR always returns FPR0
-Patch-Mainline: not yet
-
-There is a bug in using ptrace to access FPRs via PTRACE_PEEKUSR /
-PTRACE_POKEUSR. In effect, trying to access any of the FPRs always
-really accesses FPR0, which does seriously break debugging :-)
-
-The problem seems to have been introduced by commit 3ad26e5c4459d
-(Merge branch 'for-kvm' into next).
-
-[ It is indeed a merge conflict between Paul's FPU/VSX state rework
-and my LE patches - Anton ]
-
-Signed-off-by: Ulrich Weigand
-Signed-off-by: Anton Blanchard
-Signed-off-by: Benjamin Herrenschmidt
-Signed-off-by: Alexander Graf
----
-diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
-index 75fb404..2e3d2bf 100644
---- a/arch/powerpc/kernel/ptrace.c
-+++ b/arch/powerpc/kernel/ptrace.c
-@@ -1555,7 +1555,7 @@ long arch_ptrace(struct task_struct *child, long request,
-
- flush_fp_to_thread(child);
- if (fpidx < (PT_FPSCR - PT_FPR0))
-- memcpy(&tmp, &child->thread.fp_state.fpr,
-+ memcpy(&tmp, &child->thread.TS_FPR(fpidx),
- sizeof(long));
- else
- tmp = child->thread.fp_state.fpscr;
-@@ -1588,7 +1588,7 @@ long arch_ptrace(struct task_struct *child, long request,
-
- flush_fp_to_thread(child);
- if (fpidx < (PT_FPSCR - PT_FPR0))
-- memcpy(&child->thread.fp_state.fpr, &data,
-+ memcpy(&child->thread.TS_FPR(fpidx), &data,
- sizeof(long));
- else
- child->thread.fp_state.fpscr = data;
---
-cgit v0.9.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-build-vmlinux.patch new/patches.arch/ppc64le-build-vmlinux.patch
--- old/patches.arch/ppc64le-build-vmlinux.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-build-vmlinux.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-From: Dinar Valeev
-Subject: PPC: Build only vmlinux target
-Patch-Mainline: no
-
-The zImage target doesn't build on ppc64le and we only ever
-care about the resulting vmlinux file anyway, so drop compilation
-of the zImage target for us.
-
-Signed-off-by: Dinar Valeev
-Signed-off-by: Alexander Graf
-
-Index: linux-3.13-rc2/arch/powerpc/Makefile
-===================================================================
---- linux-3.13-rc2.orig/arch/powerpc/Makefile
-+++ linux-3.13-rc2/arch/powerpc/Makefile
-@@ -222,7 +222,7 @@ core-$(CONFIG_PERF_EVENTS) += arch/power
- drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
-
- # Default to zImage, override when needed
--all: zImage
-+all: vmlinux
-
- # With make 3.82 we cannot mix normal and wildcard targets
- BOOT_TARGETS1 := zImage zImage.initrd uImage
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-fix-copytofrom.patch new/patches.arch/ppc64le-fix-copytofrom.patch
--- old/patches.arch/ppc64le-fix-copytofrom.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-fix-copytofrom.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,154 +0,0 @@
-From patchwork Tue Dec 17 22:29:57 2013
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: powerpc: Make 64-bit non-VMX __copy_tofrom_user bi-endian
-From: Anton Blanchard
-X-Patchwork-Id: 302551
-Message-Id: <20131218092957.4a12cbcf@kryten>
-To: benh@kernel.crashing.org, paulus@samba.org, paulmck@linux.vnet.ibm.com
-Cc: linuxppc-dev@lists.ozlabs.org
-Date: Wed, 18 Dec 2013 09:29:57 +1100
-Patch-Mainline: not yet
-
-From: Paul E. McKenney
-
-The powerpc 64-bit __copy_tofrom_user() function uses shifts to handle
-unaligned invocations. However, these shifts were designed for
-big-endian systems: On little-endian systems, they must shift in the
-opposite direction.
-
-This commit relies on the C preprocessor to insert the correct shifts
-into the assembly code.
-
-[ This is a rare but nasty LE issue. Most of the time we use the POWER7
-optimised __copy_tofrom_user_power7 loop, but when it hits an exception
-we fall back to the base __copy_tofrom_user loop. - Anton ]
-
-Signed-off-by: Paul E. McKenney
-Signed-off-by: Anton Blanchard
-Signed-off-by: Alexander Graf
-
----
-
-
-diff --git a/arch/powerpc/lib/copyuser_64.S b/arch/powerpc/lib/copyuser_64.S
-index d73a590..596a285 100644
---- a/arch/powerpc/lib/copyuser_64.S
-+++ b/arch/powerpc/lib/copyuser_64.S
-@@ -9,6 +9,14 @@
- #include
- #include
-
-+#ifdef __BIG_ENDIAN__
-+#define sLd sld /* Shift towards low-numbered address. */
-+#define sHd srd /* Shift towards high-numbered address. */
-+#else
-+#define sLd srd /* Shift towards low-numbered address. */
-+#define sHd sld /* Shift towards high-numbered address. */
-+#endif
-+
- .align 7
- _GLOBAL(__copy_tofrom_user)
- BEGIN_FTR_SECTION
-@@ -118,10 +126,10 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
-
- 24: ld r9,0(r4) /* 3+2n loads, 2+2n stores */
- 25: ld r0,8(r4)
-- sld r6,r9,r10
-+ sLd r6,r9,r10
- 26: ldu r9,16(r4)
-- srd r7,r0,r11
-- sld r8,r0,r10
-+ sHd r7,r0,r11
-+ sLd r8,r0,r10
- or r7,r7,r6
- blt cr6,79f
- 27: ld r0,8(r4)
-@@ -129,35 +137,35 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
-
- 28: ld r0,0(r4) /* 4+2n loads, 3+2n stores */
- 29: ldu r9,8(r4)
-- sld r8,r0,r10
-+ sLd r8,r0,r10
- addi r3,r3,-8
- blt cr6,5f
- 30: ld r0,8(r4)
-- srd r12,r9,r11
-- sld r6,r9,r10
-+ sHd r12,r9,r11
-+ sLd r6,r9,r10
- 31: ldu r9,16(r4)
- or r12,r8,r12
-- srd r7,r0,r11
-- sld r8,r0,r10
-+ sHd r7,r0,r11
-+ sLd r8,r0,r10
- addi r3,r3,16
- beq cr6,78f
-
- 1: or r7,r7,r6
- 32: ld r0,8(r4)
- 76: std r12,8(r3)
--2: srd r12,r9,r11
-- sld r6,r9,r10
-+2: sHd r12,r9,r11
-+ sLd r6,r9,r10
- 33: ldu r9,16(r4)
- or r12,r8,r12
- 77: stdu r7,16(r3)
-- srd r7,r0,r11
-- sld r8,r0,r10
-+ sHd r7,r0,r11
-+ sLd r8,r0,r10
- bdnz 1b
-
- 78: std r12,8(r3)
- or r7,r7,r6
- 79: std r7,16(r3)
--5: srd r12,r9,r11
-+5: sHd r12,r9,r11
- or r12,r8,r12
- 80: std r12,24(r3)
- bne 6f
-@@ -165,23 +173,38 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
- blr
- 6: cmpwi cr1,r5,8
- addi r3,r3,32
-- sld r9,r9,r10
-+ sLd r9,r9,r10
- ble cr1,7f
- 34: ld r0,8(r4)
-- srd r7,r0,r11
-+ sHd r7,r0,r11
- or r9,r7,r9
- 7:
- bf cr7*4+1,1f
-+#ifdef __BIG_ENDIAN__
- rotldi r9,r9,32
-+#endif
- 94: stw r9,0(r3)
-+#ifdef __LITTLE_ENDIAN__
-+ rotrdi r9,r9,32
-+#endif
- addi r3,r3,4
- 1: bf cr7*4+2,2f
-+#ifdef __BIG_ENDIAN__
- rotldi r9,r9,16
-+#endif
- 95: sth r9,0(r3)
-+#ifdef __LITTLE_ENDIAN__
-+ rotrdi r9,r9,16
-+#endif
- addi r3,r3,2
- 2: bf cr7*4+3,3f
-+#ifdef __BIG_ENDIAN__
- rotldi r9,r9,8
-+#endif
- 96: stb r9,0(r3)
-+#ifdef __LITTLE_ENDIAN__
-+ rotrdi r9,r9,8
-+#endif
- 3: li r3,0
- blr
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ibmveth.patch new/patches.arch/ppc64le-ibmveth.patch
--- old/patches.arch/ppc64le-ibmveth.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-ibmveth.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-From c1392d4ee1373e658505bfab76f79878d075965c Mon Sep 17 00:00:00 2001
-From: Alexander Graf
-Date: Mon, 23 Dec 2013 02:26:17 +0100
-Subject: [PATCH] ibmveth: Fix more little endian issues
-Patch-Mainline: no
-
-The ibmveth driver is memcpy()'ing the mac address between a variable
-(register) and memory. This assumes a certain endianness of the
-system, so let's make that implicit assumption work again.
-
-This patch adds be64_to_cpu() calls to all places where the mac address
-gets memcpy()'ed into a local variable.
-
-Signed-off-by: Alexander Graf
----
- drivers/net/ethernet/ibm/ibmveth.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c
-index 952d795..97f4ee96 100644
---- a/drivers/net/ethernet/ibm/ibmveth.c
-+++ b/drivers/net/ethernet/ibm/ibmveth.c
-@@ -581,7 +581,7 @@ static int ibmveth_open(struct net_device *netdev)
- adapter->rx_queue.toggle = 1;
-
- memcpy(&mac_address, netdev->dev_addr, netdev->addr_len);
-- mac_address = mac_address >> 16;
-+ mac_address = be64_to_cpu(mac_address) >> 16;
-
- rxq_desc.fields.flags_len = IBMVETH_BUF_VALID |
- adapter->rx_queue.queue_len;
-@@ -1186,6 +1186,7 @@ static void ibmveth_set_multicast_list(struct net_device *netdev)
- /* add the multicast address to the filter table */
- unsigned long mcast_addr = 0;
- memcpy(((char *)&mcast_addr)+2, ha->addr, ETH_ALEN);
-+ mcast_addr = cpu_to_be64(mcast_addr);
- lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address,
- IbmVethMcastAddFilter,
- mcast_addr);
---
-1.8.1.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch new/patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch
--- old/patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,58 +0,0 @@
-From a9a1b6928fee41c78d7106629008c98b86932ee4 Mon Sep 17 00:00:00 2001
-From: Alexander Graf
-Date: Mon, 23 Dec 2013 01:56:52 +0100
-Subject: [PATCH 1/4] powerpc: Add global exports for all interrupt vectors
-Patch-Mainline: no
-
-We need to access every interrupt vector we can find soon, so let's
-make them all visible through names to outside code.
-
-Signed-off-by: Alexander Graf
----
- arch/powerpc/kernel/exceptions-64s.S | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
-index 9f905e4..fcd039f 100644
---- a/arch/powerpc/kernel/exceptions-64s.S
-+++ b/arch/powerpc/kernel/exceptions-64s.S
-@@ -148,6 +148,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206)
- NOTEST, 0x100)
-
- . = 0x200
-+ .globl machine_check_pSeries_1
- machine_check_pSeries_1:
- /* This is moved out of line as it can be patched by FW, but
- * some code path might still want to branch into the original
-@@ -328,24 +329,28 @@ hv_doorbell_trampoline:
- * trickery is thus necessary
- */
- . = 0xf00
-+ .global performance_monitor_pseries_trampoline
- performance_monitor_pseries_trampoline:
- SET_SCRATCH0(r13)
- EXCEPTION_PROLOG_0(PACA_EXGEN)
- b performance_monitor_pSeries
-
- . = 0xf20
-+ .global altivec_unavailable_pseries_trampoline
- altivec_unavailable_pseries_trampoline:
- SET_SCRATCH0(r13)
- EXCEPTION_PROLOG_0(PACA_EXGEN)
- b altivec_unavailable_pSeries
-
- . = 0xf40
-+ .global vsx_unavailable_pseries_trampoline
- vsx_unavailable_pseries_trampoline:
- SET_SCRATCH0(r13)
- EXCEPTION_PROLOG_0(PACA_EXGEN)
- b vsx_unavailable_pSeries
-
- . = 0xf60
-+ .global facility_unavailable_trampoline
- facility_unavailable_trampoline:
- SET_SCRATCH0(r13)
- EXCEPTION_PROLOG_0(PACA_EXGEN)
---
-1.8.1.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch new/patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch
--- old/patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,70 +0,0 @@
-From 702ea0af15e36d5e019d48f8d44ec9990883a134 Mon Sep 17 00:00:00 2001
-From: Alexander Graf
-Date: Mon, 23 Dec 2013 01:58:13 +0100
-Subject: [PATCH 2/4] powerpc: Add relocation code for fixups
-Patch-Mainline: no
-
-We need to patch an instruction that is covered by the fixup
-framework. If we don't do anything about it we end up getting
-our own patched instruction unpatched by nops by the fixups.
-
-So add an export to the fixup code that allows us to tell it
-that an instruction moved location in memory. This works because
-we move the instruction into a different location, but still
-execute it.
-
-Signed-off-by: Alexander Graf
----
- arch/powerpc/include/asm/cputable.h | 2 ++
- arch/powerpc/lib/feature-fixups.c | 22 ++++++++++++++++++++++
- 2 files changed, 24 insertions(+)
-
-diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
-index 0d4939b..c981f99 100644
---- a/arch/powerpc/include/asm/cputable.h
-+++ b/arch/powerpc/include/asm/cputable.h
-@@ -99,6 +99,8 @@ extern unsigned int __start___ftr_fixup, __stop___ftr_fixup;
- extern struct cpu_spec *identify_cpu(unsigned long offset, unsigned int pvr);
- extern void do_feature_fixups(unsigned long value, void *fixup_start,
- void *fixup_end);
-+extern void relocate_fixup_entry(void *fixup_start, void *fixup_end,
-+ void *old_addr, void *new_addr);
-
- extern const char *powerpc_base_platform;
-
-diff --git a/arch/powerpc/lib/feature-fixups.c b/arch/powerpc/lib/feature-fixups.c
-index 7a8a748..33996a4 100644
---- a/arch/powerpc/lib/feature-fixups.c
-+++ b/arch/powerpc/lib/feature-fixups.c
-@@ -151,6 +151,28 @@ void do_final_fixups(void)
- #endif
- }
-
-+/*
-+ * This changes the internal fixup location of a code block from
-+ * old_addr to new_addr.
-+ */
-+void relocate_fixup_entry(void *fixup_start, void *fixup_end,
-+ void *old_addr, void *new_addr)
-+{
-+ struct fixup_entry *fcur, *fend;
-+
-+ fcur = fixup_start;
-+ fend = fixup_end;
-+
-+ for (; fcur < fend; fcur++) {
-+ long diff = (long)new_addr -
-+ (long)calc_addr(fcur, fcur->start_off);
-+ if (calc_addr(fcur, fcur->start_off) == old_addr) {
-+ fcur->start_off += diff;
-+ fcur->end_off += diff;
-+ }
-+ }
-+}
-+
- #ifdef CONFIG_FTR_FIXUP_SELFTEST
-
- #define check(x) \
---
-1.8.1.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch new/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch
--- old/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,258 +0,0 @@
-From aa80f7db068e2654fb2defcb09c54b4340c8e009 Mon Sep 17 00:00:00 2001
-From: Alexander Graf
-Date: Mon, 23 Dec 2013 02:01:01 +0100
-Subject: [PATCH 3/4] powerpc: Add hack to make ppc64le work on hosts without
- ILE
-Patch-Mainline: no
-
-Some hypervisors don't implement the H_SET_MODE hypercall that we
-need to set the ILE bit in LPCR which allows us to execute interrupts
-in little endian mode.
-
-However otherwise we would be able to run on those hypervisors just
-fine.
-
-So let's be creative. This patch creates a few small helpers that
-work without register clobbering that execute in big endian mode.
-
-Every interrupt gets patched with a branch instruction as the first
-instruction which jumps into their respective helper. That helper
-enables MSR.LE and returns back to the original interrupt.
-
-That way we can keep our interrupt handlers in little endian code
-while the hypervisor is unaware that we need them to be in little
-endian.
-
-Signed-off-by: Alexander Graf
----
- arch/powerpc/kernel/Makefile | 3 +
- arch/powerpc/kernel/fake_ile.S | 101 +++++++++++++++++++++++++++++++++
- arch/powerpc/kernel/vmlinux.lds.S | 14 +++++
- arch/powerpc/platforms/pseries/setup.c | 50 ++++++++++++++++
- 4 files changed, 168 insertions(+)
- create mode 100644 arch/powerpc/kernel/fake_ile.S
-
-diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
-index 445cb6e..31842e6 100644
---- a/arch/powerpc/kernel/Makefile
-+++ b/arch/powerpc/kernel/Makefile
-@@ -131,6 +131,9 @@ endif
-
- obj-$(CONFIG_EPAPR_PARAVIRT) += epapr_paravirt.o epapr_hcalls.o
- obj-$(CONFIG_KVM_GUEST) += kvm.o kvm_emul.o
-+ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
-+obj-$(CONFIG_PPC_BOOK3S_64) += fake_ile.o
-+endif
-
- # Disable GCOV in odd or sensitive code
- GCOV_PROFILE_prom_init.o := n
-diff --git a/arch/powerpc/kernel/fake_ile.S b/arch/powerpc/kernel/fake_ile.S
-new file mode 100644
-index 0000000..21e9bd7
---- /dev/null
-+++ b/arch/powerpc/kernel/fake_ile.S
-@@ -0,0 +1,101 @@
-+/*
-+ * PowerPC helpers for hypervisors without ILE implementation
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License, version 2, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+ *
-+ * Copyright SUSE Linux Products GmbH 2013
-+ *
-+ * Authors: Alexander Graf
-+ */
-+
-+#include
-+#include
-+#include
-+#include
-+
-+/* Little Endian fixups for hosts that don't support Little Endian */
-+
-+#define FAKE_ILE_HANDLER(handler, area) \
-+ \
-+/* This runs in BE mode */ \
-+fake_ile_##handler: \
-+ .section __be_patch,"a" ;\
-+ .llong fake_ile_##handler ;\
-+ .previous ;\
-+ SET_SCRATCH0(r13) ;\
-+ GET_PACA(r13) ;\
-+ std r9, area + EX_R9(r13) ;\
-+ std r10, area + EX_R10(r13) ;\
-+ mfsrr0 r9 ;\
-+ mfsrr1 r10 ;\
-+ std r9, area + EX_SRR0(r13) ;\
-+ std r10, area + EX_R11(r13) ;\
-+ mflr r9 ;\
-+ bl 1f ;\
-+ 1: ;\
-+ mflr r10 ;\
-+ mtlr r9 ;\
-+ addi r9, r10, back_to_interrupt_##handler - 1b ;\
-+ mfmsr r10 ;\
-+ ori r10, r10, MSR_LE ;\
-+ mtsrr0 r9 ;\
-+ mtsrr1 r10 ;\
-+ ld r9, area + EX_SRR0(r13) ;\
-+ ld r10, area + EX_R11(r13) ;\
-+ RFI ;\
-+ end_fake_ile_##handler: ;\
-+ .section __be_patch,"a" ;\
-+ .llong end_fake_ile_##handler ;\
-+ .previous ;\
-+ ;\
-+/* This runs in LE mode */ \
-+back_to_interrupt_##handler: ;\
-+ mtsrr0 r9 ;\
-+ mtsrr1 r10 ;\
-+ li r9, area + EX_R9 ;\
-+ li r10, area + EX_R10 ;\
-+ ldbrx r9, r13, r9 ;\
-+ ldbrx r10, r13, r10 ;\
-+ GET_SCRATCH0(r13) ;\
-+ /* This becomes the instruction we patched away */ \
-+ patched_insn_##handler: ;\
-+ .long 0 ;\
-+ b handler + 4 ;\
-+ \
-+ .section __fake_ile,"a" ;\
-+ .llong handler ;\
-+ .llong patched_insn_##handler ;\
-+ .llong fake_ile_##handler ;\
-+ .previous ;\
-+
-+FAKE_ILE_HANDLER(system_reset_pSeries, PACA_EXMC)
-+FAKE_ILE_HANDLER(machine_check_pSeries_1, PACA_EXMC)
-+FAKE_ILE_HANDLER(data_access_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(data_access_slb_pSeries, PACA_EXSLB)
-+FAKE_ILE_HANDLER(instruction_access_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(instruction_access_slb_pSeries, PACA_EXSLB)
-+FAKE_ILE_HANDLER(hardware_interrupt_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(alignment_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(program_check_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(fp_unavailable_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(decrementer_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(doorbell_super_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(trap_0b_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(system_call_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(performance_monitor_pseries_trampoline, PACA_EXGEN)
-+FAKE_ILE_HANDLER(altivec_unavailable_pseries_trampoline, PACA_EXGEN)
-+FAKE_ILE_HANDLER(vsx_unavailable_pseries_trampoline, PACA_EXGEN)
-+FAKE_ILE_HANDLER(facility_unavailable_trampoline, PACA_EXGEN)
-+FAKE_ILE_HANDLER(instruction_breakpoint_pSeries, PACA_EXGEN)
-+FAKE_ILE_HANDLER(altivec_assist_pSeries, PACA_EXGEN)
-diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
-index f096e72..7fdb7c9 100644
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -147,6 +147,20 @@ SECTIONS
- *(__fw_ftr_fixup)
- __stop___fw_ftr_fixup = .;
- }
-+
-+ . = ALIGN(8);
-+ __fake_ile : AT(ADDR(__fake_ile) - LOAD_OFFSET) {
-+ __start___fake_ile = .;
-+ *(__fake_ile)
-+ __stop___fake_ile = .;
-+ }
-+
-+ . = ALIGN(8);
-+ __be_patch : AT(ADDR(__be_patch) - LOAD_OFFSET) {
-+ __start___be_patch = .;
-+ *(__be_patch)
-+ __stop___be_patch = .;
-+ }
- #endif
- .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
- INIT_RAM_FS
-diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
-index c1f1908..fb5d98c 100644
---- a/arch/powerpc/platforms/pseries/setup.c
-+++ b/arch/powerpc/platforms/pseries/setup.c
-@@ -67,6 +67,9 @@
- #include
- #include
- #include
-+#include
-+#include
-+#include
-
- #include "pseries.h"
-
-@@ -455,6 +458,40 @@ long pseries_big_endian_exceptions(void)
- }
- }
-
-+static void swizzle_endian(u32 *start, u32 *end)
-+{
-+ for (; (long)start < (long)end; start++)
-+ patch_instruction(start, swab32(*start));
-+}
-+
-+static void fixup_missing_little_endian_exceptions(void)
-+{
-+ extern u32 *__start___fake_ile, *__stop___fake_ile;
-+ extern u32 *__start___be_patch, *__stop___be_patch;
-+ u32 **be_table = &__start___be_patch;
-+ u32 **fake_table = &__start___fake_ile;
-+
-+ /* Make our big endian code look like big endian code */
-+ for (; (long)be_table < (long)&__stop___be_patch; be_table += 2)
-+ swizzle_endian(be_table[0], be_table[1]);
-+
-+ /* Now patch the interrupt handlers to branch to our BE code */
-+ for (; (long)fake_table < (long)&__stop___fake_ile; fake_table += 3) {
-+ u32 *le_handler = fake_table[0];
-+ u32 *patched_insn = fake_table[1];
-+ u32 *be_handler = fake_table[2];
-+ u32 le_be_diff = (long)be_handler - (long)le_handler;
-+ patch_instruction(patched_insn, *le_handler);
-+ /* This patches the interrupt handler's first instruction into
-+ a branch that jumps to our BE handler that enables MSR_LE */
-+ patch_instruction(le_handler, swab32(0x48000000 | le_be_diff));
-+ /* Make sure that feature fixups use the new address for its
-+ code patching */
-+ relocate_fixup_entry(&__start___ftr_fixup, &__stop___ftr_fixup,
-+ le_handler, patched_insn);
-+ }
-+}
-+
- static long pseries_little_endian_exceptions(void)
- {
- long rc;
-@@ -737,6 +774,19 @@ static int __init pSeries_probe(void)
- ppc_md.progress("H_SET_MODE LE exception fail", 0);
- panic("Could not enable little endian exceptions");
- }
-+ } else {
-+ /*
-+ * The hypervisor we're running on does not know how to
-+ * configure us to run interrupts in little endian mode,
-+ * so we have to cheat a bit.
-+ *
-+ * This call reprograms all interrupt handlers' first
-+ * instruction into a branch to a big endian fixup section
-+ * which only transitions us into little endian mode, then
-+ * returns back to the normal little endian interrupt
-+ * handler.
-+ */
-+ fixup_missing_little_endian_exceptions();
- }
- #endif
-
---
-1.8.1.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch new/patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch
--- old/patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch 2013-12-23 02:43:10.000000000 +0100
+++ new/patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
-From 5b9eb660750816ca0b3c8d7062dc3a3db49a6be1 Mon Sep 17 00:00:00 2001
-From: Alexander Graf
-Date: Mon, 23 Dec 2013 02:05:44 +0100
-Subject: [PATCH 4/4] powerpc: Don't return to BE mode when we are already
- there
-Patch-Mainline: no
-
-Our Little Endian kernels can now live in a world where they are
-running with Big Endian interrupts enabled. That is great for kexec,
-because now we don't have to switch back to Big Endian mode.
-
-Indicate this in the code. Only try to go into Big Endian mode when
-we're not already there yet.
-
-Signed-off-by: Alexander Graf
----
- arch/powerpc/platforms/pseries/setup.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
-index fb5d98c..7db1cf1 100644
---- a/arch/powerpc/platforms/pseries/setup.c
-+++ b/arch/powerpc/platforms/pseries/setup.c
-@@ -446,10 +446,15 @@ static void pSeries_machine_kexec(struct kimage *image)
- #endif
-
- #ifdef __LITTLE_ENDIAN__
-+static bool ile_enabled;
-+
- long pseries_big_endian_exceptions(void)
- {
- long rc;
-
-+ if (!ile_enabled)
-+ return H_SUCCESS;
-+
- while (1) {
- rc = enable_big_endian_exceptions();
- if (!H_IS_LONG_BUSY(rc))
-@@ -498,8 +503,12 @@ static long pseries_little_endian_exceptions(void)
-
- while (1) {
- rc = enable_little_endian_exceptions();
-- if (!H_IS_LONG_BUSY(rc))
-+
-+ if (!H_IS_LONG_BUSY(rc)) {
-+ ile_enabled = true;
- return rc;
-+ }
-+
- mdelay(get_longbusy_msecs(rc));
- }
- }
---
-1.8.1.4
-
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch new/patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch
--- old/patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch 2013-10-30 17:49:30.000000000 +0100
@@ -0,0 +1,34 @@
+From 3668cf5ea2806c651b42a8d99060db5c05a2f5cd Mon Sep 17 00:00:00 2001
+From: Oliver Neukum
+Date: Thu, 26 Sep 2013 14:50:19 +0200
+Subject: [PATCH] sha256_ssse3: also test for BMI2
+References: bnc#842459
+Commit: 8f20d66132a83fd5b8b78f591e6a6cf079b60760
+Patch-Mainline: v3.12
+
+The AVX2 implementation also uses BMI2 instructions,
+but doesn't test for their availability. The assumption
+that AVX2 and BMI2 always go together is false. Some
+Haswells have AVX2 but not BMI2.
+
+Signed-off-by: Oliver Neukum
+---
+ arch/x86/crypto/sha256_ssse3_glue.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/x86/crypto/sha256_ssse3_glue.c b/arch/x86/crypto/sha256_ssse3_glue.c
+index 50226c4..e52947f 100644
+--- a/arch/x86/crypto/sha256_ssse3_glue.c
++++ b/arch/x86/crypto/sha256_ssse3_glue.c
+@@ -281,7 +281,7 @@ static int __init sha256_ssse3_mod_init(void)
+ /* allow AVX to override SSSE3, it's a little faster */
+ if (avx_usable()) {
+ #ifdef CONFIG_AS_AVX2
+- if (boot_cpu_has(X86_FEATURE_AVX2))
++ if (boot_cpu_has(X86_FEATURE_AVX2) && boot_cpu_has(X86_FEATURE_BMI2))
+ sha256_transform_asm = sha256_transform_rorx;
+ else
+ #endif
+--
+1.8.3.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap new/patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap
--- old/patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap 2013-10-30 17:49:30.000000000 +0100
@@ -0,0 +1,79 @@
+From 8e38395360844806041ea69ab9690f5f174bc40c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Wed, 30 Oct 2013 17:41:12 +0100
+Subject: [PATCH] ALSA: hda - Add extra chmap for 2.1 outputs on ASUS laptops
+Git-commit: 8e38395360844806041ea69ab9690f5f174bc40c
+Patch-mainline: Submitted
+References: bnc#846531
+
+ASUS N56VZ and N76VZ laptops have a bass speaker but its output comes
+only from the right channel. This patch adds the extra chmap specific
+to these models.
+
+Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=846531
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/patch_realtek.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4174,6 +4174,25 @@ static void alc272_fixup_mario(struct hd
+ "hda_codec: failed to override amp caps for NID 0x2\n");
+ }
+
++static const struct snd_pcm_chmap_elem asus_pcm_2_1_chmaps[] = {
++ { .channels = 2,
++ .map = { SNDRV_CHMAP_FL, SNDRV_CHMAP_FR } },
++ { .channels = 4,
++ .map = { SNDRV_CHMAP_FL, SNDRV_CHMAP_FR,
++ SNDRV_CHMAP_NA, SNDRV_CHMAP_LFE } }, /* LFE only on right */
++ { }
++};
++
++/* override the 2.1 chmap */
++static void alc662_fixup_bass_chmap(struct hda_codec *codec,
++ const struct hda_fixup *fix, int action)
++{
++ if (action == HDA_FIXUP_ACT_BUILD) {
++ struct alc_spec *spec = codec->spec;
++ spec->gen.pcm_rec[0].stream[0].chmap = asus_pcm_2_1_chmaps;
++ }
++}
++
+ enum {
+ ALC662_FIXUP_ASPIRE,
+ ALC662_FIXUP_IDEAPAD,
+@@ -4194,6 +4213,7 @@ enum {
+ ALC662_FIXUP_INV_DMIC,
+ ALC668_FIXUP_DELL_MIC_NO_PRESENCE,
+ ALC668_FIXUP_HEADSET_MODE,
++ ALC662_FIXUP_BASS_CHMAP,
+ };
+
+ static const struct hda_fixup alc662_fixups[] = {
+@@ -4368,6 +4388,12 @@ static const struct hda_fixup alc662_fix
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc_fixup_headset_mode_alc668,
+ },
++ [ALC662_FIXUP_BASS_CHMAP] = {
++ .type = HDA_FIXUP_FUNC,
++ .v.func = alc662_fixup_bass_chmap,
++ .chained = true,
++ .chain_id = ALC662_FIXUP_ASUS_MODE4
++ },
+ };
+
+ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
+@@ -4381,8 +4407,8 @@ static const struct snd_pci_quirk alc662
+ SND_PCI_QUIRK(0x1028, 0x05d8, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
+ SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
+ SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
+- SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_ASUS_MODE4),
+- SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_ASUS_MODE4),
++ SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_CHMAP),
++ SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_BASS_CHMAP),
+ SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT),
+ SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ASUS_MODE2),
+ SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845 new/patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845
--- old/patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845 2013-10-30 17:49:30.000000000 +0100
@@ -0,0 +1,34 @@
+From a4945f9522d27e1e6d64a02ad055e83768cb0896 Mon Sep 17 00:00:00 2001
+From: Chris Wilson
+Date: Tue, 8 Oct 2013 11:16:59 +0100
+Subject: [PATCH] drm/i915: Undo the PIPEA quirk for i845
+Git-repo: git://people.freedesktop.org/~danvet/drm-intel
+Git-commit: a4945f9522d27e1e6d64a02ad055e83768cb0896
+Patch-mainline: Submitted
+References: bnc#845503
+
+The PIPEA quirk is specifically for the issue with the PIPEB PLL on
+830gm being slaved to the PIPEA PLL, and so to use PIPEB requires PIPEA
+running. i845 doesn't even have the second PLL or pipe, and enabling
+the quirk results in a blank DVO LVDS.
+
+Signed-off-by: Chris Wilson
+Signed-off-by: Daniel Vetter
+Acked-by: Takashi Iwai
+
+---
+ drivers/gpu/drm/i915/intel_display.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -9468,8 +9468,7 @@ static struct intel_quirk intel_quirks[]
+ /* ThinkPad T60 needs pipe A force quirk (bug #16494) */
+ { 0x2782, 0x17aa, 0x201a, quirk_pipea_force },
+
+- /* 830/845 need to leave pipe A & dpll A up */
+- { 0x2562, PCI_ANY_ID, PCI_ANY_ID, quirk_pipea_force },
++ /* 830 needs to leave pipe A & dpll A up */
+ { 0x3577, PCI_ANY_ID, PCI_ANY_ID, quirk_pipea_force },
+
+ /* Lenovo U160 cannot use SSC on LVDS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch new/patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch
--- old/patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch 2013-10-30 17:49:30.000000000 +0100
@@ -0,0 +1,31 @@
+Date: Fri, 13 Sep 2013 21:41:48 +0200
+From: Jean Delvare
+Subject: gpio: ucb1400: Can be built as a module
+Patch-mainline: Accepted by Linus Walleij
+Git-commit: https://git.kernel.org/cgit/linux/kernel/git/linusw/linux-gpio.git/commit/?h=for-next&id=7d1815e1e51af36b5b52983cce8bc23cd79a92a9
+
+With the recent code cleanup from Marek Vasut, driver gpio-ucb1400 can
+be built as a module, so change symbol GPIO_UCB1400 from bool to
+tristate.
+
+Signed-off-by: Jean Delvare
+Reviewed-by: Marek Vasut
+Signed-off-by: Linus Walleij
+---
+ drivers/gpio/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-3.12-rc0.orig/drivers/gpio/Kconfig 2013-09-13 20:03:47.685333351 +0200
++++ linux-3.12-rc0/drivers/gpio/Kconfig 2013-09-13 20:03:59.085333520 +0200
+@@ -703,7 +703,7 @@ config GPIO_74X164
+ comment "AC97 GPIO expanders:"
+
+ config GPIO_UCB1400
+- bool "Philips UCB1400 GPIO"
++ tristate "Philips UCB1400 GPIO"
+ depends on UCB1400_CORE
+ help
+ This enables support for the Philips UCB1400 GPIO pins.
+
+
+
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/iscsi_target-race-condition-on-shutdown.patch new/patches.fixes/iscsi_target-race-condition-on-shutdown.patch
--- old/patches.fixes/iscsi_target-race-condition-on-shutdown.patch 2013-12-19 18:13:02.000000000 +0100
+++ new/patches.fixes/iscsi_target-race-condition-on-shutdown.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,84 +0,0 @@
-From: Hannes Reinecke
-Date: Thu, 5 Dec 2013 14:48:40 +0100
-Subject: iscsi_target: race condition on shutdown
-References: bnc#850072
-Patch-Mainline: submitted to target-devel
-
-When shutting down a target there is a race condition between
-iscsit_del_np() and __iscsi_target_login_thread().
-The latter sets the thread pointer to NULL, and the former
-tries to issue kthread_stop() on that pointer without any
-synchronization.
-
-This patchs adds proper synchronization pointer between those
-calls to ensure that a) the thread is correctly terminate and
-b) kthread_stop() isn't called with a NULL pointer.
-
-In the long run iscsi_target_login_thread() should be converted
-into a workqueue.
-
-Signed-off-by: Hannes Reinecke
----
- drivers/target/iscsi/iscsi_target.c | 12 +++++++++---
- drivers/target/iscsi/iscsi_target_login.c | 9 ++++++---
- 2 files changed, 15 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
-index bf76fc4..c7bf3c9 100644
---- a/drivers/target/iscsi/iscsi_target.c
-+++ b/drivers/target/iscsi/iscsi_target.c
-@@ -457,15 +457,21 @@ int iscsit_del_np(struct iscsi_np *np)
- }
- np->np_thread_state = ISCSI_NP_THREAD_SHUTDOWN;
- spin_unlock_bh(&np->np_thread_lock);
--
-- if (np->np_thread) {
-+ /* Give __iscsi_target_login_thread() a chance to run */
-+ schedule();
-+ spin_lock_bh(&np->np_thread_lock);
-+ if ((np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN)
-+ && np->np_thread) {
-+ np->np_thread_state = ISCSI_NP_THREAD_EXIT;
-+ spin_unlock_bh(&np->np_thread_lock);
- /*
- * We need to send the signal to wakeup Linux/Net
- * which may be sleeping in sock_accept()..
- */
- send_sig(SIGINT, np->np_thread, 1);
- kthread_stop(np->np_thread);
-- }
-+ } else
-+ spin_unlock_bh(&np->np_thread_lock);
-
- np->np_transport->iscsit_free_np(np);
-
-diff --git a/drivers/target/iscsi/iscsi_target_login.c b/drivers/target/iscsi/iscsi_target_login.c
-index 4eb93b2..b375d26 100644
---- a/drivers/target/iscsi/iscsi_target_login.c
-+++ b/drivers/target/iscsi/iscsi_target_login.c
-@@ -1405,7 +1405,8 @@ out:
- stop = kthread_should_stop();
- if (!stop && signal_pending(current)) {
- spin_lock_bh(&np->np_thread_lock);
-- stop = (np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN);
-+ stop = (np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN ||
-+ np->np_thread_state == ISCSI_NP_THREAD_EXIT);
- spin_unlock_bh(&np->np_thread_lock);
- }
- /* Wait for another socket.. */
-@@ -1414,8 +1415,10 @@ out:
- exit:
- iscsi_stop_login_thread_timer(np);
- spin_lock_bh(&np->np_thread_lock);
-- np->np_thread_state = ISCSI_NP_THREAD_EXIT;
-- np->np_thread = NULL;
-+ if (np->np_thread_state != ISCSI_NP_THREAD_EXIT) {
-+ np->np_thread_state = ISCSI_NP_THREAD_EXIT;
-+ np->np_thread = NULL;
-+ }
- spin_unlock_bh(&np->np_thread_lock);
-
- return 0;
---
-1.7.12.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nouveau-fix-race-with-fence-signaling new/patches.fixes/nouveau-fix-race-with-fence-signaling
--- old/patches.fixes/nouveau-fix-race-with-fence-signaling 2013-12-19 18:13:02.000000000 +0100
+++ new/patches.fixes/nouveau-fix-race-with-fence-signaling 2013-11-20 13:17:11.000000000 +0100
@@ -43,9 +43,9 @@
- struct nouveau_fence_priv *priv = chan->drm->fence;
+ struct nouveau_fifo *pfifo = nouveau_fifo(drm->device);
+ struct nouveau_fence_priv *priv = drm->fence;
- struct nouveau_eventh *handler;
- int ret = 0;
-
+ struct nouveau_fence_uevent uevent = {
+ .handler.func = nouveau_fence_wait_uevent_handler,
+ .priv = priv,
@@ -241,7 +240,7 @@ nouveau_fence_wait(struct nouveau_fence
int ret = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ptrace-getsiginfo new/patches.fixes/ptrace-getsiginfo
--- old/patches.fixes/ptrace-getsiginfo 2013-12-19 18:13:02.000000000 +0100
+++ new/patches.fixes/ptrace-getsiginfo 2013-11-20 13:17:11.000000000 +0100
@@ -40,8 +40,8 @@
* does not yet catch signals sent when the child dies.
* in exit.c or in signal.c.
@@ -69,6 +72,27 @@ static long compat_ptrace_old(struct tas
- #define FPRHALF(i) (((i) - PT_FPR0) & 1)
#define FPRINDEX(i) TS_FPRWIDTH * FPRNUMBER(i) * 2 + FPRHALF(i)
+ #define FPRINDEX_3264(i) (TS_FPRWIDTH * ((i) - PT_FPR0))
+static int compat_ptrace_getsiginfo(struct task_struct *child, compat_siginfo_t __user *data)
+{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/remount-no-shrink-dcache new/patches.fixes/remount-no-shrink-dcache
--- old/patches.fixes/remount-no-shrink-dcache 2013-12-19 18:13:02.000000000 +0100
+++ new/patches.fixes/remount-no-shrink-dcache 2013-11-20 13:17:11.000000000 +0100
@@ -53,9 +53,9 @@
if (remount_ro) {
- if (force) {
+ if (rflags & REMOUNT_FORCE) {
- sb->s_readonly_remount = 1;
- smp_wmb();
+ mark_files_ro(sb);
} else {
+ retval = sb_prepare_remount_readonly(sb);
@@ -728,7 +723,7 @@ int do_remount_sb(struct super_block *sb
if (sb->s_op->remount_fs) {
retval = sb->s_op->remount_fs(sb, &flags, data);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/sched-fix-preempt-non-x86.patch new/patches.fixes/sched-fix-preempt-non-x86.patch
--- old/patches.fixes/sched-fix-preempt-non-x86.patch 2013-12-19 18:13:02.000000000 +0100
+++ new/patches.fixes/sched-fix-preempt-non-x86.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,162 +0,0 @@
-From ba1f14fbe70965ae0fb1655a5275a62723f65b77 Mon Sep 17 00:00:00 2001
-From: Peter Zijlstra
-Date: Thu, 28 Nov 2013 14:26:41 +0100
-Subject: [PATCH] sched: Remove PREEMPT_NEED_RESCHED from generic code
-Patch-Mainline: 3.13-rc5
-
-While hunting a preemption issue with Alexander, Ben noticed that the
-currently generic PREEMPT_NEED_RESCHED stuff is horribly broken for
-load-store architectures.
-
-We currently rely on the IPI to fold TIF_NEED_RESCHED into
-PREEMPT_NEED_RESCHED, but when this IPI lands while we already have
-a load for the preempt-count but before the store, the store will erase
-the PREEMPT_NEED_RESCHED change.
-
-The current preempt-count only works on load-store archs because
-interrupts are assumed to be completely balanced wrt their preempt_count
-fiddling; the previous preempt_count load will match the preempt_count
-state after the interrupt and therefore nothing gets lost.
-
-This patch removes the PREEMPT_NEED_RESCHED usage from generic code and
-pushes it into x86 arch code; the generic code goes back to relying on
-TIF_NEED_RESCHED.
-
-Boot tested on x86_64 and compile tested on ppc64.
-
-Reported-by: Benjamin Herrenschmidt
-Reported-and-Tested-by: Alexander Graf
-Signed-off-by: Peter Zijlstra
-Cc: Linus Torvalds
-Link: http://lkml.kernel.org/r/20131128132641.GP10022@twins.programming.kicks-ass....
-Signed-off-by: Ingo Molnar
-Signed-off-by: Alexander Graf
-
-diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h
-index 8729723..c8b0519 100644
---- a/arch/x86/include/asm/preempt.h
-+++ b/arch/x86/include/asm/preempt.h
-@@ -8,6 +8,12 @@
- DECLARE_PER_CPU(int, __preempt_count);
-
- /*
-+ * We use the PREEMPT_NEED_RESCHED bit as an inverted NEED_RESCHED such
-+ * that a decrement hitting 0 means we can and should reschedule.
-+ */
-+#define PREEMPT_ENABLED (0 + PREEMPT_NEED_RESCHED)
-+
-+/*
- * We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users
- * that think a non-zero value indicates we cannot preempt.
- */
-@@ -74,6 +80,11 @@ static __always_inline void __preempt_count_sub(int val)
- __this_cpu_add_4(__preempt_count, -val);
- }
-
-+/*
-+ * Because we keep PREEMPT_NEED_RESCHED set when we do _not_ need to reschedule
-+ * a decrement which hits zero means we have no preempt_count and should
-+ * reschedule.
-+ */
- static __always_inline bool __preempt_count_dec_and_test(void)
- {
- GEN_UNARY_RMWcc("decl", __preempt_count, __percpu_arg(0), "e");
-diff --git a/include/asm-generic/preempt.h b/include/asm-generic/preempt.h
-index ddf2b42..1cd3f5d 100644
---- a/include/asm-generic/preempt.h
-+++ b/include/asm-generic/preempt.h
-@@ -3,13 +3,11 @@
-
- #include
-
--/*
-- * We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users
-- * that think a non-zero value indicates we cannot preempt.
-- */
-+#define PREEMPT_ENABLED (0)
-+
- static __always_inline int preempt_count(void)
- {
-- return current_thread_info()->preempt_count & ~PREEMPT_NEED_RESCHED;
-+ return current_thread_info()->preempt_count;
- }
-
- static __always_inline int *preempt_count_ptr(void)
-@@ -17,11 +15,6 @@ static __always_inline int *preempt_count_ptr(void)
- return ¤t_thread_info()->preempt_count;
- }
-
--/*
-- * We now loose PREEMPT_NEED_RESCHED and cause an extra reschedule; however the
-- * alternative is loosing a reschedule. Better schedule too often -- also this
-- * should be a very rare operation.
-- */
- static __always_inline void preempt_count_set(int pc)
- {
- *preempt_count_ptr() = pc;
-@@ -41,28 +34,17 @@ static __always_inline void preempt_count_set(int pc)
- task_thread_info(p)->preempt_count = PREEMPT_ENABLED; \
- } while (0)
-
--/*
-- * We fold the NEED_RESCHED bit into the preempt count such that
-- * preempt_enable() can decrement and test for needing to reschedule with a
-- * single instruction.
-- *
-- * We invert the actual bit, so that when the decrement hits 0 we know we both
-- * need to resched (the bit is cleared) and can resched (no preempt count).
-- */
--
- static __always_inline void set_preempt_need_resched(void)
- {
-- *preempt_count_ptr() &= ~PREEMPT_NEED_RESCHED;
- }
-
- static __always_inline void clear_preempt_need_resched(void)
- {
-- *preempt_count_ptr() |= PREEMPT_NEED_RESCHED;
- }
-
- static __always_inline bool test_preempt_need_resched(void)
- {
-- return !(*preempt_count_ptr() & PREEMPT_NEED_RESCHED);
-+ return false;
- }
-
- /*
-@@ -81,7 +63,12 @@ static __always_inline void __preempt_count_sub(int val)
-
- static __always_inline bool __preempt_count_dec_and_test(void)
- {
-- return !--*preempt_count_ptr();
-+ /*
-+ * Because of load-store architectures cannot do per-cpu atomic
-+ * operations; we cannot use PREEMPT_NEED_RESCHED because it might get
-+ * lost.
-+ */
-+ return !--*preempt_count_ptr() && tif_need_resched();
- }
-
- /*
-@@ -89,7 +76,7 @@ static __always_inline bool __preempt_count_dec_and_test(void)
- */
- static __always_inline bool should_resched(void)
- {
-- return unlikely(!*preempt_count_ptr());
-+ return unlikely(!preempt_count() && tif_need_resched());
- }
-
- #ifdef CONFIG_PREEMPT
-diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 768b037..96d674b 100644
---- a/include/linux/sched.h
-+++ b/include/linux/sched.h
-@@ -440,8 +440,6 @@ struct task_cputime {
- .sum_exec_runtime = 0, \
- }
-
--#define PREEMPT_ENABLED (PREEMPT_NEED_RESCHED)
--
- #ifdef CONFIG_PREEMPT_COUNT
- #define PREEMPT_DISABLED (1 + PREEMPT_ENABLED)
- #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch new/patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch
--- old/patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch 2013-11-20 13:17:11.000000000 +0100
@@ -0,0 +1,143 @@
+From: Jiri Slaby
+Date: Fri, 25 Oct 2013 15:06:58 +0200
+Subject: x86/dumpstack: Fix printk_address for direct addresses
+Patch-mainline: v3.13-rc1
+Git-commit: 8d4c812a3e5fff476c8900bab19a6af489cbd4be
+References: bnc#845621
+
+Consider a kernel crash in a module, simulated the following way:
+
+ static int my_init(void)
+ {
+ char *map = (void *)0x5;
+ *map = 3;
+ return 0;
+ }
+ module_init(my_init);
+
+When we turn off FRAME_POINTERs, the very first instruction in
+that function causes a BUG. The problem is that we print IP in
+the BUG report using %pB (from printk_address). And %pB
+decrements the pointer by one to fix printing addresses of
+functions with tail calls.
+
+This was added in commit 71f9e59800e5ad4 ("x86, dumpstack: Use
+%pB format specifier for stack trace") to fix the call stack
+printouts.
+
+So instead of correct output:
+
+ BUG: unable to handle kernel NULL pointer dereference at 0000000000000005
+ IP: [<ffffffffa01ac000>] my_init+0x0/0x10 [pb173]
+
+We get:
+
+ BUG: unable to handle kernel NULL pointer dereference at 0000000000000005
+ IP: [<ffffffffa0152000>] 0xffffffffa0151fff
+
+To fix that, we use %pS only for stack addresses printouts (via
+newly added printk_stack_address) and %pB for regs->ip (via
+printk_address). I.e. we revert to the old behaviour for all
+except call stacks. And since from all those reliable is 1, we
+remove that parameter from printk_address.
+
+Signed-off-by: Jiri Slaby
+Cc: Namhyung Kim
+Cc: Frederic Weisbecker
+Cc: Ingo Molnar
+Cc: "H. Peter Anvin"
+Cc: joe@perches.com
+Cc: jirislaby@gmail.com
+Link: http://lkml.kernel.org/r/1382706418-8435-1-git-send-email-jslaby@suse.cz
+Signed-off-by: Ingo Molnar
+---
+ arch/x86/include/asm/kdebug.h | 2 +-
+ arch/x86/kernel/dumpstack.c | 11 ++++++++---
+ arch/x86/kernel/process_64.c | 2 +-
+ arch/x86/mm/fault.c | 2 +-
+ arch/x86/platform/uv/uv_nmi.c | 2 +-
+ 5 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/arch/x86/include/asm/kdebug.h b/arch/x86/include/asm/kdebug.h
+index 2c37aadcbc35..32ce71375b21 100644
+--- a/arch/x86/include/asm/kdebug.h
++++ b/arch/x86/include/asm/kdebug.h
+@@ -21,7 +21,7 @@ enum die_val {
+ DIE_NMIUNKNOWN,
+ };
+
+-extern void printk_address(unsigned long address, int reliable);
++extern void printk_address(unsigned long address);
+ extern void die(const char *, struct pt_regs *,long);
+ extern int __must_check __die(const char *, struct pt_regs *, long);
+ extern void show_trace(struct task_struct *t, struct pt_regs *regs,
+diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
+index deb6421c9e69..d9c12d3022a7 100644
+--- a/arch/x86/kernel/dumpstack.c
++++ b/arch/x86/kernel/dumpstack.c
+@@ -25,12 +25,17 @@ unsigned int code_bytes = 64;
+ int kstack_depth_to_print = 3 * STACKSLOTS_PER_LINE;
+ static int die_counter;
+
+-void printk_address(unsigned long address, int reliable)
++static void printk_stack_address(unsigned long address, int reliable)
+ {
+ pr_cont(" [<%p>] %s%pB\n",
+ (void *)address, reliable ? "" : "? ", (void *)address);
+ }
+
++void printk_address(unsigned long address)
++{
++ pr_cont(" [<%p>] %pS\n", (void *)address, (void *)address);
++}
++
+ #ifdef CONFIG_FUNCTION_GRAPH_TRACER
+ static void
+ print_ftrace_graph_addr(unsigned long addr, void *data,
+@@ -151,7 +156,7 @@ static void print_trace_address(void *data, unsigned long addr, int reliable)
+ {
+ touch_nmi_watchdog();
+ printk(data);
+- printk_address(addr, reliable);
++ printk_stack_address(addr, reliable);
+ }
+
+ static const struct stacktrace_ops print_trace_ops = {
+@@ -281,7 +286,7 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err)
+ #else
+ /* Executive summary in case the oops scrolled away */
+ printk(KERN_ALERT "RIP ");
+- printk_address(regs->ip, 1);
++ printk_address(regs->ip);
+ printk(" RSP <%016lx>\n", regs->sp);
+ #endif
+ return 0;
+diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
+index 45ab4d6fc8a7..176ad94e1d57 100644
+--- a/arch/x86/kernel/process_64.c
++++ b/arch/x86/kernel/process_64.c
+@@ -63,7 +63,7 @@ void __show_regs(struct pt_regs *regs, int all)
+ unsigned int ds, cs, es;
+
+ printk(KERN_DEFAULT "RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->ip);
+- printk_address(regs->ip, 1);
++ printk_address(regs->ip);
+ printk(KERN_DEFAULT "RSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss,
+ regs->sp, regs->flags);
+ printk(KERN_DEFAULT "RAX: %016lx RBX: %016lx RCX: %016lx\n",
+diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
+index 7a517bb41060..e7e1cac74e8d 100644
+--- a/arch/x86/mm/fault.c
++++ b/arch/x86/mm/fault.c
+@@ -596,7 +596,7 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
+
+ printk(KERN_CONT " at %p\n", (void *) address);
+ printk(KERN_ALERT "IP:");
+- printk_address(regs->ip, 1);
++ printk_address(regs->ip);
+
+ dump_pagetable(address);
+ }
+--
+1.8.4.2
+
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 4528 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch new/patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch
--- old/patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch 2013-11-27 17:59:14.000000000 +0100
@@ -50,13 +50,13 @@
* 10. We don't allow removal of NFS sillyrenamed files; it's handled by
* nfs_async_unlink().
*/
--static int may_delete(struct inode *dir, struct dentry *victim, bool isdir)
+-static int may_delete(struct inode *dir,struct dentry *victim,int isdir)
+static int may_delete(struct inode *dir, struct dentry *victim,
-+ bool isdir, int replace)
++ int isdir, int replace)
{
- struct inode *inode = victim->d_inode;
int error;
-@@ -2183,15 +2204,19 @@ static int may_delete(struct inode *dir,
+
+@@ -2183,14 +2204,19 @@ static int may_delete(struct inode *dir,
BUG_ON(victim->d_parent->d_inode != dir);
audit_inode_child(dir, victim, AUDIT_TYPE_CHILD_DELETE);
@@ -73,13 +73,13 @@
return error;
if (IS_APPEND(dir))
return -EPERM;
-
-- if (check_sticky(dir, inode) || IS_APPEND(inode) ||
-- IS_IMMUTABLE(inode) || IS_SWAPFILE(inode))
-+ if (IS_APPEND(inode) || IS_IMMUTABLE(inode) || IS_SWAPFILE(inode))
+- if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)||
+- IS_IMMUTABLE(victim->d_inode) || IS_SWAPFILE(victim->d_inode))
++ if (IS_APPEND(victim->d_inode) || IS_IMMUTABLE(victim->d_inode) ||
++ IS_SWAPFILE(victim->d_inode))
return -EPERM;
if (isdir) {
- if (!d_is_directory(victim) && !d_is_autodir(victim))
+ if (!S_ISDIR(victim->d_inode->i_mode))
@@ -2206,6 +2232,25 @@ static int may_delete(struct inode *dir,
return 0;
}
@@ -106,14 +106,13 @@
/* Check whether we can create an object with dentry child in directory
* dir.
* 1. We can't do it if child already exists (open has special treatment for
-@@ -2214,14 +2259,17 @@ static int may_delete(struct inode *dir,
+@@ -2214,13 +2259,16 @@ static int may_delete(struct inode *dir,
* 3. We should have write and exec permissions on dir
* 4. We can't do it if dir is immutable (done in permission())
*/
-static inline int may_create(struct inode *dir, struct dentry *child)
+static inline int may_create(struct inode *dir, struct dentry *child, int isdir)
{
- audit_inode_child(dir, child, AUDIT_TYPE_CHILD_CREATE);
if (child->d_inode)
return -EEXIST;
if (IS_DEADDIR(dir))
@@ -163,9 +162,9 @@
if (error)
return error;
@@ -3307,7 +3355,7 @@ SYSCALL_DEFINE1(rmdir, const char __user
- int vfs_unlink(struct inode *dir, struct dentry *dentry, struct inode **delegated_inode)
+
+ int vfs_unlink(struct inode *dir, struct dentry *dentry)
{
- struct inode *target = dentry->d_inode;
- int error = may_delete(dir, dentry, 0);
+ int error = may_delete(dir, dentry, 0, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-add-ioctl-to-export-size-of-global-metadata-reservation new/patches.suse/btrfs-add-ioctl-to-export-size-of-global-metadata-reservation
--- old/patches.suse/btrfs-add-ioctl-to-export-size-of-global-metadata-reservation 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/btrfs-add-ioctl-to-export-size-of-global-metadata-reservation 2013-11-27 17:59:14.000000000 +0100
@@ -46,9 +46,9 @@
return btrfs_ioctl_space_info(root, argp);
+ case BTRFS_IOC_GLOBAL_RSV:
+ return btrfs_ioctl_global_rsv(root, argp);
- case BTRFS_IOC_SYNC: {
- int ret;
-
+ case BTRFS_IOC_SYNC:
+ btrfs_sync_fs(file->f_dentry->d_sb, 1);
+ return 0;
--- a/include/uapi/linux/btrfs.h 2013-10-21 16:09:44.804375840 -0400
+++ b/include/uapi/linux/btrfs.h 2013-10-21 16:10:02.343990878 -0400
@@ -558,6 +558,7 @@ static inline char *btrfs_err_str(enum b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-add-tracing-for-failed-reservations new/patches.suse/btrfs-add-tracing-for-failed-reservations
--- old/patches.suse/btrfs-add-tracing-for-failed-reservations 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/btrfs-add-tracing-for-failed-reservations 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,35 @@
+From: Jeff Mahoney
+Subject: btrfs: add tracing for failed reservations
+Patch-mainline: Submitted to linux-btrfs, 21 Oct 2013
+
+When debugging ENOSPC issues, it's nice to be able to see which
+reservations failed as well as the ones which succeeded.
+
+Signed-off-by: Jeff Mahoney
+---
+ fs/btrfs/extent-tree.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/fs/btrfs/extent-tree.c 2013-11-03 16:53:15.466324826 -0500
++++ b/fs/btrfs/extent-tree.c 2013-11-03 16:53:15.550323570 -0500
+@@ -3709,6 +3709,9 @@ commit_trans:
+ goto again;
+ }
+
++ trace_btrfs_space_reservation(root->fs_info,
++ "space_info:enospc",
++ data_sinfo->flags, bytes, 1);
+ return -ENOSPC;
+ }
+ data_sinfo->bytes_may_use += bytes;
+@@ -4360,6 +4363,10 @@ out:
+ !block_rsv_use_bytes(global_rsv, orig_bytes))
+ ret = 0;
+ }
++ if (ret == -ENOSPC)
++ trace_btrfs_space_reservation(root->fs_info,
++ "space_info:enospc",
++ space_info->flags, orig_bytes, 1);
+ if (flushing) {
+ spin_lock(&space_info->lock);
+ space_info->flush = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-publish-allocation-data-in-sysfs new/patches.suse/btrfs-publish-allocation-data-in-sysfs
--- old/patches.suse/btrfs-publish-allocation-data-in-sysfs 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/btrfs-publish-allocation-data-in-sysfs 2013-11-27 17:59:14.000000000 +0100
@@ -133,7 +133,7 @@
@@ -8272,6 +8318,8 @@ int btrfs_free_block_groups(struct btrfs
release_global_block_rsv(info);
- while (!list_empty(&info->space_info)) {
+ while(!list_empty(&info->space_info)) {
+ int i;
+
space_info = list_entry(info->space_info.next,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-publish-per-super-attributes-in-sysfs new/patches.suse/btrfs-publish-per-super-attributes-in-sysfs
--- old/patches.suse/btrfs-publish-per-super-attributes-in-sysfs 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/btrfs-publish-per-super-attributes-in-sysfs 2013-11-27 17:59:14.000000000 +0100
@@ -55,9 +55,9 @@
+ btrfs_sysfs_remove_one(fs_info);
+
- free_root_pointers(fs_info, 1);
+ del_fs_roots(fs_info);
- iput(fs_info->btree_inode);
+ free_root_pointers(fs_info, 1);
--- a/fs/btrfs/sysfs.c 2013-10-21 16:30:27.126204673 -0400
+++ b/fs/btrfs/sysfs.c 2013-10-21 16:30:39.394053427 -0400
@@ -28,6 +28,25 @@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/connector-read-mostly new/patches.suse/connector-read-mostly
--- old/patches.suse/connector-read-mostly 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/connector-read-mostly 2013-11-27 17:59:14.000000000 +0100
@@ -13,8 +13,8 @@
--- a/drivers/connector/cn_proc.c
+++ b/drivers/connector/cn_proc.c
@@ -35,7 +35,7 @@
- return (struct cn_msg *)(buffer + 4);
- }
+
+ #define CN_PROC_MSG_SIZE (sizeof(struct cn_msg) + sizeof(struct proc_event))
-static atomic_t proc_event_num_listeners = ATOMIC_INIT(0);
+static atomic_t proc_event_num_listeners __read_mostly = ATOMIC_INIT(0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/export-kobj_sysfs_ops new/patches.suse/export-kobj_sysfs_ops
--- old/patches.suse/export-kobj_sysfs_ops 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/export-kobj_sysfs_ops 2013-11-27 17:59:14.000000000 +0100
@@ -22,4 +22,6 @@
+EXPORT_SYMBOL_GPL(kobj_sysfs_ops);
/**
- * kobj_completion_init - initialize a kobj_completion object.
+ * kset_register - initialize and add a kset.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch new/patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch
--- old/patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-From: Olaf Hering
-Date: Sun, 15 Dec 2013 12:14:12 +0100
-Subject: fbmem: really support wildcard video=options for all fbdev drivers
-Patch-mainline: submitted (lkml 2013-12-15)
-
-Documentation/fb/modedb.txt states that video=option should be
-considered a global option. But video_setup and fb_get_options are not
-coded that way. Instead its required to boot with video=driver:option to
-set a given option in drvier. This is cumbersome because it requires to
-know in advance which driver will be active for a given board/kernel.
-
-The following patch implements the documented catchall for the fbdev
-drivers. It is now possible to boot with video=XxY without the need to
-know the active driver in advance. The specific case it tries to fix is
-syslinux in the SUSE installer which offers a menu to set a display
-resolution. Right now this just appends the vga= option the kernel. But
-in addition to vga= it should be possible to pass a generic video=XxY
-for all framebuffer/drm drivers. With this change forcing a certain
-window size of VM displays is now much easier.
-
-Today the video= option is stored in a global fb_mode_option. But
-unfortunately only drm uses it.
-
-Note: this change introduces a small memleak if video=option is actually
-used because fb_mode_option is const. Most drivers use strsep to get to
-individual options. This could be fixed in a followup patch which always
-releases the option string in every caller of fb_get_options.
-
-Signed-off-by: Olaf Hering
-Acked-by:
----
- drivers/video/fbmem.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
-index 010d191..cde4619 100644
---- a/drivers/video/fbmem.c
-+++ b/drivers/video/fbmem.c
-@@ -1930,6 +1930,9 @@ int fb_get_options(const char *name, char **option)
- options = opt + name_len + 1;
- }
- }
-+ /* No match, pass global option */
-+ if (!options && option && fb_mode_option)
-+ options = kstrdup(fb_mode_option, GFP_KERNEL);
- if (options && !strncmp(options, "off", 3))
- retval = 1;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/ida-remove-warning-dump-stack.patch new/patches.suse/ida-remove-warning-dump-stack.patch
--- old/patches.suse/ida-remove-warning-dump-stack.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/ida-remove-warning-dump-stack.patch 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,28 @@
+From: Jean Delvare
+Subject: idr: Print a stack dump after ida_remove warning
+Patch-mainline: 3.11
+Git-commit: dd04b452f532ca100f7c557295ffcbc049c77171
+References: http://lists.opensuse.org/opensuse-kernel/2013-04/msg00102.html
+
+We print a stack dump after idr_remove warning. This is useful to find
+the faulty piece of code. Let's do the same for ida_remove, as it
+would be equally useful there.
+
+Signed-off-by: Jean Delvare
+Cc: Tejun Heo
+Cc: Andrew Morton
+Cc: Takashi Iwai
+---
+ lib/idr.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/lib/idr.c
++++ b/lib/idr.c
+@@ -1039,6 +1039,7 @@ void ida_remove(struct ida *ida, int id)
+ static void idr_remove_warning(int id)
+ {
+ WARN(1, "idr_remove called for id=%d which is not allocated.\n", id);
++ dump_stack();
+ }
+
+ static void sub_remove(struct idr *idp, int shift, int id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/ovl03-vfs-export-inode_permission-to-modules.patch new/patches.suse/ovl03-vfs-export-inode_permission-to-modules.patch
--- old/patches.suse/ovl03-vfs-export-inode_permission-to-modules.patch 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/ovl03-vfs-export-inode_permission-to-modules.patch 2013-11-27 17:59:14.000000000 +0100
@@ -38,7 +38,7 @@
+++ b/include/linux/fs.h
@@ -2221,6 +2221,7 @@ extern sector_t bmap(struct inode *, sec
#endif
- extern int notify_change(struct dentry *, struct iattr *, struct inode **);
+ extern int notify_change(struct dentry *, struct iattr *);
extern int inode_permission(struct inode *, int);
+extern int __inode_permission(struct inode *, int);
extern int generic_permission(struct inode *, int);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/ovl05-overlay-filesystem.patch new/patches.suse/ovl05-overlay-filesystem.patch
--- old/patches.suse/ovl05-overlay-filesystem.patch 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/ovl05-overlay-filesystem.patch 2013-11-27 17:59:14.000000000 +0100
@@ -307,7 +307,7 @@
+ .ia_mtime = stat->mtime,
+ };
+
-+ return notify_change(upperdentry, &attr, NULL);
++ return notify_change(upperdentry, &attr);
+}
+
+static int ovl_set_mode(struct dentry *upperdentry, umode_t mode)
@@ -317,7 +317,7 @@
+ .ia_mode = mode,
+ };
+
-+ return notify_change(upperdentry, &attr, NULL);
++ return notify_change(upperdentry, &attr);
+}
+
+static int ovl_copy_up_locked(struct dentry *upperdir, struct dentry *dentry,
@@ -372,7 +372,7 @@
+ if (S_ISDIR(stat->mode))
+ vfs_rmdir(upperdir->d_inode, newpath.dentry);
+ else
-+ vfs_unlink(upperdir->d_inode, newpath.dentry, NULL);
++ vfs_unlink(upperdir->d_inode, newpath.dentry);
+
+ dput(newpath.dentry);
+
@@ -531,7 +531,7 @@
+}
--- /dev/null
+++ b/fs/overlayfs/dir.c
-@@ -0,0 +1,606 @@
+@@ -0,0 +1,605 @@
+/*
+ *
+ * Copyright (C) 2011 Novell Inc.
@@ -593,7 +593,7 @@
+
+ err = vfs_setxattr(newdentry, ovl_whiteout_xattr, "y", 1, 0);
+ if (err)
-+ vfs_unlink(upperdir->d_inode, newdentry, NULL);
++ vfs_unlink(upperdir->d_inode, newdentry);
+
+out_dput:
+ dput(newdentry);
@@ -651,7 +651,7 @@
+
+ err = -EEXIST;
+ if (ovl_is_whiteout(newdentry))
-+ err = vfs_unlink(upperdir->d_inode, newdentry, NULL);
++ err = vfs_unlink(upperdir->d_inode, newdentry);
+
+ revert_creds(old_cred);
+ put_cred(override_cred);
@@ -901,8 +901,7 @@
+ if (is_dir)
+ err = vfs_rmdir(upperdir->d_inode, realpath.dentry);
+ else
-+ err = vfs_unlink(upperdir->d_inode, realpath.dentry,
-+ NULL);
++ err = vfs_unlink(upperdir->d_inode, realpath.dentry);
+ if (err)
+ goto out_d_drop;
+
@@ -971,7 +970,7 @@
+ goto out_unlock;
+
+ olddentry = ovl_dentry_upper(old);
-+ err = vfs_link(olddentry, upperdir->d_inode, newdentry, NULL);
++ err = vfs_link(olddentry, upperdir->d_inode, newdentry);
+ if (!err) {
+ if (WARN_ON(!newdentry->d_inode)) {
+ dput(newdentry);
@@ -1092,7 +1091,7 @@
+ }
+
+ err = vfs_rename(old_upperdir->d_inode, olddentry,
-+ new_upperdir->d_inode, newdentry, NULL);
++ new_upperdir->d_inode, newdentry);
+
+ if (err) {
+ if (new_create && ovl_dentry_is_opaque(new))
@@ -1173,7 +1172,7 @@
+ attr->ia_valid &= ~ATTR_MODE;
+
+ mutex_lock(&upperdentry->d_inode->i_mutex);
-+ err = notify_change(upperdentry, attr, NULL);
++ err = notify_change(upperdentry, attr);
+ if (!err)
+ ovl_copyattr(upperdentry->d_inode, dentry->d_inode);
+ mutex_unlock(&upperdentry->d_inode->i_mutex);
@@ -2127,7 +2126,7 @@
+ p->len, p->name, PTR_ERR(dentry));
+ continue;
+ }
-+ ret = vfs_unlink(upperdir->d_inode, dentry, NULL);
++ ret = vfs_unlink(upperdir->d_inode, dentry);
+ dput(dentry);
+ if (ret)
+ pr_warn(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/scsi-error-test-unit-ready-timeout new/patches.suse/scsi-error-test-unit-ready-timeout
--- old/patches.suse/scsi-error-test-unit-ready-timeout 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/scsi-error-test-unit-ready-timeout 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,35 @@
+From: garloff@suse.de
+Subject: Introduce own timeout for TEST_UNIT_READY
+Reference: SUSE41689
+Patch-mainline: not yet
+
+In error recovery, a SCSI device may need more than the 10s SENSE_TIMEOUT
+to respond to TEST_UNIT_READY, as reported in novell bugzilla #56689.
+The patch introduces an own timeout for TEST_UNIT_READY which is set
+to 30s and used.
+
+Signed-off-by: Kurt Garloff
+
+---
+ drivers/scsi/scsi_error.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/scsi/scsi_error.c
++++ b/drivers/scsi/scsi_error.c
+@@ -45,6 +45,7 @@
+ static void scsi_eh_done(struct scsi_cmnd *scmd);
+
+ #define SENSE_TIMEOUT (10*HZ)
++#define TEST_UNIT_READY_TIMEOUT (30*HZ)
+
+ /*
+ * These should *probably* be handled by the host itself.
+@@ -1028,7 +1029,7 @@ static int scsi_eh_tur(struct scsi_cmnd
+ int retry_cnt = 1, rtn;
+
+ retry_tur:
+- rtn = scsi_send_eh_cmnd(scmd, tur_command, 6, SENSE_TIMEOUT, 0);
++ rtn = scsi_send_eh_cmnd(scmd, tur_command, 6, TEST_UNIT_READY_TIMEOUT, 0);
+
+ SCSI_LOG_ERROR_RECOVERY(3, printk("%s: scmd %p rtn %x\n",
+ __func__, scmd, rtn));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/stack-unwind new/patches.suse/stack-unwind
--- old/patches.suse/stack-unwind 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/stack-unwind 2013-11-27 17:59:14.000000000 +0100
@@ -503,7 +503,7 @@
+++ b/arch/x86/kernel/entry_64.S
@@ -1361,6 +1361,40 @@ ENTRY(call_softirq)
CFI_ENDPROC
- END(do_softirq_own_stack)
+ END(call_softirq)
+#ifdef CONFIG_STACK_UNWIND
+ENTRY(arch_unwind_init_running)
@@ -779,7 +779,7 @@
+++ b/kernel/Makefile
@@ -57,6 +57,7 @@ obj-$(CONFIG_UID16) += uid16.o
obj-$(CONFIG_MODULES) += module.o
- obj-$(CONFIG_MODULE_SIG) += module_signing.o
+ obj-$(CONFIG_MODULE_SIG) += module_signing.o modsign_pubkey.o modsign_certificate.o
obj-$(CONFIG_KALLSYMS) += kallsyms.o
+obj-$(CONFIG_STACK_UNWIND) += unwind.o
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/supported-flag new/patches.suse/supported-flag
--- old/patches.suse/supported-flag 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/supported-flag 2013-11-27 17:59:14.000000000 +0100
@@ -21,16 +21,16 @@
include/linux/module.h | 3 +
init/Kconfig | 17 +++++++
kernel/ksysfs.c | 27 +++++++++++
- kernel/module.c | 83 ++++++++++++++++++++++++++++++++++++
+ kernel/module.c | 82 ++++++++++++++++++++++++++++++++++++
kernel/panic.c | 6 ++
kernel/sysctl.c | 9 +++
scripts/Makefile.modpost | 6 ++
- scripts/mod/modpost.c | 79 +++++++++++++++++++++++++++++++++-
- 12 files changed, 265 insertions(+), 2 deletions(-)
+ scripts/mod/modpost.c | 79 ++++++++++++++++++++++++++++++++++
+ 12 files changed, 264 insertions(+), 2 deletions(-)
---- a/Documentation/kernel-parameters.txt 2013-11-22 19:20:13.287034935 -0500
-+++ b/Documentation/kernel-parameters.txt 2013-11-22 19:21:01.818360929 -0500
-@@ -3241,6 +3241,14 @@ bytes respectively. Such letter suffixes
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -3003,6 +3003,14 @@ bytes respectively. Such letter suffixes
unknown_nmi_panic
[X86] Cause panic on unknown NMI.
@@ -45,9 +45,9 @@
usbcore.authorized_default=
[USB] Default USB device authorization:
(default -1 = authorized except for wireless USB,
---- a/Documentation/sysctl/kernel.txt 2013-11-22 19:20:13.295034826 -0500
-+++ b/Documentation/sysctl/kernel.txt 2013-11-22 19:21:01.822360873 -0500
-@@ -742,6 +742,18 @@ can be ORed together:
+--- a/Documentation/sysctl/kernel.txt
++++ b/Documentation/sysctl/kernel.txt
+@@ -637,6 +637,18 @@ can be ORed together:
1024 - A module from drivers/staging was loaded.
2048 - The system is working around a severe firmware bug.
4096 - An out-of-tree module has been loaded.
@@ -66,9 +66,9 @@
==============================================================
---- a/Makefile 2013-11-22 19:20:13.307034661 -0500
-+++ b/Makefile 2013-11-22 19:21:01.826360818 -0500
-@@ -384,6 +384,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
+--- a/Makefile
++++ b/Makefile
+@@ -381,6 +381,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -80,9 +80,9 @@
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
---- a/include/linux/kernel.h 2013-11-22 19:20:13.311034604 -0500
-+++ b/include/linux/kernel.h 2013-11-22 19:21:01.830360762 -0500
-@@ -392,6 +392,9 @@ extern int panic_timeout;
+--- a/include/linux/kernel.h
++++ b/include/linux/kernel.h
+@@ -396,6 +396,9 @@ extern int panic_timeout;
extern int panic_on_oops;
extern int panic_on_unrecovered_nmi;
extern int panic_on_io_nmi;
@@ -92,7 +92,7 @@
extern int sysctl_panic_on_stackoverflow;
extern const char *print_tainted(void);
enum lockdep_ok {
-@@ -428,6 +431,15 @@ extern enum system_states {
+@@ -432,6 +435,15 @@ extern enum system_states {
#define TAINT_FIRMWARE_WORKAROUND 11
#define TAINT_OOT_MODULE 12
@@ -108,9 +108,9 @@
extern const char hex_asc[];
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
---- a/include/linux/module.h 2013-11-22 19:20:13.315034547 -0500
-+++ b/include/linux/module.h 2013-11-22 19:21:01.830360762 -0500
-@@ -398,6 +398,9 @@ struct module *__module_address(unsigned
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -395,6 +395,9 @@ struct module *__module_address(unsigned
bool is_module_address(unsigned long addr);
bool is_module_percpu_address(unsigned long addr);
bool is_module_text_address(unsigned long addr);
@@ -120,8 +120,8 @@
static inline int within_module_core(unsigned long addr, const struct module *mod)
{
---- a/init/Kconfig 2013-11-22 19:20:13.319034490 -0500
-+++ b/init/Kconfig 2013-11-22 19:21:01.834360707 -0500
+--- a/init/Kconfig
++++ b/init/Kconfig
@@ -1,6 +1,23 @@
config SUSE_KERNEL
def_bool y
@@ -146,8 +146,8 @@
config SPLIT_PACKAGE
bool "Split the kernel package into multiple RPMs"
depends on SUSE_KERNEL && MODULES
---- a/kernel/ksysfs.c 2013-11-22 19:20:13.323034436 -0500
-+++ b/kernel/ksysfs.c 2013-11-22 19:21:01.834360707 -0500
+--- a/kernel/ksysfs.c
++++ b/kernel/ksysfs.c
@@ -183,6 +183,30 @@ static struct bin_attribute notes_attr =
struct kobject *kernel_kobj;
EXPORT_SYMBOL_GPL(kernel_kobj);
@@ -189,8 +189,8 @@
NULL
};
---- a/kernel/module.c 2013-11-22 19:20:13.331034327 -0500
-+++ b/kernel/module.c 2013-11-22 19:21:01.838360651 -0500
+--- a/kernel/module.c
++++ b/kernel/module.c
@@ -94,6 +94,22 @@
/* If this is set, the section belongs in the init part of the module */
#define INIT_OFFSET_MASK (1UL << (BITS_PER_LONG-1))
@@ -214,7 +214,7 @@
/*
* Mutex protects:
* 1) List of modules (also safely readable with preempt_disable),
-@@ -1015,6 +1031,12 @@ static size_t module_flags_taint(struct
+@@ -1040,6 +1056,12 @@ static size_t module_flags_taint(struct
buf[l++] = 'F';
if (mod->taints & (1 << TAINT_CRAP))
buf[l++] = 'C';
@@ -227,7 +227,7 @@
/*
* TAINT_FORCED_RMMOD: could be added.
* TAINT_UNSAFE_SMP, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
-@@ -1092,6 +1114,33 @@ static ssize_t show_taint(struct module_
+@@ -1117,6 +1139,33 @@ static ssize_t show_taint(struct module_
static struct module_attribute modinfo_taint =
__ATTR(taint, 0444, show_taint, NULL);
@@ -261,7 +261,7 @@
static struct module_attribute *modinfo_attrs[] = {
&module_uevent,
&modinfo_version,
-@@ -1100,6 +1149,9 @@ static struct module_attribute *modinfo_
+@@ -1125,6 +1174,9 @@ static struct module_attribute *modinfo_
&modinfo_coresize,
&modinfo_initsize,
&modinfo_taint,
@@ -271,7 +271,7 @@
#ifdef CONFIG_MODULE_UNLOAD
&modinfo_refcnt,
#endif
-@@ -1647,9 +1699,37 @@ static int mod_sysfs_setup(struct module
+@@ -1666,9 +1718,37 @@ static int mod_sysfs_setup(struct module
add_sect_attrs(mod, info);
add_notes_attrs(mod, info);
@@ -309,7 +309,7 @@
out_unreg_param:
module_param_sysfs_remove(mod);
out_unreg_holders:
-@@ -3817,6 +3897,9 @@ void print_modules(void)
+@@ -3836,6 +3915,9 @@ void print_modules(void)
if (last_unloaded_module[0])
printk(" [last unloaded: %s]", last_unloaded_module);
printk("\n");
@@ -319,9 +319,9 @@
}
#ifdef CONFIG_MODVERSIONS
---- a/kernel/panic.c 2013-11-22 19:20:13.335034272 -0500
-+++ b/kernel/panic.c 2013-11-22 19:21:01.838360651 -0500
-@@ -210,6 +210,10 @@ static const struct tnt tnts[] = {
+--- a/kernel/panic.c
++++ b/kernel/panic.c
+@@ -206,6 +206,10 @@ static const struct tnt tnts[] = {
{ TAINT_CRAP, 'C', ' ' },
{ TAINT_FIRMWARE_WORKAROUND, 'I', ' ' },
{ TAINT_OOT_MODULE, 'O', ' ' },
@@ -332,7 +332,7 @@
};
/**
-@@ -228,6 +232,8 @@ static const struct tnt tnts[] = {
+@@ -224,6 +228,8 @@ static const struct tnt tnts[] = {
* 'C' - modules from drivers/staging are loaded.
* 'I' - Working around severe firmware bug.
* 'O' - Out-of-tree module has been loaded.
@@ -341,9 +341,9 @@
*
* The string is overwritten by the next call to print_tainted().
*/
---- a/kernel/sysctl.c 2013-11-22 19:20:13.339034217 -0500
-+++ b/kernel/sysctl.c 2013-11-22 19:21:01.842360596 -0500
-@@ -740,6 +740,15 @@ static struct ctl_table kern_table[] = {
+--- a/kernel/sysctl.c
++++ b/kernel/sysctl.c
+@@ -728,6 +728,15 @@ static struct ctl_table kern_table[] = {
.extra1 = &pid_max_min,
.extra2 = &pid_max_max,
},
@@ -359,9 +359,9 @@
{
.procname = "panic_on_oops",
.data = &panic_on_oops,
---- a/scripts/Makefile.modpost 2013-11-22 19:20:13.343034160 -0500
-+++ b/scripts/Makefile.modpost 2013-11-22 19:21:01.842360596 -0500
-@@ -77,7 +77,11 @@ modpost = scripts/mod/modpost
+--- a/scripts/Makefile.modpost
++++ b/scripts/Makefile.modpost
+@@ -76,7 +76,11 @@ modpost = scripts/mod/modpost
$(if $(KBUILD_EXTRA_SYMBOLS), $(patsubst %, -e %,$(KBUILD_EXTRA_SYMBOLS))) \
$(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \
$(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \
@@ -372,11 +372,11 @@
+ $(objtree)/Module.supported \
+ $(srctree)/Module.supported /dev/null)))
- MODPOST_OPT=$(subst -i,-n,$(filter -i,$(MAKEFLAGS)))
-
---- a/scripts/mod/modpost.c 2013-11-22 19:20:13.347034103 -0500
-+++ b/scripts/mod/modpost.c 2013-11-22 19:21:01.846360540 -0500
-@@ -1676,6 +1676,50 @@ static void check_sec_ref(struct module
+ # We can go over command line length here, so be careful.
+ quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -1697,6 +1697,50 @@ static void check_sec_ref(struct module
}
}
@@ -443,7 +443,7 @@
/**
* Record CRCs for unresolved symbols
**/
-@@ -2031,6 +2084,15 @@ static void write_if_changed(struct buff
+@@ -2030,6 +2083,15 @@ static void write_if_changed(struct buff
fclose(file);
}
@@ -459,7 +459,7 @@
/* parse Module.symvers file. line format:
* 0x12345678<tab>symbol<tab>module[[<tab>export]<tab>something]
**/
-@@ -2124,12 +2186,15 @@ int main(int argc, char **argv)
+@@ -2123,12 +2185,15 @@ int main(int argc, char **argv)
struct buffer buf = { };
char *kernel_read = NULL, *module_read = NULL;
char *dump_write = NULL, *files_source = NULL;
@@ -471,12 +471,12 @@
struct ext_sym_list *extsym_iter;
struct ext_sym_list *extsym_start = NULL;
-- while ((opt = getopt(argc, argv, "i:I:e:mnsST:o:awM:K:")) != -1) {
-+ while ((opt = getopt(argc, argv, "i:I:e:mnsST:o:awM:K:N:")) != -1) {
+- while ((opt = getopt(argc, argv, "i:I:e:msST:o:awM:K:")) != -1) {
++ while ((opt = getopt(argc, argv, "i:I:e:msST:o:awM:K:N:")) != -1) {
switch (opt) {
case 'i':
kernel_read = optarg;
-@@ -2170,11 +2235,20 @@ int main(int argc, char **argv)
+@@ -2163,11 +2228,20 @@ int main(int argc, char **argv)
case 'w':
warn_unresolved = 1;
break;
@@ -497,7 +497,7 @@
if (kernel_read)
read_dump(kernel_read, 1);
if (module_read)
-@@ -2211,6 +2285,9 @@ int main(int argc, char **argv)
+@@ -2201,6 +2275,9 @@ int main(int argc, char **argv)
add_header(&buf, mod);
add_intree_flag(&buf, !external_module);
add_staging_flag(&buf, mod->name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/supported-flag-wildcards new/patches.suse/supported-flag-wildcards
--- old/patches.suse/supported-flag-wildcards 2013-12-16 15:39:56.000000000 +0100
+++ new/patches.suse/supported-flag-wildcards 2013-11-27 17:59:14.000000000 +0100
@@ -19,7 +19,7 @@
+#include
#include
#include
- #include
+ #include "modpost.h"
@@ -1702,7 +1703,7 @@ static char *underscores(char *string)
void *supported_file;
unsigned long supported_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch new/patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch
--- old/patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,210 @@
+From:
+Subject: Drivers: hv: util: Fix a bug in util version negotiation code
+Patch-mainline: never
+References: bnc#838346
+
+Do not modify the buffer if a match has not been found unless the caller
+indicates that this is the final version being negotiated.
+
+KY will provide the final version of this change.
+
+---
+ drivers/hv/channel_mgmt.c | 31 ++++++++++++++-----------------
+ drivers/hv/hv_kvp.c | 9 ++++-----
+ drivers/hv/hv_snapshot.c | 5 ++---
+ drivers/hv/hv_util.c | 13 ++++++-------
+ include/linux/hyperv.h | 4 +---
+ 5 files changed, 27 insertions(+), 35 deletions(-)
+
+diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
+index 12ec8c8..93bb671 100644
+--- a/drivers/hv/channel_mgmt.c
++++ b/drivers/hv/channel_mgmt.c
+@@ -41,11 +41,10 @@ struct vmbus_channel_message_table_entry {
+ /**
+ * vmbus_prep_negotiate_resp() - Create default response for Hyper-V Negotiate message
+ * @icmsghdrp: Pointer to msg header structure
+- * @icmsg_negotiate: Pointer to negotiate message structure
+ * @buf: Raw buffer channel data
+ *
+ * @icmsghdrp is of type &struct icmsg_hdr.
+- * @negop is of type &struct icmsg_negotiate.
++ * @final if true signifies that this the final version negotiated.
+ * Set up and fill in default negotiate response message.
+ *
+ * The fw_version specifies the framework version that
+@@ -55,7 +54,7 @@ struct vmbus_channel_message_table_entry {
+ * Mainly used by Hyper-V drivers.
+ */
+ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
+- struct icmsg_negotiate *negop, u8 *buf,
++ u8 *buf, bool final,
+ int fw_version, int srv_version)
+ {
+ int icframe_major, icframe_minor;
+@@ -63,9 +62,9 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
+ int fw_major, fw_minor;
+ int srv_major, srv_minor;
+ int i;
++ struct icmsg_negotiate *negop;
+ bool found_match = false;
+
+- icmsghdrp->icmsgsize = 0x10;
+ fw_major = (fw_version >> 16);
+ fw_minor = (fw_version & 0xFFFF);
+
+@@ -76,11 +75,7 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
+ sizeof(struct vmbuspipe_hdr) +
+ sizeof(struct icmsg_hdr)];
+
+- icframe_major = negop->icframe_vercnt;
+- icframe_minor = 0;
+-
+- icmsg_major = negop->icmsg_vercnt;
+- icmsg_minor = 0;
++ icframe_major = icframe_minor = icmsg_major = icmsg_minor = 0;
+
+ /*
+ * Select the framework version number we will
+@@ -117,18 +112,20 @@ bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp,
+ */
+
+ fw_error:
+- if (!found_match) {
+- negop->icframe_vercnt = 0;
+- negop->icmsg_vercnt = 0;
+- } else {
++ if (found_match) {
++ icmsghdrp->icmsgsize = 0x10;
+ negop->icframe_vercnt = 1;
+ negop->icmsg_vercnt = 1;
++ negop->icversion_data[0].major = icframe_major;
++ negop->icversion_data[0].minor = icframe_minor;
++ negop->icversion_data[1].major = icmsg_major;
++ negop->icversion_data[1].minor = icmsg_minor;
++ } else if (final) {
++ icmsghdrp->icmsgsize = 0x10;
++ negop->icframe_vercnt = 0;
++ negop->icmsg_vercnt = 0;
+ }
+
+- negop->icversion_data[0].major = icframe_major;
+- negop->icversion_data[0].minor = icframe_minor;
+- negop->icversion_data[1].major = icmsg_major;
+- negop->icversion_data[1].minor = icmsg_minor;
+ return found_match;
+ }
+
+diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
+index 5312720..9558720 100644
+--- a/drivers/hv/hv_kvp.c
++++ b/drivers/hv/hv_kvp.c
+@@ -584,7 +584,6 @@ void hv_kvp_onchannelcallback(void *context)
+ struct hv_kvp_msg *kvp_msg;
+
+ struct icmsg_hdr *icmsghdrp;
+- struct icmsg_negotiate *negop = NULL;
+
+ if (kvp_transaction.active) {
+ /*
+@@ -607,13 +606,13 @@ void hv_kvp_onchannelcallback(void *context)
+ * We start with win8 version and if the host cannot
+ * support that we use the previous version.
+ */
+- if (vmbus_prep_negotiate_resp(icmsghdrp, negop,
+- recv_buffer, UTIL_FW_MAJOR_MINOR,
++ if (vmbus_prep_negotiate_resp(icmsghdrp, recv_buffer,
++ false, UTIL_FW_MAJOR_MINOR,
+ WIN8_SRV_MAJOR_MINOR))
+ goto done;
+
+- vmbus_prep_negotiate_resp(icmsghdrp, negop,
+- recv_buffer, UTIL_FW_MAJOR_MINOR,
++ vmbus_prep_negotiate_resp(icmsghdrp, recv_buffer,
++ true, UTIL_FW_MAJOR_MINOR,
+ WIN7_SRV_MAJOR_MINOR);
+
+ } else {
+diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
+index e4572f3..f3f2444 100644
+--- a/drivers/hv/hv_snapshot.c
++++ b/drivers/hv/hv_snapshot.c
+@@ -170,7 +170,6 @@ void hv_vss_onchannelcallback(void *context)
+
+
+ struct icmsg_hdr *icmsghdrp;
+- struct icmsg_negotiate *negop = NULL;
+
+ if (vss_transaction.active) {
+ /*
+@@ -189,8 +188,8 @@ void hv_vss_onchannelcallback(void *context)
+ sizeof(struct vmbuspipe_hdr)];
+
+ if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
+- vmbus_prep_negotiate_resp(icmsghdrp, negop,
+- recv_buffer, UTIL_FW_MAJOR_MINOR,
++ vmbus_prep_negotiate_resp(icmsghdrp, recv_buffer,
++ true, UTIL_FW_MAJOR_MINOR,
+ VSS_MAJOR_MINOR);
+ } else {
+ vss_msg = (struct hv_vss_msg *)&recv_buffer[
+diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
+index c16164d..7f0da0d 100644
+--- a/drivers/hv/hv_util.c
++++ b/drivers/hv/hv_util.c
+@@ -88,7 +88,6 @@ static void shutdown_onchannelcallback(void *context)
+ struct shutdown_msg_data *shutdown_msg;
+
+ struct icmsg_hdr *icmsghdrp;
+- struct icmsg_negotiate *negop = NULL;
+
+ vmbus_recvpacket(channel, shut_txf_buf,
+ PAGE_SIZE, &recvlen, &requestid);
+@@ -98,8 +97,8 @@ static void shutdown_onchannelcallback(void *context)
+ sizeof(struct vmbuspipe_hdr)];
+
+ if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
+- vmbus_prep_negotiate_resp(icmsghdrp, negop,
+- shut_txf_buf, UTIL_FW_MAJOR_MINOR,
++ vmbus_prep_negotiate_resp(icmsghdrp, shut_txf_buf,
++ true, UTIL_FW_MAJOR_MINOR,
+ SHUTDOWN_MAJOR_MINOR);
+ } else {
+ shutdown_msg =
+@@ -225,8 +224,8 @@ static void timesync_onchannelcallback(void *context)
+ sizeof(struct vmbuspipe_hdr)];
+
+ if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
+- vmbus_prep_negotiate_resp(icmsghdrp, NULL, time_txf_buf,
+- UTIL_FW_MAJOR_MINOR,
++ vmbus_prep_negotiate_resp(icmsghdrp, time_txf_buf,
++ true, UTIL_FW_MAJOR_MINOR,
+ TIMESYNCH_MAJOR_MINOR);
+ } else {
+ timedatap = (struct ictimesync_data *)&time_txf_buf[
+@@ -266,8 +265,8 @@ static void heartbeat_onchannelcallback(void *context)
+ sizeof(struct vmbuspipe_hdr)];
+
+ if (icmsghdrp->icmsgtype == ICMSGTYPE_NEGOTIATE) {
+- vmbus_prep_negotiate_resp(icmsghdrp, NULL,
+- hbeat_txf_buf, UTIL_FW_MAJOR_MINOR,
++ vmbus_prep_negotiate_resp(icmsghdrp, hbeat_txf_buf,
++ true, UTIL_FW_MAJOR_MINOR,
+ HEARTBEAT_MAJOR_MINOR);
+ } else {
+ heartbeat_msg =
+diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
+index 4994907..7b647c4 100644
+--- a/include/linux/hyperv.h
++++ b/include/linux/hyperv.h
+@@ -1502,9 +1502,7 @@ struct hyperv_service_callback {
+ };
+
+ #define MAX_SRV_VER 0x7ffffff
+-extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *,
+- struct icmsg_negotiate *, u8 *, int,
+- int);
++extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *, u8 *, bool, int, int);
+
+ int hv_kvp_init(struct hv_util_service *);
+ void hv_kvp_deinit(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch new/patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch
--- old/patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,497 @@
+From: "K. Y. Srinivasan"
+Date: Wed, 18 Sep 2013 12:50:42 -0700
+Patch-mainline: submitted, accepted into input.git
+Subject: Input: add a driver to support Hyper-V synthetic keyboard
+References: fate#315887
+
+Add a new driver to support synthetic keyboard. On the next generation
+Hyper-V guest firmware, many legacy devices will not be emulated and this
+driver will be required.
+
+I would like to thank Vojtech Pavlik for helping me with the
+details of the AT keyboard driver. I would also like to thank
+Dan Carpenter and
+Dmitry Torokhov for their detailed review of this
+driver.
+
+Signed-off-by: K. Y. Srinivasan
+Signed-off-by: Dmitry Torokhov
+Acked-by:
+---
+ drivers/input/serio/Kconfig | 10 +
+ drivers/input/serio/Makefile | 1 +
+ drivers/input/serio/hyperv-keyboard.c | 437 ++++++++++++++++++++++++++++++++++
+ 3 files changed, 448 insertions(+)
+ create mode 100644 drivers/input/serio/hyperv-keyboard.c
+
+diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
+index 1e691a3..a5f342e 100644
+--- a/drivers/input/serio/Kconfig
++++ b/drivers/input/serio/Kconfig
+@@ -267,4 +267,14 @@ config SERIO_OLPC_APSP
+ To compile this driver as a module, choose M here: the module will
+ be called olpc_apsp.
+
++config HYPERV_KEYBOARD
++ tristate "Microsoft Synthetic Keyboard driver"
++ depends on HYPERV
++ default HYPERV
++ help
++ Select this option to enable the Hyper-V Keyboard driver.
++
++ To compile this driver as a module, choose M here: the module will
++ be called hyperv_keyboard.
++
+ endif
+diff --git a/drivers/input/serio/Makefile b/drivers/input/serio/Makefile
+index 12298b1..815d874 100644
+--- a/drivers/input/serio/Makefile
++++ b/drivers/input/serio/Makefile
+@@ -28,3 +28,4 @@ obj-$(CONFIG_SERIO_ALTERA_PS2) += altera_ps2.o
+ obj-$(CONFIG_SERIO_ARC_PS2) += arc_ps2.o
+ obj-$(CONFIG_SERIO_APBPS2) += apbps2.o
+ obj-$(CONFIG_SERIO_OLPC_APSP) += olpc_apsp.o
++obj-$(CONFIG_HYPERV_KEYBOARD) += hyperv-keyboard.o
+diff --git a/drivers/input/serio/hyperv-keyboard.c b/drivers/input/serio/hyperv-keyboard.c
+new file mode 100644
+index 0000000..3a83c3c
+--- /dev/null
++++ b/drivers/input/serio/hyperv-keyboard.c
+@@ -0,0 +1,437 @@
++/*
++ * Copyright (c) 2013, Microsoft Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms and conditions of the GNU General Public License,
++ * version 2, as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ */
++
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++/*
++ * Current version 1.0
++ *
++ */
++#define SYNTH_KBD_VERSION_MAJOR 1
++#define SYNTH_KBD_VERSION_MINOR 0
++#define SYNTH_KBD_VERSION (SYNTH_KBD_VERSION_MINOR | \
++ (SYNTH_KBD_VERSION_MAJOR << 16))
++
++
++/*
++ * Message types in the synthetic input protocol
++ */
++enum synth_kbd_msg_type {
++ SYNTH_KBD_PROTOCOL_REQUEST = 1,
++ SYNTH_KBD_PROTOCOL_RESPONSE = 2,
++ SYNTH_KBD_EVENT = 3,
++ SYNTH_KBD_LED_INDICATORS = 4,
++};
++
++/*
++ * Basic message structures.
++ */
++struct synth_kbd_msg_hdr {
++ __le32 type;
++};
++
++struct synth_kbd_msg {
++ struct synth_kbd_msg_hdr header;
++ char data[]; /* Enclosed message */
++};
++
++union synth_kbd_version {
++ __le32 version;
++};
++
++/*
++ * Protocol messages
++ */
++struct synth_kbd_protocol_request {
++ struct synth_kbd_msg_hdr header;
++ union synth_kbd_version version_requested;
++};
++
++#define PROTOCOL_ACCEPTED BIT(0)
++struct synth_kbd_protocol_response {
++ struct synth_kbd_msg_hdr header;
++ __le32 proto_status;
++};
++
++#define IS_UNICODE BIT(0)
++#define IS_BREAK BIT(1)
++#define IS_E0 BIT(2)
++#define IS_E1 BIT(3)
++struct synth_kbd_keystroke {
++ struct synth_kbd_msg_hdr header;
++ __le16 make_code;
++ __le16 reserved0;
++ __le32 info; /* Additional information */
++};
++
++
++#define HK_MAXIMUM_MESSAGE_SIZE 256
++
++#define KBD_VSC_SEND_RING_BUFFER_SIZE (10 * PAGE_SIZE)
++#define KBD_VSC_RECV_RING_BUFFER_SIZE (10 * PAGE_SIZE)
++
++#define XTKBD_EMUL0 0xe0
++#define XTKBD_EMUL1 0xe1
++#define XTKBD_RELEASE 0x80
++
++
++/*
++ * Represents a keyboard device
++ */
++struct hv_kbd_dev {
++ struct hv_device *hv_dev;
++ struct serio *hv_serio;
++ struct synth_kbd_protocol_request protocol_req;
++ struct synth_kbd_protocol_response protocol_resp;
++ /* Synchronize the request/response if needed */
++ struct completion wait_event;
++ spinlock_t lock; /* protects 'started' field */
++ bool started;
++};
++
++static void hv_kbd_on_receive(struct hv_device *hv_dev,
++ struct synth_kbd_msg *msg, u32 msg_length)
++{
++ struct hv_kbd_dev *kbd_dev = hv_get_drvdata(hv_dev);
++ struct synth_kbd_keystroke *ks_msg;
++ unsigned long flags;
++ u32 msg_type = __le32_to_cpu(msg->header.type);
++ u32 info;
++ u16 scan_code;
++
++ switch (msg_type) {
++ case SYNTH_KBD_PROTOCOL_RESPONSE:
++ /*
++ * Validate the information provided by the host.
++ * If the host is giving us a bogus packet,
++ * drop the packet (hoping the problem
++ * goes away).
++ */
++ if (msg_length < sizeof(struct synth_kbd_protocol_response)) {
++ dev_err(&hv_dev->device,
++ "Illegal protocol response packet (len: %d)\n",
++ msg_length);
++ break;
++ }
++
++ memcpy(&kbd_dev->protocol_resp, msg,
++ sizeof(struct synth_kbd_protocol_response));
++ complete(&kbd_dev->wait_event);
++ break;
++
++ case SYNTH_KBD_EVENT:
++ /*
++ * Validate the information provided by the host.
++ * If the host is giving us a bogus packet,
++ * drop the packet (hoping the problem
++ * goes away).
++ */
++ if (msg_length < sizeof(struct synth_kbd_keystroke)) {
++ dev_err(&hv_dev->device,
++ "Illegal keyboard event packet (len: %d)\n",
++ msg_length);
++ break;
++ }
++
++ ks_msg = (struct synth_kbd_keystroke *)msg;
++ info = __le32_to_cpu(ks_msg->info);
++
++ /*
++ * Inject the information through the serio interrupt.
++ */
++ spin_lock_irqsave(&kbd_dev->lock, flags);
++ if (kbd_dev->started) {
++ if (info & IS_E0)
++ serio_interrupt(kbd_dev->hv_serio,
++ XTKBD_EMUL0, 0);
++
++ scan_code = __le16_to_cpu(ks_msg->make_code);
++ if (info & IS_BREAK)
++ scan_code |= XTKBD_RELEASE;
++
++ serio_interrupt(kbd_dev->hv_serio, scan_code, 0);
++ }
++ spin_unlock_irqrestore(&kbd_dev->lock, flags);
++ break;
++
++ default:
++ dev_err(&hv_dev->device,
++ "unhandled message type %d\n", msg_type);
++ }
++}
++
++static void hv_kbd_handle_received_packet(struct hv_device *hv_dev,
++ struct vmpacket_descriptor *desc,
++ u32 bytes_recvd,
++ u64 req_id)
++{
++ struct synth_kbd_msg *msg;
++ u32 msg_sz;
++
++ switch (desc->type) {
++ case VM_PKT_COMP:
++ break;
++
++ case VM_PKT_DATA_INBAND:
++ /*
++ * We have a packet that has "inband" data. The API used
++ * for retrieving the packet guarantees that the complete
++ * packet is read. So, minimally, we should be able to
++ * parse the payload header safely (assuming that the host
++ * can be trusted. Trusting the host seems to be a
++ * reasonable assumption because in a virtualized
++ * environment there is not whole lot you can do if you
++ * don't trust the host.
++ *
++ * Nonetheless, let us validate if the host can be trusted
++ * (in a trivial way). The interesting aspect of this
++ * validation is how do you recover if we discover that the
++ * host is not to be trusted? Simply dropping the packet, I
++ * don't think is an appropriate recovery. In the interest
++ * of failing fast, it may be better to crash the guest.
++ * For now, I will just drop the packet!
++ */
++
++ msg_sz = bytes_recvd - (desc->offset8 << 3);
++ if (msg_sz <= sizeof(struct synth_kbd_msg_hdr)) {
++ /*
++ * Drop the packet and hope
++ * the problem magically goes away.
++ */
++ dev_err(&hv_dev->device,
++ "Illegal packet (type: %d, tid: %llx, size: %d)\n",
++ desc->type, req_id, msg_sz);
++ break;
++ }
++
++ msg = (void *)desc + (desc->offset8 << 3);
++ hv_kbd_on_receive(hv_dev, msg, msg_sz);
++ break;
++
++ default:
++ dev_err(&hv_dev->device,
++ "unhandled packet type %d, tid %llx len %d\n",
++ desc->type, req_id, bytes_recvd);
++ break;
++ }
++}
++
++static void hv_kbd_on_channel_callback(void *context)
++{
++ struct hv_device *hv_dev = context;
++ void *buffer;
++ int bufferlen = 0x100; /* Start with sensible size */
++ u32 bytes_recvd;
++ u64 req_id;
++ int error;
++
++ buffer = kmalloc(bufferlen, GFP_ATOMIC);
++ if (!buffer)
++ return;
++
++ while (1) {
++ error = vmbus_recvpacket_raw(hv_dev->channel, buffer, bufferlen,
++ &bytes_recvd, &req_id);
++ switch (error) {
++ case 0:
++ if (bytes_recvd == 0) {
++ kfree(buffer);
++ return;
++ }
++
++ hv_kbd_handle_received_packet(hv_dev, buffer,
++ bytes_recvd, req_id);
++ break;
++
++ case -ENOBUFS:
++ kfree(buffer);
++ /* Handle large packet */
++ bufferlen = bytes_recvd;
++ buffer = kmalloc(bytes_recvd, GFP_ATOMIC);
++ if (!buffer)
++ return;
++ break;
++ }
++ }
++}
++
++static int hv_kbd_connect_to_vsp(struct hv_device *hv_dev)
++{
++ struct hv_kbd_dev *kbd_dev = hv_get_drvdata(hv_dev);
++ struct synth_kbd_protocol_request *request;
++ struct synth_kbd_protocol_response *response;
++ u32 proto_status;
++ int error;
++
++ request = &kbd_dev->protocol_req;
++ memset(request, 0, sizeof(struct synth_kbd_protocol_request));
++ request->header.type = __cpu_to_le32(SYNTH_KBD_PROTOCOL_REQUEST);
++ request->version_requested.version = __cpu_to_le32(SYNTH_KBD_VERSION);
++
++ error = vmbus_sendpacket(hv_dev->channel, request,
++ sizeof(struct synth_kbd_protocol_request),
++ (unsigned long)request,
++ VM_PKT_DATA_INBAND,
++ VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
++ if (error)
++ return error;
++
++ if (!wait_for_completion_timeout(&kbd_dev->wait_event, 10 * HZ))
++ return -ETIMEDOUT;
++
++ response = &kbd_dev->protocol_resp;
++ proto_status = __le32_to_cpu(response->proto_status);
++ if (!(proto_status & PROTOCOL_ACCEPTED)) {
++ dev_err(&hv_dev->device,
++ "synth_kbd protocol request failed (version %d)\n",
++ SYNTH_KBD_VERSION);
++ return -ENODEV;
++ }
++
++ return 0;
++}
++
++static int hv_kbd_start(struct serio *serio)
++{
++ struct hv_kbd_dev *kbd_dev = serio->port_data;
++ unsigned long flags;
++
++ spin_lock_irqsave(&kbd_dev->lock, flags);
++ kbd_dev->started = true;
++ spin_unlock_irqrestore(&kbd_dev->lock, flags);
++
++ return 0;
++}
++
++static void hv_kbd_stop(struct serio *serio)
++{
++ struct hv_kbd_dev *kbd_dev = serio->port_data;
++ unsigned long flags;
++
++ spin_lock_irqsave(&kbd_dev->lock, flags);
++ kbd_dev->started = false;
++ spin_unlock_irqrestore(&kbd_dev->lock, flags);
++}
++
++static int hv_kbd_probe(struct hv_device *hv_dev,
++ const struct hv_vmbus_device_id *dev_id)
++{
++ struct hv_kbd_dev *kbd_dev;
++ struct serio *hv_serio;
++ int error;
++
++ kbd_dev = kzalloc(sizeof(struct hv_kbd_dev), GFP_KERNEL);
++ hv_serio = kzalloc(sizeof(struct serio), GFP_KERNEL);
++ if (!kbd_dev || !hv_serio) {
++ error = -ENOMEM;
++ goto err_free_mem;
++ }
++
++ kbd_dev->hv_dev = hv_dev;
++ kbd_dev->hv_serio = hv_serio;
++ spin_lock_init(&kbd_dev->lock);
++ init_completion(&kbd_dev->wait_event);
++ hv_set_drvdata(hv_dev, kbd_dev);
++
++ hv_serio->dev.parent = &hv_dev->device;
++ hv_serio->id.type = SERIO_8042_XL;
++ hv_serio->port_data = kbd_dev;
++ strlcpy(hv_serio->name, dev_name(&hv_dev->device),
++ sizeof(hv_serio->name));
++ strlcpy(hv_serio->phys, dev_name(&hv_dev->device),
++ sizeof(hv_serio->phys));
++
++ hv_serio->start = hv_kbd_start;
++ hv_serio->stop = hv_kbd_stop;
++
++ error = vmbus_open(hv_dev->channel,
++ KBD_VSC_SEND_RING_BUFFER_SIZE,
++ KBD_VSC_RECV_RING_BUFFER_SIZE,
++ NULL, 0,
++ hv_kbd_on_channel_callback,
++ hv_dev);
++ if (error)
++ goto err_free_mem;
++
++ error = hv_kbd_connect_to_vsp(hv_dev);
++ if (error)
++ goto err_close_vmbus;
++
++ serio_register_port(kbd_dev->hv_serio);
++ return 0;
++
++err_close_vmbus:
++ vmbus_close(hv_dev->channel);
++err_free_mem:
++ kfree(hv_serio);
++ kfree(kbd_dev);
++ return error;
++}
++
++static int hv_kbd_remove(struct hv_device *hv_dev)
++{
++ struct hv_kbd_dev *kbd_dev = hv_get_drvdata(hv_dev);
++
++ serio_unregister_port(kbd_dev->hv_serio);
++ vmbus_close(hv_dev->channel);
++ kfree(kbd_dev);
++
++ hv_set_drvdata(hv_dev, NULL);
++
++ return 0;
++}
++
++/*
++ * Keyboard GUID
++ * {f912ad6d-2b17-48ea-bd65-f927a61c7684}
++ */
++#define HV_KBD_GUID \
++ .guid = { \
++ 0x6d, 0xad, 0x12, 0xf9, 0x17, 0x2b, 0xea, 0x48, \
++ 0xbd, 0x65, 0xf9, 0x27, 0xa6, 0x1c, 0x76, 0x84 \
++ }
++
++static const struct hv_vmbus_device_id id_table[] = {
++ /* Keyboard guid */
++ { HV_KBD_GUID, },
++ { },
++};
++
++MODULE_DEVICE_TABLE(vmbus, id_table);
++
++static struct hv_driver hv_kbd_drv = {
++ .name = KBUILD_MODNAME,
++ .id_table = id_table,
++ .probe = hv_kbd_probe,
++ .remove = hv_kbd_remove,
++};
++
++static int __init hv_kbd_init(void)
++{
++ return vmbus_driver_register(&hv_kbd_drv);
++}
++
++static void __exit hv_kbd_exit(void)
++{
++ vmbus_driver_unregister(&hv_kbd_drv);
++}
++
++MODULE_LICENSE("GPL");
++module_init(hv_kbd_init);
++module_exit(hv_kbd_exit);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch new/patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch
--- old/patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch 2013-11-27 17:59:14.000000000 +0100
@@ -0,0 +1,114 @@
+From: "K. Y. Srinivasan"
+Date: Tue, 3 Sep 2013 11:30:23 -0700
+Patch-mainline: submitted
+Subject: X86: Hyper-V: Get the local APIC timer frequency from the hypervisor
+
+Hyper-V supports a mechanism for retrieving the local APIC frequency.Use this and bypass
+the calibration code in the kernel. This would allow us to boot the Linux kernel as a
+"modern VM" on Hyper-V where many of the legacy devices (such as PIT) are not emulated.
+
+I would like to thank Olaf Hering , Jan Beulich and
+H. Peter Anvin for their help in this effort.
+
+In this version of the patch, I have addressed Jan's comments.
+
+Signed-off-by: K. Y. Srinivasan
+Acked-by:
+---
+ arch/x86/include/uapi/asm/hyperv.h | 19 +++++++++++++++++++
+ arch/x86/kernel/cpu/mshyperv.c | 24 ++++++++++++++++++++++++
+ 2 files changed, 43 insertions(+)
+
+diff --git a/arch/x86/include/uapi/asm/hyperv.h b/arch/x86/include/uapi/asm/hyperv.h
+index b80420b..b8f1c01 100644
+--- a/arch/x86/include/uapi/asm/hyperv.h
++++ b/arch/x86/include/uapi/asm/hyperv.h
+@@ -27,6 +27,19 @@
+ #define HV_X64_MSR_VP_RUNTIME_AVAILABLE (1 << 0)
+ /* Partition Reference Counter (HV_X64_MSR_TIME_REF_COUNT) available*/
+ #define HV_X64_MSR_TIME_REF_COUNT_AVAILABLE (1 << 1)
++
++/*
++ * There is a single feature flag that signifies the presence of the MSR
++ * that can be used to retrieve both the local APIC Timer frequency as
++ * well as the TSC frequency.
++ */
++
++/* Local APIC timer frequency MSR (HV_X64_MSR_APIC_FREQUENCY) is available */
++#define HV_X64_MSR_APIC_FREQUENCY_AVAILABLE (1 << 11)
++
++/* TSC frequency MSR (HV_X64_MSR_TSC_FREQUENCY) is available */
++#define HV_X64_MSR_TSC_FREQUENCY_AVAILABLE (1 << 11)
++
+ /*
+ * Basic SynIC MSRs (HV_X64_MSR_SCONTROL through HV_X64_MSR_EOM
+ * and HV_X64_MSR_SINT0 through HV_X64_MSR_SINT15) available
+@@ -136,6 +149,12 @@
+ /* MSR used to read the per-partition time reference counter */
+ #define HV_X64_MSR_TIME_REF_COUNT 0x40000020
+
++/* MSR used to retrieve the TSC frequency */
++#define HV_X64_MSR_TSC_FREQUENCY 0x40000022
++
++/* MSR used to retrieve the local APIC timer frequency */
++#define HV_X64_MSR_APIC_FREQUENCY 0x40000023
++
+ /* Define the virtual APIC registers */
+ #define HV_X64_MSR_EOI 0x40000070
+ #define HV_X64_MSR_ICR 0x40000071
+diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
+index 8f4be53..d82130c 100644
+--- a/arch/x86/kernel/cpu/mshyperv.c
++++ b/arch/x86/kernel/cpu/mshyperv.c
+@@ -15,6 +15,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+@@ -23,6 +24,7 @@
+ #include
+ #include
+ #include
++#include
+
+ struct ms_hyperv_info ms_hyperv;
+ EXPORT_SYMBOL_GPL(ms_hyperv);
+@@ -64,6 +66,8 @@ static struct clocksource hyperv_cs = {
+
+ static void __init ms_hyperv_init_platform(void)
+ {
++ u64 hv_lapic_frequency;
++
+ /*
+ * Extract the features and hints
+ */
+@@ -73,6 +77,26 @@ static void __init ms_hyperv_init_platform(void)
+ printk(KERN_INFO "HyperV: features 0x%x, hints 0x%x\n",
+ ms_hyperv.features, ms_hyperv.hints);
+
++ if (ms_hyperv.features & HV_X64_MSR_APIC_FREQUENCY_AVAILABLE) {
++ /*
++ * Get the APIC frequency.
++ */
++ rdmsrl(HV_X64_MSR_APIC_FREQUENCY, hv_lapic_frequency);
++ hv_lapic_frequency = div_u64(hv_lapic_frequency, HZ);
++ lapic_timer_frequency = hv_lapic_frequency;
++ printk(KERN_INFO "HyperV: LAPIC Timer Frequency: %#x\n",
++ lapic_timer_frequency);
++
++ /*
++ * On Hyper-V, when we are booting off an EFI firmware stack,
++ * we do not have many legacy devices including PIC, PIT etc.
++ */
++ if (efi_enabled(EFI_BOOT)) {
++ printk(KERN_INFO "HyperV: Using null_legacy_pic\n");
++ legacy_pic = &null_legacy_pic;
++ }
++ }
++
+ if (ms_hyperv.features & HV_X64_MSR_TIME_REF_COUNT_AVAILABLE)
+ clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100);
+ }
++++++ patches.xen.tar.bz2 ++++++
++++ 353523 lines of diff (skipped)
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:19.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:19.000000000 +0100
@@ -27,6 +27,8 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
+ patches.kernel.org/patch-3.12.1
+ patches.kernel.org/patch-3.12.1-2
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -111,6 +113,9 @@
+needs_update patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature
+needs_update patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic
+ patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch
+ patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch
+
########################################################
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
########################################################
@@ -140,19 +145,7 @@
patches.suse/suse-ppc64-branding
+needs_update patches.arch/ppc64-xmon-dmesg-printing.patch
patches.arch/ppc-prom-nodisplay.patch
-+needs_update patches.fixes/ptrace-getsiginfo
-
- ########################################################
- # powerpc/little endian
- ########################################################
- patches.arch/ppc64le-fix-copytofrom.patch
- patches.arch/ppc64le-build-vmlinux.patch
- patches.arch/ppc64-fix-ptrace.patch
- patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch
- patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch
- patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch
- patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch
- patches.arch/ppc64le-ibmveth.patch
+ patches.fixes/ptrace-getsiginfo
########################################################
# PS3
@@ -202,7 +195,7 @@
########################################################
patches.suse/connector-read-mostly
patches.suse/kbd-ignore-gfx.patch
- patches.fixes/sched-fix-preempt-non-x86.patch
+ patches.suse/ida-remove-warning-dump-stack.patch
########################################################
#
@@ -226,11 +219,14 @@
########################################################
# AGP, graphics related stuff
########################################################
- patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch
########################################################
# Suse specific stuff
########################################################
+ # I assume this is commit 3a4916050ba2 upstream
++olh patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch
+ patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch
+ patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch
########################################################
# Networking, IPv6
@@ -279,6 +275,7 @@
patches.suse/btrfs-publish-allocation-data-in-sysfs
patches.suse/btrfs-publish-device-membership-in-sysfs
patches.suse/btrfs-publish-fs-label-in-sysfs
+ patches.suse/btrfs-add-tracing-for-failed-reservations
########################################################
# Reiserfs Patches
@@ -374,6 +371,7 @@
patches.drivers/megaraid-mbox-fix-SG_IO
# Remaining SCSI patches (garloff)
++needs_update patches.suse/scsi-error-test-unit-ready-timeout
patches.fixes/scsi-scan-blist-update
patches.fixes/scsi-ibmvscsi-show-config.patch
@@ -383,12 +381,10 @@
patches.fixes/scsi-ibmvscsi-module_alias.patch
patches.suse/sd_init.mark_majors_busy.patch
- # Target mode
- patches.fixes/iscsi_target-race-condition-on-shutdown.patch
-
########################################################
# DRM/Video
########################################################
+ patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845
patches.drivers/drm-cirrus-Correct-register-values-for-16bpp
patches.drivers/drm-cirrus-Use-16bpp-as-default
patches.fixes/nouveau-fix-race-with-fence-signaling
@@ -442,6 +438,7 @@
##########################################################
# Sound
##########################################################
+ patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap
########################################################
# Char / serial
@@ -454,6 +451,8 @@
# Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
+hare patches.suse/no-partition-scan
+ patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch
+
########################################################
# Other drivers we have added to the tree
########################################################
@@ -562,125 +561,125 @@
# re-basing to a newer xen tree.
#
# split out patches
-+noxen # patches.xen/kexec-move-segment-code-i386.patch
-+noxen # patches.xen/kexec-move-segment-code-x86_64.patch
-+noxen # patches.xen/ipv6-no-autoconf
-+noxen # patches.xen/pci-guestdev
-+noxen # patches.xen/pci-reserve
-#
-# # bulk stuff, new files for xen
-+noxen # patches.xen/xen3-auto-xen-arch.diff
-+noxen # patches.xen/xen3-auto-xen-drivers.diff
-+noxen # patches.xen/xen3-auto-include-xen-interface.diff
-+noxen # patches.xen/xen3-auto-blktap2-pvops.diff
-#
-# # kconfig bits for xen
-+noxen # patches.xen/xen3-auto-xen-kconfig.diff
-#
-# # common code changes
-+noxen # patches.xen/xen3-auto-common.diff
-+noxen # patches.xen/xen3-auto-arch-x86.diff
-+noxen # patches.xen/xen3-auto-arch-i386.diff
-+noxen # patches.xen/xen3-auto-arch-x86_64.diff
-#
-# # fixups due to upstream Xen parts
-+noxen # patches.xen/xen3-fixup-xen
-#
-# # newer changeset backports
-#
-# # changes outside arch/{i386,x86_64}/xen
-+noxen # patches.xen/xen3-fixup-kconfig
-+noxen # patches.xen/xen3-fixup-common
-+noxen # patches.xen/xen3-fixup-arch-x86
-+noxen # patches.xen/xen3-fixup-blktap2-pvops
-#
-# # ports of upstream patches
-+noxen # patches.xen/xen3-patch-2.6.18
-+noxen # patches.xen/xen3-patch-2.6.19
-+noxen # patches.xen/xen3-patch-2.6.20
-+noxen # patches.xen/xen3-patch-2.6.21
-+noxen # patches.xen/xen3-patch-2.6.22
-+noxen # patches.xen/xen3-patch-2.6.23
-+noxen # patches.xen/xen3-patch-2.6.24
-+noxen # patches.xen/xen3-patch-2.6.25
-+noxen # patches.xen/xen3-patch-2.6.26
-+noxen # patches.xen/xen3-patch-2.6.27
-+noxen # patches.xen/xen3-patch-2.6.28
-+noxen # patches.xen/xen3-patch-2.6.29
-+noxen # patches.xen/xen3-patch-2.6.30
-+noxen # patches.xen/xen3-patch-2.6.31
-+noxen # patches.xen/xen3-patch-2.6.32
-+noxen # patches.xen/xen3-patch-2.6.33
-+noxen # patches.xen/xen3-patch-2.6.34
-+noxen # patches.xen/xen3-patch-2.6.35
-+noxen # patches.xen/xen3-patch-2.6.36
-+noxen # patches.xen/xen3-patch-2.6.37
-+noxen # patches.xen/xen3-patch-2.6.38
-+noxen # patches.xen/xen3-patch-2.6.39
-+noxen # patches.xen/xen3-patch-3.0
-+noxen # patches.xen/xen3-patch-3.1
-+noxen # patches.xen/xen3-patch-3.2
-+noxen # patches.xen/xen3-patch-3.3
-+noxen # patches.xen/xen3-patch-3.4
-+noxen # patches.xen/xen3-patch-3.5
-+noxen # patches.xen/xen3-patch-3.6
-+noxen # patches.xen/xen3-patch-3.7
-+noxen # patches.xen/xen3-patch-3.8
-+noxen # patches.xen/xen3-patch-3.9
-+noxen # patches.xen/xen3-patch-3.10
-+noxen # patches.xen/xen3-patch-3.11
-+noxen # patches.xen/xen3-patch-3.12
-#
-# # ports of other patches
-+noxen # patches.xen/xen3-stack-unwind
-+noxen # patches.xen/xen3-x86_64-unwind-annotations
-+noxen # patches.xen/xen3-x86-dumpstack-Fix-printk_address-for-direct-addresse.patch
-#
-# # bugfixes and enhancements
-+noxen # patches.xen/xen-hypercall-symbols
-+noxen # patches.xen/xen-sys-suspend
-+noxen # patches.xen/xen-ipi-per-cpu-irq
-+noxen # patches.xen/xen-virq-per-cpu-irq
-+noxen # patches.xen/xen-clockevents
-+noxen # patches.xen/xen-spinlock-poll-early
-+noxen # patches.xen/xen-pcpu-hotplug
-+noxen # patches.xen/xen-pcpu-hotplug-kexec
-+noxen # patches.xen/xen-mem-hotplug
-+noxen # patches.xen/xen-configurable-guest-devices
-+noxen # patches.xen/xen-setup-gsi
-+noxen # patches.xen/xen-unpriv-build
-+noxen # patches.xen/xen-cpufreq-report
-+noxen # patches.xen/xen-multi-page-ring
-+noxen # patches.xen/xen-balloon-max-target
-+noxen # patches.xen/xen-blkback-multi-page-ring
-+noxen # patches.xen/xen-blkback-cdrom
-+noxen # patches.xen/xen-blkif-protocol-fallback-hack
-+noxen # patches.xen/xen-blkfront-multi-page-ring
-+noxen # patches.xen/xen-blkif-op-packet
-+noxen # patches.xen/xen-blkfront-cdrom
-+noxen # patches.xen/xen-blkfront-hvm-no-cdrom
-+noxen # patches.xen/xen-blktap-modular
-+noxen # patches.xen/xen-blktap-write-barriers
-+noxen # patches.xen/xen-blktap2-configurable-nr-devs
-+noxen # patches.xen/xen-netback-notify-multi
-+noxen # patches.xen/xen-netback-generalize
-+noxen # patches.xen/xen-netback-multiple-tasklets
-+noxen # patches.xen/xen-netback-kernel-threads
-+noxen # patches.xen/xen-cxgb3
-+noxen # patches.xen/xen-dcdbas
-+noxen # patches.xen/xen-x86-panic-no-reboot
-+noxen # patches.xen/xen-x86-dcr-fallback
-+noxen # patches.xen/xen-x86-no-lapic
-+noxen # patches.xen/xen-x86-pmd-handling
-+noxen # patches.xen/xen-x86-bigmem
-+noxen # patches.xen/xen-x86-exit-mmap
-+noxen # patches.xen/xen-x86-per-cpu-vcpu-info
-+noxen # patches.xen/xen-x86-pcpu
-+noxen # patches.xen/xen-x86-EFI
-+noxen # patches.xen/xen-x86-bzImage
-+noxen # patches.xen/xen-x86_64-pgd-pin
-+noxen # patches.xen/xen-x86_64-pgd-alloc-order
-+noxen # patches.xen/xen-x86_64-dump-user-pgt
-+noxen # patches.xen/xen-x86_64-note-init-p2m
-+noxen # patches.xen/xen-x86_64-unmapped-initrd
-+noxen # patches.xen/xen-x86_64-vread-pvclock
+ patches.xen/kexec-move-segment-code-i386.patch
+ patches.xen/kexec-move-segment-code-x86_64.patch
+ patches.xen/ipv6-no-autoconf
+ patches.xen/pci-guestdev
+ patches.xen/pci-reserve
+
+ # bulk stuff, new files for xen
+ patches.xen/xen3-auto-xen-arch.diff
+ patches.xen/xen3-auto-xen-drivers.diff
+ patches.xen/xen3-auto-include-xen-interface.diff
+ patches.xen/xen3-auto-blktap2-pvops.diff
+
+ # kconfig bits for xen
+ patches.xen/xen3-auto-xen-kconfig.diff
+
+ # common code changes
+ patches.xen/xen3-auto-common.diff
+ patches.xen/xen3-auto-arch-x86.diff
+ patches.xen/xen3-auto-arch-i386.diff
+ patches.xen/xen3-auto-arch-x86_64.diff
+
+ # fixups due to upstream Xen parts
+ patches.xen/xen3-fixup-xen
+
+ # newer changeset backports
+
+ # changes outside arch/{i386,x86_64}/xen
+ patches.xen/xen3-fixup-kconfig
+ patches.xen/xen3-fixup-common
+ patches.xen/xen3-fixup-arch-x86
+ patches.xen/xen3-fixup-blktap2-pvops
+
+ # ports of upstream patches
+ patches.xen/xen3-patch-2.6.18
+ patches.xen/xen3-patch-2.6.19
+ patches.xen/xen3-patch-2.6.20
+ patches.xen/xen3-patch-2.6.21
+ patches.xen/xen3-patch-2.6.22
+ patches.xen/xen3-patch-2.6.23
+ patches.xen/xen3-patch-2.6.24
+ patches.xen/xen3-patch-2.6.25
+ patches.xen/xen3-patch-2.6.26
+ patches.xen/xen3-patch-2.6.27
+ patches.xen/xen3-patch-2.6.28
+ patches.xen/xen3-patch-2.6.29
+ patches.xen/xen3-patch-2.6.30
+ patches.xen/xen3-patch-2.6.31
+ patches.xen/xen3-patch-2.6.32
+ patches.xen/xen3-patch-2.6.33
+ patches.xen/xen3-patch-2.6.34
+ patches.xen/xen3-patch-2.6.35
+ patches.xen/xen3-patch-2.6.36
+ patches.xen/xen3-patch-2.6.37
+ patches.xen/xen3-patch-2.6.38
+ patches.xen/xen3-patch-2.6.39
+ patches.xen/xen3-patch-3.0
+ patches.xen/xen3-patch-3.1
+ patches.xen/xen3-patch-3.2
+ patches.xen/xen3-patch-3.3
+ patches.xen/xen3-patch-3.4
+ patches.xen/xen3-patch-3.5
+ patches.xen/xen3-patch-3.6
+ patches.xen/xen3-patch-3.7
+ patches.xen/xen3-patch-3.8
+ patches.xen/xen3-patch-3.9
+ patches.xen/xen3-patch-3.10
+ patches.xen/xen3-patch-3.11
+ patches.xen/xen3-patch-3.12
+
+ # ports of other patches
+ patches.xen/xen3-stack-unwind
+ patches.xen/xen3-x86_64-unwind-annotations
+ patches.xen/xen3-x86-dumpstack-Fix-printk_address-for-direct-addresse.patch
+
+ # bugfixes and enhancements
+ patches.xen/xen-hypercall-symbols
+ patches.xen/xen-sys-suspend
+ patches.xen/xen-ipi-per-cpu-irq
+ patches.xen/xen-virq-per-cpu-irq
+ patches.xen/xen-clockevents
+ patches.xen/xen-spinlock-poll-early
+ patches.xen/xen-pcpu-hotplug
+ patches.xen/xen-pcpu-hotplug-kexec
+ patches.xen/xen-mem-hotplug
+ patches.xen/xen-configurable-guest-devices
+ patches.xen/xen-setup-gsi
+ patches.xen/xen-unpriv-build
+ patches.xen/xen-cpufreq-report
+ patches.xen/xen-multi-page-ring
+ patches.xen/xen-balloon-max-target
+ patches.xen/xen-blkback-multi-page-ring
+ patches.xen/xen-blkback-cdrom
+ patches.xen/xen-blkif-protocol-fallback-hack
+ patches.xen/xen-blkfront-multi-page-ring
+ patches.xen/xen-blkif-op-packet
+ patches.xen/xen-blkfront-cdrom
+ patches.xen/xen-blkfront-hvm-no-cdrom
+ patches.xen/xen-blktap-modular
+ patches.xen/xen-blktap-write-barriers
+ patches.xen/xen-blktap2-configurable-nr-devs
+ patches.xen/xen-netback-notify-multi
+ patches.xen/xen-netback-generalize
+ patches.xen/xen-netback-multiple-tasklets
+ patches.xen/xen-netback-kernel-threads
+ patches.xen/xen-cxgb3
+ patches.xen/xen-dcdbas
+ patches.xen/xen-x86-panic-no-reboot
+ patches.xen/xen-x86-dcr-fallback
+ patches.xen/xen-x86-no-lapic
+ patches.xen/xen-x86-pmd-handling
+ patches.xen/xen-x86-bigmem
+ patches.xen/xen-x86-exit-mmap
+ patches.xen/xen-x86-per-cpu-vcpu-info
+ patches.xen/xen-x86-pcpu
+ patches.xen/xen-x86-EFI
+ patches.xen/xen-x86-bzImage
+ patches.xen/xen-x86_64-pgd-pin
+ patches.xen/xen-x86_64-pgd-alloc-order
+ patches.xen/xen-x86_64-dump-user-pgt
+ patches.xen/xen-x86_64-note-init-p2m
+ patches.xen/xen-x86_64-unmapped-initrd
+ patches.xen/xen-x86_64-vread-pvclock
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.DBDnHd/_old 2013-12-25 11:48:19.000000000 +0100
+++ /var/tmp/diff_new_pack.DBDnHd/_new 2013-12-25 11:48:19.000000000 +0100
@@ -1,3 +1,3 @@
-2013-12-23 02:43:10 +0100
-GIT Revision: 3d0a348aad0128ab8feea40560dd6944a25b1674
+2013-11-29 21:29:19 +0100
+GIT Revision: 3b81e610d31696c8876236b2019d953750fb4de5
GIT Branch: master
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org