summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoey Pabalinas2018-03-16 16:12:05 -1000
committerJoey Pabalinas2018-03-16 16:12:05 -1000
commitf1307fa0aafd6a1fba5792df2be93c80984145cd (patch)
tree90703902cfbb13923bfb6711b95d741677a01b7f
parent19d32e4763a202006d83eb0b7fa91c397acc6258 (diff)
downloadaur-f1307fa0aafd6a1fba5792df2be93c80984145cd.tar.gz
upgpkg: linux-surfacepro3-git 4.16rc5.r80.ge2c15aff5f353ba80b-1
upstream release
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD121
-rw-r--r--config.sp374
-rw-r--r--kvm.patch38
4 files changed, 156 insertions, 87 deletions
diff --git a/.SRCINFO b/.SRCINFO
index aec220fa8891..29d807504a68 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = linux-surfacepro3-git
- pkgver = 4.16rc5.r0.g0c8efd610b58cb23ce
+ pkgver = 4.16rc5.r80.ge2c15aff5f353ba80b
pkgrel = 1
url = http://www.kernel.org/
arch = i686
@@ -14,19 +14,21 @@ pkgbase = linux-surfacepro3-git
makedepends = libelf
options = !strip
source = git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
+ source = linux-surfacepro3-git.preset
source = config
source = config.x86_64
source = config.sp3
source = touchscreen_multitouch_fixes1.patch
source = touchscreen_multitouch_fixes2.patch
- source = linux-surfacepro3-git.preset
+ source = kvm.patch
sha256sums = SKIP
+ sha256sums = 31d109a2f5864d865b3ce3c310158b2e9ae77f9c424f2af5a7e45548d62a2eb3
sha256sums = becc0c98cff692dee9500f19d38882636caf4c58d5086c7725690a245532f5dc
sha256sums = 56152d1f7cac31d0a9a7414e950106c3945d5de8d50bc75cf7385fa46078b1de
- sha256sums = ea2636e52a365353bf5481f87168804c407481f2b176f53358b9dca994a9c4a8
+ sha256sums = 7ad6ea51df1f89477f1d8aa94e972b79f4c19d1266b0670eac0f24b7a96bff76
sha256sums = cc78e8844d9ec4bd29cce392a3e4683061646e1ad7c100c4958a5cadabb25b52
sha256sums = 34b4e00ffcf9efc43ab47444d14febb94432d340d0f1d5bcd56153879d1be113
- sha256sums = 31d109a2f5864d865b3ce3c310158b2e9ae77f9c424f2af5a7e45548d62a2eb3
+ sha256sums = 80ea7d3afaa333572d79fbf39c0370641faea3a013f76747a7465c3a96a58be6
pkgname = linux-surfacepro3-git
pkgdesc = The Linux-surfacepro3 kernel and modules (git version)
diff --git a/PKGBUILD b/PKGBUILD
index 44d3301aac8d..22f3d26e9617 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgbase=linux-surfacepro3-git
_srcname=linux
-pkgver=4.16rc5.r0.g0c8efd610b58cb23ce
+pkgver=4.16rc5.r80.ge2c15aff5f353ba80b
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
@@ -10,55 +10,70 @@ license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'libelf')
options=('!strip')
source=(
- # 'git+https://github.com/alyptik/linux.git#branch=master'
- 'git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'
- 'config' 'config.x86_64' 'config.sp3'
- 'touchscreen_multitouch_fixes1.patch' 'touchscreen_multitouch_fixes2.patch'
+ # "git+https://github.com/alyptik/linux.git#branch=master"
+ "git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
# standard config files for mkinitcpio ramdisk
- "${pkgbase}.preset")
+ "${pkgbase}.preset"
+ "config" "config.x86_64" "config.sp3"
+ "touchscreen_multitouch_fixes1.patch"
+ "touchscreen_multitouch_fixes2.patch"
+ "kvm.patch")
sha256sums=('SKIP'
+ '31d109a2f5864d865b3ce3c310158b2e9ae77f9c424f2af5a7e45548d62a2eb3'
'becc0c98cff692dee9500f19d38882636caf4c58d5086c7725690a245532f5dc'
'56152d1f7cac31d0a9a7414e950106c3945d5de8d50bc75cf7385fa46078b1de'
- 'ea2636e52a365353bf5481f87168804c407481f2b176f53358b9dca994a9c4a8'
+ '7ad6ea51df1f89477f1d8aa94e972b79f4c19d1266b0670eac0f24b7a96bff76'
'cc78e8844d9ec4bd29cce392a3e4683061646e1ad7c100c4958a5cadabb25b52'
'34b4e00ffcf9efc43ab47444d14febb94432d340d0f1d5bcd56153879d1be113'
- '31d109a2f5864d865b3ce3c310158b2e9ae77f9c424f2af5a7e45548d62a2eb3')
+ '80ea7d3afaa333572d79fbf39c0370641faea3a013f76747a7465c3a96a58be6')
-sp3config='y'
+_sp3config="y"
+# _makenconfig="y"
+_interactive="y"
+_kvmkillable_patch="y"
+_touchscreen_patch="n"
_kernelname="${pkgbase#linux}"
pkgver() {
- cd "${_srcname}"
+ cd "$_srcname"
git describe --long | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g;s/\.rc/rc/'
}
prepare() {
- cd "${_srcname}"
+ cd "$_srcname"
# These patches work around buggy hardware implementations
# in the surface pro 3 touchscreen module.
- patch -p1 -F5 -i "${srcdir}/touchscreen_multitouch_fixes1.patch"
- patch -p1 -F5 -i "${srcdir}/touchscreen_multitouch_fixes2.patch"
+ if [[ "$_touchscreen_patch" == y ]]; then
+ patch -p1 -F5 -i "$srcdir/touchscreen_multitouch_fixes1.patch"
+ patch -p1 -F5 -i "$srcdir/touchscreen_multitouch_fixes2.patch"
+ fi
+
+ # This patch replaces the TASK_UNINTERRUPTIBLE
+ # wait implementation with a TASK_KILLABLE one.
+ if [[ "$_kvmkillable_patch" == y ]]; then
+ patch -p1 -F5 -i "$srcdir/kvm.patch"
+ fi
## If sp3config='y' use personal config as a base
- if [[ "$sp3config" == y ]]; then
- cat "${srcdir}/config.sp3" >./.config
+ if [[ "$_sp3config" == y ]]; then
+ cat "$srcdir/config.sp3" >.config
elif [[ "$CARCH" == x86_64 ]]; then
- cat "${srcdir}/config.x86_64" >./.config
+ cat "$srcdir/config.x86_64" >.config
else
- cat "${srcdir}/config" > ./.config
+ cat "$srcdir/config" > .config
fi
# set localversion to kernel name
- if [[ -n "${_kernelname}" ]]; then
- sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
- sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
+ if [[ -n "$_kernelname" ]]; then
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"$_kernelname\"|g" .config
+ sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" .config
else
# set localversion to git commit
- sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-${pkgver##*.}\"|g" ./.config
- sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-${pkgver##*.}\"|g" .config
+ sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" .config
fi
# don't run depmod on 'make install'. We'll do this ourselves in packaging
@@ -67,34 +82,40 @@ prepare() {
# get kernel version
make prepare
- # load configuration
- # Configure the kernel. Replace the line below with one of your choice.
- # make menuconfig # CLI menu for configuration
- # make xconfig # X-based configuration
- # make oldconfig # using old config from previous kernel verson
- # make nconfig # new CLI menu for configuration
- # make olddefconfig # old config from previous kernel, defaults for new options
- # ... or manually edit .config
-
- printf "\n$(tput setaf 2)\t%s $(tput sgr0)" "[Run local([m]odconfig|[y]esconfig) or [s]kip? (m/y/S)]"
- read -r; echo; case "${REPLY:0:1}" in
- [Mm])
- make localmodconfig ;;
- [Yy])
- make localyesconfig ;;
- *)
- printf "$(tput setaf 3)\t%s $(tput sgr0)\n" "Continuing..." ;;
- esac
-
- printf "\n$(tput setaf 2)\t%s $(tput sgr0)" "[Run make ([n]config|[o]lddefconfig) or [s]kip? (n/o/S)]"
- read -r; echo; case "${REPLY:0:1}" in
- [Nn])
- make nconfig ;;
- [Oo])
- make olddefconfig ;;
- *)
- printf "$(tput setaf 3)\t%s $(tput sgr0)\n" "Continuing..." ;;
- esac
+ if [[ "$_interactive" == y ]]; then
+
+ printf "\n$(tput setaf 2)\t%s $(tput sgr0)" "[Run local([m]odconfig|[y]esconfig) or [s]kip? (m/y/S)]"
+ read -r; echo; case "${REPLY:0:1}" in
+ [Mm])
+ make localmodconfig ;;
+ [Yy])
+ make localyesconfig ;;
+ *)
+ printf "$(tput setaf 3)\t%s $(tput sgr0)\n" "Continuing..." ;;
+ esac
+
+ printf "\n$(tput setaf 2)\t%s $(tput sgr0)" "[Run make ([n]config|[o]lddefconfig) or [s]kip? (n/o/S)]"
+ read -r; echo; case "${REPLY:0:1}" in
+ [Nn])
+ make nconfig ;;
+ [Oo])
+ make olddefconfig ;;
+ *)
+ printf "$(tput setaf 3)\t%s $(tput sgr0)\n" "Continuing..." ;;
+ esac
+
+ else
+
+ # load configuration
+ # Configure the kernel. Replace the line below with one of your choice.
+ # make menuconfig # CLI menu for configuration
+ # make xconfig # X-based configuration
+ # make oldconfig # using old config from previous kernel verson
+ # make nconfig # new CLI menu for configuration
+ make olddefconfig # old config from previous kernel, defaults for new options
+ # ... or manually edit .config
+
+ fi
# rewrite configuration
yes "" | make config >/dev/null
diff --git a/config.sp3 b/config.sp3
index a568873e40e4..7f24d7df9e20 100644
--- a/config.sp3
+++ b/config.sp3
@@ -264,7 +264,8 @@ CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
-# CONFIG_OPROFILE is not set
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
@@ -5690,18 +5691,18 @@ CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_GHES is not set
-CONFIG_EDAC_E752X=m
-CONFIG_EDAC_I82975X=m
-CONFIG_EDAC_I3000=m
-CONFIG_EDAC_I3200=m
-CONFIG_EDAC_IE31200=m
-CONFIG_EDAC_X38=m
-CONFIG_EDAC_I5400=m
+# CONFIG_EDAC_E752X is not set
+# CONFIG_EDAC_I82975X is not set
+# CONFIG_EDAC_I3000 is not set
+# CONFIG_EDAC_I3200 is not set
+# CONFIG_EDAC_IE31200 is not set
+# CONFIG_EDAC_X38 is not set
+# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
-CONFIG_EDAC_I5000=m
-CONFIG_EDAC_I5100=m
-CONFIG_EDAC_I7300=m
-# CONFIG_EDAC_SBRIDGE is not set
+# CONFIG_EDAC_I5000 is not set
+# CONFIG_EDAC_I5100 is not set
+# CONFIG_EDAC_I7300 is not set
+CONFIG_EDAC_SBRIDGE=m
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_PND2 is not set
CONFIG_RTC_LIB=y
@@ -5892,7 +5893,7 @@ CONFIG_HYPERV_BALLOON=m
# Xen driver support
#
CONFIG_XEN_BALLOON=y
-# CONFIG_XEN_SELFBALLOONING is not set
+CONFIG_XEN_SELFBALLOONING=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
@@ -5905,9 +5906,9 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=m
CONFIG_XEN_PCIDEV_BACKEND=m
-# CONFIG_XEN_PVCALLS_FRONTEND is not set
-# CONFIG_XEN_PVCALLS_BACKEND is not set
-# CONFIG_XEN_SCSI_BACKEND is not set
+CONFIG_XEN_PVCALLS_FRONTEND=m
+CONFIG_XEN_PVCALLS_BACKEND=y
+CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_ACPI_PROCESSOR=m
# CONFIG_XEN_MCE_LOG is not set
@@ -6084,13 +6085,12 @@ CONFIG_RTLLIB_CRYPTO_TKIP=m
CONFIG_RTLLIB_CRYPTO_WEP=m
CONFIG_RTL8192E=m
# CONFIG_RTL8723BS is not set
-CONFIG_R8712U=m
-CONFIG_R8188EU=m
-CONFIG_88EU_AP_MODE=y
+# CONFIG_R8712U is not set
+# CONFIG_R8188EU is not set
# CONFIG_R8822BE is not set
-CONFIG_RTS5208=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
+# CONFIG_RTS5208 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
#
# IIO staging drivers
@@ -6148,7 +6148,7 @@ CONFIG_VT6656=m
# Triggers - standalone
#
# CONFIG_FB_SM750 is not set
-CONFIG_FB_XGI=m
+# CONFIG_FB_XGI is not set
#
# Speakup console speech
@@ -6166,23 +6166,30 @@ CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
CONFIG_STAGING_MEDIA=y
-# CONFIG_INTEL_ATOMISP is not set
+CONFIG_INTEL_ATOMISP=y
+# CONFIG_VIDEO_ATOMISP is not set
+# CONFIG_VIDEO_ATOMISP_OV5693 is not set
+# CONFIG_VIDEO_ATOMISP_OV2722 is not set
+# CONFIG_VIDEO_ATOMISP_GC2235 is not set
+# CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER is not set
+# CONFIG_VIDEO_ATOMISP_MT9M114 is not set
+# CONFIG_VIDEO_ATOMISP_GC0310 is not set
+# CONFIG_VIDEO_ATOMISP_OV2680 is not set
+# CONFIG_VIDEO_ATOMISP_LM3554 is not set
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
#
# Android
#
-CONFIG_LTE_GDM724X=m
-# CONFIG_FIREWIRE_SERIAL is not set
-CONFIG_LNET=m
-CONFIG_LNET_MAX_PAYLOAD=1048576
-CONFIG_LNET_SELFTEST=m
-CONFIG_LUSTRE_FS=m
-# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
-CONFIG_DGNC=m
+# CONFIG_LTE_GDM724X is not set
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_FWTTY_MAX_TOTAL_PORTS=64
+CONFIG_FWTTY_MAX_CARD_PORTS=32
+# CONFIG_LNET is not set
+# CONFIG_DGNC is not set
CONFIG_GS_FPGABOOT=m
-CONFIG_CRYPTO_SKEIN=y
+CONFIG_CRYPTO_SKEIN=m
# CONFIG_UNISYSSPAR is not set
# CONFIG_WILC1000_SDIO is not set
# CONFIG_MOST is not set
@@ -7273,6 +7280,7 @@ CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
diff --git a/kvm.patch b/kvm.patch
new file mode 100644
index 000000000000..58a2b11a2252
--- /dev/null
+++ b/kvm.patch
@@ -0,0 +1,38 @@
+From 2911d3320b6414efdabe8aef874857855042424d Mon Sep 17 00:00:00 2001
+From: Joey Pabalinas <joeypabalinas@gmail.com>
+Date: Thu, 15 Mar 2018 03:40:23 -1000
+Subject: [PATCH] x86/kvm: replace TASK_UNINTERRUPTIBLE with TASK_KILLABLE
+
+There doesn't seem to be any advantage to having a *completely*
+uninterruptible task here. For most users, allowing a task to respond
+to the SIGKILL interrupt signal (all other signals are ignored just like
+TASK_UNINTERRUPTIBLE) will not impact them at all.
+
+However, for the rare edge-cases where a task becomes stuck, maybe due to
+snapshot corruption or some other similarly unrecoverable error, it
+is *much* more convenient for a user to be able to have the additional
+option of nuking that task with SIGKILL, rather than annoying them by
+forcing them to reboot in order to remove the immortal process.
+
+Signed-off-by: Joey Pabalinas <joeypabalinas@gmail.com>
+
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
+index bc1a27280c4bf77899..7d4faee962e0c2e3c1 100644
+--- a/arch/x86/kernel/kvm.c
++++ b/arch/x86/kernel/kvm.c
+@@ -154,8 +154,8 @@ void kvm_async_pf_task_wait(u32 token, int interrupt_kernel)
+
+ for (;;) {
+ if (!n.halted)
+- prepare_to_swait(&n.wq, &wait, TASK_UNINTERRUPTIBLE);
+- if (hlist_unhashed(&n.link))
++ prepare_to_swait(&n.wq, &wait, TASK_KILLABLE);
++ if (hlist_unhashed(&n.link) || fatal_signal_pending(current))
+ break;
+
+ rcu_irq_exit();
+--
+2.16.2
+