summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2019-03-28 07:51:41 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2019-03-28 07:51:41 -0700
commit92a8d762d4db2c2a828afa8d3cf47f06045bbc8a (patch)
treefd592ff362d5264614a31dca5922b2f478b3c71d
parentUpdated to 4.20.17.a (diff)
downloadlinux-libre-hardened-ck-92a8d762d4db2c2a828afa8d3cf47f06045bbc8a.tar.xz
Updated to 5.0.5.a
-rw-r--r--PKGBUILD30
-rw-r--r--config.x86_64653
-rw-r--r--patch-5.0-ck1-jcmod1.patch (renamed from patch-4.20-ck1-jcmod1.patch)773
-rw-r--r--unscrew-ck1-for-kvm-intel-symbol.patch10
4 files changed, 892 insertions, 574 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 06bb6ea..9e690ab 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,8 +17,8 @@
# Parabola version is out-of-date
pkgbase=linux-libre-hardened-ck
-_majver=4.20
-_minver=17
+_majver=5.0
+_minver=5
_pkgver=${_majver}.${_minver}
_gnumajver=${_majver}-gnu
_gnupkgver=${_pkgver}-gnu
@@ -49,23 +49,21 @@ source=(https://linux-libre.fsfla.org/pub/linux-libre/releases/${_gnumajver}/lin
60-linux.hook # pacman hook for depmod
90-linux.hook # pacman hook for initramfs regeneration
linux.preset # standard config files for mkinitcpio ramdisk
- unscrew-ck1-for-kvm-intel-symbol.patch
)
-sha256sums=('b80d5c0076dfa11ee8af63ad0b4795569d098b77020d2fffc797b892ba455a1f'
+sha256sums=('7df5025d1960520bfea158054130467770eca379999d5ac48175ed5ee804faa1'
'SKIP'
- 'd690c49e406f3f0c45d65cfe4ff6c457cc1481edcb1b87eef9c302a23aac2f4c'
+ 'a59d0826ac9673bc8aa43c7fcd2d9cffc766e09d9bb0afab58a1232bca32ff6c'
'SKIP'
- 'ccc0845614ff8a17bf5367baac62d1695d636a639913d1c944d3627d1d9089e2'
+ '1bcf266561541fd2f99eeb63b91b8b85f5b3e38a5146ddf4562b931457307fdc'
'SKIP'
- '90ab0d864452726a7b43f49debeb32ab4dc5d0ec65cb8b3f64c940a2469ab650'
+ 'fb18b009a891c0b54c984fc02a01d7b64d2b421e2fcb642a3b9465b0ed519dbd'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503'
'0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb'
- '8d4660cec0a1f758e9b869d846d75a908034598c5a5e868adc400001325a4413'
+ 'ab12c293c10ca19947f0513b7e03acf1eeb305c9a7bcd5f374ec3e4879eeef58'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
- 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
- '3e8c7d3015bb593e8a861be0b2b9f1de74fcb25e00c6e3eacee3165c6bec6f64')
+ 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay
@@ -89,6 +87,10 @@ prepare() {
msg2 "Applying hardened patch"
patch -Np1 < ../linux-hardened-${pkgver}.patch
+ # ck patch
+ msg2 "Applying ck patch"
+ patch -p1 -i ../patch-${_majver}-ck${_ckpatchversion}-jcmod${_jcpatchversion}.patch
+
# graysky2 gcc patch
msg2 "Applying graysky2 cpu patch"
patch -p1 -i ../kernel_gcc_patch-${_gcc_more_v}/enable_additional_cpu_optimizations_for_gcc_v8.1+_kernel_v4.13+.patch
@@ -101,14 +103,6 @@ prepare() {
msg " Applying raid6 patch"
patch -p1 -i ../raid6-default-algo.patch
- # ck patch
- msg2 "Applying ck patch"
- patch -p1 -i ../patch-${_majver}-ck${_ckpatchversion}-jcmod${_jcpatchversion}.patch
-
- # Set unscrew patch
- msg " Applying unscrew patch"
- patch -p1 -i ../unscrew-ck1-for-kvm-intel-symbol.patch
-
msg2 "Setting version..."
sed -e "/^EXTRAVERSION =/s/=.*/= .${_hardenedver}/" -i Makefile
diff --git a/config.x86_64 b/config.x86_64
index 4ff5b44..0195abb 100644
--- a/config.x86_64
+++ b/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.20.17 Kernel Configuration
+# Linux/x86 5.0.5 Kernel Configuration
#
#
@@ -9,6 +9,7 @@
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=80201
CONFIG_CLANG_VERSION=0
+CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@@ -45,8 +46,6 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
#
# IRQ subsystem
@@ -298,7 +297,7 @@ CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
CONFIG_RETPOLINE=y
-CONFIG_INTEL_RDT=y
+CONFIG_X86_CPU_RESCTRL=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_AMD_PLATFORM_DEVICE=y
@@ -323,6 +322,7 @@ CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
CONFIG_KVM_GUEST=y
+CONFIG_PVH=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
@@ -514,6 +514,7 @@ CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_ENERGY_MODEL=y
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
@@ -556,6 +557,7 @@ CONFIG_ACPI_HED=y
CONFIG_ACPI_BGRT=y
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=m
+# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
@@ -629,127 +631,14 @@ CONFIG_INTEL_IDLE=y
#
# Bus options (PCI etc.)
#
-CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
-CONFIG_PCI_DOMAINS=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCIEAER=y
-# CONFIG_PCIEAER_INJECT is not set
-CONFIG_PCIE_ECRC=y
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIEASPM_DEFAULT=y
-# CONFIG_PCIEASPM_POWERSAVE is not set
-# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
-# CONFIG_PCIEASPM_PERFORMANCE is not set
-CONFIG_PCIE_PME=y
-CONFIG_PCIE_DPC=y
-CONFIG_PCIE_PTM=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_MSI_IRQ_DOMAIN=y
-CONFIG_PCI_QUIRKS=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_REALLOC_ENABLE_AUTO=y
-CONFIG_PCI_STUB=y
-CONFIG_PCI_PF_STUB=m
-CONFIG_XEN_PCIDEV_FRONTEND=m
-CONFIG_PCI_ATS=y
-CONFIG_PCI_ECAM=y
-CONFIG_PCI_LOCKLESS_CONFIG=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PRI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCI_P2PDMA=y
-CONFIG_PCI_LABEL=y
-CONFIG_PCI_HYPERV=m
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-CONFIG_HOTPLUG_PCI_CPCI=y
-CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
-CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
-CONFIG_HOTPLUG_PCI_SHPC=y
-
-#
-# PCI controller drivers
-#
-
-#
-# Cadence PCIe controllers support
-#
-CONFIG_PCIE_CADENCE=y
-CONFIG_PCIE_CADENCE_HOST=y
-CONFIG_PCIE_CADENCE_EP=y
-CONFIG_PCI_FTPCI100=y
-CONFIG_PCI_HOST_COMMON=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCIE_XILINX=y
-CONFIG_VMD=m
-
-#
-# DesignWare PCI Core Support
-#
-CONFIG_PCIE_DW=y
-CONFIG_PCIE_DW_HOST=y
-CONFIG_PCIE_DW_EP=y
-CONFIG_PCIE_DW_PLAT=y
-CONFIG_PCIE_DW_PLAT_HOST=y
-CONFIG_PCIE_DW_PLAT_EP=y
-
-#
-# PCI Endpoint
-#
-CONFIG_PCI_ENDPOINT=y
-CONFIG_PCI_ENDPOINT_CONFIGFS=y
-# CONFIG_PCI_EPF_TEST is not set
-
-#
-# PCI switch controller drivers
-#
-CONFIG_PCI_SW_SWITCHTEC=m
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_RAPIDIO=m
-CONFIG_RAPIDIO_TSI721=m
-CONFIG_RAPIDIO_DISC_TIMEOUT=30
-CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
-CONFIG_RAPIDIO_DMA_ENGINE=y
-# CONFIG_RAPIDIO_DEBUG is not set
-CONFIG_RAPIDIO_ENUM_BASIC=m
-CONFIG_RAPIDIO_CHMAN=m
-CONFIG_RAPIDIO_MPORT_CDEV=m
-
-#
-# RapidIO Switch drivers
-#
-CONFIG_RAPIDIO_TSI57X=m
-CONFIG_RAPIDIO_CPS_XX=m
-CONFIG_RAPIDIO_TSI568=m
-CONFIG_RAPIDIO_CPS_GEN2=m
-CONFIG_RAPIDIO_RXS_GEN3=m
# CONFIG_X86_SYSFB is not set
#
@@ -887,6 +776,7 @@ CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
@@ -968,7 +858,6 @@ CONFIG_BLK_DEV_THROTTLING_LOW=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_CGROUP_IOLATENCY=y
-CONFIG_BLK_WBT_SQ=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
@@ -1007,14 +896,6 @@ CONFIG_BLK_PM=y
#
# IO Schedulers
#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
@@ -1117,6 +998,7 @@ CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
+CONFIG_SKB_EXTENSIONS=y
#
# Networking options
@@ -1284,9 +1166,6 @@ CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
-CONFIG_NF_NAT_PROTO_DCCP=y
-CONFIG_NF_NAT_PROTO_UDPLITE=y
-CONFIG_NF_NAT_PROTO_SCTP=y
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
@@ -1506,7 +1385,6 @@ CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
CONFIG_NFT_REDIR_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
@@ -1655,6 +1533,7 @@ CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_GSWIP=y
CONFIG_NET_DSA_TAG_KSZ=y
+CONFIG_NET_DSA_TAG_KSZ9477=y
CONFIG_NET_DSA_TAG_LAN9303=y
CONFIG_NET_DSA_TAG_MTK=y
CONFIG_NET_DSA_TAG_QCA=y
@@ -1792,6 +1671,7 @@ CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUGFS is not set
+# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
@@ -1863,6 +1743,7 @@ CONFIG_CAN_VXCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_FLEXCAN=m
CONFIG_CAN_GRCAN=m
CONFIG_CAN_JANZ_ICAN3=m
CONFIG_CAN_C_CAN=m
@@ -1959,6 +1840,7 @@ CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_BT_WILINK=m
CONFIG_BT_MTKUART=m
+CONFIG_BT_HCIRSI=m
CONFIG_AF_RXRPC=m
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
@@ -1971,6 +1853,7 @@ CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
@@ -1981,10 +1864,12 @@ CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
-# CONFIG_CFG80211_WEXT is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_CFG80211_WEXT_EXPORT=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
@@ -2070,6 +1955,123 @@ CONFIG_HAVE_EBPF_JIT=y
#
# Device Drivers
#
+CONFIG_HAVE_EISA=y
+# CONFIG_EISA is not set
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIE_ECRC=y
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_PCIE_DPC=y
+CONFIG_PCIE_PTM=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=y
+CONFIG_PCI_PF_STUB=m
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_PCI_ATS=y
+CONFIG_PCI_ECAM=y
+CONFIG_PCI_LOCKLESS_CONFIG=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_P2PDMA=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCI_HYPERV=m
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=y
+
+#
+# PCI controller drivers
+#
+
+#
+# Cadence PCIe controllers support
+#
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+CONFIG_PCI_FTPCI100=y
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_XILINX=y
+CONFIG_VMD=m
+
+#
+# DesignWare PCI Core Support
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_HOST=y
+CONFIG_PCIE_DW_EP=y
+CONFIG_PCIE_DW_PLAT=y
+CONFIG_PCIE_DW_PLAT_HOST=y
+CONFIG_PCIE_DW_PLAT_EP=y
+CONFIG_PCI_MESON=y
+
+#
+# PCI Endpoint
+#
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+# CONFIG_PCI_EPF_TEST is not set
+
+#
+# PCI switch controller drivers
+#
+CONFIG_PCI_SW_SWITCHTEC=m
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_RAPIDIO=m
+CONFIG_RAPIDIO_TSI721=m
+CONFIG_RAPIDIO_DISC_TIMEOUT=30
+CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
+CONFIG_RAPIDIO_DMA_ENGINE=y
+# CONFIG_RAPIDIO_DEBUG is not set
+CONFIG_RAPIDIO_ENUM_BASIC=m
+CONFIG_RAPIDIO_CHMAN=m
+CONFIG_RAPIDIO_MPORT_CDEV=m
+
+#
+# RapidIO Switch drivers
+#
+CONFIG_RAPIDIO_TSI57X=m
+CONFIG_RAPIDIO_CPS_XX=m
+CONFIG_RAPIDIO_TSI568=m
+CONFIG_RAPIDIO_CPS_GEN2=m
+CONFIG_RAPIDIO_RXS_GEN3=m
#
# Generic Driver Options
@@ -2120,10 +2122,6 @@ CONFIG_GNSS_SIRF_SERIAL=m
CONFIG_GNSS_UBX_SERIAL=m
CONFIG_MTD=m
CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
CONFIG_MTD_CMDLINE_PARTS=m
CONFIG_MTD_OF_PARTS=m
CONFIG_MTD_AR7_PARTS=m
@@ -2131,6 +2129,10 @@ CONFIG_MTD_AR7_PARTS=m
#
# Partition parsers
#
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
#
# User Modules And Translation Layers
@@ -2175,9 +2177,10 @@ CONFIG_MTD_ABSENT=m
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=m
# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_PHYSMAP_OF=m
-CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
-CONFIG_MTD_PHYSMAP_OF_GEMINI=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_PHYSMAP_VERSATILE=y
+CONFIG_MTD_PHYSMAP_GEMINI=y
+CONFIG_MTD_PHYSMAP_GPIO_ADDR=y
CONFIG_MTD_SBC_GXX=m
CONFIG_MTD_AMD76XROM=m
CONFIG_MTD_ICHXROM=m
@@ -2189,10 +2192,8 @@ CONFIG_MTD_L440GX=m
CONFIG_MTD_PCI=m
CONFIG_MTD_PCMCIA=m
# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
CONFIG_MTD_INTEL_VR_NOR=m
CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
#
# Self-contained MTD device drivers
@@ -2332,11 +2333,13 @@ CONFIG_NVME_MULTIPATH=y
CONFIG_NVME_FABRICS=m
CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
+CONFIG_NVME_TCP=m
CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_FCLOOP=m
+CONFIG_NVME_TARGET_TCP=m
#
# Misc devices
@@ -2368,6 +2371,7 @@ CONFIG_LATTICE_ECP3_CONFIG=m
# CONFIG_SRAM is not set
CONFIG_PCI_ENDPOINT_TEST=m
CONFIG_MISC_RTSX=m
+CONFIG_PVPANIC=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
@@ -2444,6 +2448,7 @@ CONFIG_VHOST_RING=m
CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=m
+CONFIG_MISC_ALCOR_PCI=m
CONFIG_MISC_RTSX_PCI=m
CONFIG_MISC_RTSX_USB=m
CONFIG_HAVE_IDE=y
@@ -2457,7 +2462,6 @@ CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_MQ_DEFAULT=y
CONFIG_SCSI_PROC_FS=y
#
@@ -2536,6 +2540,7 @@ CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_UFS_CDNS_PLATFORM=m
# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_HPTIOP=m
@@ -2867,8 +2872,9 @@ CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA_LANTIQ_GSWIP=m
CONFIG_NET_DSA_MT7530=m
-CONFIG_MICROCHIP_KSZ=m
-CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m
+CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m
+CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
+CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
CONFIG_NET_DSA_MV88E6XXX=m
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
CONFIG_NET_DSA_MV88E6XXX_PTP=y
@@ -3317,9 +3323,11 @@ CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
CONFIG_USB_NET_CH9200=m
+CONFIG_USB_NET_AQC111=m
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
+CONFIG_WLAN_VENDOR_ADMTEK=y
+CONFIG_ADM8211=m
CONFIG_ATH_COMMON=m
CONFIG_WLAN_VENDOR_ATH=y
CONFIG_ATH_USER_REGD=y
@@ -3347,34 +3355,245 @@ CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_WPC=y
# CONFIG_CARL9170_HWRNG is not set
-# CONFIG_ATH6KL is not set
-# CONFIG_AR5523 is not set
-# CONFIG_WIL6210 is not set
-# CONFIG_ATH10K is not set
-# CONFIG_WCN36XX is not set
-# CONFIG_WLAN_VENDOR_ATMEL is not set
-# CONFIG_WLAN_VENDOR_BROADCOM is not set
-# CONFIG_WLAN_VENDOR_CISCO is not set
-# CONFIG_WLAN_VENDOR_INTEL is not set
-# CONFIG_WLAN_VENDOR_INTERSIL is not set
-# CONFIG_WLAN_VENDOR_MARVELL is not set
-# CONFIG_WLAN_VENDOR_MEDIATEK is not set
-# CONFIG_WLAN_VENDOR_RALINK is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_WIL6210_TRACING=y
+# CONFIG_WIL6210_DEBUGFS is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_CE=y
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_AHB=y
+CONFIG_ATH10K_SDIO=m
+CONFIG_ATH10K_USB=m
+# CONFIG_ATH10K_DEBUG is not set
+# CONFIG_ATH10K_DEBUGFS is not set
+# CONFIG_ATH10K_TRACING is not set
+CONFIG_WCN36XX=m
+# CONFIG_WCN36XX_DEBUGFS is not set
+CONFIG_WLAN_VENDOR_ATMEL=y
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_WLAN_VENDOR_BROADCOM=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+CONFIG_B43_SSB=y
+CONFIG_B43_BUSES_BCMA_AND_SSB=y
+# CONFIG_B43_BUSES_BCMA is not set
+# CONFIG_B43_BUSES_SSB is not set
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_G=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+CONFIG_B43LEGACY_DEBUG=y
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCMFMAC_PCIE=y
+# CONFIG_BRCM_TRACING is not set
+CONFIG_BRCMDBG=y
+CONFIG_WLAN_VENDOR_CISCO=y
+CONFIG_AIRO=m
+CONFIG_AIRO_CS=m
+CONFIG_WLAN_VENDOR_INTEL=y
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLWIFI_LEDS=y
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+# CONFIG_IWLWIFI_BCAST_FILTERING is not set
+# CONFIG_IWLWIFI_PCIE_RTPM is not set
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+CONFIG_WLAN_VENDOR_INTERSIL=y
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_HERMES=m
+CONFIG_HERMES_PRISM=y
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+# CONFIG_P54_SPI_DEFAULT_EEPROM is not set
+CONFIG_P54_LEDS=y
+CONFIG_PRISM54=m
+CONFIG_WLAN_VENDOR_MARVELL=y
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_MWL8K=m
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT7601U=m
+CONFIG_MT76_CORE=m
+CONFIG_MT76_LEDS=y
+CONFIG_MT76_USB=m
+CONFIG_MT76x02_LIB=m
+CONFIG_MT76x02_USB=m
+CONFIG_MT76x0_COMMON=m
+CONFIG_MT76x0U=m
+CONFIG_MT76x0E=m
+CONFIG_MT76x2_COMMON=m
+CONFIG_MT76x2E=m
+CONFIG_MT76x2U=m
+CONFIG_WLAN_VENDOR_RALINK=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2800_LIB_MMIO=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
CONFIG_WLAN_VENDOR_REALTEK=y
-# CONFIG_RTL8180 is not set
+CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
-# CONFIG_RTL_CARDS is not set
-# CONFIG_RTL8XXXU is not set
-# CONFIG_WLAN_VENDOR_RSI is not set
-# CONFIG_WLAN_VENDOR_ST is not set
-# CONFIG_WLAN_VENDOR_TI is not set
-# CONFIG_WLAN_VENDOR_ZYDAS is not set
-# CONFIG_WLAN_VENDOR_QUANTENNA is not set
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
+CONFIG_RTL_CARDS=m
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8723BE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192EE=m
+CONFIG_RTL8821AE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTLWIFI=m
+CONFIG_RTLWIFI_PCI=m
+CONFIG_RTLWIFI_USB=m
+CONFIG_RTLWIFI_DEBUG=y
+CONFIG_RTL8192C_COMMON=m
+CONFIG_RTL8723_COMMON=m
+CONFIG_RTLBTCOEXIST=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
+CONFIG_WLAN_VENDOR_RSI=y
+CONFIG_RSI_91X=m
+# CONFIG_RSI_DEBUGFS is not set
+CONFIG_RSI_SDIO=m
+CONFIG_RSI_USB=m
+CONFIG_RSI_COEX=y
+CONFIG_WLAN_VENDOR_ST=y
+CONFIG_CW1200=m
+CONFIG_CW1200_WLAN_SDIO=m
+CONFIG_CW1200_WLAN_SPI=m
+CONFIG_WLAN_VENDOR_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SPI=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_WLAN_VENDOR_ZYDAS=y
+CONFIG_USB_ZD1201=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_WLAN_VENDOR_QUANTENNA=y
+CONFIG_QTNFMAC=m
+CONFIG_QTNFMAC_PCIE=m
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_MAC80211_HWSIM=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_VIRT_WIFI=m
#
# WiMAX Wireless Broadband devices
@@ -3494,13 +3713,6 @@ CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_ISDN_DRV_GIGASET=m
CONFIG_GIGASET_CAPI=y
CONFIG_GIGASET_BASE=m
@@ -3858,6 +4070,7 @@ CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_PS2MULT=m
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_APBPS2 is not set
+CONFIG_SERIO_OLPC_APSP=m
CONFIG_HYPERV_KEYBOARD=m
CONFIG_SERIO_GPIO_PS2=m
CONFIG_USERIO=m
@@ -4125,6 +4338,9 @@ CONFIG_I2C_SLAVE_EEPROM=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_I3C=m
+CONFIG_CDNS_I3C_MASTER=m
+CONFIG_DW_I3C_MASTER=m
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -4152,6 +4368,7 @@ CONFIG_SPI_PXA2XX=m
CONFIG_SPI_PXA2XX_PCI=m
CONFIG_SPI_ROCKCHIP=m
CONFIG_SPI_SC18IS602=m
+CONFIG_SPI_MXIC=m
CONFIG_SPI_XCOMM=m
CONFIG_SPI_XILINX=m
CONFIG_SPI_ZYNQMP_GQSPI=m
@@ -4214,6 +4431,7 @@ CONFIG_PINCTRL_SX150X=y
CONFIG_PINCTRL_MAX77620=m
CONFIG_PINCTRL_PALMAS=m
CONFIG_PINCTRL_RK805=m
+CONFIG_PINCTRL_OCELOT=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_INTEL=y
@@ -4245,6 +4463,7 @@ CONFIG_GPIO_MAX730X=m
CONFIG_GPIO_74XX_MMIO=m
CONFIG_GPIO_ALTERA=m
CONFIG_GPIO_AMDPT=m
+CONFIG_GPIO_CADENCE=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
CONFIG_GPIO_FTGPIO010=y
@@ -4256,6 +4475,7 @@ CONFIG_GPIO_LYNXPOINT=m
CONFIG_GPIO_MB86S7X=m
CONFIG_GPIO_MENZ127=m
CONFIG_GPIO_MOCKUP=m
+CONFIG_GPIO_SAMA5D2_PIOBU=m
CONFIG_GPIO_SIOX=m
CONFIG_GPIO_SYSCON=m
CONFIG_GPIO_VX855=m
@@ -4559,6 +4779,9 @@ CONFIG_SENSORS_NCT6775=m
CONFIG_SENSORS_NCT7802=m
CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_NPCM7XX=m
+CONFIG_SENSORS_OCC_P8_I2C=m
+CONFIG_SENSORS_OCC_P9_SBE=m
+CONFIG_SENSORS_OCC=y
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
@@ -4658,6 +4881,10 @@ CONFIG_DEVFREQ_THERMAL=y
CONFIG_MAX77620_THERMAL=m
CONFIG_QORIQ_THERMAL=m
CONFIG_DA9062_THERMAL=m
+
+#
+# Intel thermal drivers
+#
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
@@ -4671,7 +4898,6 @@ CONFIG_ACPI_THERMAL_REL=m
CONFIG_INT3406_THERMAL=m
CONFIG_INTEL_BXT_PMIC_THERMAL=m
CONFIG_INTEL_PCH_THERMAL=m
-CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_GENERIC_ADC_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
@@ -4732,6 +4958,7 @@ CONFIG_60XX_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
+CONFIG_TQMX86_WDT=m
CONFIG_VIA_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83877F_WDT=m
@@ -4765,8 +4992,10 @@ CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
@@ -4776,6 +5005,7 @@ CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
@@ -4986,6 +5216,7 @@ CONFIG_REGULATOR_MAX77802=m
CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_MCP16502=m
CONFIG_REGULATOR_MT6311=m
CONFIG_REGULATOR_MT6323=m
CONFIG_REGULATOR_MT6397=m
@@ -5069,6 +5300,7 @@ CONFIG_IR_PWM_TX=m
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SIR=m
+CONFIG_RC_XBOX_DVD=m
CONFIG_MEDIA_SUPPORT=m
#
@@ -5089,7 +5321,6 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_V4L2=m
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_PCI_SKELETON is not set
CONFIG_VIDEO_TUNER=m
CONFIG_V4L2_MEM2MEM_DEV=m
CONFIG_V4L2_FLASH_LED_CLASS=m
@@ -5357,6 +5588,7 @@ CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_CADENCE=y
CONFIG_VIDEO_CADENCE_CSI2RX=m
CONFIG_VIDEO_CADENCE_CSI2TX=m
+CONFIG_VIDEO_ASPEED=m
CONFIG_VIDEO_MUX=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_PLATFORM=m
@@ -5377,6 +5609,8 @@ CONFIG_DVB_PLATFORM_DRIVERS=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CROS_EC_CEC=m
CONFIG_CEC_GPIO=m
+CONFIG_VIDEO_SECO_CEC=m
+CONFIG_VIDEO_SECO_RC=y
CONFIG_SDR_PLATFORM_DRIVERS=y
#
@@ -5793,9 +6027,10 @@ CONFIG_DRM_I2C_NXP_TDA9950=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
-# CONFIG_DRM_AMDGPU_CIK is not set
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
+# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
#
# ACP (Audio CoProcessor) Configuration
@@ -5872,10 +6107,12 @@ CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m
CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
CONFIG_DRM_PANEL_LG_LG4573=m
+CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
+CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
@@ -5883,6 +6120,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
@@ -5918,6 +6156,7 @@ CONFIG_DRM_MXS=y
CONFIG_DRM_MXSFB=m
CONFIG_DRM_TINYDRM=m
CONFIG_TINYDRM_MIPI_DBI=m
+CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
CONFIG_TINYDRM_MI0283QT=m
@@ -5946,7 +6185,7 @@ CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_BACKLIGHT=m
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
@@ -6264,6 +6503,7 @@ CONFIG_SND_SOC_ACPI=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
+CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_ATMEL_SOC=m
CONFIG_SND_SOC_MIKROE_PROTO=m
CONFIG_SND_DESIGNWARE_I2S=m
@@ -6302,6 +6542,13 @@ CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
+CONFIG_SND_SOC_INTEL_SKL=m
+CONFIG_SND_SOC_INTEL_APL=m
+CONFIG_SND_SOC_INTEL_KBL=m
+CONFIG_SND_SOC_INTEL_GLK=m
+CONFIG_SND_SOC_INTEL_CNL=m
+CONFIG_SND_SOC_INTEL_CFL=m
+CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m
CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
@@ -6328,12 +6575,14 @@ CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m
CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m
+CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m
CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
#
# STMicroelectronics STM32 SOC audio support
#
+CONFIG_SND_SOC_XILINX_I2S=m
CONFIG_SND_SOC_XTFPGA_I2S=m
CONFIG_ZX_TDM=m
CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -6350,6 +6599,7 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
CONFIG_SND_SOC_AK4104=m
+CONFIG_SND_SOC_AK4118=m
CONFIG_SND_SOC_AK4458=m
CONFIG_SND_SOC_AK4554=m
CONFIG_SND_SOC_AK4613=m
@@ -6433,6 +6683,7 @@ CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5640=m
CONFIG_SND_SOC_RT5645=m
CONFIG_SND_SOC_RT5651=m
+CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5670=m
CONFIG_SND_SOC_RT5677=m
@@ -7068,6 +7319,7 @@ CONFIG_MMC_SDHCI_OF_DWCMSHC=m
CONFIG_MMC_SDHCI_CADENCE=m
CONFIG_MMC_SDHCI_F_SDH30=m
CONFIG_MMC_WBSD=m
+CONFIG_MMC_ALCOR=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
@@ -7083,6 +7335,7 @@ CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MMC_MTK=m
CONFIG_MMC_SDHCI_XENON=m
CONFIG_MMC_SDHCI_OMAP=m
+CONFIG_MMC_SDHCI_AM654=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -7195,6 +7448,7 @@ CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_PATTERN=m
+CONFIG_LEDS_TRIGGER_AUDIO=m
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=m
@@ -7530,6 +7784,7 @@ CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
+CONFIG_XEN_FRONT_PGDIR_SHBUF=m
CONFIG_STAGING=y
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
@@ -7695,7 +7950,6 @@ CONFIG_ADE7854_SPI=m
#
# Resolver to digital converters
#
-CONFIG_AD2S90=m
CONFIG_AD2S1210=m
CONFIG_FB_SM750=m
CONFIG_FB_XGI=m
@@ -7727,6 +7981,7 @@ CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_IPU3_IMGU=m
#
# Android
@@ -7736,8 +7991,6 @@ CONFIG_LTE_GDM724X=m
CONFIG_FIREWIRE_SERIAL=m
CONFIG_FWTTY_MAX_TOTAL_PORTS=64
CONFIG_FWTTY_MAX_CARD_PORTS=32
-CONFIG_MTD_SPINAND_MT29F=m
-CONFIG_MTD_SPINAND_ONDIEECC=y
CONFIG_GS_FPGABOOT=m
CONFIG_UNISYSSPAR=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
@@ -7841,7 +8094,6 @@ CONFIG_SAMSUNG_Q10=m
CONFIG_APPLE_GMUX=m
CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=m
-CONFIG_PVPANIC=m
CONFIG_INTEL_PMC_IPC=m
CONFIG_INTEL_BXTWC_PMIC_TMU=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -7854,6 +8106,7 @@ CONFIG_TOUCHSCREEN_DMI=y
CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_I2C_MULTI_INSTANTIATE=m
CONFIG_INTEL_ATOMISP2_PM=m
+CONFIG_HUAWEI_WMI=m
CONFIG_PMC_ATOM=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
@@ -7893,6 +8146,7 @@ CONFIG_CLK_TWL6040=m
CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_VC5=m
+CONFIG_COMMON_CLK_BD718XX=m
CONFIG_HWSPINLOCK=y
#
@@ -8072,6 +8326,7 @@ CONFIG_STK8BA50=m
# Analog to digital converters
#
CONFIG_AD_SIGMA_DELTA=m
+CONFIG_AD7124=m
CONFIG_AD7266=m
CONFIG_AD7291=m
CONFIG_AD7298=m
@@ -8081,6 +8336,7 @@ CONFIG_AD7791=m
CONFIG_AD7793=m
CONFIG_AD7887=m
CONFIG_AD7923=m
+CONFIG_AD7949=m
CONFIG_AD799X=m
CONFIG_AXP20X_ADC=m
CONFIG_AXP288_ADC=m
@@ -8207,6 +8463,7 @@ CONFIG_MCP4725=m
CONFIG_MCP4922=m
CONFIG_TI_DAC082S085=m
CONFIG_TI_DAC5571=m
+CONFIG_TI_DAC7311=m
CONFIG_VF610_DAC=m
#
@@ -8335,6 +8592,7 @@ CONFIG_TSL2772=m
CONFIG_TSL4531=m
CONFIG_US5182D=m
CONFIG_VCNL4000=m
+CONFIG_VCNL4035=m
CONFIG_VEML6070=m
CONFIG_VL6180=m
CONFIG_ZOPT2201=m
@@ -8357,6 +8615,9 @@ CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
CONFIG_SENSORS_HMC5843=m
CONFIG_SENSORS_HMC5843_I2C=m
CONFIG_SENSORS_HMC5843_SPI=m
+CONFIG_SENSORS_RM3100=m
+CONFIG_SENSORS_RM3100_I2C=m
+CONFIG_SENSORS_RM3100_SPI=m
#
# Multiplexers
@@ -8387,6 +8648,7 @@ CONFIG_MAX5487=m
CONFIG_MCP4018=m
CONFIG_MCP4131=m
CONFIG_MCP4531=m
+CONFIG_MCP41010=m
CONFIG_TPL0102=m
#
@@ -8440,6 +8702,7 @@ CONFIG_VL53L0X_I2C=m
#
# Resolver to digital converters
#
+CONFIG_AD2S90=m
CONFIG_AD2S1200=m
#
@@ -8500,6 +8763,7 @@ CONFIG_PWM_TWL_LED=m
#
CONFIG_IRQCHIP=y
CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_MADERA_IRQ=m
CONFIG_IPACK_BUS=m
CONFIG_BOARD_TPCI200=m
CONFIG_SERIAL_IPOCTAL=m
@@ -8517,6 +8781,8 @@ CONFIG_FMC_CHARDEV=m
CONFIG_GENERIC_PHY=y
CONFIG_BCM_KONA_USB2_PHY=m
CONFIG_PHY_CADENCE_DP=m
+CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_PXA_28NM_HSIC=m
CONFIG_PHY_PXA_28NM_USB2=m
CONFIG_PHY_CPCAP_USB=m
@@ -8604,6 +8870,7 @@ CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
CONFIG_FSI_SCOM=m
CONFIG_FSI_SBEFIFO=m
+CONFIG_FSI_OCC=m
CONFIG_MULTIPLEXER=m
#
@@ -9087,6 +9354,10 @@ CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_KEYWRAP=m
+CONFIG_CRYPTO_NHPOLY1305=m
+CONFIG_CRYPTO_NHPOLY1305_SSE2=m
+CONFIG_CRYPTO_NHPOLY1305_AVX2=m
+CONFIG_CRYPTO_ADIANTUM=m
#
# Hash modes
@@ -9123,6 +9394,7 @@ CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
# CONFIG_CRYPTO_SM3 is not set
+# CONFIG_CRYPTO_STREEBOG is not set
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
@@ -9155,7 +9427,7 @@ CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
-CONFIG_CRYPTO_SEED=m
+# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
@@ -9193,6 +9465,7 @@ CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
CONFIG_CRYPTO_USER_API_AEAD=m
+# CONFIG_CRYPTO_STATS is not set
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
@@ -9319,7 +9592,6 @@ CONFIG_HAS_DMA=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DMA_DIRECT_OPS=y
CONFIG_DMA_VIRT_OPS=y
CONFIG_SWIOTLB=y
CONFIG_SGL_ALLOC=y
@@ -9352,15 +9624,16 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_10x18 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_TER16x32 is not set
CONFIG_FONT_AUTOSELECT=y
CONFIG_SG_POOL=y
-CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_UACCESS_MCSAFE=y
CONFIG_SBITMAP=y
CONFIG_PARMAN=m
# CONFIG_STRING_SELFTEST is not set
+CONFIG_OBJAGG=m
#
# Kernel hacking
@@ -9421,7 +9694,9 @@ CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
# CONFIG_KASAN is not set
+CONFIG_KASAN_STACK=1
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
@@ -9533,6 +9808,7 @@ CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
+CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
@@ -9585,6 +9861,7 @@ CONFIG_LKDTM=m
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_OBJAGG is not set
# CONFIG_MEMTEST is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
# CONFIG_SAMPLES is not set
diff --git a/patch-4.20-ck1-jcmod1.patch b/patch-5.0-ck1-jcmod1.patch
index dd1f394..92e9b81 100644
--- a/patch-4.20-ck1-jcmod1.patch
+++ b/patch-5.0-ck1-jcmod1.patch
@@ -1,8 +1,8 @@
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index aefd358a5ca3..d83cc67a2e80 100644
+index 858b6c0b9a15..311076ada7b7 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -4035,6 +4035,14 @@
+@@ -4057,6 +4057,14 @@
Memory area to be used by remote processor image,
managed by CMA.
@@ -754,7 +754,7 @@ index 000000000000..ae28b85c9995
+
+Con Kolivas <kernel@kolivas.org> Sat, 29th October 2016
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
-index 1b8775298cf7..4f0a97784d35 100644
+index c0527d8a468a..cc8f346a5404 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -41,6 +41,7 @@ show up in /proc/sys/kernel:
@@ -765,7 +765,7 @@ index 1b8775298cf7..4f0a97784d35 100644
- kexec_load_disabled
- kptr_restrict
- l2cr [ PPC only ]
-@@ -76,6 +77,7 @@ show up in /proc/sys/kernel:
+@@ -77,6 +78,7 @@ show up in /proc/sys/kernel:
- randomize_va_space
- real-root-dev ==> Documentation/admin-guide/initrd.rst
- reboot-cmd [ SPARC only ]
@@ -773,7 +773,7 @@ index 1b8775298cf7..4f0a97784d35 100644
- rtsig-max
- rtsig-nr
- seccomp/ ==> Documentation/userspace-api/seccomp_filter.rst
-@@ -98,6 +100,7 @@ show up in /proc/sys/kernel:
+@@ -99,6 +101,7 @@ show up in /proc/sys/kernel:
- unknown_nmi_panic
- watchdog
- watchdog_thresh
@@ -781,7 +781,7 @@ index 1b8775298cf7..4f0a97784d35 100644
- version
==============================================================
-@@ -436,6 +439,16 @@ When kptr_restrict is set to (2), kernel pointers printed using
+@@ -437,6 +440,16 @@ When kptr_restrict is set to (2), kernel pointers printed using
==============================================================
@@ -798,7 +798,7 @@ index 1b8775298cf7..4f0a97784d35 100644
l2cr: (PPC only)
This flag controls the L2 cache of G3 processor boards. If
-@@ -863,6 +876,20 @@ rebooting. ???
+@@ -880,6 +893,20 @@ rebooting. ???
==============================================================
@@ -819,7 +819,7 @@ index 1b8775298cf7..4f0a97784d35 100644
rtsig-max & rtsig-nr:
The file rtsig-max can be used to tune the maximum number
-@@ -1120,3 +1147,13 @@ The softlockup threshold is (2 * watchdog_thresh). Setting this
+@@ -1137,3 +1164,13 @@ The softlockup threshold is (2 * watchdog_thresh). Setting this
tunable to zero will disable lockup detection altogether.
==============================================================
@@ -833,6 +833,19 @@ index 1b8775298cf7..4f0a97784d35 100644
+ 2: Expire timeslice and recalculate deadline.
+
+==============================================================
+diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
+index 584a6e114853..2d497c3710f2 100644
+--- a/arch/alpha/Kconfig
++++ b/arch/alpha/Kconfig
+@@ -670,6 +670,8 @@ config HZ
+ default 1200 if HZ_1200
+ default 1024
+
++source "kernel/Kconfig.MuQSS"
++
+ config SRM_ENV
+ tristate "SRM environment through procfs"
+ depends on PROC_FS
diff --git a/arch/arc/configs/tb10x_defconfig b/arch/arc/configs/tb10x_defconfig
index e71ade3cf9c8..771f0bad7a3c 100644
--- a/arch/arc/configs/tb10x_defconfig
@@ -860,10 +873,10 @@ index bb6a35fb1dd7..ff58a38d0d5b 100644
CONFIG_KSM=y
CONFIG_CLEANCACHE=y
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
-index 1ad5736c8fa6..cf116a40dc1c 100644
+index 5586a5074a96..616816acae73 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
-@@ -44,6 +44,7 @@ CONFIG_PCI_MSI=y
+@@ -45,6 +45,7 @@ CONFIG_PCI_MSI=y
CONFIG_PCI_IMX6=y
CONFIG_SMP=y
CONFIG_ARM_PSCI=y
@@ -3660,152 +3673,153 @@ index 000000000000..425c24e43c34
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRC_CCITT=m
diff --git a/arch/mips/configs/fuloong2e_defconfig b/arch/mips/configs/fuloong2e_defconfig
-index 499f51498ecb..f7cb39b0662c 100644
+index 8bcb61a6ec15..6b0912ba544a 100644
--- a/arch/mips/configs/fuloong2e_defconfig
+++ b/arch/mips/configs/fuloong2e_defconfig
-@@ -2,7 +2,8 @@ CONFIG_MACH_LOONGSON64=y
- CONFIG_64BIT=y
+@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
- CONFIG_LOCALVERSION="-fuloong2e"
- # CONFIG_LOCALVERSION_AUTO is not set
- CONFIG_SYSVIPC=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
diff --git a/arch/mips/configs/gpr_defconfig b/arch/mips/configs/gpr_defconfig
-index 55438fc9991e..db03ef4f737d 100644
+index 9d9af5f923c3..acd27816d300 100644
--- a/arch/mips/configs/gpr_defconfig
+++ b/arch/mips/configs/gpr_defconfig
-@@ -1,7 +1,8 @@
- CONFIG_MIPS_ALCHEMY=y
- CONFIG_MIPS_GPR=y
- CONFIG_HIGH_RES_TIMERS=y
--CONFIG_PREEMPT_VOLUNTARY=y
+@@ -1,8 +1,8 @@
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
+ CONFIG_HIGH_RES_TIMERS=y
+-CONFIG_PREEMPT_VOLUNTARY=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_BSD_PROCESS_ACCT_V3=y
+ CONFIG_RELAY=y
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
-index 7ddfb4ef9479..93e439ad3fce 100644
+index ff40fbc2f439..2bca2257a8bb 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_defconfig
-@@ -4,7 +4,8 @@ CONFIG_CPU_R5000=y
+@@ -1,7 +1,7 @@
+ CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
- CONFIG_HZ_1000=y
-CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
- CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
diff --git a/arch/mips/configs/ip28_defconfig b/arch/mips/configs/ip28_defconfig
-index d0a4c2cfacf8..6f0600e99c25 100644
+index 0921ef38e9fb..6da05cef46f8 100644
--- a/arch/mips/configs/ip28_defconfig
+++ b/arch/mips/configs/ip28_defconfig
-@@ -1,6 +1,7 @@
- CONFIG_SGI_IP28=y
- CONFIG_ARC_CONSOLE=y
+@@ -1,5 +1,5 @@
+ CONFIG_SYSVIPC=y
-CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
- CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
diff --git a/arch/mips/configs/jazz_defconfig b/arch/mips/configs/jazz_defconfig
-index 9ad1c94376c8..1d62ce7ff5dc 100644
+index 328d4dfeb4cb..e17cb23173ea 100644
--- a/arch/mips/configs/jazz_defconfig
+++ b/arch/mips/configs/jazz_defconfig
-@@ -1,6 +1,7 @@
- CONFIG_MACH_JAZZ=y
- CONFIG_OLIVETTI_M700=y
--CONFIG_PREEMPT_VOLUNTARY=y
+@@ -1,6 +1,6 @@
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
+-CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
diff --git a/arch/mips/configs/mtx1_defconfig b/arch/mips/configs/mtx1_defconfig
-index c3d0d0a6e044..aa3426d5f7d7 100644
+index 16bef819fe98..a426aeb3a603 100644
--- a/arch/mips/configs/mtx1_defconfig
+++ b/arch/mips/configs/mtx1_defconfig
-@@ -1,6 +1,7 @@
- CONFIG_MIPS_ALCHEMY=y
- CONFIG_MIPS_MTX1=y
--CONFIG_PREEMPT_VOLUNTARY=y
+@@ -1,8 +1,8 @@
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
+ CONFIG_AUDIT=y
+-CONFIG_PREEMPT_VOLUNTARY=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_BSD_PROCESS_ACCT_V3=y
+ CONFIG_RELAY=y
diff --git a/arch/mips/configs/nlm_xlr_defconfig b/arch/mips/configs/nlm_xlr_defconfig
-index c4477a4d40c1..95caf0af665f 100644
+index 4ecb157e56d4..ea7309283b01 100644
--- a/arch/mips/configs/nlm_xlr_defconfig
+++ b/arch/mips/configs/nlm_xlr_defconfig
-@@ -5,7 +5,7 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
- CONFIG_SMP=y
+@@ -1,10 +1,10 @@
++CONFIG_PREEMPT=y
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_AUDIT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
-CONFIG_PREEMPT_VOLUNTARY=y
-+CONFIG_PREEMPT=y
- CONFIG_KEXEC=y
- CONFIG_CROSS_COMPILE=""
- # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_BSD_PROCESS_ACCT_V3=y
+ CONFIG_TASKSTATS=y
diff --git a/arch/mips/configs/pic32mzda_defconfig b/arch/mips/configs/pic32mzda_defconfig
-index 41190c2036e6..3728897ab2b2 100644
+index 63fe2da1b37f..7f08ee237345 100644
--- a/arch/mips/configs/pic32mzda_defconfig
+++ b/arch/mips/configs/pic32mzda_defconfig
@@ -1,7 +1,7 @@
- CONFIG_MACH_PIC32=y
- CONFIG_DTB_PIC32_MZDA_SK=y
- CONFIG_HZ_100=y
--CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_PREEMPT=y
- # CONFIG_SECCOMP is not set
CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
+ CONFIG_HIGH_RES_TIMERS=y
+-CONFIG_PREEMPT_VOLUNTARY=y
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
diff --git a/arch/mips/configs/pistachio_defconfig b/arch/mips/configs/pistachio_defconfig
-index b22a3cf149b6..cfffca3d37f4 100644
+index 2f08d071ada6..11118f5f507a 100644
--- a/arch/mips/configs/pistachio_defconfig
+++ b/arch/mips/configs/pistachio_defconfig
-@@ -5,7 +5,7 @@ CONFIG_MIPS_CPS=y
- CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
- CONFIG_ZSMALLOC=y
- CONFIG_NR_CPUS=4
--CONFIG_PREEMPT_VOLUNTARY=y
+@@ -1,9 +1,9 @@
+CONFIG_PREEMPT=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_DEFAULT_HOSTNAME="localhost"
CONFIG_SYSVIPC=y
-diff --git a/arch/mips/configs/pnx8335_stb225_defconfig b/arch/mips/configs/pnx8335_stb225_defconfig
-index e73cdb08fc6e..dc62fa8d6065 100644
---- a/arch/mips/configs/pnx8335_stb225_defconfig
-+++ b/arch/mips/configs/pnx8335_stb225_defconfig
-@@ -3,7 +3,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
- CONFIG_HZ_128=y
-CONFIG_PREEMPT_VOLUNTARY=y
+ CONFIG_IKCONFIG=m
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=18
+diff --git a/arch/mips/configs/pnx8335_stb225_defconfig b/arch/mips/configs/pnx8335_stb225_defconfig
+index aa0b169800e0..d2177f598a1d 100644
+--- a/arch/mips/configs/pnx8335_stb225_defconfig
++++ b/arch/mips/configs/pnx8335_stb225_defconfig
+@@ -1,9 +1,9 @@
+CONFIG_PREEMPT=y
- # CONFIG_SECCOMP is not set
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
+ CONFIG_SYSVIPC=y
+ CONFIG_NO_HZ=y
+ CONFIG_HIGH_RES_TIMERS=y
+-CONFIG_PREEMPT_VOLUNTARY=y
+ CONFIG_LOG_BUF_SHIFT=14
+ CONFIG_EXPERT=y
+ CONFIG_SLAB=y
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig
-index 5f71aa598b06..767f1999ead0 100644
+index 0f4b09f8a0ee..6ba5086f6dff 100644
--- a/arch/mips/configs/rm200_defconfig
+++ b/arch/mips/configs/rm200_defconfig
-@@ -2,7 +2,8 @@ CONFIG_SNI_RM=y
- CONFIG_CPU_LITTLE_ENDIAN=y
- CONFIG_ARC_CONSOLE=y
- CONFIG_HZ_1000=y
--CONFIG_PREEMPT_VOLUNTARY=y
+@@ -1,6 +1,6 @@
+CONFIG_PREEMPT=y
-+CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
+-CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_BSD_PROCESS_ACCT=y
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
diff --git a/arch/parisc/configs/712_defconfig b/arch/parisc/configs/712_defconfig
index ccc109761f44..a6a5b0b7a9c9 100644
--- a/arch/parisc/configs/712_defconfig
@@ -3845,6 +3859,19 @@ index 52c9050a7c5c..8d86d2e989f4 100644
CONFIG_IOMMU_CCIO=y
CONFIG_GSC_LASI=y
CONFIG_GSC_WAX=y
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index 2890d36eb531..deeedd7f4de8 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -772,6 +772,8 @@ config SCHED_SMT
+ when dealing with POWER5 cpus at a cost of slightly increased
+ overhead in some places. If unsure say N here.
+
++source "kernel/Kconfig.MuQSS"
++
+ config PPC_DENORMALISATION
+ bool "PowerPC denormalisation exception handling"
+ depends on PPC_BOOK3S_64
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
new file mode 100644
index 000000000000..04fee07ea6c5
@@ -4241,7 +4268,7 @@ index 000000000000..04fee07ea6c5
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
-index 7ee736f20774..8663c0043a56 100644
+index 53687c3a70c4..33bc9f4d70ff 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -74,7 +74,7 @@ CONFIG_QE_GPIO=y
@@ -5359,10 +5386,10 @@ index 000000000000..e8c4003cbd81
+CONFIG_CRC_CCITT=m
+CONFIG_CRC7=m
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 8689e794a43c..6f3519674169 100644
+index 68261430fe6e..f4d18b103270 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1002,6 +1002,22 @@ config NR_CPUS
+@@ -1018,6 +1018,22 @@ config NR_CPUS
config SCHED_SMT
def_bool y if SMP
@@ -5385,105 +5412,16 @@ index 8689e794a43c..6f3519674169 100644
config SCHED_MC
def_bool y
prompt "Multi-core scheduler support"
-@@ -1032,6 +1048,97 @@ config SCHED_MC_PRIO
+@@ -1048,6 +1064,8 @@ config SCHED_MC_PRIO
If unsure say Y here.
-+choice
-+ prompt "CPU scheduler runqueue sharing"
-+ default RQ_MC if SCHED_MUQSS
-+ default RQ_NONE
-+
-+config RQ_NONE
-+ bool "No sharing"
-+ help
-+ This is the default behaviour where the CPU scheduler has one runqueue
-+ per CPU, whether it is a physical or logical CPU (hyperthread).
-+
-+ This can still be enabled runtime with the boot parameter
-+ rqshare=none
-+
-+ If unsure, say N.
-+
-+config RQ_SMT
-+ bool "SMT (hyperthread) siblings"
-+ depends on SCHED_SMT && SCHED_MUQSS
-+
-+ help
-+ With this option enabled, the CPU scheduler will have one runqueue
-+ shared by SMT (hyperthread) siblings. As these logical cores share
-+ one physical core, sharing the runqueue resource can lead to decreased
-+ overhead, lower latency and higher throughput.
-+
-+ This can still be enabled runtime with the boot parameter
-+ rqshare=smt
-+
-+ If unsure, say N.
-+
-+config RQ_MC
-+ bool "Multicore siblings"
-+ depends on SCHED_MC && SCHED_MUQSS
-+ help
-+ With this option enabled, the CPU scheduler will have one runqueue
-+ shared by multicore siblings in addition to any SMT siblings.
-+ As these physical cores share caches, sharing the runqueue resource
-+ will lead to lower latency, but its effects on overhead and throughput
-+ are less predictable. As a general rule, 6 or fewer cores will likely
-+ benefit from this, while larger CPUs will only derive a latency
-+ benefit. If your workloads are primarily single threaded, this will
-+ possibly worsen throughput. If you are only concerned about latency
-+ then enable this regardless of how many cores you have.
-+
-+ This can still be enabled runtime with the boot parameter
-+ rqshare=mc
-+
-+ If unsure, say Y.
-+
-+config RQ_SMP
-+ bool "Symmetric Multi-Processing"
-+ depends on SMP && SCHED_MUQSS
-+ help
-+ With this option enabled, the CPU scheduler will have one runqueue
-+ shared by all physical CPUs unless they are on separate NUMA nodes.
-+ As physical CPUs usually do not share resources, sharing the runqueue
-+ will normally worsen throughput but improve latency. If you only
-+ care about latency enable this.
-+
-+ This can still be enabled runtime with the boot parameter
-+ rqshare=smp
-+
-+ If unsure, say N.
-+
-+config RQ_ALL
-+ bool "NUMA"
-+ depends on SMP && SCHED_MUQSS
-+ help
-+ With this option enabled, the CPU scheduler will have one runqueue
-+ regardless of the architecture configuration, including across NUMA
-+ nodes. This can substantially decrease throughput in NUMA
-+ configurations, but light NUMA designs will not be dramatically
-+ affected. This option should only be chosen if latency is the prime
-+ concern.
-+
-+ This can still be enabled runtime with the boot parameter
-+ rqshare=all
-+
-+ If unsure, say N.
-+endchoice
-+
-+config SHARERQ
-+ int
-+ default 0 if RQ_NONE
-+ default 1 if RQ_SMT
-+ default 2 if RQ_MC
-+ default 3 if RQ_SMP
-+ default 4 if RQ_ALL
-+
++source "kernel/Kconfig.MuQSS"
+
config UP_LATE_INIT
def_bool y
depends on !SMP && X86_LOCAL_APIC
-@@ -1393,7 +1500,7 @@ config HIGHMEM64G
+@@ -1409,7 +1427,7 @@ config HIGHMEM64G
endchoice
choice
@@ -5492,7 +5430,7 @@ index 8689e794a43c..6f3519674169 100644
default VMSPLIT_3G
depends on X86_32
---help---
-@@ -1413,17 +1520,17 @@ choice
+@@ -1429,17 +1447,17 @@ choice
option alone!
config VMSPLIT_3G
@@ -5516,7 +5454,7 @@ index 8689e794a43c..6f3519674169 100644
config PAGE_OFFSET
diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
-index 6c3ab05c231d..264b756b11e6 100644
+index 4bb95d7ad947..1a144867d9d5 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -41,7 +41,7 @@ CONFIG_SMP=y
@@ -5529,7 +5467,7 @@ index 6c3ab05c231d..264b756b11e6 100644
CONFIG_X86_MCE=y
CONFIG_X86_REBOOTFIXUPS=y
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
-index ac9ae487cfeb..a229a3588dac 100644
+index 0fed049422a8..41236eed0fcb 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -40,7 +40,7 @@ CONFIG_SMP=y
@@ -5586,10 +5524,10 @@ index f036c8f98ea3..6492d10f78d4 100644
if (qcadev->btsoc_type == QCA_WCN3990)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
-index a74ce885b541..c86b80418bc6 100644
+index c518659b4d9f..c9387b548b38 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
-@@ -3450,7 +3450,7 @@ static void cleanup_smi_msgs(struct ipmi_smi *intf)
+@@ -3452,7 +3452,7 @@ static void cleanup_smi_msgs(struct ipmi_smi *intf)
/* Current message first, to preserve order */
while (intf->curr_msg && !list_empty(&intf->waiting_rcv_msgs)) {
/* Wait for the message to clear out. */
@@ -5599,10 +5537,10 @@ index a74ce885b541..c86b80418bc6 100644
/* No need for locks, the interface is down. */
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
-index ca9528c4f183..765b2506f919 100644
+index b7a1ae2afaea..d5ce2cd8c695 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
-@@ -1211,7 +1211,7 @@ static void shutdown_ssif(void *send_info)
+@@ -1220,7 +1220,7 @@ static void shutdown_ssif(void *send_info)
/* make sure the driver is not looking for flags any more. */
while (ssif_info->ssif_state != SSIF_NORMAL)
@@ -5757,10 +5695,10 @@ index f752f3993687..23372af61ebf 100644
}
diff --git a/drivers/media/pci/ivtv/ivtv-ioctl.c b/drivers/media/pci/ivtv/ivtv-ioctl.c
-index a66f8b872520..f6404a3af0a5 100644
+index 6c269ecd8d05..69becedee614 100644
--- a/drivers/media/pci/ivtv/ivtv-ioctl.c
+++ b/drivers/media/pci/ivtv/ivtv-ioctl.c
-@@ -1155,7 +1155,7 @@ void ivtv_s_std_dec(struct ivtv *itv, v4l2_std_id std)
+@@ -1156,7 +1156,7 @@ void ivtv_s_std_dec(struct ivtv *itv, v4l2_std_id std)
TASK_UNINTERRUPTIBLE);
if ((read_reg(IVTV_REG_DEC_LINE_FIELD) >> 16) < 100)
break;
@@ -5874,10 +5812,10 @@ index 13238a72a338..fc51ae55c63f 100644
return err;
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
-index 77d3c85febf1..1c8f9592a88b 100644
+index e96bc0c6140f..153269fea2fd 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2670,7 +2670,7 @@ static void lan78xx_terminate_urbs(struct lan78xx_net *dev)
+@@ -2675,7 +2675,7 @@ static void lan78xx_terminate_urbs(struct lan78xx_net *dev)
while (!skb_queue_empty(&dev->rxq) &&
!skb_queue_empty(&dev->txq) &&
!skb_queue_empty(&dev->done)) {
@@ -5900,7 +5838,7 @@ index 504282af27e5..da60ab9b56c7 100644
spin_lock_irqsave(&q->lock, flags);
}
diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-index 910db46db6a1..497b01ab32d4 100644
+index 52e5ed2d3bc2..7d72a8b62700 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
@@ -830,7 +830,7 @@ static int ipw2100_hw_send_command(struct ipw2100_priv *priv,
@@ -5948,7 +5886,7 @@ index 5d41dda6da4e..34705f6b423f 100644
}
else
diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
-index 225638a1b09e..fd6e157161ea 100644
+index bffe548187ee..c2918ee3e100 100644
--- a/drivers/platform/x86/intel_ips.c
+++ b/drivers/platform/x86/intel_ips.c
@@ -798,7 +798,7 @@ static int ips_adjust(void *data)
@@ -6019,7 +5957,7 @@ index 483c7993516b..fddbaa475066 100644
if (rtc_ctrl & WM8350_RTC_ALMSTS)
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
-index 96acfcecd540..8c9ae51d98c2 100644
+index cafbcfb85bfa..171c6a323ff8 100644
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -217,7 +217,7 @@ int fnic_fw_reset_handler(struct fnic *fnic)
@@ -6041,10 +5979,10 @@ index 96acfcecd540..8c9ae51d98c2 100644
/* walk again to check, if IOs are still pending in fw */
if (fnic_is_abts_pending(fnic, lr_sc))
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
-index 4fa6703a9ec9..24740cdfc096 100644
+index b4f1a840b3b4..d83f8e2c13af 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
-@@ -5211,7 +5211,7 @@ lpfc_reset_flush_io_context(struct lpfc_vport *vport, uint16_t tgt_id,
+@@ -5310,7 +5310,7 @@ lpfc_reset_flush_io_context(struct lpfc_vport *vport, uint16_t tgt_id,
tgt_id, lun_id, context);
later = msecs_to_jiffies(2 * vport->cfg_devloss_tmo * 1000) + jiffies;
while (time_after(later, jiffies) && cnt) {
@@ -6512,10 +6450,10 @@ index 000000000000..8cca151741b2
+ return 0;
+}
diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c
-index 69e6abe14abf..7d23e214ac21 100644
+index fa597953e9a0..685cf842badc 100644
--- a/drivers/staging/rts5208/rtsx.c
+++ b/drivers/staging/rts5208/rtsx.c
-@@ -507,7 +507,7 @@ static int rtsx_polling_thread(void *__dev)
+@@ -490,7 +490,7 @@ static int rtsx_polling_thread(void *__dev)
for (;;) {
set_current_state(TASK_INTERRUPTIBLE);
@@ -6525,7 +6463,7 @@ index 69e6abe14abf..7d23e214ac21 100644
/* lock the device pointers */
mutex_lock(&dev->dev_mutex);
diff --git a/drivers/staging/speakup/speakup_acntpc.c b/drivers/staging/speakup/speakup_acntpc.c
-index 28519754b2f0..a96805bbec5c 100644
+index c94328a5bd4a..6e7d4671aa69 100644
--- a/drivers/staging/speakup/speakup_acntpc.c
+++ b/drivers/staging/speakup/speakup_acntpc.c
@@ -198,7 +198,7 @@ static void do_catch_up(struct spk_synth *synth)
@@ -6573,7 +6511,7 @@ index 3741c0fcf5bb..bff857b4aa5f 100644
}
set_current_state(TASK_RUNNING);
diff --git a/drivers/staging/speakup/speakup_decpc.c b/drivers/staging/speakup/speakup_decpc.c
-index 6649309e0342..c60e4712d817 100644
+index 459ee0c0bd57..52b539544c98 100644
--- a/drivers/staging/speakup/speakup_decpc.c
+++ b/drivers/staging/speakup/speakup_decpc.c
@@ -394,7 +394,7 @@ static void do_catch_up(struct spk_synth *synth)
@@ -6621,10 +6559,10 @@ index dbebed0eeeec..6d83c13ca4a6 100644
}
}
diff --git a/drivers/staging/speakup/speakup_keypc.c b/drivers/staging/speakup/speakup_keypc.c
-index 3901734982a4..4e8a7a98b46d 100644
+index b788272da4f9..d5dac16c04d8 100644
--- a/drivers/staging/speakup/speakup_keypc.c
+++ b/drivers/staging/speakup/speakup_keypc.c
-@@ -199,7 +199,7 @@ spin_lock_irqsave(&speakup_info.spinlock, flags);
+@@ -199,7 +199,7 @@ static void do_catch_up(struct spk_synth *synth)
full_time_val = full_time->u.n.value;
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
if (synth_full()) {
@@ -6633,7 +6571,7 @@ index 3901734982a4..4e8a7a98b46d 100644
continue;
}
set_current_state(TASK_RUNNING);
-@@ -232,7 +232,7 @@ spin_lock_irqsave(&speakup_info.spinlock, flags);
+@@ -232,7 +232,7 @@ static void do_catch_up(struct spk_synth *synth)
jiffy_delta_val = jiffy_delta->u.n.value;
delay_time_val = delay_time->u.n.value;
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
@@ -6676,7 +6614,7 @@ index 25f259ee4ffc..b9721103e651 100644
}
set_current_state(TASK_RUNNING);
diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
-index 3647b8f1ed28..9fb26ccc2b3b 100644
+index 5eeb4b93b45b..9c49e03d0b0e 100644
--- a/drivers/staging/unisys/visornic/visornic_main.c
+++ b/drivers/staging/unisys/visornic/visornic_main.c
@@ -549,7 +549,7 @@ static int visornic_disable_with_timeout(struct net_device *netdev,
@@ -6720,7 +6658,7 @@ index 6199d4806193..7c7165f2dad4 100644
hwa742_set_update_mode(hwa742.update_mode_before_suspend);
}
diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
-index bbed039617a4..681ae041ea77 100644
+index d59c8a59f582..e103cce28de7 100644
--- a/drivers/video/fbdev/pxafb.c
+++ b/drivers/video/fbdev/pxafb.c
@@ -1287,7 +1287,7 @@ static int pxafb_smart_thread(void *arg)
@@ -6733,10 +6671,10 @@ index bbed039617a4..681ae041ea77 100644
pr_debug("%s(): task ending\n", __func__);
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
-index a1febf155747..9321458b6e89 100644
+index d81035b7ea7d..95e2e25133f2 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
-@@ -5937,7 +5937,7 @@ int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes)
+@@ -6147,7 +6147,7 @@ int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes)
flush = BTRFS_RESERVE_FLUSH_LIMIT;
if (btrfs_transaction_in_commit(fs_info))
@@ -6759,7 +6697,7 @@ index ffca2abf13d0..89b2a7f7397e 100644
} else
continue;
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index ce3465479447..95567e7a25dc 100644
+index f5ed9512d193..42bf4ae51b41 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -459,7 +459,7 @@ static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns,
@@ -6800,7 +6738,7 @@ index a7083a45a26c..c0fae13d6fc0 100644
/* Attach to the init_task data structure for proper alignment */
#ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
diff --git a/include/linux/ioprio.h b/include/linux/ioprio.h
-index 9e30ed6443db..7d6e7e7cdf9f 100644
+index e9bfe6972aed..16ba1c7e5bde 100644
--- a/include/linux/ioprio.h
+++ b/include/linux/ioprio.h
@@ -53,6 +53,8 @@ enum {
@@ -6813,7 +6751,7 @@ index 9e30ed6443db..7d6e7e7cdf9f 100644
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 291a9bd5b97f..5b28a41d399e 100644
+index f9b43c989577..e1efe14a940d 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -29,6 +29,9 @@
@@ -6869,7 +6807,7 @@ index 291a9bd5b97f..5b28a41d399e 100644
asmlinkage void schedule(void);
extern void schedule_preempt_disabled(void);
-@@ -610,9 +640,11 @@ struct task_struct {
+@@ -612,9 +642,11 @@ struct task_struct {
unsigned int flags;
unsigned int ptrace;
@@ -6882,7 +6820,7 @@ index 291a9bd5b97f..5b28a41d399e 100644
#ifdef CONFIG_THREAD_INFO_IN_TASK
/* Current CPU: */
unsigned int cpu;
-@@ -637,10 +669,25 @@ struct task_struct {
+@@ -639,10 +671,25 @@ struct task_struct {
int static_prio;
int normal_prio;
unsigned int rt_priority;
@@ -6908,7 +6846,7 @@ index 291a9bd5b97f..5b28a41d399e 100644
#ifdef CONFIG_CGROUP_SCHED
struct task_group *sched_task_group;
#endif
-@@ -801,6 +848,10 @@ struct task_struct {
+@@ -797,6 +844,10 @@ struct task_struct {
#ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
u64 utimescaled;
u64 stimescaled;
@@ -6919,7 +6857,7 @@ index 291a9bd5b97f..5b28a41d399e 100644
#endif
u64 gtime;
struct prev_cputime prev_cputime;
-@@ -1223,6 +1274,40 @@ struct task_struct {
+@@ -1219,6 +1270,40 @@ struct task_struct {
*/
};
@@ -7023,10 +6961,10 @@ index e5af028c08b4..010b2244e0b6 100644
}
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
-index 108ede99e533..21f53ec1bb1f 100644
+index 44c6f15800ff..4fed33ea8d39 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
-@@ -80,7 +80,7 @@ extern long kernel_wait4(pid_t, int __user *, int, struct rusage *);
+@@ -82,7 +82,7 @@ extern long kernel_wait4(pid_t, int __user *, int, struct rusage *);
extern void free_task(struct task_struct *tsk);
/* sched_exec is called by processes performing an exec */
@@ -7097,10 +7035,10 @@ index 22627f80063e..17077cd6fc40 100644
/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
#define SCHED_RESET_ON_FORK 0x40000000
diff --git a/init/Kconfig b/init/Kconfig
-index ed9352513c32..f6b7f26ec002 100644
+index c9386a365eea..7d7c64cd038d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -45,6 +45,18 @@ config THREAD_INFO_IN_TASK
+@@ -48,6 +48,18 @@ config THREAD_INFO_IN_TASK
menu "General setup"
@@ -7119,7 +7057,7 @@ index ed9352513c32..f6b7f26ec002 100644
config BROKEN
bool
-@@ -680,6 +692,7 @@ config NUMA_BALANCING
+@@ -685,6 +697,7 @@ config NUMA_BALANCING
depends on ARCH_SUPPORTS_NUMA_BALANCING
depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
depends on SMP && NUMA && MIGRATION
@@ -7127,7 +7065,7 @@ index ed9352513c32..f6b7f26ec002 100644
help
This option adds support for automatic NUMA aware memory/task placement.
The mechanism is quite primitive and is based on migrating memory when
-@@ -787,9 +800,13 @@ menuconfig CGROUP_SCHED
+@@ -792,9 +805,13 @@ menuconfig CGROUP_SCHED
help
This feature lets CPU scheduler recognize task groups and control CPU
bandwidth allocation to such task groups. It uses cgroups to group
@@ -7143,7 +7081,7 @@ index ed9352513c32..f6b7f26ec002 100644
config FAIR_GROUP_SCHED
bool "Group scheduling for SCHED_OTHER"
depends on CGROUP_SCHED
-@@ -896,6 +913,7 @@ config CGROUP_DEVICE
+@@ -901,6 +918,7 @@ config CGROUP_DEVICE
config CGROUP_CPUACCT
bool "Simple CPU accounting controller"
@@ -7151,7 +7089,7 @@ index ed9352513c32..f6b7f26ec002 100644
help
Provides a simple controller for monitoring the
total CPU consumed by the tasks in a cgroup.
-@@ -1014,6 +1032,7 @@ config CHECKPOINT_RESTORE
+@@ -1019,6 +1037,7 @@ config CHECKPOINT_RESTORE
config SCHED_AUTOGROUP
bool "Automatic process group scheduling"
@@ -7198,10 +7136,10 @@ index 5aebe3be4d7c..2b576d3b2333 100644
#ifdef CONFIG_SMP
.pushable_tasks = PLIST_NODE_INIT(init_task.pushable_tasks, MAX_PRIO),
diff --git a/init/main.c b/init/main.c
-index ee147103ba1b..82ae377e8fab 100644
+index c86a1c8f19f4..2bf8260f5d06 100644
--- a/init/main.c
+++ b/init/main.c
-@@ -1086,6 +1086,8 @@ static int __ref kernel_init(void *unused)
+@@ -1069,6 +1069,8 @@ static int __ref kernel_init(void *unused)
rcu_end_inkernel_boot();
@@ -7210,6 +7148,101 @@ index ee147103ba1b..82ae377e8fab 100644
if (ramdisk_execute_command) {
ret = run_init_process(ramdisk_execute_command);
if (!ret)
+diff --git a/kernel/Kconfig.MuQSS b/kernel/Kconfig.MuQSS
+new file mode 100644
+index 000000000000..558a7cb02cb9
+--- /dev/null
++++ b/kernel/Kconfig.MuQSS
+@@ -0,0 +1,89 @@
++choice
++ prompt "CPU scheduler runqueue sharing"
++ default RQ_MC if SCHED_MUQSS
++ default RQ_NONE
++
++config RQ_NONE
++ bool "No sharing"
++ help
++ This is the default behaviour where the CPU scheduler has one runqueue
++ per CPU, whether it is a physical or logical CPU (hyperthread).
++
++ This can still be enabled runtime with the boot parameter
++ rqshare=none
++
++ If unsure, say N.
++
++config RQ_SMT
++ bool "SMT (hyperthread) siblings"
++ depends on SCHED_SMT && SCHED_MUQSS
++
++ help
++ With this option enabled, the CPU scheduler will have one runqueue
++ shared by SMT (hyperthread) siblings. As these logical cores share
++ one physical core, sharing the runqueue resource can lead to decreased
++ overhead, lower latency and higher throughput.
++
++ This can still be enabled runtime with the boot parameter
++ rqshare=smt
++
++ If unsure, say N.
++
++config RQ_MC
++ bool "Multicore siblings"
++ depends on SCHED_MC && SCHED_MUQSS
++ help
++ With this option enabled, the CPU scheduler will have one runqueue
++ shared by multicore siblings in addition to any SMT siblings.
++ As these physical cores share caches, sharing the runqueue resource
++ will lead to lower latency, but its effects on overhead and throughput
++ are less predictable. As a general rule, 6 or fewer cores will likely
++ benefit from this, while larger CPUs will only derive a latency
++ benefit. If your workloads are primarily single threaded, this will
++ possibly worsen throughput. If you are only concerned about latency
++ then enable this regardless of how many cores you have.
++
++ This can still be enabled runtime with the boot parameter
++ rqshare=mc
++
++ If unsure, say Y.
++
++config RQ_SMP
++ bool "Symmetric Multi-Processing"
++ depends on SMP && SCHED_MUQSS
++ help
++ With this option enabled, the CPU scheduler will have one runqueue
++ shared by all physical CPUs unless they are on separate NUMA nodes.
++ As physical CPUs usually do not share resources, sharing the runqueue
++ will normally worsen throughput but improve latency. If you only
++ care about latency enable this.
++
++ This can still be enabled runtime with the boot parameter
++ rqshare=smp
++
++ If unsure, say N.
++
++config RQ_ALL
++ bool "NUMA"
++ depends on SMP && SCHED_MUQSS
++ help
++ With this option enabled, the CPU scheduler will have one runqueue
++ regardless of the architecture configuration, including across NUMA
++ nodes. This can substantially decrease throughput in NUMA
++ configurations, but light NUMA designs will not be dramatically
++ affected. This option should only be chosen if latency is the prime
++ concern.
++
++ This can still be enabled runtime with the boot parameter
++ rqshare=all
++
++ If unsure, say N.
++endchoice
++
++config SHARERQ
++ int
++ default 0 if RQ_NONE
++ default 1 if RQ_SMT
++ default 2 if RQ_MC
++ default 3 if RQ_SMP
++ default 4 if RQ_ALL
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
index 2a202a846757..1806fcac8f14 100644
--- a/kernel/Kconfig.hz
@@ -7279,7 +7312,7 @@ index 2a202a846757..1806fcac8f14 100644
config SCHED_HRTICK
def_bool HIGH_RES_TIMERS
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
-index cd1655122ec0..9cf10230d5fb 100644
+index 0fee5fe6c899..9cf10230d5fb 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -1,7 +1,7 @@
@@ -7310,15 +7343,8 @@ index cd1655122ec0..9cf10230d5fb 100644
config PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)"
-@@ -57,4 +58,4 @@ config PREEMPT
- endchoice
-
- config PREEMPT_COUNT
-- bool
-\ No newline at end of file
-+ bool
diff --git a/kernel/Makefile b/kernel/Makefile
-index 7343b3a9bff0..43ef9cdfad51 100644
+index 6aa7543bcdb2..84fd615d2113 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -10,7 +10,7 @@ obj-y = fork.o exec_domain.o panic.o \
@@ -7344,7 +7370,7 @@ index 2a12b988c717..dba268ca115f 100644
d->cpu_count += t1;
diff --git a/kernel/exit.c b/kernel/exit.c
-index 0e21e6d21f35..81d3e2a398d3 100644
+index 2639a30a8aa5..40fe20e71553 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -130,7 +130,7 @@ static void __exit_signal(struct task_struct *tsk)
@@ -7394,7 +7420,7 @@ index 5f3e2baefca9..de3e5740679b 100644
bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
---help---
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
-index 9dbdccab3b6a..fa7821e0221e 100644
+index 84b54a17b95d..4fc495778919 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -23,9 +23,20 @@
@@ -7467,7 +7493,7 @@ index 087d18d771b5..fdddd187774a 100644
set_bit(KTHREAD_IS_PER_CPU, &to_kthread(p)->flags);
to_kthread(p)->cpu = cpu;
diff --git a/kernel/livepatch/transition.c b/kernel/livepatch/transition.c
-index 5bc349805e03..5572917ed7ce 100644
+index 304d5eb8a98c..3eb871ff5132 100644
--- a/kernel/livepatch/transition.c
+++ b/kernel/livepatch/transition.c
@@ -298,7 +298,7 @@ static int klp_check_stack(struct task_struct *task, char *err_buf)
@@ -7511,10 +7537,10 @@ index 939a2056c87a..242f7e491e8d 100644
The major pre-requirement for full dynticks to work is to
support the context tracking subsystem. But there are also
diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
-index 21fb5a5662b5..ced9f319a02f 100644
+index 21fb5a5662b5..a04ffebc6b7a 100644
--- a/kernel/sched/Makefile
+++ b/kernel/sched/Makefile
-@@ -16,6 +16,18 @@ ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
+@@ -16,15 +16,23 @@ ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
endif
@@ -7524,26 +7550,27 @@ index 21fb5a5662b5..ced9f319a02f 100644
+obj-y += wait.o wait_bit.o swait.o completion.o
+
+obj-$(CONFIG_SMP) += topology.o
-+obj-$(CONFIG_SCHEDSTATS) += stats.o
-+obj-$(CONFIG_CPU_FREQ) += cpufreq.o
-+obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
-+obj-$(CONFIG_CPU_ISOLATION) += isolation.o
-+obj-$(CONFIG_PSI) += psi.o
+else
obj-y += core.o loadavg.o clock.o cputime.o
obj-y += idle.o fair.o rt.o deadline.o
obj-y += wait.o wait_bit.o swait.o completion.o
-@@ -30,3 +42,4 @@ obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
- obj-$(CONFIG_MEMBARRIER) += membarrier.o
- obj-$(CONFIG_CPU_ISOLATION) += isolation.o
- obj-$(CONFIG_PSI) += psi.o
+
+ obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o topology.o stop_task.o pelt.o
+ obj-$(CONFIG_SCHED_AUTOGROUP) += autogroup.o
+-obj-$(CONFIG_SCHEDSTATS) += stats.o
+ obj-$(CONFIG_SCHED_DEBUG) += debug.o
+ obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
+endif
++obj-$(CONFIG_SCHEDSTATS) += stats.o
+ obj-$(CONFIG_CPU_FREQ) += cpufreq.o
+ obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
+ obj-$(CONFIG_MEMBARRIER) += membarrier.o
diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c
new file mode 100644
-index 000000000000..e8610b659791
+index 000000000000..5b094d9e0734
--- /dev/null
+++ b/kernel/sched/MuQSS.c
-@@ -0,0 +1,7437 @@
+@@ -0,0 +1,7438 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * kernel/sched/MuQSS.c, was kernel/sched.c
@@ -7657,7 +7684,7 @@ index 000000000000..e8610b659791
+
+void print_scheduler_version(void)
+{
-+ printk(KERN_INFO "MuQSS CPU scheduler v0.185 by Con Kolivas.\n");
++ printk(KERN_INFO "MuQSS CPU scheduler v0.190 by Con Kolivas.\n");
+}
+
+#define RQSHARE_NONE 0
@@ -7773,6 +7800,7 @@ index 000000000000..e8610b659791
+
+#ifdef CONFIG_SCHED_SMT
+DEFINE_STATIC_KEY_FALSE(sched_smt_present);
++EXPORT_SYMBOL_GPL(sched_smt_present);
+#endif
+
+#else
@@ -8063,6 +8091,18 @@ index 000000000000..e8610b659791
+#endif
+#endif
+
++/**
++ * wake_q_add() - queue a wakeup for 'later' waking.
++ * @head: the wake_q_head to add @task to
++ * @task: the task to queue for 'later' wakeup
++ *
++ * Queue a task for later wakeup, most likely by the wake_up_q() call in the
++ * same context, _HOWEVER_ this is not guaranteed, the wakeup can come
++ * instantly.
++ *
++ * This function must be used as-if it were wake_up_process(); IOW the task
++ * must be ready to be woken at this location.
++ */
+void wake_q_add(struct wake_q_head *head, struct task_struct *task)
+{
+ struct wake_q_node *node = &task->wake_q;
@@ -8072,10 +8112,11 @@ index 000000000000..e8610b659791
+ * its already queued (either by us or someone else) and will get the
+ * wakeup due to that.
+ *
-+ * This cmpxchg() executes a full barrier, which pairs with the full
-+ * barrier executed by the wakeup in wake_up_q().
++ * In order to ensure that a pending wakeup will observe our pending
++ * state, even in the failed case, an explicit smp_mb() must be used.
+ */
-+ if (cmpxchg(&node->next, NULL, WAKE_Q_TAIL))
++ smp_mb__before_atomic();
++ if (cmpxchg_relaxed(&node->next, NULL, WAKE_Q_TAIL))
+ return;
+
+ get_task_struct(task);
@@ -10382,7 +10423,7 @@ index 000000000000..e8610b659791
+ * preemption, thus the result might have a time-of-check-to-time-of-use
+ * race. The caller is responsible to use it correctly, for example:
+ *
-+ * - from a non-preemptable section (of course)
++ * - from a non-preemptible section (of course)
+ *
+ * - from a thread that is bound to a single CPU
+ *
@@ -11512,7 +11553,7 @@ index 000000000000..e8610b659791
+
+ switch_count = &prev->nivcsw;
+ if (!preempt && prev->state) {
-+ if (unlikely(signal_pending_state(prev->state, prev))) {
++ if (signal_pending_state(prev->state, prev)) {
+ prev->state = TASK_RUNNING;
+ } else {
+ deactivate = true;
@@ -12433,7 +12474,7 @@ index 000000000000..e8610b659791
+ u32 size;
+ int ret;
+
-+ if (!access_ok(VERIFY_WRITE, uattr, SCHED_ATTR_SIZE_VER0))
++ if (!access_ok(uattr, SCHED_ATTR_SIZE_VER0))
+ return -EFAULT;
+
+ /* Zero the full structure, so that a short copy will be nice: */
@@ -12641,7 +12682,7 @@ index 000000000000..e8610b659791
+{
+ int ret;
+
-+ if (!access_ok(VERIFY_WRITE, uattr, usize))
++ if (!access_ok(uattr, usize))
+ return -EFAULT;
+
+ /*
@@ -14129,7 +14170,7 @@ index 000000000000..e8610b659791
+ *
+ * Do sync before park smpboot threads to take care the rcu boost case.
+ */
-+ synchronize_rcu_mult(call_rcu, call_rcu_sched);
++ synchronize_rcu();
+
+ if (!sched_smp_initialized)
+ return 0;
@@ -14438,9 +14479,16 @@ index 000000000000..e8610b659791
+
+ for_each_possible_cpu(test_cpu) {
+ /* Work from each CPU up instead of every rq
-+ * starting at CPU 0 */
-+ other_cpu = test_cpu + cpu;
-+ other_cpu %= num_possible_cpus();
++ * starting at CPU 0. Orders are better matched
++ * if the top half CPUs count down instead. */
++ if (cpu < num_possible_cpus() / 2)
++ other_cpu = cpu + test_cpu;
++ else
++ other_cpu = cpu - test_cpu;
++ if (other_cpu < 0)
++ other_cpu += num_possible_cpus();
++ else
++ other_cpu %= num_possible_cpus();
+ other_rq = cpu_rq(other_cpu);
+
+ if (rq->cpu_locality[other_cpu] == locality) {
@@ -14827,26 +14875,6 @@ index 000000000000..e8610b659791
+{}
+#endif
+
-+#ifdef CONFIG_SMP
-+#define SCHED_LOAD_SHIFT (10)
-+#define SCHED_LOAD_SCALE (1L << SCHED_LOAD_SHIFT)
-+
-+unsigned long default_scale_freq_power(struct sched_domain *sd, int cpu)
-+{
-+ return SCHED_LOAD_SCALE;
-+}
-+
-+unsigned long default_scale_smt_power(struct sched_domain *sd, int cpu)
-+{
-+ unsigned long weight = cpumask_weight(sched_domain_span(sd));
-+ unsigned long smt_gain = sd->smt_gain;
-+
-+ smt_gain /= weight;
-+
-+ return smt_gain;
-+}
-+#endif
-+
+#ifdef CONFIG_CGROUP_SCHED
+static void sched_free_group(struct task_group *tg)
+{
@@ -14983,10 +15011,10 @@ index 000000000000..e8610b659791
+#undef CREATE_TRACE_POINTS
diff --git a/kernel/sched/MuQSS.h b/kernel/sched/MuQSS.h
new file mode 100644
-index 000000000000..78642f59b3f2
+index 000000000000..7dfef921a9ee
--- /dev/null
+++ b/kernel/sched/MuQSS.h
-@@ -0,0 +1,917 @@
+@@ -0,0 +1,950 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef MUQSS_SCHED_H
+#define MUQSS_SCHED_H
@@ -15013,11 +15041,14 @@ index 000000000000..78642f59b3f2
+#include <linux/cgroup.h>
+#include <linux/cpufreq.h>
+#include <linux/cpuidle.h>
++#include <linux/cpuset.h>
+#include <linux/ctype.h>
++#include <linux/energy_model.h>
+#include <linux/freezer.h>
+#include <linux/interrupt.h>
+#include <linux/kernel_stat.h>
+#include <linux/kthread.h>
++#include <linux/membarrier.h>
+#include <linux/livepatch.h>
+#include <linux/proc_fs.h>
+#include <linux/psi.h>
@@ -15027,6 +15058,7 @@ index 000000000000..78642f59b3f2
+#include <linux/stop_machine.h>
+#include <linux/suspend.h>
+#include <linux/swait.h>
++#include <linux/syscalls.h>
+#include <linux/tick.h>
+#include <linux/tsacct_kern.h>
+#include <linux/u64_stats_sync.h>
@@ -15056,6 +15088,16 @@ index 000000000000..78642f59b3f2
+ return arch_asym_cpu_priority(a) > arch_asym_cpu_priority(b);
+}
+
++struct perf_domain {
++ struct em_perf_domain *em_pd;
++ struct perf_domain *next;
++ struct rcu_head rcu;
++};
++
++/* Scheduling group status flags */
++#define SG_OVERLOAD 0x1 /* More than one runnable task on a CPU. */
++#define SG_OVERUTILIZED 0x2 /* One or more CPUs are over-utilized. */
++
+/*
+ * We add the notion of a root-domain which will be used to define per-domain
+ * variables. Each exclusive cpuset essentially defines an island domain by
@@ -15078,6 +15120,9 @@ index 000000000000..78642f59b3f2
+ */
+ int overload;
+
++ /* Indicate one or more cpus over-utilized (tipping point) */
++ int overutilized;
++
+ /*
+ * The bit corresponding to a CPU gets set here if such CPU has more
+ * than one runnable -deadline task (as it is below for RT tasks).
@@ -15099,6 +15144,12 @@ index 000000000000..78642f59b3f2
+ void *cpupri;
+
+ unsigned long max_cpu_capacity;
++
++ /*
++ * NULL-terminated list of performance domains intersecting with the
++ * CPUs of the rd. Protected by RCU.
++ */
++ struct perf_domain *pd;
+};
+
+extern struct root_domain def_root_domain;
@@ -15536,7 +15587,8 @@ index 000000000000..78642f59b3f2
+DECLARE_PER_CPU(int, sd_llc_id);
+DECLARE_PER_CPU(struct sched_domain_shared *, sd_llc_shared);
+DECLARE_PER_CPU(struct sched_domain *, sd_numa);
-+DECLARE_PER_CPU(struct sched_domain *, sd_asym);
++DECLARE_PER_CPU(struct sched_domain *, sd_asym_packing);
++DECLARE_PER_CPU(struct sched_domain *, sd_asym_cpucapacity);
+
+struct sched_group_capacity {
+ atomic_t ref;
@@ -15755,18 +15807,15 @@ index 000000000000..78642f59b3f2
+ return tsk_seruntime(t);
+}
+#else
-+struct rq *task_rq_lock(struct task_struct *p, unsigned long *flags);
-+void task_rq_unlock(struct rq *rq, struct task_struct *p, unsigned long *flags);
-+
+static inline u64 read_sum_exec_runtime(struct task_struct *t)
+{
-+ unsigned long flags;
++ struct rq_flags rf;
+ u64 ns;
+ struct rq *rq;
+
-+ rq = task_rq_lock(t, &flags);
++ rq = task_rq_lock(t, &rf);
+ ns = tsk_seruntime(t);
-+ task_rq_unlock(rq, t, &flags);
++ task_rq_unlock(rq, t, &rf);
+
+ return ns;
+}
@@ -15811,28 +15860,6 @@ index 000000000000..78642f59b3f2
+static inline void sched_update_tick_dependency(struct rq *rq) { }
+#endif
+
-+#ifdef CONFIG_SMP
-+
-+#ifndef arch_scale_cpu_capacity
-+static __always_inline
-+unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu)
-+{
-+ if (sd && (sd->flags & SD_SHARE_CPUCAPACITY) && (sd->span_weight > 1))
-+ return sd->smt_gain / sd->span_weight;
-+
-+ return SCHED_CAPACITY_SCALE;
-+}
-+#endif
-+#else
-+#ifndef arch_scale_cpu_capacity
-+static __always_inline
-+unsigned long arch_scale_cpu_capacity(void __always_unused *sd, int cpu)
-+{
-+ return SCHED_CAPACITY_SCALE;
-+}
-+#endif
-+#endif
-+
+#define SCHED_FLAG_SUGOV 0x10000000
+
+static inline bool rt_rq_is_runnable(struct rq *rt_rq)
@@ -15841,6 +15868,30 @@ index 000000000000..78642f59b3f2
+}
+
+#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
++/**
++ * enum schedutil_type - CPU utilization type
++ * @FREQUENCY_UTIL: Utilization used to select frequency
++ * @ENERGY_UTIL: Utilization used during energy calculation
++ *
++ * The utilization signals of all scheduling classes (CFS/RT/DL) and IRQ time
++ * need to be aggregated differently depending on the usage made of them. This
++ * enum is used within schedutil_freq_util() to differentiate the types of
++ * utilization expected by the callers, and adjust the aggregation accordingly.
++ */
++enum schedutil_type {
++ FREQUENCY_UTIL,
++ ENERGY_UTIL,
++};
++
++unsigned long schedutil_freq_util(int cpu, unsigned long util_cfs,
++ unsigned long max, enum schedutil_type type);
++
++static inline unsigned long schedutil_energy_util(int cpu, unsigned long cfs)
++{
++ unsigned long max = arch_scale_cpu_capacity(NULL, cpu);
++
++ return schedutil_freq_util(cpu, cfs, max, ENERGY_UTIL);
++}
+
+static inline unsigned long cpu_bw_dl(struct rq *rq)
+{
@@ -15903,12 +15954,22 @@ index 000000000000..78642f59b3f2
+#endif
+#endif
+
++#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
++#define perf_domain_span(pd) (to_cpumask(((pd)->em_pd->cpus)))
++#else
++#define perf_domain_span(pd) NULL
++#endif
++
++#ifdef CONFIG_SMP
++extern struct static_key_false sched_energy_present;
++#endif
++
+#endif /* MUQSS_SCHED_H */
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
-index 3fffad3bc8a8..6b24e37325ae 100644
+index 033ec7c45f13..6052f5cd4aaa 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
-@@ -177,6 +177,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
+@@ -175,6 +175,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
return cpufreq_driver_resolve_freq(policy, freq);
}
@@ -15921,16 +15982,16 @@ index 3fffad3bc8a8..6b24e37325ae 100644
/*
* This function computes an effective utilization for the given CPU, to be
* used for frequency selection given the linear relation: f = u * f_max.
-@@ -205,7 +211,7 @@ static unsigned long sugov_get_util(struct sugov_cpu *sg_cpu)
- sg_cpu->max = max = arch_scale_cpu_capacity(NULL, sg_cpu->cpu);
- sg_cpu->bw_dl = cpu_bw_dl(rq);
+@@ -201,7 +207,7 @@ unsigned long schedutil_freq_util(int cpu, unsigned long util_cfs,
+ unsigned long dl_util, util, irq;
+ struct rq *rq = cpu_rq(cpu);
-- if (rt_rq_is_runnable(&rq->rt))
-+ if (rt_rq_runnable(rq))
+- if (type == FREQUENCY_UTIL && rt_rq_is_runnable(&rq->rt))
++ if (type == FREQUENCY_UTIL && rt_rq_runnable(rq))
return max;
/*
-@@ -626,7 +632,11 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
+@@ -646,7 +652,11 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
struct task_struct *thread;
struct sched_attr attr = {
.size = sizeof(struct sched_attr),
@@ -15959,7 +16020,7 @@ index 7dc20a3232e7..e733a0a53b0a 100644
#endif
+#endif
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
-index 0796f938c4f0..adae86c2c889 100644
+index ba4a143bdcf3..31f21b389dbe 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -265,26 +265,6 @@ static inline u64 account_other_time(u64 max)
@@ -16047,7 +16108,7 @@ index f5516bae0c1b..c14cd1bcdbd0 100644
};
+#endif /* CONFIG_SCHED_MUQSS */
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
-index 4e524ab589c9..7d1309c5b238 100644
+index d04530bf251f..e0d4a0069808 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2,6 +2,19 @@
@@ -16070,9 +16131,9 @@ index 4e524ab589c9..7d1309c5b238 100644
#include <linux/sched.h>
#include <linux/sched/autogroup.h>
-@@ -2262,3 +2275,30 @@ unsigned long scale_irq_capacity(unsigned long util, unsigned long irq, unsigned
- return util;
- }
+@@ -2307,3 +2320,30 @@ unsigned long scale_irq_capacity(unsigned long util, unsigned long irq, unsigned
+ #ifdef CONFIG_SMP
+ extern struct static_key_false sched_energy_present;
#endif
+
+/* MuQSS compatibility functions */
@@ -16102,10 +16163,10 @@ index 4e524ab589c9..7d1309c5b238 100644
+#endif
+#endif /* CONFIG_SCHED_MUQSS */
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
-index 8d7f15ba5916..c76ebb593eea 100644
+index 3f35ba1d8fde..c2fdd67d747e 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
-@@ -219,7 +219,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
+@@ -413,7 +413,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
struct root_domain *old_rd = NULL;
unsigned long flags;
@@ -16117,7 +16178,7 @@ index 8d7f15ba5916..c76ebb593eea 100644
if (rq->rd) {
old_rd = rq->rd;
-@@ -245,7 +249,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
+@@ -439,7 +443,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
if (cpumask_test_cpu(rq->cpu, cpu_active_mask))
set_rq_online(rq);
@@ -16284,18 +16345,14 @@ index 000000000000..bf5c6e97e139
+ l->entries--;
+}
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 5fc724e4e454..a16902f32e6a 100644
+index ba4d9e85feb8..226771720139 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -127,9 +127,17 @@ static int __maybe_unused one __read_only = 1;
- static int __maybe_unused two __read_only = 2;
- static int __maybe_unused four __read_only = 4;
+@@ -127,7 +127,15 @@ static int __maybe_unused four __read_only = 4;
static unsigned long one_ul __read_only = 1;
--static int one_hundred __read_only = 100;
--static int one_thousand __read_only = 1000;
+ static int one_hundred __read_only = 100;
+ static int one_thousand __read_only = 1000;
-#ifdef CONFIG_PRINTK
-+static int one_hundred __read_only = 100;
-+static int one_thousand __read_only = 1000;
+#ifdef CONFIG_SCHED_MUQSS
+extern int rr_interval;
+extern int sched_interactive;
@@ -16333,7 +16390,7 @@ index 5fc724e4e454..a16902f32e6a 100644
#ifdef CONFIG_PROVE_LOCKING
{
.procname = "prove_locking",
-@@ -1032,6 +1042,62 @@ static struct ctl_table kern_table[] = {
+@@ -1039,6 +1049,62 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
@@ -16397,10 +16454,10 @@ index 5fc724e4e454..a16902f32e6a 100644
{
.procname = "spin_retry",
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
-index 8c0e4092f661..faf30b861235 100644
+index 5e77662dd2d9..73fe2e359438 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
-@@ -198,8 +198,9 @@ int clockevents_tick_resume(struct clock_event_device *dev)
+@@ -190,8 +190,9 @@ int clockevents_tick_resume(struct clock_event_device *dev)
#ifdef CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST
@@ -16413,10 +16470,10 @@ index 8c0e4092f661..faf30b861235 100644
/**
* clockevents_increase_min_delta - raise minimum delta of a clock event device
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 9cdd74bd2d27..0f7f27adf16b 100644
+index f5cfa1b73d6f..f56f9a1cffc8 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
-@@ -2026,3 +2026,117 @@ int __sched schedule_hrtimeout(ktime_t *expires,
+@@ -2017,3 +2017,117 @@ int __sched schedule_hrtimeout(ktime_t *expires,
return schedule_hrtimeout_range(expires, 0, mode);
}
EXPORT_SYMBOL_GPL(schedule_hrtimeout);
@@ -16512,7 +16569,7 @@ index 9cdd74bd2d27..0f7f27adf16b 100644
+ return timeout < 0 ? 0 : timeout;
+}
+
-+int __read_mostly hrtimeout_min_us = 1000;
++int __read_mostly hrtimeout_min_us = 500;
+
+long __sched schedule_min_hrtimeout(void)
+{
@@ -16535,10 +16592,10 @@ index 9cdd74bd2d27..0f7f27adf16b 100644
+}
+EXPORT_SYMBOL(schedule_msec_hrtimeout_uninterruptible);
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
-index 8f0644af40be..e3481bf47b94 100644
+index 80f955210861..2ba579215c18 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
-@@ -829,7 +829,7 @@ static void check_thread_timers(struct task_struct *tsk,
+@@ -830,7 +830,7 @@ static void check_thread_timers(struct task_struct *tsk,
tsk_expires->virt_exp = expires;
tsk_expires->sched_exp = check_timers_list(++timers, firing,
@@ -16547,7 +16604,7 @@ index 8f0644af40be..e3481bf47b94 100644
/*
* Check for the special case thread timers.
-@@ -839,7 +839,7 @@ static void check_thread_timers(struct task_struct *tsk,
+@@ -840,7 +840,7 @@ static void check_thread_timers(struct task_struct *tsk,
unsigned long hard = task_rlimit_max(tsk, RLIMIT_RTTIME);
if (hard != RLIM_INFINITY &&
@@ -16556,7 +16613,7 @@ index 8f0644af40be..e3481bf47b94 100644
/*
* At the hard limit, we just die.
* No need to calculate anything else now.
-@@ -851,7 +851,7 @@ static void check_thread_timers(struct task_struct *tsk,
+@@ -852,7 +852,7 @@ static void check_thread_timers(struct task_struct *tsk,
__group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk);
return;
}
@@ -16565,7 +16622,7 @@ index 8f0644af40be..e3481bf47b94 100644
/*
* At the soft limit, send a SIGXCPU every second.
*/
-@@ -1091,7 +1091,7 @@ static inline int fastpath_timer_check(struct task_struct *tsk)
+@@ -1092,7 +1092,7 @@ static inline int fastpath_timer_check(struct task_struct *tsk)
struct task_cputime task_sample;
task_cputime(tsk, &task_sample.utime, &task_sample.stime);
@@ -16575,10 +16632,10 @@ index 8f0644af40be..e3481bf47b94 100644
return 1;
}
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
-index fa49cd753dea..d5d0fa004d2b 100644
+index 444156debfa0..d26dac9794b6 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
-@@ -44,6 +44,7 @@
+@@ -43,6 +43,7 @@
#include <linux/sched/debug.h>
#include <linux/slab.h>
#include <linux/compat.h>
@@ -16586,7 +16643,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
#include <linux/uaccess.h>
#include <asm/unistd.h>
-@@ -1479,7 +1480,7 @@ static unsigned long __next_timer_interrupt(struct timer_base *base)
+@@ -1478,7 +1479,7 @@ static unsigned long __next_timer_interrupt(struct timer_base *base)
* Check, if the next hrtimer event is before the next timer wheel
* event:
*/
@@ -16595,7 +16652,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
{
u64 nextevt = hrtimer_get_next_event();
-@@ -1497,6 +1498,9 @@ static u64 cmp_next_hrtimer_event(u64 basem, u64 expires)
+@@ -1496,6 +1497,9 @@ static u64 cmp_next_hrtimer_event(u64 basem, u64 expires)
if (nextevt <= basem)
return basem;
@@ -16605,7 +16662,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
/*
* Round up to the next jiffie. High resolution timers are
* off, so the hrtimers are expired in the tick and we need to
-@@ -1566,7 +1570,7 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
+@@ -1565,7 +1569,7 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
}
raw_spin_unlock(&base->lock);
@@ -16614,7 +16671,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
}
/**
-@@ -1798,6 +1802,18 @@ signed long __sched schedule_timeout(signed long timeout)
+@@ -1797,6 +1801,18 @@ signed long __sched schedule_timeout(signed long timeout)
expire = timeout + jiffies;
@@ -16633,7 +16690,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
timer.task = current;
timer_setup_on_stack(&timer.timer, process_timeout, 0);
__mod_timer(&timer.timer, expire, 0);
-@@ -1806,10 +1822,10 @@ signed long __sched schedule_timeout(signed long timeout)
+@@ -1805,10 +1821,10 @@ signed long __sched schedule_timeout(signed long timeout)
/* Remove the timer from the object tracker */
destroy_timer_on_stack(&timer.timer);
@@ -16646,7 +16703,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
return timeout < 0 ? 0 : timeout;
}
EXPORT_SYMBOL(schedule_timeout);
-@@ -1950,7 +1966,19 @@ void __init init_timers(void)
+@@ -1949,7 +1965,19 @@ void __init init_timers(void)
*/
void msleep(unsigned int msecs)
{
@@ -16667,7 +16724,7 @@ index fa49cd753dea..d5d0fa004d2b 100644
while (timeout)
timeout = schedule_timeout_uninterruptible(timeout);
-@@ -1964,7 +1992,15 @@ EXPORT_SYMBOL(msleep);
+@@ -1963,7 +1991,15 @@ EXPORT_SYMBOL(msleep);
*/
unsigned long msleep_interruptible(unsigned int msecs)
{
@@ -16685,10 +16742,10 @@ index fa49cd753dea..d5d0fa004d2b 100644
while (timeout && !signal_pending(current))
timeout = schedule_timeout_interruptible(timeout);
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
-index 11e9daa4a568..4c4e1d5bdf42 100644
+index 9d402e7fc949..ba40ad4e6320 100644
--- a/kernel/trace/trace_selftest.c
+++ b/kernel/trace/trace_selftest.c
-@@ -1041,10 +1041,15 @@ static int trace_wakeup_test_thread(void *data)
+@@ -1045,10 +1045,15 @@ static int trace_wakeup_test_thread(void *data)
{
/* Make this a -deadline thread */
static const struct sched_attr attr = {
@@ -16705,10 +16762,10 @@ index 11e9daa4a568..4c4e1d5bdf42 100644
struct wakeup_test_data *x = data;
diff --git a/mm/vmscan.c b/mm/vmscan.c
-index 62ac0c488624..f11656681f7b 100644
+index e979705bbf32..383dc4072769 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
-@@ -160,7 +160,7 @@ struct scan_control {
+@@ -164,7 +164,7 @@ struct scan_control {
/*
* From 0 .. 100. Higher means more swappy.
*/
@@ -16841,7 +16898,7 @@ index 1a14e902949d..68f17d9877ec 100644
WM8900_REG_POWER2_SYSCLK_ENA);
break;
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
-index 643863bb32e0..fc318d71a8a3 100644
+index 5a2fdf4f69bf..aeb4e759de4c 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -203,7 +203,7 @@ static int wm9713_voice_shutdown(struct snd_soc_dapm_widget *w,
@@ -16863,10 +16920,10 @@ index 643863bb32e0..fc318d71a8a3 100644
}
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
-index a5178845065b..e5ac94b38742 100644
+index 20bad755888b..bfdca3765397 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
-@@ -130,7 +130,7 @@ static void dapm_assert_locked(struct snd_soc_dapm_context *dapm)
+@@ -154,7 +154,7 @@ static void dapm_assert_locked(struct snd_soc_dapm_context *dapm)
static void pop_wait(u32 pop_time)
{
if (pop_time)
diff --git a/unscrew-ck1-for-kvm-intel-symbol.patch b/unscrew-ck1-for-kvm-intel-symbol.patch
deleted file mode 100644
index fd8568a..0000000
--- a/unscrew-ck1-for-kvm-intel-symbol.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/kernel/sched/MuQSS.c
-+++ b/kernel/sched/MuQSS.c
-@@ -227,6 +227,7 @@
-
- #ifdef CONFIG_SCHED_SMT
- DEFINE_STATIC_KEY_FALSE(sched_smt_present);
-+EXPORT_SYMBOL_GPL(sched_smt_present);
- #endif
-
- #else