Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2013-12-22 19:34:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes 2013-11-30 19:55:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2013-12-22 19:34:26.000000000 +0100
@@ -1,0 +2,179 @@
+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
+
+-------------------------------------------------------------------
@@ -39,0 +219,21 @@
+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
+
+-------------------------------------------------------------------
+Thu Nov 21 11:10:31 CET 2013 - guillaume.gardet@oliseo.fr
+
+- Add USB PHY support (needed to get USB and Ethernet working on beagle and panda boards) Add CONFIG_PINCTRL_SINGLE=y to be able to use Device tree (at least for beagle and panda boards) Add ARM SoC sound support Add SPI bus support Add user-space access to I2C and SPI
+- commit b3c966e
+
+-------------------------------------------------------------------
+Thu Nov 21 10:50:28 CET 2013 - guillaume.gardet@oliseo.fr
+
++++ 17 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
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
Old:
----
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
New:
----
linux-3.13-rc4.tar.bz2
series.confe
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%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/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
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 x86_64
+ExclusiveArch: %ix86 ia64 ppc64 ppc64le 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.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-default
Summary: The Standard Kernel
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%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/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
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: aarch64 armv6hl armv7hl %ix86 ia64 ppc ppc64 s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le 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.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-desktop
Summary: Kernel optimized for the desktop
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%else
Release: 0
%endif
@@ -146,7 +146,7 @@
Provides: kernel = %version-%source_rel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -17,16 +17,16 @@
# norootforbuild
-%define patchversion 3.12.2
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-docs
Summary: Kernel Documentation
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-pae
Summary: Kernel with PAE Support
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%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/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -18,8 +18,8 @@
# norootforbuild
# icecream 0
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -29,9 +29,9 @@
Name: kernel-source
Summary: The Linux Kernel Sources
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%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/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -23,10 +23,10 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
-Version: 3.12.2
+Version: 3.13.rc4
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%else
Release: 0
%endif
@@ -39,33 +39,21 @@
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
-%ifarch armv7hl
-Requires: kernel-cubox-devel = %version-%source_rel
-%endif
-%ifarch aarch64 armv6hl armv7hl %ix86 ia64 ppc ppc64 s390x x86_64
+%ifarch %ix86 ia64 ppc ppc64 ppc64le 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 aarch64 armv6hl armv7hl ia64 ppc ppc64 s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
Prefix: /usr/src
%description
++++++ kernel-trace.spec ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-trace
Summary: The Standard Kernel with Tracing Features
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%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/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
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 s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc64 ppc64le 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.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 3.12
-%define patchversion 3.12.2
+%define srcversion 3.13-rc4
+%define patchversion 3.13.0-rc4
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
-Version: 3.12.2
+Version: 3.13.rc4
%if 0%{?is_kotd}
-Release: <RELEASE>.g3b81e61
+Release: <RELEASE>.g82b44e7
%else
Release: 0
%endif
@@ -146,7 +146,7 @@
Provides: kernel = %version-%source_rel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.bz2
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-%srcversion.tar.bz...
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 s390x x86_64
+ExclusiveArch: %ix86 ia64 ppc ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
++++++ arch-symbols ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -25,7 +25,7 @@
if [ "$1" = "--list" ]; then
# List all known architectures
- echo i386 mips{,64} sparc{,64} ppc{,64} s390{,x} ia64 x86_64 alpha parisc armv6hl armv7hl arm64
+ echo i386 mips{,64} sparc{,64} ppc{,64,64le} s390{,x} ia64 x86_64 alpha parisc armv6hl armv7hl arm64
exit 0
fi
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.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,17 +37,19 @@
+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
-
-#+s390 s390/s390
-#+s390 -syms s390/trace
-#+s390 s390/vanilla
+#+armv6hl armv6hl/default
+#+armv7hl armv7hl/default
+#+armv7hl armv7hl/lpae
+#+armv7hl armv7hl/cubox
+#+armv7hl armv7hl/exynos
+#+arm64 arm64/default
+
+s390x s390x/default
+s390x -syms s390x/trace
+s390x s390x/vanilla
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:31.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:31.000000000 +0100
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=3.12
+SRCVERSION=3.13-rc4
# 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)
++++++ 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-11-26 17:28:52.000000000 +0100
+++ new/patches.arch/acpi_thermal_passive_blacklist.patch 2013-12-19 18:32:04.000000000 +0100
@@ -120,6 +120,6 @@
+ }
+ }
+
- printk(KERN_INFO PREFIX "%s [%s] (%ld C)\n",
- acpi_device_name(device), acpi_device_bid(device),
- KELVIN_TO_CELSIUS(tz->temperature));
+ pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device),
+ acpi_device_bid(device), KELVIN_TO_CELSIUS(tz->temperature));
+ goto end;
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-11-26 17:28:52.000000000 +0100
+++ new/patches.arch/arm-arndale-dma.patch 2013-12-19 18:32:04.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-11-26 17:28:52.000000000 +0100
+++ new/patches.arch/arm-arndale-usb.patch 2013-12-19 18:32:04.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-s5p: Fix phy reset
+Subject: [PATCH] USB: ehci-exynos: 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-s5p.c | 25 +++++++++++++++++++++++++
+ drivers/usb/host/ehci-exynos.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
-diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
+diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c
index 379037f..376cacb 100644
---- 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)
+--- 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)
dev_err(dev, "can't request ehci vbus gpio %d", gpio);
}
-+static void s5p_setup_reset_gpio(struct platform_device *pdev)
++static void exynos_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 s5p_ehci_probe(struct platform_device *pdev)
+ 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)
+ struct exynos_ehci_hcd *exynos_ehci;
+@@ -116,6 +139,8 @@ static int exynos_ehci_probe(struct platform_device *pdev)
skip_phy:
-+ s5p_setup_reset_gpio(pdev);
++ exynos_setup_reset_gpio(pdev);
+
- s5p_ehci->clk = devm_clk_get(&pdev->dev, "usbhost");
+ exynos_ehci->clk = devm_clk_get(&pdev->dev, "usbhost");
- if (IS_ERR(s5p_ehci->clk)) {
+ if (IS_ERR(exynos_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-11-26 17:28:52.000000000 +0100
+++ new/patches.arch/arm-exynos-dwmmc-modalias.patch 2013-12-19 18:32:04.000000000 +0100
@@ -19,5 +19,5 @@
.name = "dwmmc_exynos",
+ .owner = THIS_MODULE,
.of_match_table = dw_mci_exynos_match,
- .pm = &dw_mci_pltfm_pmops,
+ .pm = &dw_mci_exynos_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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc64-fix-ptrace.patch 2013-12-19 18:32:04.000000000 +0100
@@ -0,0 +1,45 @@
+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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc64le-build-vmlinux.patch 2013-12-19 18:32:04.000000000 +0100
@@ -0,0 +1,25 @@
+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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc64le-fix-copytofrom.patch 2013-12-19 18:32:04.000000000 +0100
@@ -0,0 +1,154 @@
+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
+
++++++ 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 2013-10-30 17:49:30.000000000 +0100
+++ new/patches.drivers/0001-sha256_ssse3-also-test-for-BMI2.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-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 2013-10-30 17:49:30.000000000 +0100
+++ new/patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap 1970-01-01 01:00:00.000000000 +0100
@@ -1,79 +0,0 @@
-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 2013-10-30 17:49:30.000000000 +0100
+++ new/patches.drivers/drm-i915-Undo-the-PIPEA-quirk-for-i845 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-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 2013-10-30 17:49:30.000000000 +0100
+++ new/patches.drivers/gpio-ucb1400-can-be-built-as-a-module.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/iscsi_target-race-condition-on-shutdown.patch 2013-12-19 18:13:02.000000000 +0100
@@ -0,0 +1,84 @@
+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-11-20 13:17:11.000000000 +0100
+++ new/patches.fixes/nouveau-fix-race-with-fence-signaling 2013-12-19 18:13:02.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_fence_uevent uevent = {
- .handler.func = nouveau_fence_wait_uevent_handler,
- .priv = priv,
+ struct nouveau_eventh *handler;
+ int ret = 0;
+
@@ -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-11-20 13:17:11.000000000 +0100
+++ new/patches.fixes/ptrace-getsiginfo 2013-12-19 18:13:02.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-11-20 13:17:11.000000000 +0100
+++ new/patches.fixes/remount-no-shrink-dcache 2013-12-19 18:13:02.000000000 +0100
@@ -53,9 +53,9 @@
if (remount_ro) {
- if (force) {
+ if (rflags & REMOUNT_FORCE) {
- mark_files_ro(sb);
+ sb->s_readonly_remount = 1;
+ smp_wmb();
} 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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/sched-fix-preempt-non-x86.patch 2013-12-19 18:13:02.000000000 +0100
@@ -0,0 +1,162 @@
+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 2013-11-20 13:17:11.000000000 +0100
+++ new/patches.fixes/x86-dumpstack-Fix-printk_address-for-direct-addresse.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,143 +0,0 @@
-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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/0001-vfs-Hooks-for-more-fine-grained-directory-permission.patch 2013-12-16 15:39:56.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,int isdir)
+-static int may_delete(struct inode *dir, struct dentry *victim, bool isdir)
+static int may_delete(struct inode *dir, struct dentry *victim,
-+ int isdir, int replace)
++ bool isdir, int replace)
{
+ struct inode *inode = victim->d_inode;
int error;
-
-@@ -2183,14 +2204,19 @@ static int may_delete(struct inode *dir,
+@@ -2183,15 +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, 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))
+
+- if (check_sticky(dir, inode) || IS_APPEND(inode) ||
+- IS_IMMUTABLE(inode) || IS_SWAPFILE(inode))
++ if (IS_APPEND(inode) || IS_IMMUTABLE(inode) || IS_SWAPFILE(inode))
return -EPERM;
if (isdir) {
- if (!S_ISDIR(victim->d_inode->i_mode))
+ if (!d_is_directory(victim) && !d_is_autodir(victim))
@@ -2206,6 +2232,25 @@ static int may_delete(struct inode *dir,
return 0;
}
@@ -106,13 +106,14 @@
/* 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,13 +2259,16 @@ static int may_delete(struct inode *dir,
+@@ -2214,14 +2259,17 @@ 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))
@@ -162,9 +163,9 @@
if (error)
return error;
@@ -3307,7 +3355,7 @@ SYSCALL_DEFINE1(rmdir, const char __user
-
- int vfs_unlink(struct inode *dir, struct dentry *dentry)
+ int vfs_unlink(struct inode *dir, struct dentry *dentry, struct inode **delegated_inode)
{
+ 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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/btrfs-add-ioctl-to-export-size-of-global-metadata-reservation 2013-12-16 15:39:56.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:
- btrfs_sync_fs(file->f_dentry->d_sb, 1);
- return 0;
+ case BTRFS_IOC_SYNC: {
+ int ret;
+
--- 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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/btrfs-add-tracing-for-failed-reservations 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/btrfs-publish-allocation-data-in-sysfs 2013-12-16 15:39:56.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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/btrfs-publish-per-super-attributes-in-sysfs 2013-12-16 15:39:56.000000000 +0100
@@ -55,9 +55,9 @@
+ btrfs_sysfs_remove_one(fs_info);
+
- del_fs_roots(fs_info);
-
free_root_pointers(fs_info, 1);
+
+ iput(fs_info->btree_inode);
--- 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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/connector-read-mostly 2013-12-16 15:39:56.000000000 +0100
@@ -13,8 +13,8 @@
--- a/drivers/connector/cn_proc.c
+++ b/drivers/connector/cn_proc.c
@@ -35,7 +35,7 @@
-
- #define CN_PROC_MSG_SIZE (sizeof(struct cn_msg) + sizeof(struct proc_event))
+ return (struct cn_msg *)(buffer + 4);
+ }
-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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/export-kobj_sysfs_ops 2013-12-16 15:39:56.000000000 +0100
@@ -22,6 +22,4 @@
+EXPORT_SYMBOL_GPL(kobj_sysfs_ops);
/**
- * kset_register - initialize and add a kset.
-
-
+ * kobj_completion_init - initialize a kobj_completion object.
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 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/fbmem-really-support-wildcard-video-options-for-all-.patch 2013-12-16 15:39:56.000000000 +0100
@@ -0,0 +1,48 @@
+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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/ida-remove-warning-dump-stack.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/ovl03-vfs-export-inode_permission-to-modules.patch 2013-12-16 15:39:56.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 *);
+ extern int notify_change(struct dentry *, struct iattr *, struct inode **);
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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/ovl05-overlay-filesystem.patch 2013-12-16 15:39:56.000000000 +0100
@@ -307,7 +307,7 @@
+ .ia_mtime = stat->mtime,
+ };
+
-+ return notify_change(upperdentry, &attr);
++ return notify_change(upperdentry, &attr, NULL);
+}
+
+static int ovl_set_mode(struct dentry *upperdentry, umode_t mode)
@@ -317,7 +317,7 @@
+ .ia_mode = mode,
+ };
+
-+ return notify_change(upperdentry, &attr);
++ return notify_change(upperdentry, &attr, NULL);
+}
+
+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);
++ vfs_unlink(upperdir->d_inode, newpath.dentry, NULL);
+
+ dput(newpath.dentry);
+
@@ -531,7 +531,7 @@
+}
--- /dev/null
+++ b/fs/overlayfs/dir.c
-@@ -0,0 +1,605 @@
+@@ -0,0 +1,606 @@
+/*
+ *
+ * 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);
++ vfs_unlink(upperdir->d_inode, newdentry, NULL);
+
+out_dput:
+ dput(newdentry);
@@ -651,7 +651,7 @@
+
+ err = -EEXIST;
+ if (ovl_is_whiteout(newdentry))
-+ err = vfs_unlink(upperdir->d_inode, newdentry);
++ err = vfs_unlink(upperdir->d_inode, newdentry, NULL);
+
+ revert_creds(old_cred);
+ put_cred(override_cred);
@@ -901,7 +901,8 @@
+ if (is_dir)
+ err = vfs_rmdir(upperdir->d_inode, realpath.dentry);
+ else
-+ err = vfs_unlink(upperdir->d_inode, realpath.dentry);
++ err = vfs_unlink(upperdir->d_inode, realpath.dentry,
++ NULL);
+ if (err)
+ goto out_d_drop;
+
@@ -970,7 +971,7 @@
+ goto out_unlock;
+
+ olddentry = ovl_dentry_upper(old);
-+ err = vfs_link(olddentry, upperdir->d_inode, newdentry);
++ err = vfs_link(olddentry, upperdir->d_inode, newdentry, NULL);
+ if (!err) {
+ if (WARN_ON(!newdentry->d_inode)) {
+ dput(newdentry);
@@ -1091,7 +1092,7 @@
+ }
+
+ err = vfs_rename(old_upperdir->d_inode, olddentry,
-+ new_upperdir->d_inode, newdentry);
++ new_upperdir->d_inode, newdentry, NULL);
+
+ if (err) {
+ if (new_create && ovl_dentry_is_opaque(new))
@@ -1172,7 +1173,7 @@
+ attr->ia_valid &= ~ATTR_MODE;
+
+ mutex_lock(&upperdentry->d_inode->i_mutex);
-+ err = notify_change(upperdentry, attr);
++ err = notify_change(upperdentry, attr, NULL);
+ if (!err)
+ ovl_copyattr(upperdentry->d_inode, dentry->d_inode);
+ mutex_unlock(&upperdentry->d_inode->i_mutex);
@@ -2126,7 +2127,7 @@
+ p->len, p->name, PTR_ERR(dentry));
+ continue;
+ }
-+ ret = vfs_unlink(upperdir->d_inode, dentry);
++ ret = vfs_unlink(upperdir->d_inode, dentry, NULL);
+ 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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/scsi-error-test-unit-ready-timeout 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/stack-unwind 2013-12-16 15:39:56.000000000 +0100
@@ -503,7 +503,7 @@
+++ b/arch/x86/kernel/entry_64.S
@@ -1361,6 +1361,40 @@ ENTRY(call_softirq)
CFI_ENDPROC
- END(call_softirq)
+ END(do_softirq_own_stack)
+#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 modsign_pubkey.o modsign_certificate.o
+ obj-$(CONFIG_MODULE_SIG) += module_signing.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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/supported-flag 2013-12-16 15:39:56.000000000 +0100
@@ -21,16 +21,16 @@
include/linux/module.h | 3 +
init/Kconfig | 17 +++++++
kernel/ksysfs.c | 27 +++++++++++
- kernel/module.c | 82 ++++++++++++++++++++++++++++++++++++
+ kernel/module.c | 83 ++++++++++++++++++++++++++++++++++++
kernel/panic.c | 6 ++
kernel/sysctl.c | 9 +++
scripts/Makefile.modpost | 6 ++
- scripts/mod/modpost.c | 79 ++++++++++++++++++++++++++++++++++
- 12 files changed, 264 insertions(+), 2 deletions(-)
+ scripts/mod/modpost.c | 79 +++++++++++++++++++++++++++++++++-
+ 12 files changed, 265 insertions(+), 2 deletions(-)
---- a/Documentation/kernel-parameters.txt
-+++ b/Documentation/kernel-parameters.txt
-@@ -3003,6 +3003,14 @@ bytes respectively. Such letter suffixes
+--- 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
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
-+++ b/Documentation/sysctl/kernel.txt
-@@ -637,6 +637,18 @@ can be ORed together:
+--- 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:
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
-+++ b/Makefile
-@@ -381,6 +381,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
+--- 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
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
-+++ b/include/linux/kernel.h
-@@ -396,6 +396,9 @@ extern int panic_timeout;
+--- 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;
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 {
-@@ -432,6 +435,15 @@ extern enum system_states {
+@@ -428,6 +431,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
-+++ b/include/linux/module.h
-@@ -395,6 +395,9 @@ struct module *__module_address(unsigned
+--- 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
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
-+++ b/init/Kconfig
+--- a/init/Kconfig 2013-11-22 19:20:13.319034490 -0500
++++ b/init/Kconfig 2013-11-22 19:21:01.834360707 -0500
@@ -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
-+++ b/kernel/ksysfs.c
+--- a/kernel/ksysfs.c 2013-11-22 19:20:13.323034436 -0500
++++ b/kernel/ksysfs.c 2013-11-22 19:21:01.834360707 -0500
@@ -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
-+++ b/kernel/module.c
+--- a/kernel/module.c 2013-11-22 19:20:13.331034327 -0500
++++ b/kernel/module.c 2013-11-22 19:21:01.838360651 -0500
@@ -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),
-@@ -1040,6 +1056,12 @@ static size_t module_flags_taint(struct
+@@ -1015,6 +1031,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
-@@ -1117,6 +1139,33 @@ static ssize_t show_taint(struct module_
+@@ -1092,6 +1114,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,
-@@ -1125,6 +1174,9 @@ static struct module_attribute *modinfo_
+@@ -1100,6 +1149,9 @@ static struct module_attribute *modinfo_
&modinfo_coresize,
&modinfo_initsize,
&modinfo_taint,
@@ -271,7 +271,7 @@
#ifdef CONFIG_MODULE_UNLOAD
&modinfo_refcnt,
#endif
-@@ -1666,9 +1718,37 @@ static int mod_sysfs_setup(struct module
+@@ -1647,9 +1699,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:
-@@ -3836,6 +3915,9 @@ void print_modules(void)
+@@ -3817,6 +3897,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
-+++ b/kernel/panic.c
-@@ -206,6 +206,10 @@ static const struct tnt tnts[] = {
+--- 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[] = {
{ TAINT_CRAP, 'C', ' ' },
{ TAINT_FIRMWARE_WORKAROUND, 'I', ' ' },
{ TAINT_OOT_MODULE, 'O', ' ' },
@@ -332,7 +332,7 @@
};
/**
-@@ -224,6 +228,8 @@ static const struct tnt tnts[] = {
+@@ -228,6 +232,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
-+++ b/kernel/sysctl.c
-@@ -728,6 +728,15 @@ static struct ctl_table kern_table[] = {
+--- 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[] = {
.extra1 = &pid_max_min,
.extra2 = &pid_max_max,
},
@@ -359,9 +359,9 @@
{
.procname = "panic_on_oops",
.data = &panic_on_oops,
---- a/scripts/Makefile.modpost
-+++ b/scripts/Makefile.modpost
-@@ -76,7 +76,11 @@ modpost = scripts/mod/modpost
+--- 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
$(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)))
- # 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
+ 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
}
}
@@ -443,7 +443,7 @@
/**
* Record CRCs for unresolved symbols
**/
-@@ -2030,6 +2083,15 @@ static void write_if_changed(struct buff
+@@ -2031,6 +2084,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]
**/
-@@ -2123,12 +2185,15 @@ int main(int argc, char **argv)
+@@ -2124,12 +2186,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:msST:o:awM:K:")) != -1) {
-+ while ((opt = getopt(argc, argv, "i:I:e:msST:o:awM:K:N:")) != -1) {
+- 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) {
switch (opt) {
case 'i':
kernel_read = optarg;
-@@ -2163,11 +2228,20 @@ int main(int argc, char **argv)
+@@ -2170,11 +2235,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)
-@@ -2201,6 +2275,9 @@ int main(int argc, char **argv)
+@@ -2211,6 +2285,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-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/supported-flag-wildcards 2013-12-16 15:39:56.000000000 +0100
@@ -19,7 +19,7 @@
+#include
#include
#include
- #include "modpost.h"
+ #include
@@ -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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/suse-hv-Drivers-hv-util-Fix-a-bug-in-util-version-negotiatio.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,210 +0,0 @@
-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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/suse-hv-Input-add-a-driver-to-support-Hyper-V-synthetic-keyb.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,497 +0,0 @@
-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 2013-11-27 17:59:14.000000000 +0100
+++ new/patches.suse/suse-hv-X86-Hyper-V-Get-the-local-APIC-timer-frequency-from-.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-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.d8xUIh/_old 2013-12-22 19:34:33.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:33.000000000 +0100
@@ -27,8 +27,6 @@
# 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.
@@ -113,9 +111,6 @@
+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
########################################################
@@ -145,7 +140,14 @@
patches.suse/suse-ppc64-branding
+needs_update patches.arch/ppc64-xmon-dmesg-printing.patch
patches.arch/ppc-prom-nodisplay.patch
- patches.fixes/ptrace-getsiginfo
++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
########################################################
# PS3
@@ -195,7 +197,7 @@
########################################################
patches.suse/connector-read-mostly
patches.suse/kbd-ignore-gfx.patch
- patches.suse/ida-remove-warning-dump-stack.patch
+ patches.fixes/sched-fix-preempt-non-x86.patch
########################################################
#
@@ -219,14 +221,11 @@
########################################################
# 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
@@ -275,7 +274,6 @@
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
@@ -371,7 +369,6 @@
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
@@ -381,10 +378,12 @@
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
@@ -438,7 +437,6 @@
##########################################################
# Sound
##########################################################
- patches.drivers/ALSA-hda-Add-extra-chmap-for-2.1-outputs-on-ASUS-lap
########################################################
# Char / serial
@@ -451,8 +449,6 @@
# 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
########################################################
@@ -561,125 +557,125 @@
# re-basing to a newer xen tree.
#
# split out patches
- 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
++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
++++++ series.confe ++++++
++++ 681 lines (skipped)
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.d8xUIh/_old 2013-12-22 19:34:33.000000000 +0100
+++ /var/tmp/diff_new_pack.d8xUIh/_new 2013-12-22 19:34:33.000000000 +0100
@@ -1,3 +1,3 @@
-2013-11-29 21:29:19 +0100
-GIT Revision: 3b81e610d31696c8876236b2019d953750fb4de5
+2013-12-21 18:43:27 +0100
+GIT Revision: 82b44e73ada91aed5c589b6ea8a13ec9bf1a8756
GIT Branch: master
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org