diff options
author | Joey Pabalinas | 2018-03-16 16:12:05 -1000 |
---|---|---|
committer | Joey Pabalinas | 2018-03-16 16:12:05 -1000 |
commit | f1307fa0aafd6a1fba5792df2be93c80984145cd (patch) | |
tree | 90703902cfbb13923bfb6711b95d741677a01b7f | |
parent | 19d32e4763a202006d83eb0b7fa91c397acc6258 (diff) | |
download | aur-f1307fa0aafd6a1fba5792df2be93c80984145cd.tar.gz |
upgpkg: linux-surfacepro3-git 4.16rc5.r80.ge2c15aff5f353ba80b-1
upstream release
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 121 | ||||
-rw-r--r-- | config.sp3 | 74 | ||||
-rw-r--r-- | kvm.patch | 38 |
4 files changed, 156 insertions, 87 deletions
@@ -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) @@ -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 + |