Upgrade std kernel to 4.18.0-147.3.1 from CentOS 8.1

(cherry picked from commit f230b18be2654154636d2a2d9282e65b74e53e54)

1. Correct merge_config code in spec to fix tis_extra configuration
   not be applied issue.
2. Rebase process death notification patch with new kernel.
3. Rebase IMA patch with new kernel.
4. -j"%(nproc)" for parallel build is removed since %{?_smp_mflags}
   already handle it.
5. Customize kernel to build with gcc-4.8.5 and python2 environment
   in CentOS 7.
6. Remove IMA related patches because it is not used in STX

For tis_extra file, major change is listed below:
a. "CONFIG_xxx=n" is changed to "# CONFIG_xxx is not set" which is the
   correct way to disable config. Otherwise, process_configs.sh will
   report mismatch issue with log like below:
   "
   Found # CONFIG_KPROBES is not set, after generation,
   had CONFIG_KPROBES n in Source tree
   "
b. "CONFIG_MEMCG_KMEM=n" is removed due to it cannot be disabled
   independently. It is disabled to fix issue in 3.10 kernel.
c. Several configs are removed due to they cannot be disabled in 4.18
   kernel. And several configs are added to pass config check by
   process_configs.sh
d. CONFIG_KASAN is disabled due to gcc-4.8.5 doesn't support it.

With debug build/selftest/ipaclone/bpf tool disabled, kernel build
time is changed from 80min to 20min in my local environment.
Update BUILD_IS_SLOW as: 12*20/15 = 16.
BUILD_IS_BIG is updated to 21 to avoid run out of tmpfs.

Change-Id: Ia8d7da526fa493464a9a7a1528dcdfa90a10f6a7
Story: 2007308
Task: 38794
Depends-On: https://review.opendev.org/710907
Depends-On: https://review.opendev.org/#/c/720321/
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
This commit is contained in:
Dongqi Chen 2020-04-16 10:14:16 +08:00 committed by Lin Shuicheng
parent d27f1ee36e
commit 145ff64b97
20 changed files with 1262 additions and 1526 deletions

View File

@ -1,2 +1,2 @@
kernel-3.10.0-1062.1.2.el7.src.rpm
kernel-4.18.0-147.3.1.el8_1.src.rpm
# mlnx-ofa_kernel-4.5-OFED.4.5.1.0.1.1.gb4fdfac.src.rpm

View File

@ -1,4 +1,4 @@
COPY_LIST="files/*"
TIS_PATCH_VER=1
BUILD_IS_BIG=11
BUILD_IS_SLOW=12
BUILD_IS_BIG=21
BUILD_IS_SLOW=16

View File

@ -1,51 +1,52 @@
From 32af2a0ea3905e23d85a65fd9326dbc6db0a21c4 Mon Sep 17 00:00:00 2001
From ab74a468c73dc364eccba5e8200e31a7638534d4 Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Fri, 20 Apr 2018 14:51:56 -0400
Subject: [PATCH] Build logic and sources for TiC
Subject: [PATCH 1/3] Build logic and sources for TiC
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: zhao.shuai <zhaos@neusoft.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
Signed-off-by: Robin Lu <bin1.lu@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
SPECS/kernel.spec | 78 ++++++++++++++++++++++++++++++++++++++---------
1 file changed, 64 insertions(+), 14 deletions(-)
SPECS/kernel.spec | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 56 insertions(+), 4 deletions(-)
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
index b11034f..1927d5a 100644
index 2755684..adc3580 100644
--- a/SPECS/kernel.spec
+++ b/SPECS/kernel.spec
@@ -3,6 +3,8 @@
@@ -12,6 +12,8 @@
# change below to w4T.xzdio):
%define _binary_payload w3T.xzdio
Summary: The Linux kernel
+%define dist .el8_0
+%define dist .el8_1
+
# For a kernel released for public testing, released_kernel should be 1.
# For internal testing builds during development, it should be 0.
%global released_kernel 1
@@ -31,14 +33,17 @@ Summary: The Linux kernel
@@ -40,14 +42,18 @@
%endif
# define buildid .local
+# This is the STX patch release
+%define buildid .%{tis_patch_ver}.tis
+
%define rpmversion 4.18.0
-%define pkgrelease 80.11.2.el8_0
+%define _pkgrelease 80.11.2
+%define pkgrelease %{_pkgrelease}.el8_0
-%define pkgrelease 147.3.1.el8_1
+%define _pkgrelease 147.3.1
+%define pkgrelease %{_pkgrelease}.el8_1
# allow pkg_release to have configurable %%{?dist} tag
%define specrelease 80.11.2%{?dist}
%define specrelease 147.3.1%{?dist}
-%define pkg_release %{specrelease}%{?buildid}
+%define pkg_release %{specrelease}%{buildid}
# What parts do we want to build? We must build at least one kernel.
# These are the kernels that are built IF the architecture allows it.
@@ -85,9 +90,9 @@ Summary: The Linux kernel
@@ -92,9 +98,9 @@
# Only build the debug kernel (--with dbgonly):
%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0}
# Control whether we perform a compat. check against published ABI.
@ -57,7 +58,7 @@ index b11034f..1927d5a 100644
#
# Control whether to run an extensive DWARF based kABI check.
# Note that this option needs to have baseline setup in SOURCE300.
@@ -352,6 +357,7 @@ BuildRequires: xmlto
@@ -372,6 +378,7 @@ BuildRequires: xmlto
%if %{with_perf} || %{with_tools}
BuildRequires: asciidoc
%endif
@ -65,22 +66,22 @@ index b11034f..1927d5a 100644
Source0: linux-%{rpmversion}-%{pkgrelease}.tar.xz
@@ -412,6 +418,12 @@ Source2001: cpupower.config
@@ -456,6 +463,12 @@ Source2001: cpupower.config
# Sources for CentOS debranding
Source9000: centos.pem
+# StarlingX Cloud sources here.
+# Not sure if we need to worry about numerical collisions between
+# SourceX and PatchX, so let's not risk it
+Source30000: kernel-x86_64.config.tis_extra
+Source30001: ima_signing_key.pub
+Source30000: ima_signing_key.pub
+Source30001: kernel-4.18.0-x86_64.config.tis_extra
+
## Patches needed for building this package
Patch1000: debrand-single-cpu.patch
@@ -638,6 +650,13 @@ eBPF sample programs and selftests.
@@ -699,6 +712,13 @@ Kernel sample programs and selftests.
%endif # with_bpf_samples
%endif # with_selftests
+%ifarch x86_64
+%package unsigned
@ -92,7 +93,7 @@ index b11034f..1927d5a 100644
%if %{with_gcov}
%package gcov
Summary: gcov graph and source files for coverage data collection.
@@ -918,6 +937,8 @@ cd configs
@@ -1018,6 +1038,8 @@ cd configs
# Drop some necessary files from the source dir into the buildroot
cp $RPM_SOURCE_DIR/kernel-*.config .
@ -101,7 +102,7 @@ index b11034f..1927d5a 100644
cp %{SOURCE41} .
VERSION=%{version} ./generate_all_configs.sh
@@ -939,6 +960,17 @@ do
@@ -1037,6 +1059,18 @@ do
done
%endif
@ -112,35 +113,23 @@ index b11034f..1927d5a 100644
+for i in *.config
+do
+ if [ -f ${i}.tis_extra ]; then
+ ../scripts/kconfig/merge_config.sh -m -n .config ${i}.tis_extra
+ ../scripts/kconfig/merge_config.sh -m -n ${i} ${i}.tis_extra
+ mv .config ${i}
+ fi
+done
+
cp %{SOURCE42} .
./process_configs.sh -w -c kernel %{rpmversion}
@@ -1003,7 +1035,8 @@ BuildKernel() {
@@ -1102,6 +1136,7 @@ BuildKernel() {
# and now to start the build process
- %{make} -s mrproper
+ %{make} -j"%(nproc)" -s mrproper
+ cp %{SOURCE30001} certs/. # ima_signing_key.pub
%{make} -s %{?_smp_mflags} mrproper
+ cp %{SOURCE30000} certs/. # ima_signing_key.pub
cp configs/$Config .config
%if %{signkernel}%{signmodules}
@@ -1013,8 +1046,8 @@ BuildKernel() {
Arch=`head -1 .config | cut -b 3-`
echo USING ARCH=$Arch
- %{make} -s ARCH=$Arch oldnoconfig >/dev/null
- %{make} -s ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" WITH_GCOV="%{?with_gcov}" $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
+ %{make} -s -j"%(nproc)" ARCH=$Arch oldnoconfig >/dev/null
+ %{make} -s -j"%(nproc)" ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" WITH_GCOV="%{?with_gcov}" $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
if [ $DoModules -eq 1 ]; then
%{make} -s ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" WITH_GCOV="%{?with_gcov}" modules %{?sparse_mflags} || exit 1
fi
@@ -1059,6 +1092,8 @@ BuildKernel() {
@@ -1188,6 +1223,8 @@ BuildKernel() {
echo "pesigning failed"
exit 1
fi
@ -149,25 +138,7 @@ index b11034f..1927d5a 100644
mv vmlinuz.signed $SignImage
if [ "$KernelExtension" == "gz" ]; then
gzip -f9 $SignImage
@@ -1078,7 +1113,7 @@ BuildKernel() {
if [ $DoModules -eq 1 ]; then
# Override $(mod-fw) because we don't want it to install any firmware
# we'll get it from the linux-firmware package and we don't want conflicts
- %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
+ %{make} -s -j"%(nproc)" ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
fi
%if %{with_gcov}
@@ -1090,7 +1125,7 @@ BuildKernel() {
%endif
if [ $DoVDSO -ne 0 ]; then
- %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
+ %{make} -s -j"%(nproc)" ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
if [ ! -s ldconfig-kernel.conf ]; then
echo > ldconfig-kernel.conf "\
# Placeholder file, no vDSO hwcap entries used in this kernel."
@@ -1408,6 +1443,12 @@ BuildKernel() {
@@ -1529,6 +1566,12 @@ BuildKernel() {
# Save the signing keys so we can sign the modules in __modsign_install_post
cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
@ -180,40 +151,7 @@ index b11034f..1927d5a 100644
fi
%endif
@@ -1482,15 +1523,15 @@ chmod +x tools/power/cpupower/utils/version-gen.sh
%endif
%ifarch x86_64
pushd tools/power/x86/x86_energy_perf_policy/
- %{make}
+ %{make} -j"%(nproc)"
popd
pushd tools/power/x86/turbostat
- %{make}
+ %{make} -j"%(nproc)"
popd
%endif #turbostat/x86_energy_perf_policy
%endif
pushd tools/thermal/tmon/
-%{make}
+%{make} -j"%(nproc)"
popd
pushd tools/iio/
%{make}
@@ -1513,11 +1554,11 @@ popd
# in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr
# but there's no way to tell the Makefile to take them from there.
make headers_install
-%{make} -s ARCH=$Arch V=1 samples/bpf/
+%{make} -s -j"%(nproc)" ARCH=$Arch V=1 samples/bpf/
pushd tools/testing/selftests
# We need to install here because we need to call make with ARCH set which
# doesn't seem possible to do in the install section.
-%{make} -s ARCH=$Arch V=1 TARGETS=bpf INSTALL_PATH=%{buildroot}%{_libexecdir}/bpf-samples/selftests install
+%{make} -s -j"%(nproc)" ARCH=$Arch V=1 TARGETS=bpf INSTALL_PATH=%{buildroot}%{_libexecdir}/bpf-samples/selftests install
popd
%endif
@@ -1819,6 +1860,10 @@ fi\
@@ -2017,6 +2060,10 @@ fi\
#
%define kernel_variant_posttrans() \
%{expand:%%posttrans %{?1:%{1}-}core}\
@ -224,9 +162,9 @@ index b11034f..1927d5a 100644
if [ -x %{_sbindir}/weak-modules ]\
then\
%{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
@@ -2090,6 +2135,11 @@ fi
%kernel_variant_files %{with_vdso_install} %{with_debug} debug
%kernel_variant_files %{with_vdso_install} %{with_zfcpdump} zfcpdump
@@ -2315,6 +2362,11 @@ fi
%kernel_variant_ipaclones %{with_up}
+%ifarch x86_64
+%files unsigned
@ -237,5 +175,5 @@ index b11034f..1927d5a 100644
# and build.
#
--
2.18.1
2.7.4

View File

@ -0,0 +1,193 @@
From 11b9c3c7d66d2698f41738a46990862dc0b85c14 Mon Sep 17 00:00:00 2001
From: Shuicheng Lin <shuicheng.lin@intel.com>
Date: Tue, 18 Feb 2020 15:41:52 +0800
Subject: [PATCH 3/3] Customize 4.18 kernel with centos 7 build environment
1. change python3 to python2
2. fix compile issue with gcc-4.8.5
3. remove "%ghost" to add back files in /boot folder in order to be
compatible with CentOS 7. These files are moved to /lib/modules folder
in 4.18 kernel. Otherwise, there is problem with weak-modules and
update-pxe-network-installer.
4. disable selftests build due to lack of llvm-toolset in centos 7
5. disable dump-ipa-clones due to gcc-4.8.5 doesn't support it
6. disable bpf tools due to require python 3
7. disable debug build to avoid extra tis_extra file for debug build,
and save build time.
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
---
SPECS/kernel.spec | 65 ++++++++++++++++++++++++++-----------------------------
1 file changed, 31 insertions(+), 34 deletions(-)
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
index a7a8c97..3856633 100644
--- a/SPECS/kernel.spec
+++ b/SPECS/kernel.spec
@@ -121,6 +121,16 @@
%define with_gcov %{?_with_gcov: 1} %{?!_with_gcov: 0}
+# STX
+# disable debug build
+%define with_debug 0
+# turn off selftests to remove llvm-toolset dependency
+%define with_selftests 0
+# turn off ipaclone due to gcc-4.8.5 doesn't support dump-ipa-clones
+%define _without_ipaclones 1
+# turn off bpf tool due to python3 build failure
+%define with_bpftool 0
+
# turn off debug kernel and kabichk for gcov builds
%if %{with_gcov}
%define with_debug 0
@@ -307,10 +317,10 @@ Requires: kernel-modules-uname-r = %{KVERREL}%{?variant}
#
BuildRequires: kmod, patch, bash, sh-utils, tar, git
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
-BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, python3-devel
+BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, python2-devel
BuildRequires: net-tools, hostname, bc, bison, flex, elfutils-devel
%if %{with_doc}
-BuildRequires: xmlto, asciidoc, python3-sphinx
+BuildRequires: xmlto, asciidoc, python2-sphinx
%endif
%if %{with_sparse}
BuildRequires: sparse
@@ -330,7 +340,7 @@ BuildRequires: pciutils-devel
%endif
%endif
%if %{with_bpftool}
-BuildRequires: python3-docutils
+BuildRequires: python2-docutils
BuildRequires: zlib-devel binutils-devel
%endif
%if %{with_selftests}
@@ -489,6 +499,7 @@ Patch40006: intel-iommu-allow-ignoring-Ethernet-device-RMRR-with.patch
Patch40009: turn-off-write-same-in-smartqpi-driver.patch
# Workaround for broken bios causing IOMMU issues
Patch40010: Allow-dmar-quirks-for-broken-bioses.patch
+Patch40011: Fix-compile-error-with-gcc-4.8.5-and-python2.patch
# END OF PATCH DEFINITIONS
@@ -605,24 +616,24 @@ This package provides debug information for the perf package.
# of matching the pattern against the symlinks file.
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/traceevent/plugins/.*|.*%%{_libdir}/libperf-jvmti.so(\.debug)?|XXX' -o perf-debuginfo.list}
-%package -n python3-perf
+%package -n python-perf
Summary: Python bindings for apps which will manipulate perf events
Group: Development/Libraries
-%description -n python3-perf
-The python3-perf package contains a module that permits applications
+%description -n python-perf
+The python-perf package contains a module that permits applications
written in the Python programming language to use the interface
to manipulate perf events.
-%package -n python3-perf-debuginfo
+%package -n python-perf-debuginfo
Summary: Debug information for package perf python bindings
Group: Development/Debug
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
AutoReqProv: no
-%description -n python3-perf-debuginfo
+%description -n python-perf-debuginfo
This package provides debug information for the perf python bindings.
# the python_sitearch macro should already be defined from above
-%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python3_sitearch}/perf.*so(\.debug)?|XXX' -o python3-perf-debuginfo.list}
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python_sitearch}/perf.*so(\.debug)?|XXX' -o python-perf-debuginfo.list}
%endif # with_perf
@@ -1021,6 +1032,7 @@ ApplyOptionalPatch Make-kernel-start-eth-devices-at-offset.patch
ApplyOptionalPatch intel-iommu-allow-ignoring-Ethernet-device-RMRR-with.patch
ApplyOptionalPatch turn-off-write-same-in-smartqpi-driver.patch
ApplyOptionalPatch Allow-dmar-quirks-for-broken-bioses.patch
+ApplyOptionalPatch Fix-compile-error-with-gcc-4.8.5-and-python2.patch
# END OF PATCH APPLICATIONS
@@ -1032,21 +1044,6 @@ mv COPYING COPYING-%{version}
# This Prevents scripts/setlocalversion from mucking with our version numbers.
touch .scmversion
-# Do not use "ambiguous" python shebangs. RHEL 8 now has a new script
-# (/usr/lib/rpm/redhat/brp-mangle-shebangs), which forces us to specify a
-# "non-ambiguous" python shebang for scripts we ship in buildroot. This
-# script throws an error like below:
-# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
-# We patch all sources below for which we got a report/error.
-pathfix.py -i %{__python3} -p -n \
- scripts/show_delta \
- scripts/diffconfig \
- scripts/bloat-o-meter \
- tools/perf/tests/attr.py \
- tools/perf/scripts/python/stat-cpi.py \
- tools/perf/scripts/python/sched-migration.py \
- Documentation
-
%define make make %{?cross_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
# only deal with configs if we are going to build for the arch
@@ -1666,7 +1663,7 @@ BuildKernel %make_target %kernel_image %{with_vdso_install}
%endif
%global perf_make \
- make EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} PYTHON=%{__python3}
+ make EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} PYTHON=%{__python}
%if %{with_perf}
# perf
# make sure check-headers.sh is executable
@@ -2195,15 +2192,15 @@ fi
%doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt
%{_docdir}/perf-tip/tips.txt
-%files -n python3-perf
+%files -n python-perf
%defattr(-,root,root)
-%{python3_sitearch}/*
+%{python_sitearch}/*
%if %{with_debuginfo}
%files -f perf-debuginfo.list -n perf-debuginfo
%defattr(-,root,root)
-%files -f python3-perf-debuginfo.list -n python3-perf-debuginfo
+%files -f python-perf-debuginfo.list -n python-perf-debuginfo
%defattr(-,root,root)
%endif
%endif # with_perf
@@ -2311,20 +2308,20 @@ fi
%{!?_licensedir:%global license %%doc}\
%license linux-%{KVERREL}/COPYING-%{version}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
-%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
+/%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
-%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
+/%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
%ifarch aarch64\
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
%endif\
%attr(0600, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
-%ghost %attr(0600, root, root) /boot/System.map-%{KVERREL}%{?3:+%{3}}\
+%attr(0600, root, root) /boot/System.map-%{KVERREL}%{?3:+%{3}}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
-%ghost %attr(0600, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
-%ghost %attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
-%ghost %attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\
+%attr(0600, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
+%attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
+%attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\
%dir /lib/modules\
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
--
2.7.4

View File

@ -2,42 +2,44 @@ From ac67546ccbecd3ee18145be31d87d7253048adda Mon Sep 17 00:00:00 2001
Message-Id: <ac67546ccbecd3ee18145be31d87d7253048adda.1566587341.git.Jim.Somerville@windriver.com>
From: "zhao.shuai" <zhaos@neusoft.com>
Date: Mon, 5 Aug 2019 17:55:01 +0800
Subject: [PATCH 1/2] Kernel-source-patches-for-TiC
Subject: [PATCH 2/3] Kernel-source-patches-for-TiC
Signed-off-by: zhao.shuai <zhaos@neusoft.com>
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Robin Lu <bin1.lu@intel.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
---
SPECS/kernel.spec | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
index 1927d5a..a851036 100644
index adc3580..a7a8c97 100644
--- a/SPECS/kernel.spec
+++ b/SPECS/kernel.spec
@@ -433,6 +433,17 @@ Patch1002: debrand-rh-i686-cpu.patch
@@ -478,6 +478,18 @@ Patch1001: debrand-rh_taint.patch
# empty final patch to facilitate testing of kernel patches
Patch999999: linux-kernel-test.patch
+# StarlingX Cloud patches here.
+Patch40002: Notification-of-death-of-arbitrary-processes.patch
+Patch40004: PCI-Add-ACS-quirk-for-Intel-Fortville-NICs.patch
+Patch40005: affine-compute-kernel-threads.patch
+Patch40006: Affine-irqs-and-workqueues-with-kthread_cpus.patch
+Patch40007: Make-kernel-start-eth-devices-at-offset.patch
+Patch40008: intel-iommu-allow-ignoring-Ethernet-device-RMRR-with.patch
+Patch40022: US101216-IMA-support-in-Titanium-kernel.patch
+Patch40023: US103091-IMA-System-Configuration.patch
+Patch40026: turn-off-write-same-in-smartqpi-driver.patch
+Patch40001: Notification-of-death-of-arbitrary-processes.patch
+Patch40002: PCI-Add-ACS-quirk-for-Intel-Fortville-NICs.patch
+Patch40003: affine-compute-kernel-threads.patch
+Patch40004: Affine-irqs-and-workqueues-with-kthread_cpus.patch
+Patch40005: Make-kernel-start-eth-devices-at-offset.patch
+Patch40006: intel-iommu-allow-ignoring-Ethernet-device-RMRR-with.patch
+# DRBD was choking on write same
+Patch40009: turn-off-write-same-in-smartqpi-driver.patch
+# Workaround for broken bios causing IOMMU issues
+Patch40010: Allow-dmar-quirks-for-broken-bioses.patch
+
# END OF PATCH DEFINITIONS
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -900,6 +911,17 @@ ApplyOptionalPatch debrand-single-cpu.patch
ApplyOptionalPatch debrand-rh_taint.patch
ApplyOptionalPatch debrand-rh-i686-cpu.patch
@@ -1000,6 +1012,16 @@ ApplyOptionalPatch debrand-rh_taint.patch
#ApplyOptionalPatch debrand-rh-i686-cpu.patch
+# StarlingX Cloud patches here.
+ApplyOptionalPatch Notification-of-death-of-arbitrary-processes.patch
@ -46,13 +48,12 @@ index 1927d5a..a851036 100644
+ApplyOptionalPatch Affine-irqs-and-workqueues-with-kthread_cpus.patch
+ApplyOptionalPatch Make-kernel-start-eth-devices-at-offset.patch
+ApplyOptionalPatch intel-iommu-allow-ignoring-Ethernet-device-RMRR-with.patch
+ApplyOptionalPatch US101216-IMA-support-in-Titanium-kernel.patch
+ApplyOptionalPatch US103091-IMA-System-Configuration.patch
+ApplyOptionalPatch turn-off-write-same-in-smartqpi-driver.patch
+ApplyOptionalPatch Allow-dmar-quirks-for-broken-bioses.patch
+
# END OF PATCH APPLICATIONS
# Any further pre-build tree manipulations happen here.
--
2.18.1
2.7.4

View File

@ -1,2 +1,3 @@
Build-logic-and-sources-for-TiC.patch
Kernel-source-patches-for-TiC.patch
Customize-4.18-kernel-with-centos-7-build-environmen.patch

View File

@ -4,7 +4,7 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Chris Friesen <chris.friesen@windriver.com>
Date: Tue, 24 Nov 2015 16:27:29 -0500
Subject: [PATCH 06/26] Affine irqs and workqueues with kthread_cpus
Subject: [PATCH 04/10] Affine irqs and workqueues with kthread_cpus
If the kthread_cpus boot arg is set it means we want to affine
kernel threads to the specified CPU mask as much as possible
@ -24,14 +24,13 @@ Signed-off-by: Vu Tran <vu.tran@windriver.com>
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
kernel/irq/manage.c | 7 +++++++
kernel/workqueue.c | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 9a8b7ba..eaefb91 100644
index c4e31f4..002dec3 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -400,6 +400,13 @@ int irq_setup_affinity(struct irq_desc *desc)
@ -49,10 +48,10 @@ index 9a8b7ba..eaefb91 100644
raw_spin_unlock(&mask_lock);
return ret;
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 78b1920..886fe16 100644
index 4228207..c7fa0ec 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5707,6 +5707,8 @@ int __init workqueue_init_early(void)
@@ -5730,6 +5730,8 @@ int __init workqueue_init_early(void)
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
attrs->nice = std_nice[i];
@ -61,7 +60,7 @@ index 78b1920..886fe16 100644
unbound_std_wq_attrs[i] = attrs;
/*
@@ -5717,6 +5719,8 @@ int __init workqueue_init_early(void)
@@ -5740,6 +5742,8 @@ int __init workqueue_init_early(void)
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
attrs->nice = std_nice[i];
attrs->no_numa = true;
@ -71,5 +70,5 @@ index 78b1920..886fe16 100644
}
--
2.18.1
2.7.4

View File

@ -1,8 +1,7 @@
From 3ea9b69ea4e791797b42d73b609b2e1f4fdb9882 Mon Sep 17 00:00:00 2001
Message-Id: <3ea9b69ea4e791797b42d73b609b2e1f4fdb9882.1584647338.git.Jim.Somerville@windriver.com>
From db29cbbf37d3b66cfd5deb9ebc32210e32a1b571 Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Wed, 29 Jan 2020 14:19:22 -0500
Subject: [PATCH 1/1] Allow dmar quirks for broken bioses
Subject: [PATCH] Allow dmar quirks for broken bioses
Problem:
Broken bios creates inaccurate DMAR tables,
@ -32,12 +31,12 @@ Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
index 4658dc3..eeaef2e 100644
index 1269583..51d2fb2 100644
--- a/drivers/iommu/dmar.c
+++ b/drivers/iommu/dmar.c
@@ -75,6 +75,26 @@ static unsigned long dmar_seq_ids[BITS_TO_LONGS(DMAR_UNITS_SUPPORTED)];
static int alloc_iommu(struct dmar_drhd_unit *drhd);
static void free_iommu(struct intel_iommu *iommu);
@@ -76,6 +76,26 @@ static void free_iommu(struct intel_iommu *iommu);
extern const struct iommu_ops intel_iommu_ops;
+static int scope_mismatch_quirk;
+static void quirk_dmar_scope_mismatch(struct pci_dev *dev)
@ -62,7 +61,7 @@ index 4658dc3..eeaef2e 100644
static void dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
{
/*
@@ -257,7 +277,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
@@ -258,7 +278,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
info->dev->class >> 8 != PCI_CLASS_BRIDGE_OTHER))) {
pr_warn("Device scope type does not match for %s\n",
pci_name(info->dev));
@ -75,5 +74,5 @@ index 4658dc3..eeaef2e 100644
for_each_dev_scope(devices, devices_cnt, i, tmp)
--
1.8.3.1
2.7.4

View File

@ -0,0 +1,81 @@
From e76237b80a238a3ea1faf1656fd85d9af24bd30f Mon Sep 17 00:00:00 2001
From: Shuicheng Lin <shuicheng.lin@intel.com>
Date: Wed, 12 Feb 2020 15:16:28 +0800
Subject: [PATCH] Fix compile error with gcc-4.8.5 and python2
BIT is defined as "(1UL << (nr))", and gcc-4.8.5 cannot recognize
"UL", lead to error message like below:
"
BUILDSTDERR: arch/x86/entry/entry_64.S:1199: Error: found 'L', expected: ')'
BUILDSTDERR: arch/x86/entry/entry_64.S:1199: Error: junk `L<<(0))' after expression
"
Fix it by change BIT definition the same as arch/x86/include/asm/spec_ctrl.h.
cherry-pick upstream df8794fe6840aed6ce65baf7f1e542bd3e22fb78 to
fix python2 build failure
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
arch/x86/include/asm/msr-index.h | 3 +++
tools/perf/scripts/python/exported-sql-viewer.py | 7 -------
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index a68b5fa..bf3474f 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -4,6 +4,9 @@
#include <linux/bits.h>
+#undef BIT
+#define BIT(nr) (_AC(1,UL) << (nr))
+
/*
* CPU model specific register (MSR) numbers.
*
diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
index 57afe5e..9f3c0e6 100755
--- a/tools/perf/scripts/python/exported-sql-viewer.py
+++ b/tools/perf/scripts/python/exported-sql-viewer.py
@@ -1573,7 +1573,6 @@ class SQLTableDialogDataItem():
return str(lower_id)
def ConvertRelativeTime(self, val):
- print "val ", val
mult = 1
suffix = val[-2:]
if suffix == "ms":
@@ -1595,29 +1594,23 @@ class SQLTableDialogDataItem():
return str(val)
def ConvertTimeRange(self, vrange):
- print "vrange ", vrange
if vrange[0] == "":
vrange[0] = str(self.first_time)
if vrange[1] == "":
vrange[1] = str(self.last_time)
vrange[0] = self.ConvertRelativeTime(vrange[0])
vrange[1] = self.ConvertRelativeTime(vrange[1])
- print "vrange2 ", vrange
if not self.IsNumber(vrange[0]) or not self.IsNumber(vrange[1]):
return False
- print "ok1"
beg_range = max(int(vrange[0]), self.first_time)
end_range = min(int(vrange[1]), self.last_time)
if beg_range > self.last_time or end_range < self.first_time:
return False
- print "ok2"
vrange[0] = self.BinarySearchTime(0, self.last_id, beg_range, True)
vrange[1] = self.BinarySearchTime(1, self.last_id + 1, end_range, False)
- print "vrange3 ", vrange
return True
def AddTimeRange(self, value, ranges):
- print "value ", value
n = value.count("-")
if n == 1:
pass
--
2.7.4

View File

@ -4,7 +4,7 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Chris Friesen <chris.friesen@windriver.com>
Date: Thu, 12 May 2016 18:00:00 -0400
Subject: [PATCH 07/26] Make kernel start eth devices at offset
Subject: [PATCH 05/10] Make kernel start eth devices at offset
In order to avoid naming collisions, we want to make the kernel
start naming its "ethX" devices at eth1000 instead of eth0. This
@ -12,16 +12,15 @@ will let us rename to a range starting at eth0.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
net/core/dev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/core/dev.c b/net/core/dev.c
index b6f9647..b424353 100644
index 6a531ca..980860d 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1096,6 +1096,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
@@ -1100,6 +1100,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
set_bit(i, inuse);
}
@ -35,5 +34,5 @@ index b6f9647..b424353 100644
free_page((unsigned long) inuse);
}
--
2.18.1
2.7.4

View File

@ -1,4 +1,4 @@
From 36270456f8d6e274791fbf846ad03249759eafa6 Mon Sep 17 00:00:00 2001
From 985af04466f07d6f5deaac906c52dc1181beb881 Mon Sep 17 00:00:00 2001
From: Chris Friesen <chris.friesen@windriver.com>
Date: Thu, 7 Apr 2016 11:16:19 -0600
Subject: [PATCH] Notification of death of arbitrary processes
@ -19,26 +19,26 @@ PR_DO_NOTIFY_TASK_STATE option.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
include/linux/init_task.h | 9 ++
include/linux/sched.h | 6 +
include/uapi/linux/prctl.h | 18 +++
include/linux/sched.h | 6 ++
include/uapi/linux/prctl.h | 18 ++++
init/Kconfig | 15 +++
init/init_task.c | 1 +
kernel/Makefile | 1 +
kernel/death_notify.c | 226 +++++++++++++++++++++++++++++++++++++
kernel/death_notify.h | 46 ++++++++
kernel/exit.c | 6 +
kernel/death_notify.c | 228 +++++++++++++++++++++++++++++++++++++++++++++
kernel/death_notify.h | 46 +++++++++
kernel/exit.c | 6 ++
kernel/fork.c | 4 +
kernel/signal.c | 11 ++
kernel/signal.c | 11 +++
kernel/sys.c | 8 ++
12 files changed, 351 insertions(+)
12 files changed, 353 insertions(+)
create mode 100644 kernel/death_notify.c
create mode 100644 kernel/death_notify.h
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index a454b8a..08ae031 100644
index a7083a4..1ad2341 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -24,6 +24,15 @@
@ -58,10 +58,10 @@ index a454b8a..08ae031 100644
extern struct cred init_cred;
diff --git a/include/linux/sched.h b/include/linux/sched.h
index bb3e390..6b954a5 100644
index 681aa08..93e8080 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1011,6 +1011,12 @@ struct task_struct {
@@ -1045,6 +1045,12 @@ struct task_struct {
short il_prev;
short pref_node_fork;
#endif
@ -75,7 +75,7 @@ index bb3e390..6b954a5 100644
int numa_scan_seq;
unsigned int numa_scan_period;
diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
index b17201e..05a4756 100644
index 327319b..7084845 100644
--- a/include/uapi/linux/prctl.h
+++ b/include/uapi/linux/prctl.h
@@ -63,6 +63,24 @@
@ -104,10 +104,10 @@ index b17201e..05a4756 100644
#define PR_GET_SECCOMP 21
#define PR_SET_SECCOMP 22
diff --git a/init/Kconfig b/init/Kconfig
index 9c529c7..6f53e81 100644
index b47b164..2caf192 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1547,6 +1547,21 @@ config VM_EVENT_COUNTERS
@@ -1609,6 +1609,21 @@ config VM_EVENT_COUNTERS
on EXPERT systems. /proc/vmstat will only show page counts
if VM event counters are disabled.
@ -130,17 +130,17 @@ index 9c529c7..6f53e81 100644
default y
bool "Enable SLUB debugging support" if EXPERT
diff --git a/init/init_task.c b/init/init_task.c
index 74f60ba..c468eeb 100644
index 7267cbf..d84242e 100644
--- a/init/init_task.c
+++ b/init/init_task.c
@@ -109,6 +109,7 @@ struct task_struct init_task
@@ -116,6 +116,7 @@ struct task_struct init_task
.alloc_lock = __SPIN_LOCK_UNLOCKED(init_task.alloc_lock),
.journal_info = NULL,
INIT_CPU_TIMERS(init_task)
+ INIT_SIGEXIT(tsk)
+ INIT_SIGEXIT(init_task)
.pi_lock = __RAW_SPIN_LOCK_UNLOCKED(init_task.pi_lock),
.timer_slack_ns = 50000, /* 50 usec default slack */
.pids = {
.thread_pid = &init_struct_pid,
diff --git a/kernel/Makefile b/kernel/Makefile
index aebf6a8..2669df3 100644
--- a/kernel/Makefile
@ -155,10 +155,10 @@ index aebf6a8..2669df3 100644
diff --git a/kernel/death_notify.c b/kernel/death_notify.c
new file mode 100644
index 0000000..dc4fc95
index 0000000..5819d35
--- /dev/null
+++ b/kernel/death_notify.c
@@ -0,0 +1,226 @@
@@ -0,0 +1,228 @@
+/*
+ * kernel/death_notify.c, Process death notification support
+ *
@ -180,7 +180,9 @@ index 0000000..dc4fc95
+ */
+
+#include <linux/errno.h>
+#include <linux/signal.h>
+#include <linux/sched.h>
+#include <linux/sched/task.h>
+#include <linux/slab.h>
+#include <linux/prctl.h>
+#include <linux/uaccess.h>
@ -265,7 +267,7 @@ index 0000000..dc4fc95
+ *
+ * Must be called holding a lock on tasklist_lock.
+ */
+void do_notify_others(struct task_struct *tsk, struct siginfo *info)
+void do_notify_others(struct task_struct *tsk, struct kernel_siginfo *info)
+{
+ struct signotifier *node;
+ unsigned int events;
@ -278,7 +280,7 @@ index 0000000..dc4fc95
+ list_for_each_entry(node, &tsk->notify, notify_list) {
+ if (events & node->events) {
+ info->si_signo = node->sig;
+ group_send_sig_info(node->sig, info, node->notify_tsk);
+ group_send_sig_info(node->sig, info, node->notify_tsk, PIDTYPE_TGID);
+ }
+ }
+}
@ -337,7 +339,7 @@ index 0000000..dc4fc95
+ * find_task_by_pid(), so may as well take the write lock now.
+ * Must use write_lock_irq().
+ */
+ qwrite_lock_irq(&tasklist_lock);
+ write_lock_irq(&tasklist_lock);
+
+ err = -ESRCH;
+ p = find_task_by_vpid(args.pid);
@ -374,7 +376,7 @@ index 0000000..dc4fc95
+ }
+
+unlock_out:
+ qwrite_unlock_irq(&tasklist_lock);
+ write_unlock_irq(&tasklist_lock);
+
+ /* Copy the old values back to caller. */
+ if (copy_to_user((struct task_state_notify_info __user *)arg,
@ -387,7 +389,7 @@ index 0000000..dc4fc95
+
diff --git a/kernel/death_notify.h b/kernel/death_notify.h
new file mode 100644
index 0000000..1609cb4
index 0000000..14a0995
--- /dev/null
+++ b/kernel/death_notify.h
@@ -0,0 +1,46 @@
@ -425,20 +427,20 @@ index 0000000..1609cb4
+
+extern int do_notify_task_state(unsigned long arg);
+extern void do_notify_others(struct task_struct *tsk,
+ struct siginfo *info);
+ struct kernel_siginfo *info);
+extern void release_notify_others(struct task_struct *p);
+
+#else /* !CONFIG_SIGEXIT */
+
+static inline void do_notify_others(struct task_struct *tsk,
+ struct siginfo *info) {}
+ struct kernel_siginfo *info) {}
+static inline void release_notify_others(struct task_struct *p) {}
+
+#endif /* CONFIG_SIGEXIT */
+#endif
+
diff --git a/kernel/exit.c b/kernel/exit.c
index deaa53a..fd0729f 100644
index 3fb7be0..2005dcd 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -67,6 +67,9 @@
@ -451,7 +453,7 @@ index deaa53a..fd0729f 100644
static void __unhash_process(struct task_struct *p, bool group_dead)
{
@@ -195,6 +198,9 @@ repeat:
@@ -196,6 +199,9 @@ void release_task(struct task_struct *p)
proc_flush_task(p);
write_lock_irq(&tasklist_lock);
@ -462,10 +464,10 @@ index deaa53a..fd0729f 100644
__exit_signal(p);
diff --git a/kernel/fork.c b/kernel/fork.c
index 3311231..04dca7c 100644
index 0400c41..97b55a2 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1796,6 +1796,10 @@ static __latent_entropy struct task_struct *copy_process(
@@ -1910,6 +1910,10 @@ static __latent_entropy struct task_struct *copy_process(
p->sequential_io = 0;
p->sequential_io_avg = 0;
#endif
@ -477,10 +479,10 @@ index 3311231..04dca7c 100644
/* Perform scheduler related setup. Assign this task to a CPU. */
retval = sched_fork(clone_flags, p);
diff --git a/kernel/signal.c b/kernel/signal.c
index 8d8a940..ad65719 100644
index 85a938c..b8bf3ee 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -51,6 +51,9 @@
@@ -52,6 +52,9 @@
#include <asm/siginfo.h>
#include <asm/cacheflush.h>
#include "audit.h" /* audit_signal_info() */
@ -490,7 +492,7 @@ index 8d8a940..ad65719 100644
/*
* SLAB caches for signal bits.
@@ -1803,6 +1806,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
@@ -1895,6 +1898,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
__wake_up_parent(tsk, tsk->parent);
spin_unlock_irqrestore(&psig->siglock, flags);
@ -501,7 +503,7 @@ index 8d8a940..ad65719 100644
return autoreap;
}
@@ -1875,6 +1882,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
@@ -1967,6 +1974,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
*/
__wake_up_parent(tsk, parent);
spin_unlock_irqrestore(&sighand->siglock, flags);
@ -511,9 +513,9 @@ index 8d8a940..ad65719 100644
+#endif
}
static inline int may_ptrace_stop(void)
static inline bool may_ptrace_stop(void)
diff --git a/kernel/sys.c b/kernel/sys.c
index 38509dc..11e5355 100644
index 8a0fab9..e957bd5 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -75,6 +75,9 @@
@ -539,5 +541,5 @@ index 38509dc..11e5355 100644
error = prctl_set_mm(arg2, arg3, arg4, arg5);
break;
--
2.18.1
2.7.4

View File

@ -4,23 +4,22 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Dahir Osman <dahir.osman@windriver.com>
Date: Wed, 13 Jan 2016 10:01:11 -0500
Subject: [PATCH 04/26] PCI: Add ACS quirk for Intel Fortville NICs
Subject: [PATCH 02/10] PCI: Add ACS quirk for Intel Fortville NICs
Use quirks to determine isolation for now until a later kernel can
properly read the Fortville ACS capabilities.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
drivers/pci/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 3db73ce..45c4e4d 100644
index 36f8e32..03c25f9 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4401,6 +4401,10 @@ static const struct pci_dev_acs_enabled {
@@ -4422,6 +4422,10 @@ static const struct pci_dev_acs_enabled {
/* I219 */
{ PCI_VENDOR_ID_INTEL, 0x15b7, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_INTEL, 0x15b8, pci_quirk_mf_endpoint_acs },
@ -32,5 +31,5 @@ index 3db73ce..45c4e4d 100644
{ PCI_VENDOR_ID_QCOM, 0x0400, pci_quirk_qcom_rp_acs },
{ PCI_VENDOR_ID_QCOM, 0x0401, pci_quirk_qcom_rp_acs },
--
2.18.1
2.7.4

View File

@ -1,232 +0,0 @@
From 1d197374f04642f9a5e71cc013d65d5438c35dc3 Mon Sep 17 00:00:00 2001
Message-Id: <1d197374f04642f9a5e71cc013d65d5438c35dc3.1527544850.git.Jim.Somerville@windriver.com>
In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Kam Nasim <kam.nasim@windriver.com>
Date: Wed, 23 Aug 2017 17:58:12 -0400
Subject: [PATCH 22/26] US101216: IMA support in Titanium kernel
facilitate building the IMA subsytem out-of-the-kernel tree as a Kernel
module (for which CONFIG_IMA and CONFIG_INTEGRITY will be undefined) by:
- exporting certain function symbols which will be linked to the kernel
module. This includes redefining the export symbols for kernel
functions such that when the kernel module loads, it dynamically points
to those new function definations and reverts to Kernel default
definitions on module deinit
- enabling inode readcount
- modification to ima_file_check to pass in file OPEN status
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Robin Lu <bin1.lu@intel.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
fs/xattr.c | 1 +
include/linux/fs.h | 15 +----
security/security.c | 137 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 140 insertions(+), 13 deletions(-)
diff --git a/fs/xattr.c b/fs/xattr.c
index 0d6a6a4..7ce4701 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -295,6 +295,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
*xattr_value = value;
return error;
}
+EXPORT_SYMBOL_GPL(vfs_getxattr_alloc);
ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c603897..118e7cd 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -669,9 +669,8 @@ struct inode {
atomic_t i_count;
atomic_t i_dio_count;
atomic_t i_writecount;
-#ifdef CONFIG_IMA
atomic_t i_readcount; /* struct files open RO */
-#endif
+
const struct file_operations *i_fop; /* former ->i_op->default_file_ops */
struct file_lock_context *i_flctx;
struct address_space i_data;
@@ -2867,7 +2866,6 @@ static inline bool inode_is_open_for_write(const struct inode *inode)
return atomic_read(&inode->i_writecount) > 0;
}
-#ifdef CONFIG_IMA
static inline void i_readcount_dec(struct inode *inode)
{
BUG_ON(!atomic_read(&inode->i_readcount));
@@ -2877,16 +2875,7 @@ static inline void i_readcount_inc(struct inode *inode)
{
atomic_inc(&inode->i_readcount);
}
-#else
-static inline void i_readcount_dec(struct inode *inode)
-{
- return;
-}
-static inline void i_readcount_inc(struct inode *inode)
-{
- return;
-}
-#endif
+
extern int do_pipe_flags(int *, int);
#define __kernel_read_file_id(id) \
diff --git a/security/security.c b/security/security.c
index 5dce670..838a9ef 100644
--- a/security/security.c
+++ b/security/security.c
@@ -227,6 +227,143 @@ EXPORT_SYMBOL(unregister_lsm_notifier);
/* Security operations */
+/*
+ * Export these symbols since the IMA and Integrity
+ * modules will redefine it. We do this EXPORT in
+ * the security endpoint as this is the last Kernel
+ * hook into the Integrity / IMA modules
+ */
+#ifndef CONFIG_INTEGRITY
+static struct integrity_iint_cache* integrity_inode_get_kmod(struct inode *inode)
+{
+ return NULL;
+}
+
+static void integrity_inode_free_kmod(struct inode *inode)
+{
+ return;
+}
+
+static inline void integrity_load_keys_kmod(void)
+{
+}
+
+struct integrity_iint_cache *
+ (*integrity_inode_get)(struct inode *) = &integrity_inode_get_kmod;
+void
+ (*integrity_inode_free)(struct inode*) = &integrity_inode_free_kmod;
+void
+ (*integrity_load_keys)(void) = &integrity_load_keys_kmod;
+
+EXPORT_SYMBOL_GPL(integrity_inode_get);
+EXPORT_SYMBOL_GPL(integrity_inode_free);
+EXPORT_SYMBOL_GPL(integrity_load_keys);
+#endif
+
+#ifndef CONFIG_IMA
+static int ima_bprm_check_kmod(struct linux_binprm *bprm)
+{
+ return 0;
+}
+
+static int ima_file_check_kmod(struct file *file, int mask, int opened)
+{
+ return 0;
+}
+
+static void ima_file_free_kmod(struct file *file)
+{
+ return;
+}
+
+static int ima_file_mmap_kmod(struct file *file, unsigned long prot)
+{
+ return 0;
+}
+
+static int ima_read_file_kmod(struct file *file, enum kernel_read_file_id id)
+{
+ return 0;
+}
+
+static int ima_post_read_file_kmod(struct file *file, void *buf, loff_t size,
+ enum kernel_read_file_id id)
+{
+ return 0;
+}
+
+static void ima_post_path_mknod_kmod(struct dentry *dentry)
+{
+ return;
+}
+
+int
+ (*ima_bprm_check)(struct linux_binprm *) = &ima_bprm_check_kmod;
+int
+ (*ima_file_check)(struct file *, int, int) = &ima_file_check_kmod;
+void
+ (*ima_file_free)(struct file *) = &ima_file_free_kmod;
+int
+ (*ima_file_mmap)(struct file*, unsigned long) = &ima_file_mmap_kmod;
+int
+ (*ima_read_file)(struct file *file, enum kernel_read_file_id id) = &ima_read_file_kmod;
+int
+ (*ima_post_read_file)(struct file *file, void *buf, loff_t size,
+ enum kernel_read_file_id id) = &ima_post_read_file_kmod;
+void
+ (*ima_post_path_mknod)(struct dentry *dentry) = &ima_post_path_mknod_kmod;
+
+EXPORT_SYMBOL_GPL(ima_bprm_check);
+EXPORT_SYMBOL_GPL(ima_file_check);
+EXPORT_SYMBOL_GPL(ima_file_free);
+EXPORT_SYMBOL_GPL(ima_file_mmap);
+EXPORT_SYMBOL_GPL(ima_read_file);
+EXPORT_SYMBOL_GPL(ima_post_read_file);
+EXPORT_SYMBOL_GPL(ima_post_path_mknod);
+#endif
+
+#ifndef CONFIG_IMA_APPRAISE
+static bool is_ima_appraise_enabled_kmod(void)
+{
+ return 0;
+}
+
+static void ima_inode_post_setattr_kmod(struct dentry *dentry)
+{
+ return;
+}
+
+static int ima_inode_setxattr_kmod(struct dentry *dentry,
+ const char *xattr_name,
+ const void *xattr_value,
+ size_t xattr_value_len)
+{
+ return 0;
+}
+
+static int ima_inode_removexattr_kmod(struct dentry *dentry,
+ const char *xattr_name)
+{
+ return 0;
+}
+
+bool
+ (*is_ima_appraise_enabled)(void) = &is_ima_appraise_enabled_kmod;
+void
+ (*ima_inode_post_setattr)(struct dentry *) = &ima_inode_post_setattr_kmod;
+int
+ (*ima_inode_setxattr)(struct dentry *, const char *,
+ const void *, size_t) = &ima_inode_setxattr_kmod;
+int
+ (*ima_inode_removexattr)(struct dentry *,
+ const char *) = &ima_inode_removexattr_kmod;
+
+EXPORT_SYMBOL_GPL(is_ima_appraise_enabled);
+EXPORT_SYMBOL_GPL(ima_inode_post_setattr);
+EXPORT_SYMBOL_GPL(ima_inode_setxattr);
+EXPORT_SYMBOL_GPL(ima_inode_removexattr);
+#endif
+
int security_binder_set_context_mgr(struct task_struct *mgr)
{
return call_int_hook(binder_set_context_mgr, 0, mgr);
--
2.18.1

View File

@ -1,252 +0,0 @@
From 43dfb08aa6e053bcf1cf5696ea6bc3b9b2aa3d53 Mon Sep 17 00:00:00 2001
Message-Id: <43dfb08aa6e053bcf1cf5696ea6bc3b9b2aa3d53.1527544850.git.Jim.Somerville@windriver.com>
In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Kam Nasim <kam.nasim@windriver.com>
Date: Wed, 4 Oct 2017 14:02:10 -0400
Subject: [PATCH 23/26] US103091: IMA: System Configuration
Normally (if trusted integrity keyring is disabled), the _ima keyring
needs to be created by user space (specifically systemd), but that has
the added disadvantage of requiring the IMA public key to reside on the
file system as opposed to being compiled in. Somebody could render some
serious Grade A damage by corrupting this public key on the FS.
Crippling the system if IMA 'enforce' action is enabled.
We will therefore create the IMA keyring inside the kernel and load the
IMA public key as a compiled data blob, similar to how the Kernel loads
trusted X509 keys into the system truststore (.system_keyring)
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
certs/.gitignore | 1 +
certs/Makefile | 45 +++++++++++++++++++-
certs/ima_certificate.S | 20 +++++++++
certs/system_keyring.c | 80 +++++++++++++++++++++++++++++++++++
include/keys/system_keyring.h | 2 +
5 files changed, 146 insertions(+), 2 deletions(-)
create mode 100644 certs/ima_certificate.S
diff --git a/certs/.gitignore b/certs/.gitignore
index f51aea4..3396b4a 100644
--- a/certs/.gitignore
+++ b/certs/.gitignore
@@ -2,3 +2,4 @@
# Generated files
#
x509_certificate_list
+ima_x509_certificate
diff --git a/certs/Makefile b/certs/Makefile
index 5d0999b..3e868ea 100644
--- a/certs/Makefile
+++ b/certs/Makefile
@@ -3,7 +3,7 @@
# Makefile for the linux kernel signature checking certificates.
#
-obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += system_keyring.o system_certificates.o
+obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += system_keyring.o system_certificates.o ima_certificate.o
obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist.o
ifneq ($(CONFIG_SYSTEM_BLACKLIST_HASH_LIST),"")
obj-$(CONFIG_SYSTEM_BLACKLIST_KEYRING) += blacklist_hashes.o
@@ -29,7 +29,48 @@ $(obj)/x509_certificate_list: scripts/extract-cert $(SYSTEM_TRUSTED_KEYS_SRCPREF
$(call if_changed,extract_certs,$(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(CONFIG_SYSTEM_TRUSTED_KEYS))
endif # CONFIG_SYSTEM_TRUSTED_KEYRING
-clean-files := x509_certificate_list .x509.list
+###############################################################################
+#
+# We will roll in the IMA X.509 certificate and pull it in the kernel
+# so that it gets loaded into the _ima keyring during boot.
+#
+# Ideally, this should have been treated similar to other .x509 certificates
+# (X509_CERTIFICATES), but those all get loaded into the system trusted keyring
+# and since the canonical pathnames are not available in the x509_certificate_list
+# compiled data blob, there is no way to isolate the IMA certificate from the
+# rest. Therefore we treat the IMA certificate as a seperate blob all together.
+#
+# We look in the source root for the IMA certificate, of name "ima_signing_key.pub"
+#
+###############################################################################
+IMA_X509_CERTIFICATE := $(srctree)/ima_signing_key.pub
+
+ifneq ($(wildcard $(obj)/.x509.ima),)
+ifneq ($(shell cat $(obj)/.x509.ima),$(IMA_X509_CERTIFICATE))
+$(info IMA: X.509 certificate changed)
+$(shell rm $(obj)/.x509.ima)
+endif
+endif
+
+# GCC doesn't include .incbin files in -MD generated dependencies (PR#66871)
+$(obj)/ima_certificate.o: $(obj)/ima_x509_certificate
+
+# Cope with signing_key.x509 existing in $(srctree) not $(objtree)
+AFLAGS_ima_certificate.o := -I$(IMA_X509_CERTIFICATE)
+
+quiet_cmd_extract_certs = EXTRACT_CERTS $(patsubst "%",%,$(2))
+ cmd_extract_certs = scripts/extract-cert $(2) $@ || ( rm $@; exit 1)
+
+targets += ima_x509_certificate
+$(obj)/ima_x509_certificate: scripts/extract-cert $(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(SYSTEM_TRUSTED_KEYS_FILENAME) FORCE
+ $(call if_changed,extract_certs,$(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(CONFIG_SYSTEM_TRUSTED_KEYS))
+
+targets += $(obj)/.x509.ima
+$(obj)/.x509.ima:
+ @echo $(IMA_X509_CERTIFICATE) >$@
+
+
+clean-files := x509_certificate_list .x509.list ima_x509_certificate .x509.ima
ifeq ($(CONFIG_MODULE_SIG),y)
###############################################################################
diff --git a/certs/ima_certificate.S b/certs/ima_certificate.S
new file mode 100644
index 0000000..f163630
--- /dev/null
+++ b/certs/ima_certificate.S
@@ -0,0 +1,20 @@
+#include <linux/export.h>
+#include <linux/init.h>
+
+ __INITRODATA
+
+ .align 8
+ .globl VMLINUX_SYMBOL(ima_system_certificate)
+VMLINUX_SYMBOL(ima_system_certificate):
+__cert_list_start:
+ .incbin "certs/ima_x509_certificate"
+__cert_list_end:
+
+ .align 8
+ .globl VMLINUX_SYMBOL(ima_system_certificate_size)
+VMLINUX_SYMBOL(ima_system_certificate_size):
+#ifdef CONFIG_64BIT
+ .quad __cert_list_end - __cert_list_start
+#else
+ .long __cert_list_end - __cert_list_start
+#endif
diff --git a/certs/system_keyring.c b/certs/system_keyring.c
index 19bd050..02d7a8b 100644
--- a/certs/system_keyring.c
+++ b/certs/system_keyring.c
@@ -27,10 +27,15 @@ static struct key *secondary_trusted_keys;
#ifdef CONFIG_INTEGRITY_PLATFORM_KEYRING
static struct key *platform_trusted_keys;
#endif
+struct key *ima_keyring;
+EXPORT_SYMBOL_GPL(ima_keyring);
extern __initconst const u8 system_certificate_list[];
extern __initconst const unsigned long system_certificate_list_size;
+extern __initconst const u8 ima_system_certificate[];
+extern __initconst const unsigned long ima_system_certificate_size;
+
/**
* restrict_link_to_builtin_trusted - Restrict keyring addition by built in CA
*
@@ -126,6 +131,25 @@ static __init int system_trusted_keyring_init(void)
if (key_link(secondary_trusted_keys, builtin_trusted_keys) < 0)
panic("Can't link trusted keyrings\n");
#endif
+ /* Normally (if trusted integrity keyring is disabled), the _ima
+ * keyring needs to be created by user space but that has the
+ * added disadvantage of requiring the IMA public key to reside on
+ * the file system as opposed to being compiled in.
+ * We will therefore form a _ima keyring here and load build
+ * the IMA X.509 certificate
+ *
+ * N.B: The IMA keyring only allows root userspace view & read ops
+ */
+ pr_notice("Initializing system IMA keyring\n");
+
+ ima_keyring = keyring_alloc("_ima",
+ KUIDT_INIT(0), KGIDT_INIT(0),
+ current_cred(),
+ ((KEY_POS_ALL & ~KEY_POS_SETATTR) |
+ KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH),
+ KEY_ALLOC_NOT_IN_QUOTA, NULL, NULL);
+ if (IS_ERR(ima_keyring))
+ panic("Can't allocate system IMA keyring\n");
return 0;
}
@@ -191,6 +215,62 @@ dodgy_cert:
}
late_initcall(load_system_certificate_list);
+/*
+ * Load the compiled-in IMA certificate.
+ */
+static __init int load_ima_system_certificate(void)
+{
+ key_ref_t key;
+ const u8 *p, *end;
+ size_t plen;
+
+ pr_notice("Loading compiled-in X.509 IMA certificate\n");
+
+ p = ima_system_certificate;
+ end = p + ima_system_certificate_size;
+ while (p < end) {
+ /* Each cert begins with an ASN.1 SEQUENCE tag and must be more
+ * than 256 bytes in size.
+ */
+ if (end - p < 4)
+ goto dodgy_cert;
+ if (p[0] != 0x30 &&
+ p[1] != 0x82)
+ goto dodgy_cert;
+ plen = (p[2] << 8) | p[3];
+ plen += 4;
+ if (plen > end - p)
+ goto dodgy_cert;
+
+ key = key_create_or_update(make_key_ref(ima_keyring, 1),
+ "asymmetric",
+ NULL,
+ p,
+ plen,
+ ((KEY_POS_ALL & ~KEY_POS_SETATTR) |
+ KEY_USR_VIEW | KEY_USR_READ),
+ KEY_ALLOC_NOT_IN_QUOTA |
+ KEY_ALLOC_BUILT_IN);
+ if (IS_ERR(key)) {
+ pr_err("Problem loading in-kernel X.509 certificate (%ld)\n",
+ PTR_ERR(key));
+ } else {
+ set_bit(KEY_FLAG_BUILTIN, &key_ref_to_ptr(key)->flags);
+ pr_notice("Loaded X.509 cert '%s'\n",
+ key_ref_to_ptr(key)->description);
+ key_ref_put(key);
+ }
+ p += plen;
+ }
+
+ return 0;
+
+dodgy_cert:
+ pr_err("Problem parsing in-kernel X.509 IMA certificate\n");
+ return 0;
+}
+late_initcall(load_ima_system_certificate);
+
#ifdef CONFIG_SYSTEM_DATA_VERIFICATION
/**
diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
index c7f899e..4f757a7 100644
--- a/include/keys/system_keyring.h
+++ b/include/keys/system_keyring.h
@@ -73,4 +73,6 @@ static inline void set_platform_trusted_keys(struct key *keyring)
#endif /* CONFIG_INTEGRITY_PLATFORM_KEYRING */
+extern struct key *ima_keyring;
+
#endif /* _KEYS_SYSTEM_KEYRING_H */
--
2.18.1

View File

@ -4,7 +4,7 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Chris Friesen <chris.friesen@windriver.com>
Date: Tue, 24 Nov 2015 16:27:28 -0500
Subject: [PATCH 05/26] affine compute kernel threads
Subject: [PATCH 03/10] affine compute kernel threads
This is a kernel enhancement to configure the cpu affinity of kernel
threads via kernel boot option kthread_cpus=<cpulist>. The compute
@ -30,7 +30,6 @@ Signed-off-by: Vu Tran <vu.tran@windriver.com>
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++
include/linux/cpumask.h | 3 +++
@ -41,10 +40,10 @@ Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
6 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 3ff6f8d..2f4a7ad 100644
index 5d43bff..928b525 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1944,6 +1944,15 @@
@@ -1968,6 +1968,15 @@
Default: on
Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
the default is off.
@ -58,8 +57,8 @@ index 3ff6f8d..2f4a7ad 100644
+ are being spawned. Allows to keep kernel threads
+ away from certain cores unless absoluteluy necessary.
kpti= [ARM64] Control page table isolation of user
and kernel address spaces.
kpti= [ARM64] Control page table isolation of user
and kernel address spaces.
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 57f20a0..4526034 100644
--- a/include/linux/cpumask.h
@ -86,10 +85,10 @@ index 57f20a0..4526034 100644
#if NR_CPUS > 1
#define num_online_cpus() cpumask_weight(cpu_online_mask)
diff --git a/init/main.c b/init/main.c
index 8cce5b1..0c5457a 100644
index 42c2f2e..f248b7f 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1135,6 +1135,8 @@ static noinline void __init kernel_init_freeable(void)
@@ -1142,6 +1142,8 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
@ -99,10 +98,10 @@ index 8cce5b1..0c5457a 100644
if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
pr_err("Warning: unable to open an initial console.\n");
diff --git a/kernel/cpu.c b/kernel/cpu.c
index fb61ee6..4c7b343 100644
index d94cf04..0f2e63f 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -2218,6 +2218,9 @@ EXPORT_SYMBOL_GPL(cpu_bit_bitmap);
@@ -2226,6 +2226,9 @@ EXPORT_SYMBOL_GPL(cpu_bit_bitmap);
const DECLARE_BITMAP(cpu_all_bits, NR_CPUS) = CPU_BITS_ALL;
EXPORT_SYMBOL(cpu_all_bits);
@ -112,7 +111,7 @@ index fb61ee6..4c7b343 100644
#ifdef CONFIG_INIT_ALL_POSSIBLE
struct cpumask __cpu_possible_mask __read_mostly
= {CPU_BITS_ALL};
@@ -2235,6 +2238,17 @@ EXPORT_SYMBOL(__cpu_present_mask);
@@ -2243,6 +2246,17 @@ EXPORT_SYMBOL(__cpu_present_mask);
struct cpumask __cpu_active_mask __read_mostly;
EXPORT_SYMBOL(__cpu_active_mask);
@ -131,10 +130,10 @@ index fb61ee6..4c7b343 100644
{
cpumask_copy(&__cpu_present_mask, src);
diff --git a/kernel/kthread.c b/kernel/kthread.c
index 486dedb..697ec70 100644
index 1f0bf2d..3a5f1af 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -338,7 +338,7 @@ struct task_struct *__kthread_create_on_node(int (*threadfn)(void *data),
@@ -339,7 +339,7 @@ struct task_struct *__kthread_create_on_node(int (*threadfn)(void *data),
* The kernel thread should not inherit these properties.
*/
sched_setscheduler_nocheck(task, SCHED_NORMAL, &param);
@ -143,7 +142,7 @@ index 486dedb..697ec70 100644
}
kfree(create);
return task;
@@ -561,7 +561,7 @@ int kthreadd(void *unused)
@@ -562,7 +562,7 @@ int kthreadd(void *unused)
/* Setup a clean context for our children to inherit. */
set_task_comm(tsk, "kthreadd");
ignore_signals(tsk);
@ -153,10 +152,10 @@ index 486dedb..697ec70 100644
current->flags |= PF_NOFREEZE;
diff --git a/kernel/umh.c b/kernel/umh.c
index c449858..90c3a60 100644
index d937cba..94715df 100644
--- a/kernel/umh.c
+++ b/kernel/umh.c
@@ -72,6 +72,9 @@ static int call_usermodehelper_exec_async(void *data)
@@ -74,6 +74,9 @@ static int call_usermodehelper_exec_async(void *data)
flush_signal_handlers(current, 1);
spin_unlock_irq(&current->sighand->siglock);
@ -167,5 +166,5 @@ index c449858..90c3a60 100644
* Our parent (unbound workqueue) runs with elevated scheduling
* priority. Avoid propagating that into the userspace child.
--
2.18.1
2.7.4

View File

@ -4,7 +4,7 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Matt Peters <matt.peters@windriver.com>
Date: Mon, 30 May 2016 10:51:02 -0400
Subject: [PATCH 08/26] intel-iommu: allow ignoring Ethernet device RMRR with
Subject: [PATCH 06/10] intel-iommu: allow ignoring Ethernet device RMRR with
IOMMU passthrough
Some BIOS's are reporting DMAR RMRR entries for Ethernet devices
@ -16,16 +16,14 @@ passthrough is enabled.
Originally-by: Matt Peters <matt.peters@windriver.com>
[PG: Added bootarg wrapper and documentation entries.]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Nam Ninh <nam.ninh@windriver.com>
Signed-off-by: Nam Ninh <nam.ninh@windriver.com>
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
---
Documentation/Intel-IOMMU.txt | 18 ++++++++++++++++++
.../admin-guide/kernel-parameters.txt | 5 +++++
drivers/iommu/intel-iommu.c | 19 +++++++++++++++++++
Documentation/Intel-IOMMU.txt | 18 ++++++++++++++++++
Documentation/admin-guide/kernel-parameters.txt | 5 +++++
drivers/iommu/intel-iommu.c | 19 +++++++++++++++++++
3 files changed, 42 insertions(+)
diff --git a/Documentation/Intel-IOMMU.txt b/Documentation/Intel-IOMMU.txt
@ -58,10 +56,10 @@ index 9dae6b4..1080fcb 100644
----------------------
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 2f4a7ad..c11ebc3 100644
index 928b525..cea7932 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1651,6 +1651,11 @@
@@ -1672,6 +1672,11 @@
than 32-bit addressing. The default is to look
for translation below 32-bit and if not available
then look in the higher range.
@ -74,7 +72,7 @@ index 2f4a7ad..c11ebc3 100644
With this option on every unmap_single operation will
result in a hardware IOTLB flush operation as opposed
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 7e9f1db..a28bafe 100644
index 0962d65..ea478fa 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -485,6 +485,7 @@ static int dmar_forcedac;
@ -101,7 +99,7 @@ index 7e9f1db..a28bafe 100644
} else if (!strncmp(str, "strict", 6)) {
pr_info("Disable batched IOTLB flush\n");
intel_iommu_strict = 1;
@@ -2917,6 +2927,15 @@ static bool device_is_rmrr_locked(struct device *dev)
@@ -2920,6 +2930,15 @@ static bool device_is_rmrr_locked(struct device *dev)
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
return false;
@ -118,5 +116,5 @@ index 7e9f1db..a28bafe 100644
return true;
--
2.18.1
2.7.4

View File

@ -0,0 +1,833 @@
# Add builtin
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=256
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_ISCSI_TCP=y
# SCSI Related Drivers
# Let's enable lots of them, pretty much anything RAID capable
CONFIG_ATA=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_ARCMSR=y
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_STEX=y
CONFIG_SCSI_PMCRAID=y
CONFIG_SCSI_HPSA=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_SMARTPQI=y
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_VIRTIO=y
CONFIG_FUSION_SAS=y
CONFIG_SCSI_AIC94XX=y
CONFIG_SCSI_MVSAS=y
CONFIG_RAID_ATTRS=y
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_MMIO=y
CONFIG_ISO9660_FS=y
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_NLS_ISO8859_1=y
CONFIG_BLK_DEV_DRBD=m
CONFIG_DRBD_FAULT_INJECTION=y
# CONFIG_GENERIC_CPU is not set
CONFIG_MCORE2=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_SIGEXIT=y
CONFIG_SCHEDSTATS=y
# Enable runtime Huge TLB support
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=16
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# Turn on Intel IOMMU
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
# Turn off network drivers that we want
# to build out-of-tree
# CONFIG_E1000E is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_IXGB is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# Turn off TPM drivers that we want
# to build out-of-tree. This will
# disable the TPM HW-RandomNUmberGenerator(RNG)
# and TrustedKeys modules as well, since
# they require the in-kernel TPM driver.
# Both these modules will also need to be
# built out-of-tree when needed.
# CONFIG_TCG_TPM is not set
# CONFIG_TCG_TIS is not set
# CONFIG_HW_RANDOM_TPM is not set
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
# CONFIG_TCG_CRB is not set
# CONFIG_TCG_TIS_ST33ZP24 is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# Also disable TPM Integrity Measurement Architecture
# (IMA), as this will be built out of tree but ensure
# that all their dependencies (that comes from the base kernel)
# that are marked as "select" within the Integrity / IMA
# Kconfigs are still enabled
# CONFIG_INTEGRITY is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_SIGNATURE=y
CONFIG_KEYS=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_SECURITYFS=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
#Enable Intel RDT
CONFIG_KERNFS=y
CONFIG_INTEL_RDT_A=y
#Enable PTP clock support
CONFIG_PPS=y
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_PCH=y
CONFIG_PTP_1588_CLOCK_KVM=y
CONFIG_DP83640_PHY=y
# Remove unneeded stuff (including stuff exposed
# by saying y to new options above.
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
# CONFIG_PANIC_ON_OOPS is not set
# CONFIG_SOUND is not set
# CONFIG_FIREWIRE is not set
# CONFIG_KPROBES is not set
# CONFIG_XEN is not set
# CONFIG_BT is not set
# CONFIG_USB_USBNET is not set
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_MLX5_EN is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_RTL8187 is not set
# CONFIG_MWL8K is not set
# CONFIG_CFG80211 is not set
# CONFIG_WAN is not set
# CONFIG_ISDN is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_GAMEPORT is not set
# CONFIG_THUNDERBOLT is not set
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_SSB is not set
# CONFIG_BCMA is not set
# CONFIG_MEDIA_SUPPORT is not set
# CONFIG_RC_CORE is not set
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_NET_FOU is not set
# CONFIG_NET_FOU_IP_TUNNELS is not set
# CONFIG_GENEVE is not set
# CONFIG_IPV6_VTI is not set
# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
# CONFIG_NET_SCH_FQ is not set
# CONFIG_NET_CLS_BPF is not set
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_GENWQE is not set
# CONFIG_CXL_BASE is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_RAID is not set
# CONFIG_DM_SWITCH is not set
# CONFIG_NLMON is not set
# CONFIG_FM10K is not set
# CONFIG_CRASH is not set
# CONFIG_IPMI_SSIF is not set
# CONFIG_POWERCAP is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_HID_RMI is not set
# CONFIG_NET_DMA_RH_KABI is not set
# CONFIG_HP_WIRELESS is not set
# CONFIG_NFSD_V4_SECURITY_LABEL is not set
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
# CONFIG_SECURITY_SECURELEVEL is not set
# CONFIG_CRYPTO_SHA1_MB is not set
# CONFIG_CRYPTO_DEV_QAT is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
# CONFIG_CRYPTO_DEV_QAT_C62X is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
# CONFIG_BPF_JIT is not set
# CONFIG_PARPORT is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_PCH_PHUB is not set
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_CB710_CORE is not set
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
# CONFIG_SCSI_MPT3SAS_LOGGING is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_FCOE is not set
# CONFIG_FCOE_FNIC is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARASAN_CF is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_VIA is not set
# CONFIG_DM_DEBUG is not set
# CONFIG_MACINTOSH_DRIVERS is not set
# CONFIG_NET_FC is not set
# CONFIG_NET_TEAM is not set
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_ALX is not set
# CONFIG_ARM_AT91_ETHER is not set
# CONFIG_MACB is not set
# CONFIG_B44 is not set
# CONFIG_BNA is not set
# CONFIG_NET_CALXEDA_XGMAC is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
# CONFIG_NET_TULIP is not set
# CONFIG_IP1000 is not set
# CONFIG_JME is not set
# CONFIG_MVMDIO is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_MYRI10GE is not set
# CONFIG_PCH_GBE is not set
# CONFIG_ETHOC is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_SFC is not set
# CONFIG_EPIC100 is not set
# CONFIG_SMSC9420 is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_OPROFILE is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_X86_UV is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE_AMD is not set
# CONFIG_MICROCODE_AMD_EARLY is not set
# CONFIG_MOVABLE_NODE is not set
# CONFIG_MEMORY_HOTPLUG is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_IP_FIB_TRIE_STATS is not set
# CONFIG_PPP_MPPE is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TELCLOCK is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBMPEX is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_PMBUS is not set
# CONFIG_SENSORS_ADM1275 is not set
# CONFIG_SENSORS_LM25066 is not set
# CONFIG_SENSORS_LTC2978 is not set
# CONFIG_SENSORS_MAX16064 is not set
# CONFIG_SENSORS_MAX34440 is not set
# CONFIG_SENSORS_MAX8688 is not set
# CONFIG_SENSORS_UCD9000 is not set
# CONFIG_SENSORS_UCD9200 is not set
# CONFIG_SENSORS_ZL6100 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_VGA_SWITCHEROO is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_GMA600 is not set
# CONFIG_DRM_GMA3600 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_AMD_ACP is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set
# CONFIG_HID_BATTERY_STRENGTH is not set
# CONFIG_HIDRAW is not set
# CONFIG_UHID is not set
# CONFIG_HID_ACRUX is not set
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LENOVO_TPKBD is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_PS3REMOTE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THINGM is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_WACOM is not set
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB_CBAF is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_DEBUG is not set
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_ATM is not set
# CONFIG_UWB is not set
# CONFIG_MMC_RICOH_MMC is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_LP5562 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_NET_DMA_RH_KABI is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
# CONFIG_STAGING is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WMI is not set
# CONFIG_DELL_WMI is not set
# CONFIG_DELL_WMI_AIO is not set
# CONFIG_HP_WMI is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WMI is not set
# CONFIG_MSI_WMI is not set
# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_CHROMEOS_LAPTOP is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_DELL_LAPTOP is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_HP_ACCEL is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_PVPANIC is not set
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_JBD_DEBUG is not set
# CONFIG_FANOTIFY is not set
# CONFIG_JOLIET is not set
# CONFIG_UDF_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
# CONFIG_EFIVAR_FS is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_TRACER_SNAPSHOT is not set
# CONFIG_PROBE_EVENTS is not set
# CONFIG_KPROBE_EVENTS is not set
# CONFIG_UPROBE_EVENTS is not set
# CONFIG_FUNCTION_PROFILER is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_KGDB is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_DEV_PADLOCK is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_AIC94XX_DEBUG is not set
# CONFIG_GPIO_BT8XX is not set
# Turn on kernel preemption
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_RCU_BOOST is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PROVE_RCU_DELAY is not set
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
# CONFIG_PREEMPT_TRACER is not set
# Disable transparent huge pages
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
# Make performance default governor
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# Needed for opae fpga kernel module
# as it turns on hidden option REGMAP_MMIO
CONFIG_MFD_SYSCON=y
# CONFIG_KASAN is not set

View File

@ -1,821 +0,0 @@
# Add builtin
CONFIG_MAXSMP=n
CONFIG_NR_CPUS=256
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_ISCSI_TCP=y
# SCSI Related Drivers
# Let's enable lots of them, pretty much anything RAID capable
CONFIG_ATA=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_ARCMSR=y
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_STEX=y
CONFIG_SCSI_PMCRAID=y
CONFIG_SCSI_HPSA=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_SMARTPQI=y
# These two will only build as modules
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_VIRTIO=y
CONFIG_FUSION_SAS=y
CONFIG_SCSI_AIC94XX=y
CONFIG_SCSI_MVSAS=y
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_MMIO=y
CONFIG_ISO9660_FS=y
CONFIG_VFAT_FS=y
CONFIG_NLS_ISO8859_1=y
CONFIG_BLK_DEV_DRBD=m
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_MCORE2=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_SIGEXIT=y
CONFIG_SCHEDSTATS=y
# Enable runtime Huge TLB support
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=16
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# Turn on Intel IOMMU
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
# Turn off network drivers that we want
# to build out-of-tree
CONFIG_E1000E=n
CONFIG_I40E=n
CONFIG_I40EVF=n
CONFIG_IXGB=n
CONFIG_IXGBE=n
CONFIG_IXGBEVF=n
# Turn off TPM drivers that we want
# to build out-of-tree. This will
# disable the TPM HW-RandomNUmberGenerator(RNG)
# and TrustedKeys modules as well, since
# they require the in-kernel TPM driver.
# Both these modules will also need to be
# built out-of-tree when needed.
CONFIG_TCG_TPM=n
CONFIG_TCG_TIS=n
CONFIG_HW_RANDOM_TPM=n
CONFIG_TRUSTED_KEYS=n
CONFIG_TCG_TIS_I2C_ATMEL=n
CONFIG_TCG_TIS_I2C_INFINEON=n
CONFIG_TCG_TIS_I2C_NUVOTON=n
CONFIG_TCG_NSC=n
CONFIG_TCG_ATMEL=n
CONFIG_TCG_INFINEON=n
CONFIG_TCG_CRB=n
CONFIG_TCG_TIS_ST33ZP24=n
CONFIG_TCG_TIS_ST33ZP24_I2C=n
# Also disable TPM Integrity Measurement Architecture
# (IMA), as this will be built out of tree but ensure
# that all their dependencies (that comes from the base kernel)
# that are marked as "select" within the Integrity / IMA
# Kconfigs are still enabled
CONFIG_INTEGRITY=n
CONFIG_IMA=n
CONFIG_EVM=n
CONFIG_SIGNATURE=y
CONFIG_KEYS=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_SECURITYFS=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
#Enable Intel RDT
CONFIG_KERNFS=y
CONFIG_INTEL_RDT_A=y
#Enable PTP clock support
CONFIG_PPS=y
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_PCH=y
CONFIG_PTP_1588_CLOCK_KVM=y
CONFIG_DP83640_PHY=y
# Remove unneeded stuff (including stuff exposed
# by saying y to new options above.
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=n
CONFIG_PANIC_ON_OOPS=n
CONFIG_SOUND=n
CONFIG_FIREWIRE=n
CONFIG_KPROBES=n
CONFIG_XEN=n
CONFIG_BT=n
CONFIG_INTEL_MEI=n
CONFIG_USB_USBNET=n
CONFIG_MLX4_EN=n
CONFIG_MLX4_CORE=n
CONFIG_MLX5_EN=n
CONFIG_MLX5_CORE=n
CONFIG_RTL8187=n
CONFIG_MWL8K=n
CONFIG_CFG80211=n
CONFIG_WAN=n
CONFIG_ISDN=n
CONFIG_INPUT_TOUCHSCREEN=n
CONFIG_SSB=n
CONFIG_BCMA=n
CONFIG_MEDIA_SUPPORT=n
CONFIG_ACPI_PROCESSOR_AGGREGATOR=n
CONFIG_ACPI_EXTLOG=n
CONFIG_NET_FOU=n
CONFIG_NET_FOU_IP_TUNNELS=n
CONFIG_GENEVE=n
CONFIG_IPV6_VTI=n
CONFIG_NETFILTER_XT_TARGET_TPROXY=n
CONFIG_NETFILTER_XT_MATCH_CGROUP=n
CONFIG_NETFILTER_XT_MATCH_SOCKET=n
CONFIG_NET_SCH_FQ=n
CONFIG_NET_CLS_BPF=n
CONFIG_BLK_DEV_NULL_BLK=n
CONFIG_GENWQE=n
CONFIG_CXL_BASE=n
CONFIG_DM_ERA=n
CONFIG_DM_RAID=n
CONFIG_DM_SWITCH=n
CONFIG_NLMON=n
CONFIG_FM10K=n
CONFIG_CRASH=n
CONFIG_IPMI_SSIF=n
CONFIG_POWERCAP=n
CONFIG_DRM_BOCHS=n
CONFIG_HID_RMI=n
CONFIG_NET_DMA_RH_KABI=n
CONFIG_HP_WIRELESS=n
CONFIG_NFSD_V4_SECURITY_LABEL=n
CONFIG_DEBUG_SHIRQ=n
CONFIG_PERSISTENT_KEYRINGS=n
CONFIG_BIG_KEYS=n
CONFIG_SECURITY_SECURELEVEL=n
CONFIG_CRYPTO_MCRYPTD=n
CONFIG_CRYPTO_SHA1_MB=n
CONFIG_CRYPTO_DRBG_MENU=n
CONFIG_CRYPTO_DEV_QAT=n
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=n
CONFIG_CRYPTO_DEV_QAT_DH895xCC=n
CONFIG_CRYPTO_DEV_QAT_C3XXX=n
CONFIG_CRYPTO_DEV_QAT_C62X=n
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=n
CONFIG_CRYPTO_DEV_QAT_C62XVF=n
CONFIG_BPF_JIT=n
CONFIG_PARPORT=n
CONFIG_CDROM_PKTCDVD=n
CONFIG_SENSORS_LIS3LV02D=n
CONFIG_SGI_IOC4=n
CONFIG_TIFM_CORE=n
CONFIG_ENCLOSURE_SERVICES=n
CONFIG_APDS9802ALS=n
CONFIG_ISL29003=n
CONFIG_ISL29020=n
CONFIG_SENSORS_TSL2550=n
CONFIG_SENSORS_BH1770=n
CONFIG_SENSORS_APDS990X=n
CONFIG_PCH_PHUB=n
CONFIG_EEPROM_AT24=n
CONFIG_EEPROM_MAX6875=n
CONFIG_EEPROM_93CX6=n
CONFIG_CB710_CORE=n
CONFIG_SENSORS_LIS3_I2C=n
CONFIG_ALTERA_STAPL=n
CONFIG_VMWARE_VMCI=n
CONFIG_CHR_DEV_ST=n
CONFIG_CHR_DEV_OSST=n
CONFIG_CHR_DEV_SG=n
CONFIG_CHR_DEV_SCH=n
CONFIG_SCSI_CONSTANTS=n
CONFIG_SCSI_LOGGING=n
CONFIG_SCSI_CXGB3_ISCSI=n
CONFIG_SCSI_CXGB4_ISCSI=n
CONFIG_SCSI_AIC79XX=n
CONFIG_SCSI_MVUMI=n
CONFIG_SCSI_MPT2SAS_LOGGING=n
CONFIG_SCSI_MPT3SAS_LOGGING=n
CONFIG_SCSI_UFSHCD=n
CONFIG_VMWARE_PVSCSI=n
CONFIG_FCOE=n
CONFIG_FCOE_FNIC=n
CONFIG_SCSI_INITIO=n
CONFIG_SCSI_PM8001=n
CONFIG_SCSI_SRP=n
CONFIG_SATA_ACARD_AHCI=n
CONFIG_SATA_SIL24=n
CONFIG_PDC_ADMA=n
CONFIG_SATA_QSTOR=n
CONFIG_SATA_SX4=n
CONFIG_SATA_MV=n
CONFIG_SATA_NV=n
CONFIG_SATA_PROMISE=n
CONFIG_SATA_SIL=n
CONFIG_SATA_SIS=n
CONFIG_SATA_SVW=n
CONFIG_SATA_ULI=n
CONFIG_SATA_VIA=n
CONFIG_SATA_VITESSE=n
CONFIG_PATA_ALI=n
CONFIG_PATA_AMD=n
CONFIG_PATA_ARASAN_CF=n
CONFIG_PATA_ARTOP=n
CONFIG_PATA_ATIIXP=n
CONFIG_PATA_ATP867X=n
CONFIG_PATA_CMD64X=n
CONFIG_PATA_CS5536=n
CONFIG_PATA_HPT366=n
CONFIG_PATA_HPT37X=n
CONFIG_PATA_HPT3X2N=n
CONFIG_PATA_HPT3X3=n
CONFIG_PATA_IT8213=n
CONFIG_PATA_IT821X=n
CONFIG_PATA_JMICRON=n
CONFIG_PATA_MARVELL=n
CONFIG_PATA_NETCELL=n
CONFIG_PATA_NINJA32=n
CONFIG_PATA_OLDPIIX=n
CONFIG_PATA_PDC2027X=n
CONFIG_PATA_PDC_OLD=n
CONFIG_PATA_RDC=n
CONFIG_PATA_SCH=n
CONFIG_PATA_SERVERWORKS=n
CONFIG_PATA_SIL680=n
CONFIG_PATA_SIS=n
CONFIG_PATA_TOSHIBA=n
CONFIG_PATA_VIA=n
CONFIG_DM_DEBUG=n
CONFIG_MACINTOSH_DRIVERS=n
CONFIG_NET_FC=n
CONFIG_NET_TEAM=n
CONFIG_ATL2=n
CONFIG_ATL1=n
CONFIG_ATL1E=n
CONFIG_ATL1C=n
CONFIG_ALX=n
CONFIG_ARM_AT91_ETHER=n
CONFIG_MACB=n
CONFIG_B44=n
CONFIG_BNA=n
CONFIG_NET_CALXEDA_XGMAC=n
CONFIG_CHELSIO_T3=n
CONFIG_CHELSIO_T4=n
CONFIG_CHELSIO_T4VF=n
CONFIG_NET_TULIP=n
CONFIG_IP1000=n
CONFIG_JME=n
CONFIG_MVMDIO=n
CONFIG_SKGE=n
CONFIG_SKY2=n
CONFIG_MYRI10GE=n
CONFIG_PCH_GBE=n
CONFIG_ETHOC=n
CONFIG_QLCNIC=n
CONFIG_QLGE=n
CONFIG_NETXEN_NIC=n
CONFIG_SFC=n
CONFIG_EPIC100=n
CONFIG_SMSC9420=n
CONFIG_AT803X_PHY=n
CONFIG_DAVICOM_PHY=n
CONFIG_QSEMI_PHY=n
CONFIG_LXT_PHY=n
CONFIG_CICADA_PHY=n
CONFIG_VITESSE_PHY=n
CONFIG_SMSC_PHY=n
CONFIG_BCM87XX_PHY=n
CONFIG_ICPLUS_PHY=n
CONFIG_REALTEK_PHY=n
CONFIG_NATIONAL_PHY=n
CONFIG_STE10XP=n
CONFIG_LSI_ET1011C_PHY=n
CONFIG_MICREL_PHY=n
CONFIG_MDIO_BITBANG=n
CONFIG_RT_GROUP_SCHED=n
CONFIG_OPROFILE=n
CONFIG_SYSTEM_BLACKLIST_KEYRING=n
CONFIG_OSF_PARTITION=n
CONFIG_AMIGA_PARTITION=n
CONFIG_MAC_PARTITION=n
CONFIG_BSD_DISKLABEL=n
CONFIG_MINIX_SUBPARTITION=n
CONFIG_SOLARIS_X86_PARTITION=n
CONFIG_UNIXWARE_DISKLABEL=n
CONFIG_SGI_PARTITION=n
CONFIG_SUN_PARTITION=n
CONFIG_KARMA_PARTITION=n
CONFIG_X86_UV=n
CONFIG_I8K=n
CONFIG_MICROCODE_AMD=n
CONFIG_MICROCODE_AMD_EARLY=n
CONFIG_MOVABLE_NODE=n
CONFIG_MEMORY_HOTPLUG=n
CONFIG_BOOTPARAM_HOTPLUG_CPU0=n
CONFIG_X86_POWERNOW_K8=n
CONFIG_X86_AMD_FREQ_SENSITIVITY=n
CONFIG_X86_P4_CLOCKMOD=n
CONFIG_PCIE_ECRC=n
CONFIG_PCIEAER_INJECT=n
CONFIG_PCCARD=n
CONFIG_HOTPLUG_PCI_ACPI_IBM=n
CONFIG_HOTPLUG_PCI_SHPC=n
CONFIG_XFRM_STATISTICS=n
CONFIG_IP_FIB_TRIE_STATS=n
CONFIG_PPP_MPPE=n
CONFIG_USB_CATC=n
CONFIG_USB_KAWETH=n
CONFIG_USB_PEGASUS=n
CONFIG_USB_RTL8150=n
CONFIG_USB_RTL8152=n
CONFIG_USB_HSO=n
CONFIG_USB_IPHETH=n
CONFIG_INPUT_FF_MEMLESS=n
CONFIG_INPUT_POLLDEV=n
CONFIG_INPUT_SPARSEKMAP=n
CONFIG_MOUSE_PS2_ELANTECH=n
CONFIG_MOUSE_PS2_SENTELIC=n
CONFIG_MOUSE_APPLETOUCH=n
CONFIG_MOUSE_BCM5974=n
CONFIG_MOUSE_CYAPA=n
CONFIG_MOUSE_VSXXXAA=n
CONFIG_MOUSE_SYNAPTICS_I2C=n
CONFIG_MOUSE_SYNAPTICS_USB=n
CONFIG_INPUT_TABLET=n
CONFIG_INPUT_PCSPKR=n
CONFIG_INPUT_APANEL=n
CONFIG_INPUT_ATLAS_BTNS=n
CONFIG_INPUT_ATI_REMOTE2=n
CONFIG_INPUT_KEYSPAN_REMOTE=n
CONFIG_INPUT_POWERMATE=n
CONFIG_INPUT_YEALINK=n
CONFIG_INPUT_CM109=n
CONFIG_INPUT_UINPUT=n
CONFIG_SERIO_ALTERA_PS2=n
CONFIG_SERIO_ARC_PS2=n
CONFIG_NOZOMI=n
CONFIG_N_GSM=n
CONFIG_SERIAL_JSM=n
CONFIG_SERIAL_ARC=n
CONFIG_HANGCHECK_TIMER=n
CONFIG_TELCLOCK=n
CONFIG_I2C_AMD756=n
CONFIG_I2C_AMD8111=n
CONFIG_I2C_PIIX4=n
CONFIG_I2C_NFORCE2=n
CONFIG_I2C_SIS96X=n
CONFIG_I2C_VIA=n
CONFIG_I2C_VIAPRO=n
CONFIG_I2C_PCA_PLATFORM=n
CONFIG_I2C_SIMTEC=n
CONFIG_I2C_DIOLAN_U2C=n
CONFIG_I2C_PARPORT_LIGHT=n
CONFIG_PPS_CLIENT_LDISC=n
CONFIG_PPS_CLIENT_GPIO=n
CONFIG_CHARGER_SMB347=n
CONFIG_SENSORS_ABITUGURU=n
CONFIG_SENSORS_ABITUGURU3=n
CONFIG_SENSORS_AD7414=n
CONFIG_SENSORS_AD7418=n
CONFIG_SENSORS_ADM1021=n
CONFIG_SENSORS_ADM1025=n
CONFIG_SENSORS_ADM1026=n
CONFIG_SENSORS_ADM1029=n
CONFIG_SENSORS_ADM1031=n
CONFIG_SENSORS_ADM9240=n
CONFIG_SENSORS_ADT7410=n
CONFIG_SENSORS_ADT7411=n
CONFIG_SENSORS_ADT7462=n
CONFIG_SENSORS_ADT7470=n
CONFIG_SENSORS_ADT7475=n
CONFIG_SENSORS_ASC7621=n
CONFIG_SENSORS_K8TEMP=n
CONFIG_SENSORS_K10TEMP=n
CONFIG_SENSORS_FAM15H_POWER=n
CONFIG_SENSORS_ASB100=n
CONFIG_SENSORS_ATXP1=n
CONFIG_SENSORS_DS620=n
CONFIG_SENSORS_DS1621=n
CONFIG_SENSORS_I5K_AMB=n
CONFIG_SENSORS_F71805F=n
CONFIG_SENSORS_F71882FG=n
CONFIG_SENSORS_F75375S=n
CONFIG_SENSORS_FSCHMD=n
CONFIG_SENSORS_G760A=n
CONFIG_SENSORS_GL518SM=n
CONFIG_SENSORS_GL520SM=n
CONFIG_SENSORS_IBMAEM=n
CONFIG_SENSORS_IBMPEX=n
CONFIG_SENSORS_IT87=n
CONFIG_SENSORS_LINEAGE=n
CONFIG_SENSORS_LM63=n
CONFIG_SENSORS_LM73=n
CONFIG_SENSORS_LM75=n
CONFIG_SENSORS_LM77=n
CONFIG_SENSORS_LM78=n
CONFIG_SENSORS_LM80=n
CONFIG_SENSORS_LM83=n
CONFIG_SENSORS_LM85=n
CONFIG_SENSORS_LM87=n
CONFIG_SENSORS_LM90=n
CONFIG_SENSORS_LM92=n
CONFIG_SENSORS_LM93=n
CONFIG_SENSORS_LTC4151=n
CONFIG_SENSORS_LTC4215=n
CONFIG_SENSORS_LTC4245=n
CONFIG_SENSORS_LTC4261=n
CONFIG_SENSORS_LM95234=n
CONFIG_SENSORS_LM95241=n
CONFIG_SENSORS_LM95245=n
CONFIG_SENSORS_MAX16065=n
CONFIG_SENSORS_MAX1619=n
CONFIG_SENSORS_MAX1668=n
CONFIG_SENSORS_MAX197=n
CONFIG_SENSORS_MAX6639=n
CONFIG_SENSORS_MAX6642=n
CONFIG_SENSORS_MAX6650=n
CONFIG_SENSORS_MAX6697=n
CONFIG_SENSORS_MCP3021=n
CONFIG_SENSORS_NCT6775=n
CONFIG_SENSORS_NTC_THERMISTOR=n
CONFIG_SENSORS_PC87360=n
CONFIG_SENSORS_PC87427=n
CONFIG_SENSORS_PCF8591=n
CONFIG_SENSORS_PMBUS=n
CONFIG_SENSORS_ADM1275=n
CONFIG_SENSORS_LM25066=n
CONFIG_SENSORS_LTC2978=n
CONFIG_SENSORS_MAX16064=n
CONFIG_SENSORS_MAX34440=n
CONFIG_SENSORS_MAX8688=n
CONFIG_SENSORS_UCD9000=n
CONFIG_SENSORS_UCD9200=n
CONFIG_SENSORS_ZL6100=n
CONFIG_SENSORS_SHT21=n
CONFIG_SENSORS_SIS5595=n
CONFIG_SENSORS_DME1737=n
CONFIG_SENSORS_EMC1403=n
CONFIG_SENSORS_EMC6W201=n
CONFIG_SENSORS_SMSC47M1=n
CONFIG_SENSORS_SMSC47M192=n
CONFIG_SENSORS_SMSC47B397=n
CONFIG_SENSORS_SCH56XX_COMMON=n
CONFIG_SENSORS_SCH5627=n
CONFIG_SENSORS_SCH5636=n
CONFIG_SENSORS_ADS1015=n
CONFIG_SENSORS_ADS7828=n
CONFIG_SENSORS_AMC6821=n
CONFIG_SENSORS_INA209=n
CONFIG_SENSORS_INA2XX=n
CONFIG_SENSORS_THMC50=n
CONFIG_SENSORS_TMP102=n
CONFIG_SENSORS_TMP401=n
CONFIG_SENSORS_TMP421=n
CONFIG_SENSORS_VIA_CPUTEMP=n
CONFIG_SENSORS_VIA686A=n
CONFIG_SENSORS_VT1211=n
CONFIG_SENSORS_VT8231=n
CONFIG_SENSORS_W83781D=n
CONFIG_SENSORS_W83791D=n
CONFIG_SENSORS_W83792D=n
CONFIG_SENSORS_W83793=n
CONFIG_SENSORS_W83795=n
CONFIG_SENSORS_W83L785TS=n
CONFIG_SENSORS_W83L786NG=n
CONFIG_SENSORS_W83627HF=n
CONFIG_SENSORS_W83627EHF=n
CONFIG_SENSORS_APPLESMC=n
CONFIG_SENSORS_ATK0110=n
CONFIG_ALIM1535_WDT=n
CONFIG_ALIM7101_WDT=n
CONFIG_F71808E_WDT=n
CONFIG_SP5100_TCO=n
CONFIG_SBC_FITPC2_WATCHDOG=n
CONFIG_IB700_WDT=n
CONFIG_IBMASR=n
CONFIG_IT8712F_WDT=n
CONFIG_IT87_WDT=n
CONFIG_NV_TCO=n
CONFIG_SMSC_SCH311X_WDT=n
CONFIG_VIA_WDT=n
CONFIG_W83627HF_WDT=n
CONFIG_W83697HF_WDT=n
CONFIG_W83697UG_WDT=n
CONFIG_W83877F_WDT=n
CONFIG_W83977F_WDT=n
CONFIG_MACHZ_WDT=n
CONFIG_PCIPCWATCHDOG=n
CONFIG_WDTPCI=n
CONFIG_USBPCWATCHDOG=n
CONFIG_MFD_VIPERBOARD=n
CONFIG_MFD_SM501=n
CONFIG_MFD_VX855=n
CONFIG_AGP_AMD64=n
CONFIG_AGP_SIS=n
CONFIG_AGP_VIA=n
CONFIG_VGA_SWITCHEROO=n
CONFIG_DRM_LOAD_EDID_FIRMWARE=n
CONFIG_DRM_I2C_CH7006=n
CONFIG_DRM_I2C_SIL164=n
CONFIG_DRM_I2C_NXP_TDA998X=n
CONFIG_DRM_RADEON=n
CONFIG_DRM_NOUVEAU=n
CONFIG_DRM_VMWGFX=n
CONFIG_DRM_GMA500=n
CONFIG_DRM_GMA600=n
CONFIG_DRM_GMA3600=n
CONFIG_DRM_UDL=n
CONFIG_DRM_AST=n
CONFIG_DRM_MGAG200=n
CONFIG_DRM_CIRRUS_QEMU=n
CONFIG_DRM_QXL=n
CONFIG_DRM_BOCHS=n
CONFIG_FB_SYS_FILLRECT=n
CONFIG_FB_SYS_COPYAREA=n
CONFIG_FB_SYS_IMAGEBLIT=n
CONFIG_FB_SYS_FOPS=n
CONFIG_FB_BACKLIGHT=n
CONFIG_LCD_PLATFORM=n
CONFIG_BACKLIGHT_APPLE=n
CONFIG_BACKLIGHT_LP855X=n
CONFIG_VGACON_SOFT_SCROLLBACK=n
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=n
CONFIG_LOGO=n
CONFIG_HID_BATTERY_STRENGTH=n
CONFIG_HIDRAW=n
CONFIG_UHID=n
CONFIG_HID_ACRUX=n
CONFIG_HID_APPLEIR=n
CONFIG_HID_AUREAL=n
CONFIG_HID_DRAGONRISE=n
CONFIG_HID_ELECOM=n
CONFIG_HID_HOLTEK=n
CONFIG_HID_KEYTOUCH=n
CONFIG_HID_KYE=n
CONFIG_HID_UCLOGIC=n
CONFIG_HID_WALTOP=n
CONFIG_HID_GYRATION=n
CONFIG_HID_ICADE=n
CONFIG_HID_TWINHAN=n
CONFIG_HID_LCPOWER=n
CONFIG_HID_LENOVO_TPKBD=n
CONFIG_HID_MAGICMOUSE=n
CONFIG_HID_NTRIG=n
CONFIG_HID_ORTEK=n
CONFIG_HID_PANTHERLORD=n
CONFIG_HID_PETALYNX=n
CONFIG_HID_PICOLCD=n
CONFIG_HID_PRIMAX=n
CONFIG_HID_PS3REMOTE=n
CONFIG_HID_ROCCAT=n
CONFIG_HID_SAITEK=n
CONFIG_HID_SAMSUNG=n
CONFIG_HID_SONY=n
CONFIG_HID_SPEEDLINK=n
CONFIG_HID_STEELSERIES=n
CONFIG_HID_SUNPLUS=n
CONFIG_HID_RMI=n
CONFIG_HID_GREENASIA=n
CONFIG_HID_SMARTJOYPLUS=n
CONFIG_HID_TIVO=n
CONFIG_HID_TOPSEED=n
CONFIG_HID_THINGM=n
CONFIG_HID_THRUSTMASTER=n
CONFIG_HID_WACOM=n
CONFIG_HID_WIIMOTE=n
CONFIG_HID_ZEROPLUS=n
CONFIG_HID_ZYDACRON=n
CONFIG_HID_PID=n
CONFIG_USB_HIDDEV=n
CONFIG_USB_ANNOUNCE_NEW_DEVICES=n
CONFIG_USB_MON=n
CONFIG_USB_WUSB_CBAF=n
CONFIG_USB_OHCI_HCD=n
CONFIG_USB_ACM=n
CONFIG_USB_PRINTER=n
CONFIG_USB_WDM=n
CONFIG_USB_TMC=n
CONFIG_USB_STORAGE_REALTEK=n
CONFIG_USB_STORAGE_DATAFAB=n
CONFIG_USB_STORAGE_FREECOM=n
CONFIG_USB_STORAGE_ISD200=n
CONFIG_USB_STORAGE_USBAT=n
CONFIG_USB_STORAGE_SDDR09=n
CONFIG_USB_STORAGE_SDDR55=n
CONFIG_USB_STORAGE_JUMPSHOT=n
CONFIG_USB_STORAGE_ALAUDA=n
CONFIG_USB_STORAGE_ONETOUCH=n
CONFIG_USB_STORAGE_KARMA=n
CONFIG_USB_STORAGE_CYPRESS_ATACB=n
CONFIG_USB_STORAGE_ENE_UB6250=n
CONFIG_USB_MDC800=n
CONFIG_USB_MICROTEK=n
CONFIG_USB_SERIAL_AIRCABLE=n
CONFIG_USB_SERIAL_ARK3116=n
CONFIG_USB_SERIAL_BELKIN=n
CONFIG_USB_SERIAL_WHITEHEAT=n
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=n
CONFIG_USB_SERIAL_CYPRESS_M8=n
CONFIG_USB_SERIAL_EMPEG=n
CONFIG_USB_SERIAL_VISOR=n
CONFIG_USB_SERIAL_IPAQ=n
CONFIG_USB_SERIAL_IR=n
CONFIG_USB_SERIAL_EDGEPORT=n
CONFIG_USB_SERIAL_EDGEPORT_TI=n
CONFIG_USB_SERIAL_GARMIN=n
CONFIG_USB_SERIAL_IPW=n
CONFIG_USB_SERIAL_IUU=n
CONFIG_USB_SERIAL_KEYSPAN_PDA=n
CONFIG_USB_SERIAL_KEYSPAN=n
CONFIG_USB_SERIAL_KLSI=n
CONFIG_USB_SERIAL_KOBIL_SCT=n
CONFIG_USB_SERIAL_MCT_U232=n
CONFIG_USB_SERIAL_MOS7720=n
CONFIG_USB_SERIAL_MOS7840=n
CONFIG_USB_SERIAL_NAVMAN=n
CONFIG_USB_SERIAL_OTI6858=n
CONFIG_USB_SERIAL_QCAUX=n
CONFIG_USB_SERIAL_QUALCOMM=n
CONFIG_USB_SERIAL_SPCP8X5=n
CONFIG_USB_SERIAL_SAFE=n
CONFIG_USB_SERIAL_SIERRAWIRELESS=n
CONFIG_USB_SERIAL_SYMBOL=n
CONFIG_USB_SERIAL_TI=n
CONFIG_USB_SERIAL_CYBERJACK=n
CONFIG_USB_SERIAL_XIRCOM=n
CONFIG_USB_SERIAL_OPTION=n
CONFIG_USB_SERIAL_OMNINET=n
CONFIG_USB_SERIAL_OPTICON=n
CONFIG_USB_SERIAL_XSENS_MT=n
CONFIG_USB_SERIAL_SSU100=n
CONFIG_USB_SERIAL_QT2=n
CONFIG_USB_SERIAL_DEBUG=n
CONFIG_USB_EMI62=n
CONFIG_USB_EMI26=n
CONFIG_USB_ADUTUX=n
CONFIG_USB_SEVSEG=n
CONFIG_USB_LEGOTOWER=n
CONFIG_USB_LCD=n
CONFIG_USB_LED=n
CONFIG_USB_IDMOUSE=n
CONFIG_USB_FTDI_ELAN=n
CONFIG_USB_APPLEDISPLAY=n
CONFIG_USB_SISUSBVGA=n
CONFIG_USB_LD=n
CONFIG_USB_IOWARRIOR=n
CONFIG_USB_ISIGHTFW=n
CONFIG_USB_EZUSB_FX2=n
CONFIG_USB_HSIC_USB3503=n
CONFIG_USB_ATM=n
CONFIG_UWB=n
CONFIG_MMC_RICOH_MMC=n
CONFIG_MMC_TIFM_SD=n
CONFIG_MMC_CB710=n
CONFIG_MMC_VIA_SDMMC=n
CONFIG_MMC_VUB300=n
CONFIG_MMC_USHC=n
CONFIG_MEMSTICK=n
CONFIG_LEDS_LM3530=n
CONFIG_LEDS_LP3944=n
CONFIG_LEDS_LP5521=n
CONFIG_LEDS_LP5523=n
CONFIG_LEDS_LP5562=n
CONFIG_LEDS_CLEVO_MAIL=n
CONFIG_LEDS_INTEL_SS4200=n
CONFIG_LEDS_BLINKM=n
CONFIG_LEDS_TRIGGER_TIMER=n
CONFIG_LEDS_TRIGGER_ONESHOT=n
CONFIG_LEDS_TRIGGER_HEARTBEAT=n
CONFIG_LEDS_TRIGGER_BACKLIGHT=n
CONFIG_LEDS_TRIGGER_TRANSIENT=n
CONFIG_LEDS_TRIGGER_CAMERA=n
CONFIG_INFINIBAND=n
CONFIG_EDAC=n
CONFIG_NET_DMA_RH_KABI=n
CONFIG_UIO_CIF=n
CONFIG_UIO_AEC=n
CONFIG_UIO_SERCOS3=n
CONFIG_STAGING=n
CONFIG_ACERHDF=n
CONFIG_ASUS_LAPTOP=n
CONFIG_CHROMEOS_LAPTOP=n
CONFIG_FUJITSU_LAPTOP=n
CONFIG_FUJITSU_TABLET=n
CONFIG_AMILO_RFKILL=n
CONFIG_HP_ACCEL=n
CONFIG_HP_WIRELESS=n
CONFIG_MSI_LAPTOP=n
CONFIG_PANASONIC_LAPTOP=n
CONFIG_COMPAL_LAPTOP=n
CONFIG_SONY_LAPTOP=n
CONFIG_IDEAPAD_LAPTOP=n
CONFIG_THINKPAD_ACPI=n
CONFIG_SENSORS_HDAPS=n
CONFIG_EEEPC_LAPTOP=n
CONFIG_ACPI_WMI=n
CONFIG_TOPSTAR_LAPTOP=n
CONFIG_TOSHIBA_BT_RFKILL=n
CONFIG_ACPI_CMPC=n
CONFIG_SAMSUNG_LAPTOP=n
CONFIG_INTEL_OAKTRAIL=n
CONFIG_SAMSUNG_Q10=n
CONFIG_APPLE_GMUX=n
CONFIG_PVPANIC=n
CONFIG_EDD=n
CONFIG_DELL_RBU=n
CONFIG_DCDBAS=n
CONFIG_JBD_DEBUG=n
CONFIG_FANOTIFY=n
CONFIG_JOLIET=n
CONFIG_UDF_FS=n
CONFIG_CRAMFS=n
CONFIG_SQUASHFS=y
CONFIG_EFIVAR_FS=n
CONFIG_SUNRPC_DEBUG=n
CONFIG_NLS_MAC_ROMAN=n
CONFIG_NLS_MAC_CELTIC=n
CONFIG_NLS_MAC_CENTEURO=n
CONFIG_NLS_MAC_CROATIAN=n
CONFIG_NLS_MAC_CYRILLIC=n
CONFIG_NLS_MAC_GAELIC=n
CONFIG_NLS_MAC_GREEK=n
CONFIG_NLS_MAC_ICELAND=n
CONFIG_NLS_MAC_INUIT=n
CONFIG_NLS_MAC_ROMANIAN=n
CONFIG_NLS_MAC_TURKISH=n
CONFIG_SCHED_TRACER=n
CONFIG_TRACER_SNAPSHOT=n
CONFIG_UPROBE_EVENT=n
CONFIG_PROBE_EVENTS=n
CONFIG_FUNCTION_PROFILER=n
CONFIG_RING_BUFFER_BENCHMARK=n
CONFIG_ATOMIC64_SELFTEST=n
CONFIG_ASYNC_RAID6_TEST=n
CONFIG_KGDB=n
CONFIG_TEST_KSTRTOX=n
CONFIG_STRICT_DEVMEM=n
CONFIG_DEBUG_SET_MODULE_RONX=n
CONFIG_DEBUG_NX_TEST=n
CONFIG_CRYPTO_BLOWFISH_X86_64=n
CONFIG_CRYPTO_CAMELLIA_X86_64=n
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=n
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=n
CONFIG_CRYPTO_CAST5_AVX_X86_64=n
CONFIG_CRYPTO_CAST6_AVX_X86_64=n
CONFIG_CRYPTO_SALSA20=n
CONFIG_CRYPTO_SALSA20_X86_64=n
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=n
CONFIG_CRYPTO_SERPENT_AVX_X86_64=n
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=n
CONFIG_CRYPTO_TWOFISH_X86_64=n
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=n
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=n
CONFIG_CRYPTO_DRBG_MENU=n
CONFIG_CRYPTO_USER_API_HASH=n
CONFIG_CRYPTO_USER_API_SKCIPHER=n
CONFIG_CRYPTO_DEV_PADLOCK=n
CONFIG_BLK_DEV_NBD=m
CONFIG_AIC94XX_DEBUG=n
CONFIG_GPIO_BT8XX=n
# Turn on kernel preemption
CONFIG_PREEMPT=y
CONFIG_RCU_BOOST=n
CONFIG_DEBUG_PREEMPT=n
CONFIG_PROVE_RCU_DELAY=n
CONFIG_RCU_CPU_STALL_VERBOSE=n
CONFIG_PREEMPT_TRACER=n
# Disable transparent huge pages
CONFIG_TRANSPARENT_HUGEPAGE=n
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=n
# Make performance default governor
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=n
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# Disable kernel memory accounting, which is broken
CONFIG_MEMCG_KMEM=n
# Needed for opae fpga kernel module
# as it turns on hidden option REGMAP_MMIO
CONFIG_MFD_SYSCON=y

View File

@ -4,20 +4,19 @@ In-Reply-To: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerv
References: <b6ceef1c915827b50ce3f76da4dc47f3eb768b44.1527544850.git.Jim.Somerville@windriver.com>
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Tue, 6 Mar 2018 12:54:40 -0500
Subject: [PATCH 26/26] turn off write same in smartqpi driver
Subject: [PATCH 09/10] turn off write same in smartqpi driver
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
---
drivers/scsi/smartpqi/smartpqi_init.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index f40e177..852a9fb 100644
index 7810cb2..9895f7f 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -5803,6 +5803,7 @@ static struct scsi_host_template pqi_driver_template = {
@@ -6413,6 +6413,7 @@ static struct scsi_host_template pqi_driver_template = {
.map_queues = pqi_map_queues,
.sdev_attrs = pqi_sdev_attrs,
.shost_attrs = pqi_shost_attrs,
@ -26,5 +25,5 @@ index f40e177..852a9fb 100644
static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
--
2.18.1
2.7.4

View File

@ -1,2 +1,2 @@
mirror:Source/kernel-4.18.0-80.11.2.el8_0.src.rpm
mirror:Source/kernel-4.18.0-147.3.1.el8_1.src.rpm