Upgrade to 5.10 Linux kernel.
Move to kernel version 5.10 using source from the Yocto Project. 1. Add STX patches for kernel 5.10. 2. Support git source for linux-yocto. 3. Add build_srpm from build-tools/default_build_srpm and modified for git repo from yocto 4. Modify std and rt config files. 5. Build python-perf instead of python3-perf for std kernel. python-perf is needed by tuned-2.8.0-5.el7.noarch. 6. Modify rt spec to build out package kernel-rt-tools and kernel-rt-kvm. 7. Add kernel-5.10.30-x86_64-rt.config.tis_extra and kernel-5.10.30-x86_64.config.tis_extra 8. Add a dist field to avoid undesired rebuilds. 9. Ensure -unsigned package is populated Story: 2008921 Partial-Task: 42519 Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Vefa Bicakci <vefa.bicakci@windriver.com> Signed-off-by: Jiping Ma <jiping.ma2@windriver.com> Change-Id: Id1f635302f265826f7ff2860a3bed4b7755b2888
This commit is contained in:
parent
7b55e47e1d
commit
2cb3d041cd
@ -1 +0,0 @@
|
||||
kernel-4.18.0-147.3.1.el8_1.src.rpm
|
279
kernel-rt/centos/build_srpm
Executable file
279
kernel-rt/centos/build_srpm
Executable file
@ -0,0 +1,279 @@
|
||||
#!/bin/bash
|
||||
# set -x
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2021 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Refer to build-tools/default_build_srpm and modify for git repo from linux-yocto.
|
||||
#
|
||||
|
||||
source "$SRC_BASE/build-tools/spec-utils"
|
||||
source "$SRC_BASE/build-tools/srpm-utils"
|
||||
|
||||
CUR_DIR=`pwd`
|
||||
BUILD_DIR="$RPMBUILD_BASE"
|
||||
|
||||
if [ "x$DATA" == "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Environment variable 'DATA' not defined."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
srpm_source_build_data "$DATA" "$SRC_BUILD_TYPE" "$SRPM_OR_SPEC_PATH"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to source build data from $DATA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$PBR_VERSION" != "x" ] && [ "x$PBR_VERSION" != "xNA" ]; then
|
||||
VERSION=$PBR_VERSION
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
for SPEC in `find $SPECS_BASE -name '*.spec' | sort -V`; do
|
||||
SPEC_PATH="$SPEC"
|
||||
|
||||
VERSION_DERIVED=`spec_evaluate '%{version}' "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): '%{version}' not found in '$PKG_BASE/$SPEC_PATH'"
|
||||
VERSION_DERIVED=""
|
||||
fi
|
||||
|
||||
if [ "x$VERSION_DERIVED" != "x" ]; then
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
VERSION=$VERSION_DERIVED
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set VERSION automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
if [ -f $SRC_DIR/PKG-INFO ]; then
|
||||
VERSION=$(grep '^Version:' $SRC_DIR/PKG-INFO | awk -F ': ' '{print $2}' | sed -e 's/^[[:space:]]*//')
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" != "x" ]; then
|
||||
echo "Derived VERSION=$VERSION"
|
||||
else
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to derive a good VERSION from SPEC file, and none provided."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
for SPEC in `find $SPECS_BASE -name '*.spec' | sort -V`; do
|
||||
SPEC_PATH="$SPEC"
|
||||
|
||||
SERVICE=`spec_find_global service "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
TAR_NAME=$SERVICE
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set TAR_NAME automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
NAME=`spec_find_tag Name "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
TAR_NAME=$NAME
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set TAR_NAME automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "WARNING: kernel build_srpm (${LINENO}): 'Name' not found in '$SPEC_PATH'"
|
||||
NAME=""
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
if [ -f $SRC_DIR/PKG-INFO ]; then
|
||||
TAR_NAME=$(grep '^Name:' $SRC_DIR/PKG-INFO | awk -F ': ' '{print $2}' | sed -e 's/^[[:space:]]*//')
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR_NAME" != "x" ]; then
|
||||
echo "Derived TAR_NAME=$TAR_NAME"
|
||||
else
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to derive a good TAR_NAME from SPEC file, and none provided."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR" == "x" ]; then
|
||||
TAR="$TAR_NAME-$VERSION.tar.gz"
|
||||
fi
|
||||
|
||||
SOURCE_PATH="$BUILD_DIR/SOURCES"
|
||||
TAR_PATH="$SOURCE_PATH/$TAR"
|
||||
STAGING=""
|
||||
|
||||
if [ "x$COPY_LIST_TO_TAR" != "x" ] || [ "x$EXCLUDE_LIST_FROM_TAR" != "x" ]; then
|
||||
STAGING="$BUILD_DIR/staging"
|
||||
mkdir -p $STAGING
|
||||
fi
|
||||
|
||||
mkdir -p "$BUILD_DIR/SRPMS"
|
||||
mkdir -p "$SOURCE_PATH"
|
||||
|
||||
if [ "x$SRC_DIR" == "x" -a "x$COPY_LIST" == "x" -a "$ALLOW_EMPTY_RPM" != "true" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): '$PWD/$DATA' failed to provide at least one of 'SRC_DIR' or 'COPY_LIST'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
if [ ! -d "$SRC_DIR" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): directory not found: '$SRC_DIR'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$COPY_LIST" != "x" ]; then
|
||||
echo "COPY_LIST: $COPY_LIST"
|
||||
for p in $COPY_LIST; do
|
||||
# echo "COPY_LIST: $p"
|
||||
\cp -L -u -r -v $p $SOURCE_PATH
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): COPY_LIST: file not found: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
\cp -L -u -r -v $SRC_DIR $STAGING
|
||||
echo "COPY_LIST_TO_TAR: $COPY_LIST_TO_TAR"
|
||||
for p in $COPY_LIST_TO_TAR; do
|
||||
# echo "COPY_LIST_TO_TAR: $p"
|
||||
\cp -L -u -r -v $p $STAGING/$SRC_DIR
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): COPY_LIST_TO_TAR: file not found: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "EXCLUDE_LIST_FROM_TAR: $EXCLUDE_LIST_FROM_TAR"
|
||||
for p in $EXCLUDE_LIST_FROM_TAR; do
|
||||
# echo "EXCLUDE_LIST_FROM_TAR: $p"
|
||||
echo "rm -rf $STAGING/$SRC_DIR/$p"
|
||||
\rm -rf $STAGING/$SRC_DIR/$p
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): EXCLUDE_LIST_FROM_TAR: could not remove file: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
TRANSFORM=`echo "$SRC_DIR" | sed 's/^\./\\./' | sed 's:^/::' | sed 's#^.*/\.\./##'`
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
pushd $STAGING
|
||||
fi
|
||||
|
||||
TAR_NEEDED=0
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "SRC_DIR=$SRC_DIR"
|
||||
if [ -f $TAR_PATH ]; then
|
||||
n=`find . -cnewer $TAR_PATH -and ! -path './.git*' \
|
||||
-and ! -path './.pc/*' \
|
||||
-and ! -path './patches/*' \
|
||||
-and ! -path "./$DISTRO/*" \
|
||||
-and ! -path './pbr-*.egg/*' \
|
||||
| wc -l`
|
||||
if [ $n -gt 0 ]; then
|
||||
TAR_NEEDED=1
|
||||
fi
|
||||
else
|
||||
TAR_NEEDED=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $TAR_NEEDED -gt 0 ]; then
|
||||
echo "Creating tar file: $TAR_PATH ... $TAR_NAME $VERSION"
|
||||
#cd $SRC_DIR
|
||||
#pwd
|
||||
#git checkout -b linux-rt remotes/origin/v5.10/standard/preempt-rt/intel-x86
|
||||
#cd -
|
||||
echo "tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude='$SRC_DIR/$DISTRO' --exclude='pbr-*.egg' --transform 's,^$TRANSFORM,$TAR_NAME-$VERSION,' -czf $TAR_PATH $SRC_DIR"
|
||||
tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform "s,^$TRANSFORM,$TAR_NAME-$VERSION," -czf "$TAR_PATH" "$SRC_DIR"
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): failed to create tar file, cmd: tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform \"s,^$TRANSFORM,$TAR_NAME-$VERSION,\" -czf '$TAR_PATH' '$SRC_DIR'"
|
||||
exit 1
|
||||
fi
|
||||
echo "Created tar file: $TAR_PATH"
|
||||
else
|
||||
echo "Tar file not needed."
|
||||
fi
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
if [ ! -d $BUILD_DIR/SPECS ]; then
|
||||
echo "Spec directory '$BUILD_DIR/SPECS' does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(ls -1 $BUILD_DIR/SPECS/*.spec | wc -l) -eq 0 ]; then
|
||||
echo "No spec files found in spec directory '$BUILD_DIR/SPECS'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for SPEC in `ls -1 $BUILD_DIR/SPECS`; do
|
||||
SPEC_PATH="$BUILD_DIR/SPECS/$SPEC"
|
||||
RELEASE=`spec_find_tag Release "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): 'Release' not found in '$SPEC_PATH'"
|
||||
fi
|
||||
NAME=`spec_find_tag Name "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): 'Name' not found in '$SPEC_PATH'"
|
||||
fi
|
||||
SRPM="$NAME-$VERSION-$RELEASE.src.rpm"
|
||||
SRPM_PATH="$BUILD_DIR/SRPMS/$SRPM"
|
||||
|
||||
spec_validate_tis_release $SPEC_PATH
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "TIS Validation of $SPEC_PATH failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUILD_NEEDED=0
|
||||
if [ -f $SRPM_PATH ]; then
|
||||
n=`find . -cnewer $SRPM_PATH | wc -l`
|
||||
if [ $n -gt 0 ]; then
|
||||
BUILD_NEEDED=1
|
||||
fi
|
||||
else
|
||||
BUILD_NEEDED=1
|
||||
fi
|
||||
|
||||
if [ $BUILD_NEEDED -gt 0 ]; then
|
||||
echo "SPEC file: $SPEC_PATH"
|
||||
echo "SRPM build directory: $BUILD_DIR"
|
||||
echo "TIS_PATCH_VER: $TIS_PATCH_VER"
|
||||
echo "PBR_VERSION: $PBR_VERSION"
|
||||
|
||||
sed -i -e "1 i%define _tis_build_type $BUILD_TYPE" $SPEC_PATH
|
||||
sed -i -e "1 i%define tis_patch_ver $TIS_PATCH_VER" $SPEC_PATH
|
||||
sed -i -e "1 i%define pbr_version $PBR_VERSION" $SPEC_PATH
|
||||
rpmbuild -bs $SPEC_PATH --define="%_topdir $BUILD_DIR" --undefine=dist --define="_tis_dist .tis"
|
||||
else
|
||||
echo "SRPM build not needed"
|
||||
fi
|
||||
done
|
@ -1,5 +1,14 @@
|
||||
COPY_LIST="files/*"
|
||||
PKG_BASE_SRCREV=c0fee2da8ef34aa816ddd76690ed425b2ff94c90
|
||||
TIS_PATCH_VER=PKG_GITREVCOUNT+1
|
||||
SRC_DIR="$STX_BASE/git/linux-yocto-rt"
|
||||
|
||||
COPY_LIST=" \
|
||||
$PKG_BASE/files/* \
|
||||
$PKG_BASE/centos/patches/*"
|
||||
BUILD_IS_BIG=21
|
||||
BUILD_IS_SLOW=16
|
||||
|
||||
# The base branch is: v5.10/standard/preempt-rt/base
|
||||
TIS_BASE_SRCREV=a8808e541750d4ed34105f615e295f6fbd9950fa
|
||||
|
||||
PKG_BASE_SRCREV=4013790c6ef43fd9f936579b0cac50b8e0c4505a
|
||||
TIS_PATCH_VER=GITREVCOUNT+PKG_GITREVCOUNT
|
||||
|
||||
|
3056
kernel-rt/centos/kernel-rt.spec
Normal file
3056
kernel-rt/centos/kernel-rt.spec
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,251 +0,0 @@
|
||||
From 8f38a28fc2750dc526363dc4b7cce3c152bb913b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <8f38a28fc2750dc526363dc4b7cce3c152bb913b.1588873412.git.Jim.Somerville@windriver.com>
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Mon, 23 Apr 2018 15:18:45 -0400
|
||||
Subject: [PATCH 1/2] Build logic and sources for TiC
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Robin Lu <bin1.lu@intel.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
|
||||
---
|
||||
SPECS/kernel-rt.spec | 85 +++++++++++++++++++++++++++++++---------------------
|
||||
1 file changed, 51 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/SPECS/kernel-rt.spec b/SPECS/kernel-rt.spec
|
||||
index f9cfea3..9e6de9a 100644
|
||||
--- a/SPECS/kernel-rt.spec
|
||||
+++ b/SPECS/kernel-rt.spec
|
||||
@@ -36,9 +36,9 @@ Summary: The Linux kernel
|
||||
%define pkgrelease 147.3.1.rt24.96.el8_1
|
||||
|
||||
# allow pkg_release to have configurable %%{?dist} tag
|
||||
-%define specrelease 147.3.1.rt24.96%{?dist}
|
||||
+%define specrelease 147.3.1.rt24.96.el8_1
|
||||
|
||||
-%define pkg_release %{specrelease}%{?buildid}
|
||||
+%define pkg_release %{specrelease}%{?buildid}%{?_tis_dist}.%{tis_patch_ver}
|
||||
|
||||
# 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.
|
||||
@@ -46,6 +46,7 @@ Summary: The Linux kernel
|
||||
# by later arch-specific checks.
|
||||
|
||||
%define _with_kabidupchk 1
|
||||
+%define _with_tools 1
|
||||
# The following build options are enabled by default.
|
||||
# Use either --without <opt> in your rpmbuild command or force values
|
||||
# to 0 in here to disable them.
|
||||
@@ -54,6 +55,8 @@ Summary: The Linux kernel
|
||||
%define with_up %{?_without_up: 0} %{?!_without_up: 1}
|
||||
# kernel-debug
|
||||
%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
|
||||
+# STX: disable debug build
|
||||
+%define with_debug 0
|
||||
# kernel-headers
|
||||
# realtime
|
||||
%define with_realtime %{?_without_realtime: 0} %{?!_without_realtime: 1}
|
||||
@@ -126,10 +129,11 @@ Summary: The Linux kernel
|
||||
%global rttag .rt24
|
||||
# realtimeN
|
||||
%global rtbuild .96
|
||||
-%define with_headers 0
|
||||
+%define with_headers 1
|
||||
%define with_cross_headers 0
|
||||
%define with_perf 0
|
||||
-%define with_tools 0
|
||||
+# generate kernel-rt-tools
|
||||
+%define with_tools 1
|
||||
%define with_bpftool 0
|
||||
%define with_zfcpdump 0
|
||||
%define with_kabichk 0
|
||||
@@ -291,7 +295,7 @@ Requires: rt-setup
|
||||
#
|
||||
BuildRequires: kmod, patch, bash, 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_sparse}
|
||||
BuildRequires: sparse
|
||||
@@ -357,6 +361,7 @@ BuildRequires: xmlto
|
||||
%if %{with_perf} || %{with_tools}
|
||||
BuildRequires: asciidoc
|
||||
%endif
|
||||
+BuildRequires: kernel-headers
|
||||
|
||||
Source0: linux-%{rpmversion}-%{pkgrelease}.tar.xz
|
||||
|
||||
@@ -417,6 +422,12 @@ Source301: kernel-kabi-dw-%{rpmversion}-%{distro_build}.tar.bz2
|
||||
Source2000: cpupower.service
|
||||
Source2001: cpupower.config
|
||||
|
||||
+# Sources for stx
|
||||
+Source3000: centos.cer
|
||||
+
|
||||
+#Stx config
|
||||
+Source30000: kernel-rt-4.18.0-x86_64.config.tis_extra
|
||||
+
|
||||
## Patches needed for building this package
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
@@ -915,6 +926,7 @@ ApplyOptionalPatch()
|
||||
fi
|
||||
}
|
||||
|
||||
+
|
||||
%setup -q -n %{name}-%{rpmversion}-%{pkgrelease} -c
|
||||
mv linux-%{rpmversion}-%{pkgrelease} linux-%{KVERREL}
|
||||
|
||||
@@ -938,20 +950,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 \
|
||||
- tools/kvm/kvm_stat/kvm_stat \
|
||||
- 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
|
||||
%define make make %{?cross_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
|
||||
|
||||
# only deal with configs if we are going to build for the arch
|
||||
@@ -965,6 +963,9 @@ cd configs
|
||||
|
||||
# Drop some necessary files from the source dir into the buildroot
|
||||
cp $RPM_SOURCE_DIR/kernel-*.config .
|
||||
+# Copy stx config
|
||||
+cp $RPM_SOURCE_DIR/kernel-rt-%{version}-*.config.tis_extra .
|
||||
+
|
||||
cp %{SOURCE41} .
|
||||
VERSION=%{version} ./generate_all_configs.sh %{name}
|
||||
|
||||
@@ -984,8 +985,20 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
+# Handle StarlingX Cloud customizations. Use -n to match oldnoconfig below. We want this before
|
||||
+# the make line below so that the one below removes any dependencies of ones that we
|
||||
+# turn off here. We also want it before "make listnewconfig" so that we can set the
|
||||
+# config option for new configs introduced in the StarlingX Cloud patches.
|
||||
+for i in *.config
|
||||
+do
|
||||
+ if [ -f ${i}.tis_extra ]; then
|
||||
+ ../scripts/kconfig/merge_config.sh -m -n ${i} ${i}.tis_extra
|
||||
+ mv .config ${i}
|
||||
+ fi
|
||||
+done
|
||||
+
|
||||
cp %{SOURCE42} .
|
||||
-./process_configs.sh -w %{name} %{rpmversion}
|
||||
+./process_configs.sh -w -c %{name} %{rpmversion}
|
||||
|
||||
# end of kernel config
|
||||
%endif
|
||||
@@ -1092,7 +1105,7 @@ BuildKernel() {
|
||||
fi
|
||||
%if %{signkernel}
|
||||
# Sign the image if we're using EFI
|
||||
- %pesign -s -i $KernelImage -o vmlinuz.signed -a %{SOURCE13} -c %{SOURCE14} -n %{pesign_name}
|
||||
+ %pesign -s -i $KernelImage -o vmlinuz.signed -a %{SOURCE3000} -c %{SOURCE3000} -n %{pesign_name}
|
||||
if [ ! -s vmlinuz.signed ]; then
|
||||
echo "pesigning failed"
|
||||
exit 1
|
||||
@@ -1439,6 +1452,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}
|
||||
+ # STX: Copy these keys as part of the devel package
|
||||
+ # The Module signing keys are to ensure that only Out-of-tree
|
||||
+ # built against the StarlingX Kernel get signed and loaded sans warnings
|
||||
+ cp certs/signing_key.pem ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
|
||||
+ chmod 755 ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/signing_key.pem
|
||||
+ cp certs/signing_key.x509 ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
|
||||
fi
|
||||
%endif
|
||||
|
||||
@@ -1991,7 +2010,7 @@ fi
|
||||
%endif # with_perf
|
||||
|
||||
%if %{with_tools}
|
||||
-%files -n kernel-tools
|
||||
+%files -n %{name}-tools
|
||||
%defattr(-,root,root)
|
||||
%ifarch %{cpupowerarchs}
|
||||
%files -n %{name}-tools -f cpupower.lang
|
||||
@@ -2087,26 +2106,24 @@ fi
|
||||
%if %{with_realtime}\
|
||||
%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/arch/x86/kvm\
|
||||
%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/gpu/drm/i915/gvt\
|
||||
-%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.kvm\
|
||||
-%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/ptp/ptp_kvm*\
|
||||
%endif\
|
||||
%{!?_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}} \
|
||||
+/%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
|
||||
%endif\
|
||||
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
|
||||
-%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
|
||||
+/boot/System.map-%{KVERREL}%{?3:+%{3}}\
|
||||
/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\
|
||||
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
|
||||
-%ghost /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
|
||||
-%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
|
||||
-%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
|
||||
+/boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
|
||||
+/boot/config-%{KVERREL}%{?3:+%{3}}\
|
||||
+/boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
|
||||
%dir /lib/modules\
|
||||
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
|
||||
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
|
||||
@@ -2127,7 +2144,6 @@ fi
|
||||
%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/arch/x86/kvm\
|
||||
%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/gpu/drm/i915/gvt\
|
||||
%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.kvm\
|
||||
-%exclude /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/ptp/ptp_kvm*\
|
||||
%endif\
|
||||
%{expand:%%files %{?3:%{3}-}devel}\
|
||||
%defattr(-,root,root)\
|
||||
@@ -2157,19 +2173,20 @@ fi
|
||||
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.kvm\
|
||||
/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/arch/x86/kvm\
|
||||
/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko*\
|
||||
-/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/ptp/ptp_kvm.ko*\
|
||||
%if %{with_debuginfo}\
|
||||
%{expand:%%files %{?3:%{3}-}kvm-debuginfo}\
|
||||
%dir %{debuginfodir}/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/arch/x86/kvm\
|
||||
%{debuginfodir}/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/arch/x86/kvm\
|
||||
%{debuginfodir}/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/gpu/drm/i915/gvt\
|
||||
-%{debuginfodir}/lib/modules/%{KVERREL}%{?3:+%{3}}/kernel/drivers/ptp/ptp_kvm*\
|
||||
%endif\
|
||||
%endif\
|
||||
%{nil}
|
||||
|
||||
%kernel_variant_files %{with_vdso_install} %{with_up}
|
||||
+# STX: disable debug build
|
||||
+%if %{with_debug}
|
||||
%kernel_variant_files %{with_vdso_install} %{with_debug} debug
|
||||
+%endif
|
||||
%if %{with_zfcpdump}
|
||||
%kernel_variant_files %{with_vdso_install} %{with_zfcpdump} zfcpdump
|
||||
%endif
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,68 +0,0 @@
|
||||
From b736a139f26f6323d8da5e42f2b254c7935de3c9 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b736a139f26f6323d8da5e42f2b254c7935de3c9.1588873412.git.Jim.Somerville@windriver.com>
|
||||
In-Reply-To: <8f38a28fc2750dc526363dc4b7cce3c152bb913b.1588873412.git.Jim.Somerville@windriver.com>
|
||||
References: <8f38a28fc2750dc526363dc4b7cce3c152bb913b.1588873412.git.Jim.Somerville@windriver.com>
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Fri, 13 Mar 2020 16:15:29 -0400
|
||||
Subject: [PATCH 2/2] Kernel source patches for TiC
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
---
|
||||
SPECS/kernel-rt.spec | 33 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/SPECS/kernel-rt.spec b/SPECS/kernel-rt.spec
|
||||
index b89db57..68a91e0 100644
|
||||
--- a/SPECS/kernel-rt.spec
|
||||
+++ b/SPECS/kernel-rt.spec
|
||||
@@ -431,6 +431,24 @@ Source3000: centos.cer
|
||||
Source30000: kernel-rt-4.18.0-x86_64.config.tis_extra
|
||||
|
||||
## Patches needed for building this package
|
||||
+# 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
|
||||
+Patch40026: turn-off-write-same-in-smartqpi-driver.patch
|
||||
+Patch40031: Allow-dmar-quirks-for-broken-bioses.patch
|
||||
+# TPM built-in kernel-rt driver
|
||||
+Patch40032: tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+
|
||||
+# StarlingX Cloud rt patches here.
|
||||
+
|
||||
+Patch41000: debrand-rh-i686-cpu.patch
|
||||
+Patch41001: debrand-rh_taint.patch
|
||||
+Patch41002: debrand-single-cpu.patch
|
||||
+Patch41003: restrict-iSCSI-kthreads-to-CPUs-in-cpu_kthread_mask.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
@@ -936,6 +954,21 @@ cd linux-%{KVERREL}
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
+# StarlingX Cloud patches here.
|
||||
+ApplyOptionalPatch Notification-of-death-of-arbitrary-processes.patch
|
||||
+ApplyOptionalPatch PCI-Add-ACS-quirk-for-Intel-Fortville-NICs.patch
|
||||
+ApplyOptionalPatch affine-compute-kernel-threads.patch
|
||||
+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 turn-off-write-same-in-smartqpi-driver.patch
|
||||
+ApplyOptionalPatch Allow-dmar-quirks-for-broken-bioses.patch
|
||||
+ApplyOptionalPatch tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+ApplyOptionalPatch debrand-rh-i686-cpu.patch
|
||||
+ApplyOptionalPatch debrand-rh_taint.patch
|
||||
+ApplyOptionalPatch debrand-single-cpu.patch
|
||||
+ApplyOptionalPatch restrict-iSCSI-kthreads-to-CPUs-in-cpu_kthread_mask.patch
|
||||
+
|
||||
# Any further pre-build tree manipulations happen here.
|
||||
|
||||
%if %{with_realtime}
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,2 +0,0 @@
|
||||
Build-logic-and-sources-for-TiC.patch
|
||||
Kernel-source-patches-for-TiC.patch
|
@ -1,6 +1,6 @@
|
||||
From 220edc1ccc6a0bc3dfb94a92946bf2b9a6cc0c61 Mon Sep 17 00:00:00 2001
|
||||
From 33efb73059c7e1f2facc7bb04f60d706c07f640d Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Thu, 7 Apr 2016 11:16:19 -0600
|
||||
Date: Thu, 17 Jun 2021 01:28:11 -0700
|
||||
Subject: [PATCH] Notification of death of arbitrary processes
|
||||
|
||||
Note: this commit was copied from Titanium Cloud Rel2
|
||||
@ -20,11 +20,12 @@ 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>
|
||||
Signed-off-by: Austin Sun <austin.sun@intel.com>
|
||||
[jm: Adapted the patch for context changes.]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
include/linux/init_task.h | 9 ++
|
||||
include/linux/sched.h | 6 +
|
||||
include/uapi/linux/prctl.h | 18 +++
|
||||
include/uapi/linux/prctl.h | 16 +++
|
||||
init/Kconfig | 15 +++
|
||||
init/init_task.c | 1 +
|
||||
kernel/Makefile | 1 +
|
||||
@ -34,23 +35,23 @@ Signed-off-by: Austin Sun <austin.sun@intel.com>
|
||||
kernel/fork.c | 4 +
|
||||
kernel/signal.c | 11 ++
|
||||
kernel/sys.c | 8 ++
|
||||
12 files changed, 353 insertions(+)
|
||||
12 files changed, 351 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 a7083a45a..1ad2341b3 100644
|
||||
index b2412b4d4c20..7a0828daf59c 100644
|
||||
--- a/include/linux/init_task.h
|
||||
+++ b/include/linux/init_task.h
|
||||
@@ -24,6 +24,15 @@
|
||||
@@ -25,6 +25,15 @@
|
||||
extern struct files_struct init_files;
|
||||
extern struct fs_struct init_fs;
|
||||
extern struct nsproxy init_nsproxy;
|
||||
+
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#define INIT_SIGEXIT(tsk) \
|
||||
+ .notify = LIST_HEAD_INIT(tsk.notify), \
|
||||
+ .monitor = LIST_HEAD_INIT(tsk.monitor),
|
||||
+ .notify = LIST_HEAD_INIT(tsk.notify), \
|
||||
+ .monitor = LIST_HEAD_INIT(tsk.monitor),
|
||||
+#else
|
||||
+#define INIT_SIGEXIT(tsk)
|
||||
+#endif
|
||||
@ -59,10 +60,10 @@ index a7083a45a..1ad2341b3 100644
|
||||
extern struct cred init_cred;
|
||||
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index 91596900f..5e34f5021 100644
|
||||
index e688e9307a21..c4b43b5d439f 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -1083,6 +1083,12 @@ struct task_struct {
|
||||
@@ -1145,6 +1145,12 @@ struct task_struct {
|
||||
short il_prev;
|
||||
short pref_node_fork;
|
||||
#endif
|
||||
@ -76,16 +77,15 @@ index 91596900f..5e34f5021 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 327319b88..708484598 100644
|
||||
index 7f0827705c9a..dbd5a8b6e002 100644
|
||||
--- a/include/uapi/linux/prctl.h
|
||||
+++ b/include/uapi/linux/prctl.h
|
||||
@@ -63,6 +63,24 @@
|
||||
@@ -63,6 +63,22 @@
|
||||
# define PR_ENDIAN_LITTLE 1 /* True little endian mode */
|
||||
# define PR_ENDIAN_PPC_LITTLE 2 /* "PowerPC" pseudo little endian */
|
||||
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#define PR_DO_NOTIFY_TASK_STATE 17 /* Set/get notification for task
|
||||
+ state changes */
|
||||
+#define PR_DO_NOTIFY_TASK_STATE 17 /* Set/get notification for task
|
||||
+ state changes */
|
||||
+
|
||||
+/* This is the data structure for requestion process death
|
||||
+ * (and other state change) information. Sig of -1 means
|
||||
@ -95,68 +95,67 @@ index 327319b88..708484598 100644
|
||||
+ * successful call.
|
||||
+ */
|
||||
+struct task_state_notify_info {
|
||||
+ pid_t pid;
|
||||
+ int pid;
|
||||
+ int sig;
|
||||
+ unsigned int events;
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* Get/set process seccomp mode */
|
||||
#define PR_GET_SECCOMP 21
|
||||
#define PR_SET_SECCOMP 22
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index 7625bea9c..f88a36fef 100644
|
||||
index 7ba2b602b707..5a5f38706715 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1610,6 +1610,21 @@ config VM_EVENT_COUNTERS
|
||||
@@ -1852,6 +1852,21 @@ config VM_EVENT_COUNTERS
|
||||
on EXPERT systems. /proc/vmstat will only show page counts
|
||||
if VM event counters are disabled.
|
||||
|
||||
+config SIGEXIT
|
||||
+ bool "Notification of death of arbitrary processes"
|
||||
+ default n
|
||||
+ help
|
||||
+ When enabled this exposes a new feature which may be called to request
|
||||
+ notification when an arbitrary process changes state. The caller specifies
|
||||
+ a pid, signal number, and event mask, and when that pid dies, or is
|
||||
+ stopped, or anything else that would normally cause a SIGCHLD, the
|
||||
+ kernel will send the specified signal to the caller if the event is in
|
||||
+ the event mask originally passed down. The siginfo_t struct will
|
||||
+ contain the same information as would be included with SIGCHLD.
|
||||
+ bool "Notification of death of arbitrary processes"
|
||||
+ default n
|
||||
+ help
|
||||
+ When enabled this exposes a new feature which may be called to request
|
||||
+ notification when an arbitrary process changes state. The caller specifies
|
||||
+ a pid, signal number, and event mask, and when that pid dies, or is
|
||||
+ stopped, or anything else that would normally cause a SIGCHLD, the
|
||||
+ kernel will send the specified signal to the caller if the event is in
|
||||
+ the event mask originally passed down. The siginfo_t struct will
|
||||
+ contain the same information as would be included with SIGCHLD.
|
||||
+
|
||||
+ This is exposed to userspace via the prctl()
|
||||
+ call with the PR_DO_NOTIFY_TASK_STATE option
|
||||
+ This is exposed to userspace via the prctl()
|
||||
+ call with the PR_DO_NOTIFY_TASK_STATE option
|
||||
+
|
||||
config SLUB_DEBUG
|
||||
default y
|
||||
bool "Enable SLUB debugging support" if EXPERT
|
||||
diff --git a/init/init_task.c b/init/init_task.c
|
||||
index f2d3b023f..1623a4273 100644
|
||||
index 5fa18ed59d33..e1a245782828 100644
|
||||
--- a/init/init_task.c
|
||||
+++ b/init/init_task.c
|
||||
@@ -123,6 +123,7 @@ struct task_struct init_task
|
||||
@@ -128,6 +128,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(init_task)
|
||||
.pi_lock = __RAW_SPIN_LOCK_UNLOCKED(init_task.pi_lock),
|
||||
.timer_slack_ns = 50000, /* 50 usec default slack */
|
||||
INIT_TIMER_LIST
|
||||
.thread_pid = &init_struct_pid,
|
||||
diff --git a/kernel/Makefile b/kernel/Makefile
|
||||
index aebf6a889..2669df332 100644
|
||||
index e7905bdf6e97..ba9997c7a59c 100644
|
||||
--- a/kernel/Makefile
|
||||
+++ b/kernel/Makefile
|
||||
@@ -104,6 +104,7 @@ obj-$(CONFIG_TRACEPOINTS) += trace/
|
||||
obj-$(CONFIG_IRQ_WORK) += irq_work.o
|
||||
obj-$(CONFIG_CPU_PM) += cpu_pm.o
|
||||
obj-$(CONFIG_BPF) += bpf/
|
||||
@@ -108,6 +108,7 @@ obj-$(CONFIG_BPF) += bpf/
|
||||
obj-$(CONFIG_KCSAN) += kcsan/
|
||||
obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o
|
||||
obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call.o
|
||||
+obj-$(CONFIG_SIGEXIT) += death_notify.o
|
||||
|
||||
obj-$(CONFIG_PERF_EVENTS) += events/
|
||||
|
||||
diff --git a/kernel/death_notify.c b/kernel/death_notify.c
|
||||
new file mode 100644
|
||||
index 000000000..5819d35a2
|
||||
index 000000000000..5819d35a2564
|
||||
--- /dev/null
|
||||
+++ b/kernel/death_notify.c
|
||||
@@ -0,0 +1,228 @@
|
||||
@ -390,7 +389,7 @@ index 000000000..5819d35a2
|
||||
+
|
||||
diff --git a/kernel/death_notify.h b/kernel/death_notify.h
|
||||
new file mode 100644
|
||||
index 000000000..14a0995b7
|
||||
index 000000000000..14a0995b79af
|
||||
--- /dev/null
|
||||
+++ b/kernel/death_notify.h
|
||||
@@ -0,0 +1,46 @@
|
||||
@ -441,12 +440,12 @@ index 000000000..14a0995b7
|
||||
+#endif
|
||||
+
|
||||
diff --git a/kernel/exit.c b/kernel/exit.c
|
||||
index 6199d4812..0467ef691 100644
|
||||
index f5933bd07932..3c328a630257 100644
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -67,6 +67,9 @@
|
||||
@@ -68,6 +68,9 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/mmu_context.h>
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#include "death_notify.h"
|
||||
@ -454,21 +453,21 @@ index 6199d4812..0467ef691 100644
|
||||
|
||||
static void __unhash_process(struct task_struct *p, bool group_dead)
|
||||
{
|
||||
@@ -196,6 +199,9 @@ void release_task(struct task_struct *p)
|
||||
proc_flush_task(p);
|
||||
@@ -194,6 +197,9 @@ void release_task(struct task_struct *p)
|
||||
cgroup_release(p);
|
||||
|
||||
write_lock_irq(&tasklist_lock);
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+ release_notify_others(p);
|
||||
+#endif
|
||||
ptrace_release_task(p);
|
||||
thread_pid = get_pid(p->thread_pid);
|
||||
__exit_signal(p);
|
||||
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 63245141d..c20efb927 100644
|
||||
index fb3fbfd44b25..94769fcf71ac 100644
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -1953,6 +1953,10 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
@@ -2095,6 +2095,10 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
p->sequential_io = 0;
|
||||
p->sequential_io_avg = 0;
|
||||
#endif
|
||||
@ -480,20 +479,20 @@ index 63245141d..c20efb927 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 f4d847cc4..c25b78c05 100644
|
||||
index 0be3c40c5662..1581b2a76823 100644
|
||||
--- a/kernel/signal.c
|
||||
+++ b/kernel/signal.c
|
||||
@@ -53,6 +53,9 @@
|
||||
@@ -56,6 +56,9 @@
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/siginfo.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include "audit.h" /* audit_signal_info() */
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#include "death_notify.h"
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* SLAB caches for signal bits.
|
||||
@@ -1989,6 +1992,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
||||
@@ -2088,6 +2091,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
||||
__wake_up_parent(tsk, tsk->parent);
|
||||
spin_unlock_irqrestore(&psig->siglock, flags);
|
||||
|
||||
@ -504,7 +503,7 @@ index f4d847cc4..c25b78c05 100644
|
||||
return autoreap;
|
||||
}
|
||||
|
||||
@@ -2061,6 +2068,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
||||
@@ -2160,6 +2167,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
||||
*/
|
||||
__wake_up_parent(tsk, parent);
|
||||
spin_unlock_irqrestore(&sighand->siglock, flags);
|
||||
@ -516,11 +515,11 @@ index f4d847cc4..c25b78c05 100644
|
||||
|
||||
static inline bool may_ptrace_stop(void)
|
||||
diff --git a/kernel/sys.c b/kernel/sys.c
|
||||
index 8a0fab918..e957bd5a5 100644
|
||||
index a730c03ee607..0f8decf763f1 100644
|
||||
--- a/kernel/sys.c
|
||||
+++ b/kernel/sys.c
|
||||
@@ -75,6 +75,9 @@
|
||||
#include <linux/nospec.h>
|
||||
@@ -73,6 +73,9 @@
|
||||
#include <asm/unistd.h>
|
||||
|
||||
#include "uid16.h"
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
@ -529,7 +528,7 @@ index 8a0fab918..e957bd5a5 100644
|
||||
|
||||
#ifndef SET_UNALIGN_CTL
|
||||
# define SET_UNALIGN_CTL(a, b) (-EINVAL)
|
||||
@@ -2409,6 +2412,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
|
||||
@@ -2423,6 +2426,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
|
||||
else
|
||||
error = PR_MCE_KILL_DEFAULT;
|
||||
break;
|
||||
@ -542,5 +541,5 @@ index 8a0fab918..e957bd5a5 100644
|
||||
error = prctl_set_mm(arg2, arg3, arg4, arg5);
|
||||
break;
|
||||
--
|
||||
2.19.1
|
||||
2.31.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 43ba972baa0e075a185e34a579f920e0a3e40455 Mon Sep 17 00:00:00 2001
|
||||
From 9317be15490c339cd587292722efac013a2fb880 Mon Sep 17 00:00:00 2001
|
||||
From: Dahir Osman <dahir.osman@windriver.com>
|
||||
Date: Wed, 13 Jan 2016 10:01:11 -0500
|
||||
Subject: [PATCH 02/10] PCI: Add ACS quirk for Intel Fortville NICs
|
||||
@ -8,18 +8,19 @@ properly read the Fortville ACS capabilities.
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/pci/quirks.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|
||||
index 36f8e32..03c25f9 100644
|
||||
index b570f297e3ec..910026923549 100644
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -4422,6 +4422,10 @@ static const struct pci_dev_acs_enabled {
|
||||
/* I219 */
|
||||
@@ -4740,6 +4740,10 @@ static const struct pci_dev_acs_enabled {
|
||||
{ PCI_VENDOR_ID_INTEL, 0x15b7, pci_quirk_mf_endpoint_acs },
|
||||
{ PCI_VENDOR_ID_INTEL, 0x15b8, pci_quirk_mf_endpoint_acs },
|
||||
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_rciep_acs },
|
||||
+ /* I40 */
|
||||
+ { PCI_VENDOR_ID_INTEL, 0x1572, pci_quirk_mf_endpoint_acs },
|
||||
+ { PCI_VENDOR_ID_INTEL, 0x1586, pci_quirk_mf_endpoint_acs },
|
||||
@ -28,5 +29,5 @@ index 36f8e32..03c25f9 100644
|
||||
{ PCI_VENDOR_ID_QCOM, 0x0400, pci_quirk_qcom_rp_acs },
|
||||
{ PCI_VENDOR_ID_QCOM, 0x0401, pci_quirk_qcom_rp_acs },
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 86a6c5a26e59c6cb938f5e08e33933723249bfe6 Mon Sep 17 00:00:00 2001
|
||||
From c8cf8051b6e4118613fbdfccbca0c4a0c19ec4a5 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Tue, 24 Nov 2015 16:27:28 -0500
|
||||
Subject: [PATCH] affine compute kernel threads
|
||||
@ -28,40 +28,43 @@ 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>
|
||||
Signed-off-by: Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context changes.]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++
|
||||
include/linux/cpumask.h | 3 +++
|
||||
init/main.c | 2 ++
|
||||
kernel/cpu.c | 20 ++++++++++++++++++++
|
||||
kernel/kthread.c | 4 ++--
|
||||
kernel/umh.c | 3 +++
|
||||
.../admin-guide/kernel-parameters.txt | 10 ++++++++++
|
||||
include/linux/cpumask.h | 3 +++
|
||||
init/main.c | 2 ++
|
||||
kernel/cpu.c | 19 +++++++++++++++++++
|
||||
kernel/kthread.c | 4 ++--
|
||||
kernel/umh.c | 3 +++
|
||||
6 files changed, 39 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 5d43bff81f1d..928b52500e9e 100644
|
||||
index 5a241afb4728..78a923d087c1 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -1968,6 +1968,15 @@
|
||||
Default: on
|
||||
Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
|
||||
the default is off.
|
||||
+ kthread_cpus= [KNL, SMP] Only run kernel threads on the specified
|
||||
+ list of processors. The kernel will start threads
|
||||
+ on the indicated processors only (unless there
|
||||
+ are specific reasons to run a thread with
|
||||
+ different affinities). This can be used to make
|
||||
+ init start on certain processors and also to
|
||||
+ control where kmod and other user space threads
|
||||
+ are being spawned. Allows to keep kernel threads
|
||||
+ away from certain cores unless absoluteluy necessary.
|
||||
@@ -2217,6 +2217,16 @@
|
||||
See also Documentation/trace/kprobetrace.rst "Kernel
|
||||
Boot Parameter" section.
|
||||
|
||||
+ kthread_cpus= [KNL, SMP] Only run kernel threads on the specified
|
||||
+ list of processors. The kernel will start threads
|
||||
+ on the indicated processors only (unless there
|
||||
+ are specific reasons to run a thread with
|
||||
+ different affinities). This can be used to make
|
||||
+ init start on certain processors and also to
|
||||
+ control where kmod and other user space threads
|
||||
+ 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.
|
||||
Default: enabled on cores which need mitigation.
|
||||
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
|
||||
index 57f20a0a7794..452603496e53 100644
|
||||
index 383684e30f12..8fcc67ea3d8c 100644
|
||||
--- a/include/linux/cpumask.h
|
||||
+++ b/include/linux/cpumask.h
|
||||
@@ -54,6 +54,7 @@ extern unsigned int nr_cpu_ids;
|
||||
@@ -55,6 +55,7 @@ extern unsigned int nr_cpu_ids;
|
||||
* cpu_present_mask - has bit 'cpu' set iff cpu is populated
|
||||
* cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler
|
||||
* cpu_active_mask - has bit 'cpu' set iff cpu available to migration
|
||||
@ -69,7 +72,7 @@ index 57f20a0a7794..452603496e53 100644
|
||||
*
|
||||
* If !CONFIG_HOTPLUG_CPU, present == possible, and active == online.
|
||||
*
|
||||
@@ -90,10 +91,12 @@ extern struct cpumask __cpu_possible_mask;
|
||||
@@ -91,10 +92,12 @@ extern struct cpumask __cpu_possible_mask;
|
||||
extern struct cpumask __cpu_online_mask;
|
||||
extern struct cpumask __cpu_present_mask;
|
||||
extern struct cpumask __cpu_active_mask;
|
||||
@ -80,28 +83,28 @@ index 57f20a0a7794..452603496e53 100644
|
||||
#define cpu_active_mask ((const struct cpumask *)&__cpu_active_mask)
|
||||
+#define cpu_kthread_mask ((const struct cpumask *)&__cpu_kthread_mask)
|
||||
|
||||
#if NR_CPUS > 1
|
||||
#define num_online_cpus() cpumask_weight(cpu_online_mask)
|
||||
extern atomic_t __num_online_cpus;
|
||||
|
||||
diff --git a/init/main.c b/init/main.c
|
||||
index 42c2f2ed74a2..f248b7f07082 100644
|
||||
index 0e4cc913695e..df9759f2859b 100644
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -1142,6 +1142,8 @@ static noinline void __init kernel_init_freeable(void)
|
||||
@@ -1542,6 +1542,8 @@ static noinline void __init kernel_init_freeable(void)
|
||||
|
||||
do_basic_setup();
|
||||
|
||||
+ set_cpus_allowed_ptr(current, cpu_kthread_mask);
|
||||
+
|
||||
/* Open the /dev/console on the rootfs, this should never fail */
|
||||
if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
|
||||
pr_err("Warning: unable to open an initial console.\n");
|
||||
kunit_run_all_tests();
|
||||
|
||||
console_on_rootfs();
|
||||
diff --git a/kernel/cpu.c b/kernel/cpu.c
|
||||
index d94cf04ef0b8..0f3625c90996 100644
|
||||
index 4e11e91010e1..52aa0ee41352 100644
|
||||
--- a/kernel/cpu.c
|
||||
+++ b/kernel/cpu.c
|
||||
@@ -2243,6 +2243,26 @@ EXPORT_SYMBOL(__cpu_present_mask);
|
||||
struct cpumask __cpu_active_mask __read_mostly;
|
||||
EXPORT_SYMBOL(__cpu_active_mask);
|
||||
@@ -2456,6 +2456,25 @@ EXPORT_SYMBOL(__cpu_active_mask);
|
||||
atomic_t __num_online_cpus __read_mostly;
|
||||
EXPORT_SYMBOL(__num_online_cpus);
|
||||
|
||||
+struct cpumask __cpu_kthread_mask __read_mostly
|
||||
+ = {CPU_BITS_ALL};
|
||||
@ -111,50 +114,49 @@ index d94cf04ef0b8..0f3625c90996 100644
|
||||
+{
|
||||
+ struct cpumask tmp_mask;
|
||||
+ int err;
|
||||
+
|
||||
+
|
||||
+ err = cpulist_parse(str, &tmp_mask);
|
||||
+ if (!err)
|
||||
+ cpumask_copy(&__cpu_kthread_mask, &tmp_mask);
|
||||
+ cpumask_copy(&__cpu_kthread_mask, &tmp_mask);
|
||||
+ else
|
||||
+ pr_err("Cannot parse 'kthread_cpus=%s'; error %d\n", str, err);
|
||||
+
|
||||
+ pr_err("Cannot parse 'kthread_cpus=%s'; error %d\n", str, err);
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+__setup("kthread_cpus=", kthread_setup);
|
||||
+
|
||||
+
|
||||
void init_cpu_present(const struct cpumask *src)
|
||||
{
|
||||
cpumask_copy(&__cpu_present_mask, src);
|
||||
diff --git a/kernel/kthread.c b/kernel/kthread.c
|
||||
index 1f0bf2d0f207..3a5f1af5054e 100644
|
||||
index cdfaf64263b3..251a753c852e 100644
|
||||
--- a/kernel/kthread.c
|
||||
+++ b/kernel/kthread.c
|
||||
@@ -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, ¶m);
|
||||
- set_cpus_allowed_ptr(task, cpu_all_mask);
|
||||
+ set_cpus_allowed_ptr(task, cpu_kthread_mask);
|
||||
}
|
||||
kfree(create);
|
||||
return task;
|
||||
@@ -562,7 +562,7 @@ int kthreadd(void *unused)
|
||||
@@ -279,7 +279,7 @@ static int kthread(void *_create)
|
||||
* back to default in case they have been changed.
|
||||
*/
|
||||
sched_setscheduler_nocheck(current, SCHED_NORMAL, ¶m);
|
||||
- set_cpus_allowed_ptr(current, housekeeping_cpumask(HK_FLAG_KTHREAD));
|
||||
+ set_cpus_allowed_ptr(current, cpu_kthread_mask);
|
||||
|
||||
/* OK, tell user we're spawned, wait for stop or wakeup */
|
||||
__set_current_state(TASK_UNINTERRUPTIBLE);
|
||||
@@ -634,7 +634,7 @@ int kthreadd(void *unused)
|
||||
/* Setup a clean context for our children to inherit. */
|
||||
set_task_comm(tsk, "kthreadd");
|
||||
ignore_signals(tsk);
|
||||
- set_cpus_allowed_ptr(tsk, cpu_all_mask);
|
||||
- set_cpus_allowed_ptr(tsk, housekeeping_cpumask(HK_FLAG_KTHREAD));
|
||||
+ set_cpus_allowed_ptr(tsk, cpu_kthread_mask);
|
||||
set_mems_allowed(node_states[N_MEMORY]);
|
||||
|
||||
current->flags |= PF_NOFREEZE;
|
||||
diff --git a/kernel/umh.c b/kernel/umh.c
|
||||
index d937cbad903a..94715dff7d61 100644
|
||||
index 3f646613a9d3..e5027cee43f7 100644
|
||||
--- a/kernel/umh.c
|
||||
+++ b/kernel/umh.c
|
||||
@@ -74,6 +74,9 @@ static int call_usermodehelper_exec_async(void *data)
|
||||
flush_signal_handlers(current, 1);
|
||||
spin_unlock_irq(¤t->sighand->siglock);
|
||||
@@ -80,6 +80,9 @@ static int call_usermodehelper_exec_async(void *data)
|
||||
*/
|
||||
current->fs->umask = 0022;
|
||||
|
||||
+ /* We can run only where init is allowed to run. */
|
||||
+ set_cpus_allowed_ptr(current, cpu_kthread_mask);
|
||||
@ -163,5 +165,5 @@ index d937cbad903a..94715dff7d61 100644
|
||||
* Our parent (unbound workqueue) runs with elevated scheduling
|
||||
* priority. Avoid propagating that into the userspace child.
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3ceddd371d3d53ef0bbe81bad548f2d6889ec3d2 Mon Sep 17 00:00:00 2001
|
||||
From 36d1eeee008939d77f015d051970bd417ac6fcf1 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Tue, 24 Nov 2015 16:27:29 -0500
|
||||
Subject: [PATCH 04/10] Affine irqs and workqueues with kthread_cpus
|
||||
@ -21,16 +21,17 @@ 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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.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 c4e31f4..002dec3 100644
|
||||
index de00a0599afe..84a120d3abef 100644
|
||||
--- a/kernel/irq/manage.c
|
||||
+++ b/kernel/irq/manage.c
|
||||
@@ -400,6 +400,13 @@ int irq_setup_affinity(struct irq_desc *desc)
|
||||
@@ -515,6 +515,13 @@ int irq_setup_affinity(struct irq_desc *desc)
|
||||
if (cpumask_intersects(&mask, nodemask))
|
||||
cpumask_and(&mask, &mask, nodemask);
|
||||
}
|
||||
@ -45,20 +46,20 @@ index c4e31f4..002dec3 100644
|
||||
raw_spin_unlock(&mask_lock);
|
||||
return ret;
|
||||
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
|
||||
index 4228207..c7fa0ec 100644
|
||||
index c9a0c961d6e0..f69f10a220b6 100644
|
||||
--- a/kernel/workqueue.c
|
||||
+++ b/kernel/workqueue.c
|
||||
@@ -5730,6 +5730,8 @@ int __init workqueue_init_early(void)
|
||||
@@ -5960,6 +5960,8 @@ void __init workqueue_init_early(void)
|
||||
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
||||
attrs->nice = std_nice[i];
|
||||
+ /* If we've specified a kthread mask apply it here too. */
|
||||
+ cpumask_copy(attrs->cpumask, cpu_kthread_mask);
|
||||
unbound_std_wq_attrs[i] = attrs;
|
||||
|
||||
/*
|
||||
@@ -5740,6 +5742,8 @@ int __init workqueue_init_early(void)
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
|
||||
@@ -5970,6 +5972,8 @@ void __init workqueue_init_early(void)
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
||||
attrs->nice = std_nice[i];
|
||||
attrs->no_numa = true;
|
||||
+ /* If we've specified a kthread mask apply it here too. */
|
||||
@ -67,5 +68,5 @@ index 4228207..c7fa0ec 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ad08e36ea088aebb3c65f98b5ea87a9f095155b3 Mon Sep 17 00:00:00 2001
|
||||
From 4a72347e026f8a82c9e8d748daf59b74345c47f1 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Thu, 12 May 2016 18:00:00 -0400
|
||||
Subject: [PATCH 05/10] Make kernel start eth devices at offset
|
||||
@ -9,15 +9,16 @@ 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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
net/core/dev.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index 6a531ca..980860d 100644
|
||||
index 623d2622f6be..e85cddf2fc83 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -1100,6 +1100,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
|
||||
@@ -1218,6 +1218,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
|
||||
set_bit(i, inuse);
|
||||
}
|
||||
|
||||
@ -31,5 +32,5 @@ index 6a531ca..980860d 100644
|
||||
free_page((unsigned long) inuse);
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,8 +1,8 @@
|
||||
From d5c26ebe8a51ee66a644973fb13b3dbd3152203e Mon Sep 17 00:00:00 2001
|
||||
From c35ee3034b61e72bf9fef888a3c4702049a77bcc Mon Sep 17 00:00:00 2001
|
||||
From: Matt Peters <matt.peters@windriver.com>
|
||||
Date: Mon, 30 May 2016 10:51:02 -0400
|
||||
Subject: [PATCH 06/10] intel-iommu: allow ignoring Ethernet device RMRR with
|
||||
IOMMU passthrough
|
||||
Subject: [PATCH] intel-iommu: allow ignoring Ethernet device RMRR with IOMMU
|
||||
passthrough
|
||||
|
||||
Some BIOS's are reporting DMAR RMRR entries for Ethernet devices
|
||||
which is causing problems when PCI passthrough is enabled. These
|
||||
@ -17,16 +17,36 @@ 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>
|
||||
[lz: Adapted the patch for context changes.]
|
||||
Signed-off-by: Li Zhou <li.zhou@windriver.com>
|
||||
[jp: fix warning: this 'else' clause does not guard]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
Documentation/Intel-IOMMU.txt | 18 ++++++++++++++++++
|
||||
Documentation/admin-guide/kernel-parameters.txt | 5 +++++
|
||||
drivers/iommu/intel-iommu.c | 19 +++++++++++++++++++
|
||||
3 files changed, 42 insertions(+)
|
||||
.../admin-guide/kernel-parameters.txt | 5 +++++
|
||||
Documentation/x86/intel-iommu.rst | 18 +++++++++++++++
|
||||
drivers/iommu/intel/iommu.c | 22 ++++++++++++++++++-
|
||||
3 files changed, 44 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/Intel-IOMMU.txt b/Documentation/Intel-IOMMU.txt
|
||||
index 9dae6b4..1080fcb 100644
|
||||
--- a/Documentation/Intel-IOMMU.txt
|
||||
+++ b/Documentation/Intel-IOMMU.txt
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 78a923d087c1..e7639eaa41b8 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -1861,6 +1861,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.
|
||||
+ eth_no_rmrr [Default Off]
|
||||
+ With this option provided, the kernel will ignore
|
||||
+ any specified RMRR regions specified by the BIOS
|
||||
+ for PCI ethernet devices. Confirm with your hardware
|
||||
+ vendor the RMRR regions are indeed invalid first.
|
||||
strict [Default Off]
|
||||
With this option on every unmap_single operation will
|
||||
result in a hardware IOTLB flush operation as opposed
|
||||
diff --git a/Documentation/x86/intel-iommu.rst b/Documentation/x86/intel-iommu.rst
|
||||
index 099f13d51d5f..18e6a8d8b1ee 100644
|
||||
--- a/Documentation/x86/intel-iommu.rst
|
||||
+++ b/Documentation/x86/intel-iommu.rst
|
||||
@@ -33,6 +33,24 @@ regions will fail. Hence BIOS uses RMRR to specify these regions along with
|
||||
devices that need to access these regions. OS is expected to setup
|
||||
unity mappings for these regions for these devices to access these regions.
|
||||
@ -52,40 +72,24 @@ index 9dae6b4..1080fcb 100644
|
||||
How is IOVA generated?
|
||||
----------------------
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 928b525..cea7932 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -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.
|
||||
+ eth_no_rmrr [Default Off]
|
||||
+ With this option provided, the kernel will ignore
|
||||
+ any specified RMRR regions specified by the BIOS
|
||||
+ for PCI ethernet devices. Confirm with your hardware
|
||||
+ vendor the RMRR regions are indeed invalid first.
|
||||
strict [Default Off]
|
||||
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 0962d65..ea478fa 100644
|
||||
--- a/drivers/iommu/intel-iommu.c
|
||||
+++ b/drivers/iommu/intel-iommu.c
|
||||
@@ -485,6 +485,7 @@ static int dmar_forcedac;
|
||||
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
|
||||
index db9bf5ac0722..f30df770243d 100644
|
||||
--- a/drivers/iommu/intel/iommu.c
|
||||
+++ b/drivers/iommu/intel/iommu.c
|
||||
@@ -354,6 +354,7 @@ static int dmar_map_gfx = 1;
|
||||
static int dmar_forcedac;
|
||||
static int intel_iommu_strict;
|
||||
static int intel_iommu_superpage = 1;
|
||||
static int intel_iommu_ecs = 1;
|
||||
+static int intel_iommu_ethrmrr = 1;
|
||||
static int intel_iommu_pasid28;
|
||||
static int iommu_identity_mapping;
|
||||
|
||||
@@ -569,6 +570,15 @@ static int __init intel_iommu_setup(char *str)
|
||||
static int intel_no_bounce;
|
||||
static int iommu_skip_te_disable;
|
||||
@@ -448,6 +449,15 @@ static int __init intel_iommu_setup(char *str)
|
||||
} else if (!strncmp(str, "forcedac", 8)) {
|
||||
pr_info("Forcing DAC for PCI devices\n");
|
||||
dmar_forcedac = 1;
|
||||
+ } else if (!strncmp(str, "eth_no_rmrr", 11)) {
|
||||
+ if (!iommu_pass_through) {
|
||||
+ if (!iommu_default_passthrough()) {
|
||||
+ printk(KERN_WARNING
|
||||
+ "Intel-IOMMU: error - eth_no_rmrr requires iommu=pt\n");
|
||||
+ } else {
|
||||
@ -96,10 +100,12 @@ index 0962d65..ea478fa 100644
|
||||
} else if (!strncmp(str, "strict", 6)) {
|
||||
pr_info("Disable batched IOTLB flush\n");
|
||||
intel_iommu_strict = 1;
|
||||
@@ -2920,6 +2930,15 @@ static bool device_is_rmrr_locked(struct device *dev)
|
||||
|
||||
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
|
||||
return false;
|
||||
@@ -2907,8 +2917,18 @@ static bool device_rmrr_is_relaxable(struct device *dev)
|
||||
pdev = to_pci_dev(dev);
|
||||
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
|
||||
return true;
|
||||
- else
|
||||
+ else {
|
||||
+ /* As a temporary workaround for issues seen on ProLiant DL380p,
|
||||
+ * allow the operator to ignore the RMRR settings for ethernet
|
||||
+ * devices. Ideally the end user should contact their vendor
|
||||
@ -108,10 +114,12 @@ index 0962d65..ea478fa 100644
|
||||
+ * it seems that these make no sense at all.
|
||||
+ */
|
||||
+ if ((pdev->class >> 8) == PCI_CLASS_NETWORK_ETHERNET && !intel_iommu_ethrmrr)
|
||||
+ return false;
|
||||
}
|
||||
+ return true;
|
||||
return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
return true;
|
||||
/*
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,19 +1,20 @@
|
||||
From 188641f520d4c12abc42a7112e75845e94b7993e Mon Sep 17 00:00:00 2001
|
||||
From ecb3070f30a3328bca8844ba2a427e67bf9268ba Mon Sep 17 00:00:00 2001
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Tue, 6 Mar 2018 12:54:40 -0500
|
||||
Subject: [PATCH 09/10] turn off write same in smartqpi driver
|
||||
Subject: [PATCH 06/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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.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 7810cb2..9895f7f 100644
|
||||
index 5083e5d2b467..cb1280d0ea75 100644
|
||||
--- a/drivers/scsi/smartpqi/smartpqi_init.c
|
||||
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
|
||||
@@ -6413,6 +6413,7 @@ static struct scsi_host_template pqi_driver_template = {
|
||||
@@ -6575,6 +6575,7 @@ static struct scsi_host_template pqi_driver_template = {
|
||||
.map_queues = pqi_map_queues,
|
||||
.sdev_attrs = pqi_sdev_attrs,
|
||||
.shost_attrs = pqi_shost_attrs,
|
||||
@ -22,5 +23,5 @@ index 7810cb2..9895f7f 100644
|
||||
|
||||
static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From db29cbbf37d3b66cfd5deb9ebc32210e32a1b571 Mon Sep 17 00:00:00 2001
|
||||
From ad3d09f2052d053ebe13220b5acb496a07fcf0da 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] Allow dmar quirks for broken bioses
|
||||
Subject: [PATCH 07/10] Allow dmar quirks for broken bioses
|
||||
|
||||
Problem:
|
||||
Broken bios creates inaccurate DMAR tables,
|
||||
@ -26,15 +26,16 @@ Lu Baolu of Intel Corp to lkml
|
||||
https://lkml.org/lkml/2019/12/24/15
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/iommu/dmar.c | 25 ++++++++++++++++++++++++-
|
||||
drivers/iommu/intel/dmar.c | 25 ++++++++++++++++++++++++-
|
||||
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
|
||||
index 1269583..51d2fb2 100644
|
||||
--- a/drivers/iommu/dmar.c
|
||||
+++ b/drivers/iommu/dmar.c
|
||||
@@ -76,6 +76,26 @@ static void free_iommu(struct intel_iommu *iommu);
|
||||
diff --git a/drivers/iommu/intel/dmar.c b/drivers/iommu/intel/dmar.c
|
||||
index 02e7c10a4224..7d423ac36a44 100644
|
||||
--- a/drivers/iommu/intel/dmar.c
|
||||
+++ b/drivers/iommu/intel/dmar.c
|
||||
@@ -66,6 +66,26 @@ static void free_iommu(struct intel_iommu *iommu);
|
||||
|
||||
extern const struct iommu_ops intel_iommu_ops;
|
||||
|
||||
@ -56,13 +57,13 @@ index 1269583..51d2fb2 100644
|
||||
+ */
|
||||
+/* Sky Lake-E PCI Express Root Port A */
|
||||
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2030,
|
||||
+ quirk_dmar_scope_mismatch);
|
||||
+ quirk_dmar_scope_mismatch);
|
||||
+
|
||||
static void dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
|
||||
{
|
||||
/*
|
||||
@@ -258,7 +278,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
|
||||
info->dev->class >> 8 != PCI_CLASS_BRIDGE_OTHER))) {
|
||||
@@ -255,7 +275,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
|
||||
info->dev->class >> 16 != PCI_BASE_CLASS_BRIDGE))) {
|
||||
pr_warn("Device scope type does not match for %s\n",
|
||||
pci_name(info->dev));
|
||||
- return -EINVAL;
|
||||
@ -74,5 +75,5 @@ index 1269583..51d2fb2 100644
|
||||
|
||||
for_each_dev_scope(devices, devices_cnt, i, tmp)
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4f19722fd1dfbd1f692f4158bcee0c47ba4b1869 Mon Sep 17 00:00:00 2001
|
||||
From 7240ac0b8c98c99adc09a46d577c7dd1e8ca46dd Mon Sep 17 00:00:00 2001
|
||||
From: Nayna Jain <nayna@linux.vnet.ibm.com>
|
||||
Date: Fri, 10 Nov 2017 17:16:35 -0500
|
||||
Subject: [PATCH 3/3] tpm: ignore burstcount to improve tpm_tis send()
|
||||
Subject: [PATCH 08/10] tpm: ignore burstcount to improve tpm_tis send()
|
||||
performance
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -26,15 +26,16 @@ Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/char/tpm/tpm_tis_core.c | 43 ++++++++++++++---------------------------
|
||||
drivers/char/tpm/tpm_tis_core.c | 43 ++++++++++++---------------------
|
||||
1 file changed, 15 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index b9f6468..54a6490 100644
|
||||
index a2e0395cbe61..2c69fde1e4e5 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -367,7 +367,6 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -330,7 +330,6 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
{
|
||||
struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
|
||||
int rc, status, burstcnt;
|
||||
@ -42,7 +43,7 @@ index b9f6468..54a6490 100644
|
||||
bool itpm = priv->flags & TPM_TIS_ITPM_WORKAROUND;
|
||||
|
||||
status = tpm_tis_status(chip);
|
||||
@@ -380,36 +379,24 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -343,36 +342,24 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
goto out_err;
|
||||
}
|
||||
}
|
||||
@ -95,5 +96,5 @@ index b9f6468..54a6490 100644
|
||||
goto out_err;
|
||||
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,23 +1,24 @@
|
||||
From e2e6b3f625a3a6cc0202c60ce93ca9d300cb6b9b Mon Sep 17 00:00:00 2001
|
||||
From 496b91a31568c382c50dd2fe7ce190142913eaf5 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Kozyrev <alex.kozyrev@windriver.com>
|
||||
Date: Fri, 16 Mar 2018 15:50:57 -0400
|
||||
Subject: [PATCH 1/2] restrict iSCSI kthreads to CPUs in cpu_kthread_mask
|
||||
Subject: [PATCH 09/10] restrict iSCSI kthreads to CPUs in cpu_kthread_mask
|
||||
|
||||
Do not allow them to run on other CPUs to prevent interference with VMs.
|
||||
|
||||
Signed-off-by: Alex Kozyrev <alex.kozyrev@windriver.com>
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Austin Sun <austin.sun@intel.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/target/iscsi/iscsi_target.c | 4 ++--
|
||||
include/linux/cpumask.h | 1 +
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
|
||||
index 5ce6e2a40..a38c73525 100644
|
||||
index a237f1cf9bd6..e00365a0538f 100644
|
||||
--- a/drivers/target/iscsi/iscsi_target.c
|
||||
+++ b/drivers/target/iscsi/iscsi_target.c
|
||||
@@ -3543,8 +3543,8 @@ void iscsit_thread_get_cpumask(struct iscsi_conn *conn)
|
||||
@@ -3593,8 +3593,8 @@ void iscsit_thread_get_cpumask(struct iscsi_conn *conn)
|
||||
* iSCSI connection's RX/TX threads will be scheduled to
|
||||
* execute upon.
|
||||
*/
|
||||
@ -29,10 +30,10 @@ index 5ce6e2a40..a38c73525 100644
|
||||
cpumask_set_cpu(cpu, conn->conn_cpumask);
|
||||
return;
|
||||
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
|
||||
index 57f20a0a7..7029aeae7 100644
|
||||
index 8fcc67ea3d8c..b24159c028ac 100644
|
||||
--- a/include/linux/cpumask.h
|
||||
+++ b/include/linux/cpumask.h
|
||||
@@ -770,6 +770,7 @@ extern const DECLARE_BITMAP(cpu_all_bits, NR_CPUS);
|
||||
@@ -820,6 +820,7 @@ extern const DECLARE_BITMAP(cpu_all_bits, NR_CPUS);
|
||||
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
|
||||
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
|
||||
#define for_each_present_cpu(cpu) for_each_cpu((cpu), cpu_present_mask)
|
||||
@ -41,5 +42,5 @@ index 57f20a0a7..7029aeae7 100644
|
||||
/* Wrappers for arch boot code to manipulate normally-constant masks */
|
||||
void init_cpu_present(const struct cpumask *src);
|
||||
--
|
||||
2.19.1
|
||||
2.29.2
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 472b6cdd9e6d8df5b1574b05ca8d9ef6511c0ce1 Mon Sep 17 00:00:00 2001
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Tue, 3 Apr 2018 18:07:37 -0400
|
||||
Subject: [PATCH 2/2] debrand rh i686 cpu
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Austin Sun <austin.sun@intel.com>
|
||||
---
|
||||
arch/x86/boot/main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c
|
||||
index 89f9e047b..0ea44ce3d 100644
|
||||
--- a/arch/x86/boot/main.c
|
||||
+++ b/arch/x86/boot/main.c
|
||||
@@ -147,7 +147,7 @@ void main(void)
|
||||
|
||||
/* Make sure we have all the proper CPU support */
|
||||
if (validate_cpu()) {
|
||||
- puts("This processor is not supported in this version of RHEL.\n");
|
||||
+ puts("This processor is not supported in this version of CentOS.\n");
|
||||
die();
|
||||
}
|
||||
|
||||
--
|
||||
2.19.1
|
||||
|
@ -1,101 +0,0 @@
|
||||
From 71f6d30a1acd723dfbb721fb690efb082d9fc2e0 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <71f6d30a1acd723dfbb721fb690efb082d9fc2e0.1528226387.git.Jim.Somerville@windriver.com>
|
||||
In-Reply-To: <c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed.1528226387.git.Jim.Somerville@windriver.com>
|
||||
References: <c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed.1528226387.git.Jim.Somerville@windriver.com>
|
||||
From: Jim Perrin <jperrin@centos.org>
|
||||
Date: Thu, 19 Jun 2014 10:05:12 -0500
|
||||
Subject: [PATCH 02/32] debrand rh_taint
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Sun Austin <austin.sun@intel.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
---
|
||||
kernel/rh_taint.c | 26 +++++++++++++-------------
|
||||
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/kernel/rh_taint.c b/kernel/rh_taint.c
|
||||
index 22f0324..28c369f 100644
|
||||
--- a/kernel/rh_taint.c
|
||||
+++ b/kernel/rh_taint.c
|
||||
@@ -2,12 +2,12 @@
|
||||
#include <linux/module.h>
|
||||
|
||||
/*
|
||||
- * The following functions are used by Red Hat to indicate to users that
|
||||
- * hardware and drivers are unsupported, or have limited support in RHEL major
|
||||
+ * The following functions are used by CentOS to indicate to users that
|
||||
+ * hardware and drivers are unsupported, or have limited support in CentOS Linux major
|
||||
* and minor releases. These functions output loud warning messages to the end
|
||||
* user and should be USED WITH CAUTION.
|
||||
*
|
||||
- * Any use of these functions _MUST_ be documented in the RHEL Release Notes,
|
||||
+ * Any use of these functions _MUST_ be documented in the CentOS Linux Release Notes,
|
||||
* and have approval of management.
|
||||
*/
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
* @msg: Hardware name, class, or type
|
||||
*
|
||||
* Called to mark a device, class of devices, or types of devices as not having
|
||||
- * support in any RHEL minor release. This does not TAINT the kernel. Red Hat
|
||||
- * will not fix bugs against this hardware in this minor release. Red Hat may
|
||||
+ * support in any CentOS Linux minor release. This does not TAINT the kernel. CentOS
|
||||
+ * will not fix bugs against this hardware in this minor release. CentOS may
|
||||
* declare support in a future major or minor update release. This cannot be
|
||||
* used to mark drivers unsupported.
|
||||
*/
|
||||
void mark_hardware_unsupported(const char *msg)
|
||||
{
|
||||
/* Print one single message */
|
||||
- pr_crit("Warning: %s - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://hardware.redhat.com for certified hardware.\n", msg);
|
||||
+ pr_crit("Warning: %s - this hardware has not undergone upstream testing. Please consult http://wiki.centos.org/FAQ for more information\n", msg);
|
||||
}
|
||||
EXPORT_SYMBOL(mark_hardware_unsupported);
|
||||
|
||||
@@ -35,12 +35,12 @@ EXPORT_SYMBOL(mark_hardware_unsupported);
|
||||
* Called to minimize the support status of a previously supported device in
|
||||
* a minor release. This does not TAINT the kernel. Marking hardware
|
||||
* deprecated is usually done in conjunction with the hardware vendor. Future
|
||||
- * RHEL major releases may not include this driver. Driver updates and fixes
|
||||
+ * CentOS Linux major releases may not include this driver. Driver updates and fixes
|
||||
* for this device will be limited to critical issues in future minor releases.
|
||||
*/
|
||||
void mark_hardware_deprecated(const char *msg)
|
||||
{
|
||||
- pr_crit("Warning: %s - this hardware is not recommended for new deployments. It continues to be supported in this RHEL release, but it is likely to be removed in the next major release. Driver updates and fixes for this device will be limited to critical issues. Please contact Red Hat Support or your device's hardware vendor for additional information.\n", msg);
|
||||
+ pr_crit("Warning: %s - this hardware is not recommended for new deployments. It continues to be supported in this CentOS Linux release, but it is likely to be removed in the next major release. Driver updates and fixes for this device will be limited to critical issues. Please contact CentOS Support or your device's hardware vendor for additional information.\n", msg);
|
||||
}
|
||||
EXPORT_SYMBOL(mark_hardware_deprecated);
|
||||
|
||||
@@ -50,9 +50,9 @@ EXPORT_SYMBOL(mark_hardware_deprecated);
|
||||
*
|
||||
* Called to minimize the support status of a new driver. This does TAINT the
|
||||
* kernel. Calling this function indicates that the driver or subsystem has
|
||||
- * had limited testing and is not marked for full support within this RHEL
|
||||
- * minor release. The next RHEL minor release may contain full support for
|
||||
- * this driver. Red Hat does not guarantee that bugs reported against this
|
||||
+ * had limited testing and is not marked for full support within this CentOS Linux
|
||||
+ * minor release. The next CentOS Linux minor release may contain full support for
|
||||
+ * this driver. CentOS does not guarantee that bugs reported against this
|
||||
* driver or subsystem will be resolved.
|
||||
*/
|
||||
void mark_tech_preview(const char *msg, struct module *mod)
|
||||
@@ -81,13 +81,13 @@ EXPORT_SYMBOL(mark_tech_preview);
|
||||
* mark_driver_unsupported - drivers that we know we don't want to support
|
||||
* @name: the name of the driver
|
||||
*
|
||||
- * In some cases Red Hat has chosen to build a driver for internal QE
|
||||
+ * In some cases CentOS has chosen to build a driver for internal QE
|
||||
* use. Use this function to mark those drivers as unsupported for
|
||||
* customers.
|
||||
*/
|
||||
void mark_driver_unsupported(const char *name)
|
||||
{
|
||||
- pr_crit("Warning: %s - This driver has not undergone sufficient testing by Red Hat for this release and therefore cannot be used in production systems.\n",
|
||||
+ pr_crit("Warning: %s - This driver has not undergone sufficient testing by CentOS for this release and therefore cannot be used in production systems.\n",
|
||||
name ? name : "kernel");
|
||||
}
|
||||
EXPORT_SYMBOL(mark_driver_unsupported);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,29 +0,0 @@
|
||||
From c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed.1528226387.git.Jim.Somerville@windriver.com>
|
||||
From: Jim Perrin <jperrin@centos.org>
|
||||
Date: Thu, 19 Jun 2014 09:53:13 -0500
|
||||
Subject: [PATCH 01/32] debrand single cpu
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Sun Austin <austin.sun@intel.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
---
|
||||
arch/x86/kernel/setup.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index f27ca00..9eca4ac 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -926,7 +926,7 @@ static void rh_check_supported(void)
|
||||
if (((boot_cpu_data.x86_max_cores * smp_num_siblings) == 1) &&
|
||||
!guest && is_kdump_kernel()) {
|
||||
pr_crit("Detected single cpu native boot.\n");
|
||||
- pr_crit("Important: In Red Hat Enterprise Linux 8, single threaded, single CPU 64-bit physical systems are unsupported by Red Hat. Please contact your Red Hat support representative for a list of certified and supported systems.");
|
||||
+ pr_crit("Important: In CentOS 8, single threaded, single CPU 64-bit physical systems are unsupported. Please see http://wiki.centos.org/FAQ for more information");
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1 +0,0 @@
|
||||
repo:stx/downloads/kernel-rt-4.18.0-147.3.1.rt24.96.el8_1.src.rpm
|
1
kernel-rt/files/Module.kabi_dup_x86_64
Symbolic link
1
kernel-rt/files/Module.kabi_dup_x86_64
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/Module.kabi_dup_x86_64
|
1
kernel-rt/files/Module.kabi_x86_64
Symbolic link
1
kernel-rt/files/Module.kabi_x86_64
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/Module.kabi_x86_64
|
1
kernel-rt/files/centos-ca-secureboot.der
Symbolic link
1
kernel-rt/files/centos-ca-secureboot.der
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/centos-ca-secureboot.der
|
Binary file not shown.
1
kernel-rt/files/centos.pem
Symbolic link
1
kernel-rt/files/centos.pem
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/centos.pem
|
1
kernel-rt/files/centossecureboot001.der
Symbolic link
1
kernel-rt/files/centossecureboot001.der
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/centossecureboot001.der
|
1
kernel-rt/files/centossecureboot201.der
Symbolic link
1
kernel-rt/files/centossecureboot201.der
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/centossecureboot201.der
|
1
kernel-rt/files/centossecurebootca2.der
Symbolic link
1
kernel-rt/files/centossecurebootca2.der
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/centossecurebootca2.der
|
1
kernel-rt/files/check-kabi
Symbolic link
1
kernel-rt/files/check-kabi
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/check-kabi
|
1
kernel-rt/files/cpupower.config
Symbolic link
1
kernel-rt/files/cpupower.config
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/cpupower.config
|
13
kernel-rt/files/cpupower.service
Normal file
13
kernel-rt/files/cpupower.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Configure CPU power related settings
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=/etc/sysconfig/cpupower
|
||||
ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS
|
||||
ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
kernel-rt/files/filter-modules.sh
Symbolic link
1
kernel-rt/files/filter-modules.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/filter-modules.sh
|
1
kernel-rt/files/filter-x86_64.sh
Symbolic link
1
kernel-rt/files/filter-x86_64.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/filter-x86_64.sh
|
1
kernel-rt/files/generate_all_configs.sh
Symbolic link
1
kernel-rt/files/generate_all_configs.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/generate_all_configs.sh
|
1
kernel-rt/files/generate_bls_conf.sh
Symbolic link
1
kernel-rt/files/generate_bls_conf.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/generate_bls_conf.sh
|
Binary file not shown.
1
kernel-rt/files/ima_signing_key.pub
Symbolic link
1
kernel-rt/files/ima_signing_key.pub
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/ima_signing_key.pub
|
6138
kernel-rt/files/kernel-5.10.30-x86_64-debug.config
Normal file
6138
kernel-rt/files/kernel-5.10.30-x86_64-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,16 +1,14 @@
|
||||
# Add builtin
|
||||
# CONFIG_MAXSMP is not set
|
||||
CONFIG_NR_CPUS=256
|
||||
# This file is intentionally left empty in the stock kernel. Its a nicety
|
||||
# added for those wanting to do custom rebuilds with altered config opts.
|
||||
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||
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
|
||||
# # 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
|
||||
@ -26,67 +24,31 @@ 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_AIC94XX_DEBUG=y
|
||||
CONFIG_SCSI_MVSAS=y
|
||||
CONFIG_RAID_ATTRS=y
|
||||
# This driver supports the 6Gb/s SAS capabilities
|
||||
# of the storage control unit found
|
||||
# in the Intel(R) C600 series chipset
|
||||
CONFIG_SCSI_ISCI=y
|
||||
CONFIG_SCSI_MVSAS_DEBUG=y
|
||||
# CONFIG_SCSI_MVSAS_TASKLET is not set
|
||||
#
|
||||
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_GENERIC_CPU is not set
|
||||
CONFIG_MCORE2=y
|
||||
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_E1000E_HWTS 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
|
||||
# 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_ICE is not set
|
||||
|
||||
# TPM built-in driver
|
||||
CONFIG_TCG_TPM=m
|
||||
CONFIG_TCG_TIS=m
|
||||
CONFIG_HW_RANDOM_TPM=y
|
||||
CONFIG_TRUSTED_KEYS=m
|
||||
CONFIG_TCG_TIS_I2C_ATMEL=m
|
||||
CONFIG_TCG_TIS_I2C_INFINEON=m
|
||||
CONFIG_TCG_TIS_I2C_NUVOTON=m
|
||||
CONFIG_TCG_NSC=m
|
||||
CONFIG_TCG_ATMEL=m
|
||||
CONFIG_TCG_INFINEON=m
|
||||
CONFIG_TCG_CRB=m
|
||||
# No support for legacy STMicroelectronics ST33ZP24 TPM drivers
|
||||
# These are legacy drivers for the TPM 1.2 specification only,
|
||||
@ -102,21 +64,6 @@ CONFIG_TCG_CRB=m
|
||||
# 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
|
||||
@ -143,7 +90,7 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_GAMEPORT is not set
|
||||
# CONFIG_THUNDERBOLT is not set
|
||||
# CONFIG_APPLE_PROPERTIES is not set
|
||||
@ -311,7 +258,7 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_REALTEK_PHY=m
|
||||
# CONFIG_NATIONAL_PHY is not set
|
||||
# CONFIG_STE10XP is not set
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
@ -610,7 +557,7 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_ACM=m
|
||||
# CONFIG_USB_PRINTER is not set
|
||||
# CONFIG_USB_WDM is not set
|
||||
# CONFIG_USB_TMC is not set
|
||||
@ -708,7 +655,6 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_UIO_CIF is not set
|
||||
# CONFIG_UIO_AEC is not set
|
||||
@ -799,6 +745,7 @@ CONFIG_DP83640_PHY=y
|
||||
# CONFIG_CRYPTO_USER_API_HASH is not set
|
||||
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
|
||||
# CONFIG_CRYPTO_DEV_PADLOCK is not set
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
|
||||
#Disable unused options from rt kernel
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
@ -957,7 +904,6 @@ CONFIG_DP83640_PHY=y
|
||||
# CONFIG_SND is not set
|
||||
# CONFIG_IR_GPIO_CIR is not set
|
||||
CONFIG_BLK_DEV_NBD=m
|
||||
# CONFIG_AIC94XX_DEBUG is not set
|
||||
# CONFIG_GPIO_BT8XX is not set
|
||||
|
||||
# Disable transparent huge pages
|
||||
@ -973,7 +919,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
|
||||
# Needed for opae fpga kernel module
|
||||
# # as it turns on hidden option REGMAP_MMIO
|
||||
# as it turns on hidden option REGMAP_MMIO
|
||||
CONFIG_MFD_SYSCON=y
|
||||
# Also need the following two options for opae fpga
|
||||
CONFIG_SPI_BITBANG=m
|
||||
@ -986,3 +932,160 @@ CONFIG_E1000=m
|
||||
# qdisc for tsn
|
||||
CONFIG_NET_SCH_ETF=m
|
||||
CONFIG_NET_SCH_TAPRIO=m
|
||||
|
||||
# CONFIG_THERMAL_GOV_BANG_BANG is not set
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
|
||||
# PREEMPT_RT depends on this
|
||||
CONFIG_EXPERT=y
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_PREEMPT_RT_BASE is not set
|
||||
# CONFIG_PREEMPT_RT_FULL is not set
|
||||
CONFIG_PREEMPT_RT=y
|
||||
CONFIG_RCU_BOOST=y
|
||||
CONFIG_RCU_BOOST_DELAY=500
|
||||
|
||||
# Fall-out from CONFIG_EXPERT
|
||||
CONFIG_SYSFS_SYSCALL=y
|
||||
CONFIG_POSIX_TIMERS=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_PCSPKR_PLATFORM=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_IO_URING=y
|
||||
CONFIG_ADVISE_SYSCALLS=y
|
||||
CONFIG_RSEQ=y
|
||||
# CONFIG_DEBUG_RSEQ is not set
|
||||
# CONFIG_PC104 is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
|
||||
CONFIG_SLOB=n
|
||||
CONFIG_ZONE_DMA=y
|
||||
# CONFIG_PROCESSOR_SELECT is not set
|
||||
CONFIG_DMI=y
|
||||
CONFIG_X86_16BIT=y
|
||||
CONFIG_X86_VSYSCALL_EMULATION=y
|
||||
CONFIG_X86_UMIP=y
|
||||
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0
|
||||
CONFIG_MODIFY_LDT_SYSCALL=y
|
||||
# CONFIG_SUSPEND_SKIP_SYNC is not set
|
||||
# CONFIG_DPM_WATCHDOG is not set
|
||||
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
|
||||
# CONFIG_PCI_CNB20LE_QUIRK is not set
|
||||
# CONFIG_ISA_BUS is not set
|
||||
CONFIG_FIRMWARE_MEMMAP=y
|
||||
CONFIG_KVM_WERROR=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS=28
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
# CONFIG_PCIE_BUS_TUNE_OFF is not set
|
||||
# CONFIG_PCIE_BUS_SAFE is not set
|
||||
# CONFIG_PCIE_BUS_PERFORMANCE is not set
|
||||
# CONFIG_PCIE_BUS_PEER2PEER is not set
|
||||
CONFIG_ALLOW_DEV_COREDUMP=y
|
||||
CONFIG_ATA_FORCE=y
|
||||
# CONFIG_PATA_PLATFORM is not set
|
||||
# CONFIG_MLX4_DEBUG is not set
|
||||
# CONFIG_WIRELESS_WDS is not set
|
||||
CONFIG_MOUSE_PS2_ALPS=y
|
||||
CONFIG_MOUSE_PS2_BYD=y
|
||||
CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
||||
CONFIG_MOUSE_PS2_SYNAPTICS=y
|
||||
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
|
||||
CONFIG_MOUSE_PS2_CYPRESS=y
|
||||
CONFIG_MOUSE_PS2_LIFEBOOK=y
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
CONFIG_MOUSE_PS2_FOCALTECH=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_SERIAL_8250_PNP=y
|
||||
CONFIG_SERIAL_8250_DMA=y
|
||||
# CONFIG_TTY_PRINTK is not set
|
||||
CONFIG_GPIO_CDEV=y
|
||||
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
|
||||
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
|
||||
# CONFIG_DRM_I915_WERROR is not set
|
||||
# CONFIG_DRM_I915_DEBUG is not set
|
||||
# CONFIG_DRM_I915_DEBUG_MMIO is not set
|
||||
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
|
||||
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
|
||||
# CONFIG_DRM_I915_DEBUG_GUC is not set
|
||||
# CONFIG_DRM_I915_SELFTEST is not set
|
||||
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
|
||||
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
|
||||
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
|
||||
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
|
||||
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
|
||||
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
|
||||
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
|
||||
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
|
||||
CONFIG_DRM_I915_STOP_TIMEOUT=100
|
||||
CONFIG_DRM_I915_TIMESLICE_DURATION=1
|
||||
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
|
||||
CONFIG_XZ_DEC_IA64=y
|
||||
CONFIG_XZ_DEC_ARM=y
|
||||
CONFIG_XZ_DEC_ARMTHUMB=y
|
||||
CONFIG_XZ_DEC_SPARC=y
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
|
||||
# CONFIG_DEBUG_MEMORY_INIT is not set
|
||||
# CONFIG_UNWINDER_GUESS is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_PCIE_BUS_DEFAULT=y
|
||||
|
||||
# Enable DRBD
|
||||
CONFIG_BLK_DEV_DRBD=m
|
||||
CONFIG_DRBD_FAULT_INJECTION=y
|
||||
|
||||
# Infiniband and Mellanox out-of-tree module compatibility fixes
|
||||
# Avoid module insertion errors due to unknown symbols and symbol
|
||||
# version mismatches.
|
||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
# CONFIG_MLX4_INFINIBAND is not set
|
||||
# CONFIG_MLX5_CORE is not set
|
||||
CONFIG_INFINIBAND=m
|
||||
# CONFIG_INFINIBAND_ADDR_TRANS is not set
|
||||
# CONFIG_INFINIBAND_BNXT_RE is not set
|
||||
# CONFIG_INFINIBAND_CXGB4 is not set
|
||||
# CONFIG_INFINIBAND_HFI1 is not set
|
||||
# CONFIG_INFINIBAND_HNS is not set
|
||||
# CONFIG_INFINIBAND_I40IW is not set
|
||||
# CONFIG_INFINIBAND_IPOIB is not set
|
||||
# CONFIG_INFINIBAND_ISER is not set
|
||||
# CONFIG_INFINIBAND_ISERT is not set
|
||||
# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
|
||||
# CONFIG_INFINIBAND_OPA_VNIC is not set
|
||||
# CONFIG_INFINIBAND_QEDR is not set
|
||||
# CONFIG_INFINIBAND_RDMAVT is not set
|
||||
# CONFIG_INFINIBAND_SRP is not set
|
||||
# CONFIG_INFINIBAND_SRPT is not set
|
||||
# CONFIG_INFINIBAND_USER_ACCESS is not set
|
||||
# CONFIG_INFINIBAND_USER_MAD is not set
|
||||
# CONFIG_INFINIBAND_USER_MEM is not set
|
||||
# CONFIG_INFINIBAND_USNIC is not set
|
||||
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
|
||||
|
||||
|
||||
# CONFIG_DRM_LEGACY is not set
|
||||
CONFIG_SCSI_AIC94XX=y
|
||||
# CONFIG_AIC94XX_DEBUG is not set
|
||||
CONFIG_SCSI_ISCI=y
|
||||
# CONFIG_AT803X_PHY is not set
|
||||
# CONFIG_FUNCTION_PROFILER is not set
|
||||
# CONFIG_I40E is not set
|
||||
# CONFIG_I40EVF is not set
|
||||
# CONFIG_I40E_DCB is not set
|
||||
# CONFIG_IAVF is not set
|
||||
# CONFIG_ICE is not set
|
||||
# CONFIG_INFINIBAND is not set
|
||||
CONFIG_NF_DEFRAG_IPV6=m
|
||||
# CONFIG_PANIC_ON_OOPS is not set
|
||||
# CONFIG_PCCARD is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
6117
kernel-rt/files/kernel-5.10.30-x86_64.config
Normal file
6117
kernel-rt/files/kernel-5.10.30-x86_64.config
Normal file
File diff suppressed because it is too large
Load Diff
1
kernel-rt/files/merge.pl
Symbolic link
1
kernel-rt/files/merge.pl
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/merge.pl
|
1
kernel-rt/files/mod-extra-blacklist.sh
Symbolic link
1
kernel-rt/files/mod-extra-blacklist.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/mod-extra-blacklist.sh
|
1
kernel-rt/files/mod-extra.list
Symbolic link
1
kernel-rt/files/mod-extra.list
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/mod-extra.list
|
1
kernel-rt/files/mod-extra.sh
Symbolic link
1
kernel-rt/files/mod-extra.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/mod-extra.sh
|
1
kernel-rt/files/mod-internal.list
Symbolic link
1
kernel-rt/files/mod-internal.list
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/mod-internal.list
|
1
kernel-rt/files/mod-sign.sh
Symbolic link
1
kernel-rt/files/mod-sign.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/mod-sign.sh
|
1
kernel-rt/files/parallel_xz.sh
Symbolic link
1
kernel-rt/files/parallel_xz.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/parallel_xz.sh
|
1
kernel-rt/files/process_configs.sh
Symbolic link
1
kernel-rt/files/process_configs.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/process_configs.sh
|
1
kernel-rt/files/x509.genkey
Symbolic link
1
kernel-rt/files/x509.genkey
Symbolic link
@ -0,0 +1 @@
|
||||
../../kernel-std/files/x509.genkey
|
275
kernel-std/centos/build_srpm
Executable file
275
kernel-std/centos/build_srpm
Executable file
@ -0,0 +1,275 @@
|
||||
#!/bin/bash
|
||||
# set -x
|
||||
|
||||
#
|
||||
# Copyright (c) 2018-2021 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Refer to build-tools/default_build_srpm and modify for git repo from linux-yocto.
|
||||
#
|
||||
|
||||
source "$SRC_BASE/build-tools/spec-utils"
|
||||
source "$SRC_BASE/build-tools/srpm-utils"
|
||||
|
||||
CUR_DIR=`pwd`
|
||||
BUILD_DIR="$RPMBUILD_BASE"
|
||||
|
||||
if [ "x$DATA" == "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Environment variable 'DATA' not defined."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
srpm_source_build_data "$DATA" "$SRC_BUILD_TYPE" "$SRPM_OR_SPEC_PATH"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to source build data from $DATA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$PBR_VERSION" != "x" ] && [ "x$PBR_VERSION" != "xNA" ]; then
|
||||
VERSION=$PBR_VERSION
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
for SPEC in `find $SPECS_BASE -name '*.spec' | sort -V`; do
|
||||
SPEC_PATH="$SPEC"
|
||||
|
||||
VERSION_DERIVED=`spec_evaluate '%{version}' "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): '%{version}' not found in '$PKG_BASE/$SPEC_PATH'"
|
||||
VERSION_DERIVED=""
|
||||
fi
|
||||
|
||||
if [ "x$VERSION_DERIVED" != "x" ]; then
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
VERSION=$VERSION_DERIVED
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set VERSION automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "x$VERSION" == "x" ]; then
|
||||
if [ -f $SRC_DIR/PKG-INFO ]; then
|
||||
VERSION=$(grep '^Version:' $SRC_DIR/PKG-INFO | awk -F ': ' '{print $2}' | sed -e 's/^[[:space:]]*//')
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$VERSION" != "x" ]; then
|
||||
echo "Derived VERSION=$VERSION"
|
||||
else
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to derive a good VERSION from SPEC file, and none provided."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
for SPEC in `find $SPECS_BASE -name '*.spec' | sort -V`; do
|
||||
SPEC_PATH="$SPEC"
|
||||
|
||||
SERVICE=`spec_find_global service "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
TAR_NAME=$SERVICE
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set TAR_NAME automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
NAME=`spec_find_tag Name "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
TAR_NAME=$NAME
|
||||
else
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): multiple spec files found, can't set TAR_NAME automatically"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "WARNING: kernel build_srpm (${LINENO}): 'Name' not found in '$SPEC_PATH'"
|
||||
NAME=""
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "x$TAR_NAME" == "x" ]; then
|
||||
if [ -f $SRC_DIR/PKG-INFO ]; then
|
||||
TAR_NAME=$(grep '^Name:' $SRC_DIR/PKG-INFO | awk -F ': ' '{print $2}' | sed -e 's/^[[:space:]]*//')
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR_NAME" != "x" ]; then
|
||||
echo "Derived TAR_NAME=$TAR_NAME"
|
||||
else
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): Failed to derive a good TAR_NAME from SPEC file, and none provided."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$TAR" == "x" ]; then
|
||||
TAR="$TAR_NAME-$VERSION.tar.gz"
|
||||
fi
|
||||
|
||||
SOURCE_PATH="$BUILD_DIR/SOURCES"
|
||||
TAR_PATH="$SOURCE_PATH/$TAR"
|
||||
STAGING=""
|
||||
|
||||
if [ "x$COPY_LIST_TO_TAR" != "x" ] || [ "x$EXCLUDE_LIST_FROM_TAR" != "x" ]; then
|
||||
STAGING="$BUILD_DIR/staging"
|
||||
mkdir -p $STAGING
|
||||
fi
|
||||
|
||||
mkdir -p "$BUILD_DIR/SRPMS"
|
||||
mkdir -p "$SOURCE_PATH"
|
||||
|
||||
if [ "x$SRC_DIR" == "x" -a "x$COPY_LIST" == "x" -a "$ALLOW_EMPTY_RPM" != "true" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): '$PWD/$DATA' failed to provide at least one of 'SRC_DIR' or 'COPY_LIST'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
if [ ! -d "$SRC_DIR" ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): directory not found: '$SRC_DIR'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$COPY_LIST" != "x" ]; then
|
||||
echo "COPY_LIST: $COPY_LIST"
|
||||
for p in $COPY_LIST; do
|
||||
# echo "COPY_LIST: $p"
|
||||
\cp -L -u -r -v $p $SOURCE_PATH
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): COPY_LIST: file not found: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
\cp -L -u -r -v $SRC_DIR $STAGING
|
||||
echo "COPY_LIST_TO_TAR: $COPY_LIST_TO_TAR"
|
||||
for p in $COPY_LIST_TO_TAR; do
|
||||
# echo "COPY_LIST_TO_TAR: $p"
|
||||
\cp -L -u -r -v $p $STAGING/$SRC_DIR
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): COPY_LIST_TO_TAR: file not found: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "EXCLUDE_LIST_FROM_TAR: $EXCLUDE_LIST_FROM_TAR"
|
||||
for p in $EXCLUDE_LIST_FROM_TAR; do
|
||||
# echo "EXCLUDE_LIST_FROM_TAR: $p"
|
||||
echo "rm -rf $STAGING/$SRC_DIR/$p"
|
||||
\rm -rf $STAGING/$SRC_DIR/$p
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): EXCLUDE_LIST_FROM_TAR: could not remove file: '$p'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
TRANSFORM=`echo "$SRC_DIR" | sed 's/^\./\\./' | sed 's:^/::' | sed 's#^.*/\.\./##'`
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
pushd $STAGING
|
||||
fi
|
||||
|
||||
TAR_NEEDED=0
|
||||
if [ "x$SRC_DIR" != "x" ]; then
|
||||
echo "SRC_DIR=$SRC_DIR"
|
||||
if [ -f $TAR_PATH ]; then
|
||||
n=`find . -cnewer $TAR_PATH -and ! -path './.git*' \
|
||||
-and ! -path './.pc/*' \
|
||||
-and ! -path './patches/*' \
|
||||
-and ! -path "./$DISTRO/*" \
|
||||
-and ! -path './pbr-*.egg/*' \
|
||||
| wc -l`
|
||||
if [ $n -gt 0 ]; then
|
||||
TAR_NEEDED=1
|
||||
fi
|
||||
else
|
||||
TAR_NEEDED=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $TAR_NEEDED -gt 0 ]; then
|
||||
echo "Creating tar file: $TAR_PATH ..."
|
||||
echo "tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude='$SRC_DIR/$DISTRO' --exclude='pbr-*.egg' --transform 's,^$TRANSFORM,$TAR_NAME-$VERSION,' -czf $TAR_PATH $SRC_DIR"
|
||||
tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform "s,^$TRANSFORM,$TAR_NAME-$VERSION," -czf "$TAR_PATH" "$SRC_DIR"
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): failed to create tar file, cmd: tar --exclude '.git*' --exclude='.pc' --exclude='patches' --exclude="$SRC_DIR/$DISTRO" --exclude='pbr-*.egg' --transform \"s,^$TRANSFORM,$TAR_NAME-$VERSION,\" -czf '$TAR_PATH' '$SRC_DIR'"
|
||||
exit 1
|
||||
fi
|
||||
echo "Created tar file: $TAR_PATH"
|
||||
else
|
||||
echo "Tar file not needed."
|
||||
fi
|
||||
|
||||
if [ "x$STAGING" != "x" ]; then
|
||||
popd
|
||||
fi
|
||||
|
||||
if [ ! -d $BUILD_DIR/SPECS ]; then
|
||||
echo "Spec directory '$BUILD_DIR/SPECS' does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(ls -1 $BUILD_DIR/SPECS/*.spec | wc -l) -eq 0 ]; then
|
||||
echo "No spec files found in spec directory '$BUILD_DIR/SPECS'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for SPEC in `ls -1 $BUILD_DIR/SPECS`; do
|
||||
SPEC_PATH="$BUILD_DIR/SPECS/$SPEC"
|
||||
RELEASE=`spec_find_tag Release "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): 'Release' not found in '$SPEC_PATH'"
|
||||
fi
|
||||
NAME=`spec_find_tag Name "$SPEC_PATH" 2>> /dev/null`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: kernel build_srpm (${LINENO}): 'Name' not found in '$SPEC_PATH'"
|
||||
fi
|
||||
SRPM="$NAME-$VERSION-$RELEASE.src.rpm"
|
||||
SRPM_PATH="$BUILD_DIR/SRPMS/$SRPM"
|
||||
|
||||
spec_validate_tis_release $SPEC_PATH
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "TIS Validation of $SPEC_PATH failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUILD_NEEDED=0
|
||||
if [ -f $SRPM_PATH ]; then
|
||||
n=`find . -cnewer $SRPM_PATH | wc -l`
|
||||
if [ $n -gt 0 ]; then
|
||||
BUILD_NEEDED=1
|
||||
fi
|
||||
else
|
||||
BUILD_NEEDED=1
|
||||
fi
|
||||
|
||||
if [ $BUILD_NEEDED -gt 0 ]; then
|
||||
echo "SPEC file: $SPEC_PATH"
|
||||
echo "SRPM build directory: $BUILD_DIR"
|
||||
echo "TIS_PATCH_VER: $TIS_PATCH_VER"
|
||||
echo "PBR_VERSION: $PBR_VERSION"
|
||||
|
||||
sed -i -e "1 i%define _tis_build_type $BUILD_TYPE" $SPEC_PATH
|
||||
sed -i -e "1 i%define tis_patch_ver $TIS_PATCH_VER" $SPEC_PATH
|
||||
sed -i -e "1 i%define pbr_version $PBR_VERSION" $SPEC_PATH
|
||||
rpmbuild -bs $SPEC_PATH --define="%_topdir $BUILD_DIR" --undefine=dist --define="_tis_dist .tis"
|
||||
else
|
||||
echo "SRPM build not needed"
|
||||
fi
|
||||
done
|
@ -1,5 +1,14 @@
|
||||
COPY_LIST="files/*"
|
||||
PKG_BASE_SRCREV=145ff64b9734e5c45cfd8eb837a04e257b4b9581
|
||||
TIS_PATCH_VER=PKG_GITREVCOUNT+1
|
||||
SRC_DIR="$STX_BASE/git/linux-yocto-std"
|
||||
|
||||
COPY_LIST=" \
|
||||
$PKG_BASE/files/* \
|
||||
$PKG_BASE/centos/patches/*"
|
||||
BUILD_IS_BIG=21
|
||||
BUILD_IS_SLOW=16
|
||||
|
||||
# The base branch is: v5.10/standard/base
|
||||
TIS_BASE_SRCREV=a8808e541750d4ed34105f615e295f6fbd9950fa
|
||||
|
||||
PKG_BASE_SRCREV=4013790c6ef43fd9f936579b0cac50b8e0c4505a
|
||||
TIS_PATCH_VER=GITREVCOUNT+PKG_GITREVCOUNT
|
||||
|
||||
|
2983
kernel-std/centos/kernel.spec
Normal file
2983
kernel-std/centos/kernel.spec
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,179 +0,0 @@
|
||||
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 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 | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 56 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
|
||||
index 2755684..adc3580 100644
|
||||
--- a/SPECS/kernel.spec
|
||||
+++ b/SPECS/kernel.spec
|
||||
@@ -12,6 +12,8 @@
|
||||
# change below to w4T.xzdio):
|
||||
%define _binary_payload w3T.xzdio
|
||||
|
||||
+%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
|
||||
@@ -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 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 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.
|
||||
@@ -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.
|
||||
-%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1}
|
||||
+%define with_kabichk 0
|
||||
# Control whether we perform a compat. check against DUP ABI.
|
||||
-%define with_kabidupchk %{?_with_kabidupchk: 1} %{?!_with_kabidupchk: 0}
|
||||
+%define with_kabidupchk 1
|
||||
#
|
||||
# Control whether to run an extensive DWARF based kABI check.
|
||||
# Note that this option needs to have baseline setup in SOURCE300.
|
||||
@@ -372,6 +378,7 @@ BuildRequires: xmlto
|
||||
%if %{with_perf} || %{with_tools}
|
||||
BuildRequires: asciidoc
|
||||
%endif
|
||||
+BuildRequires: util-linux
|
||||
|
||||
Source0: linux-%{rpmversion}-%{pkgrelease}.tar.xz
|
||||
|
||||
@@ -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: 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
|
||||
@@ -699,6 +712,13 @@ Kernel sample programs and selftests.
|
||||
|
||||
%endif # with_selftests
|
||||
|
||||
+%ifarch x86_64
|
||||
+%package unsigned
|
||||
+Summary: Unsigned build of the Linux kernel
|
||||
+%description unsigned
|
||||
+Contains an unsigned version of the Linux kernel
|
||||
+%endif # x86_64
|
||||
+
|
||||
%if %{with_gcov}
|
||||
%package gcov
|
||||
Summary: gcov graph and source files for coverage data collection.
|
||||
@@ -1018,6 +1038,8 @@ cd configs
|
||||
|
||||
# Drop some necessary files from the source dir into the buildroot
|
||||
cp $RPM_SOURCE_DIR/kernel-*.config .
|
||||
+# Copy any TiS-specific config changes
|
||||
+cp $RPM_SOURCE_DIR/kernel-*.config.tis_extra .
|
||||
cp %{SOURCE41} .
|
||||
VERSION=%{version} ./generate_all_configs.sh
|
||||
|
||||
@@ -1037,6 +1059,18 @@ do
|
||||
done
|
||||
%endif
|
||||
|
||||
+# Handle StarlingX Cloud customizations. Use -n to match oldnoconfig below. We want this before
|
||||
+# the make line below so that the one below removes any dependencies of ones that we
|
||||
+# turn off here. We also want it before "make listnewconfig" so that we can set the
|
||||
+# config option for new configs introduced in the StarlingX Cloud patches.
|
||||
+for i in *.config
|
||||
+do
|
||||
+ if [ -f ${i}.tis_extra ]; then
|
||||
+ ../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}
|
||||
|
||||
@@ -1102,6 +1136,7 @@ BuildKernel() {
|
||||
# and now to start the build process
|
||||
|
||||
%{make} -s %{?_smp_mflags} mrproper
|
||||
+ cp %{SOURCE30000} certs/. # ima_signing_key.pub
|
||||
cp configs/$Config .config
|
||||
|
||||
%if %{signkernel}%{signmodules}
|
||||
@@ -1188,6 +1223,8 @@ BuildKernel() {
|
||||
echo "pesigning failed"
|
||||
exit 1
|
||||
fi
|
||||
+ cp $KernelImage vmlinuz.unsigned
|
||||
+ $CopyKernel vmlinuz.unsigned $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz.unsigned
|
||||
mv vmlinuz.signed $SignImage
|
||||
if [ "$KernelExtension" == "gz" ]; then
|
||||
gzip -f9 $SignImage
|
||||
@@ -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}
|
||||
+ # STX: Copy these keys as part of the devel package
|
||||
+ # The Module signing keys are to ensure that only Out-of-tree
|
||||
+ # built against the StarlingX Kernel get signed and loaded sans warnings
|
||||
+ cp certs/signing_key.pem ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
|
||||
+ chmod 755 ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/signing_key.pem
|
||||
+ cp certs/signing_key.x509 ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
|
||||
fi
|
||||
%endif
|
||||
|
||||
@@ -2017,6 +2060,10 @@ fi\
|
||||
#
|
||||
%define kernel_variant_posttrans() \
|
||||
%{expand:%%posttrans %{?1:%{1}-}core}\
|
||||
+# If this is a pkg upgrade (ie installed as a patch), set the reboot flag\
|
||||
+if [ $1 -gt 1 ] ; then\
|
||||
+ touch /var/run/node_is_patched_rr\
|
||||
+fi\
|
||||
if [ -x %{_sbindir}/weak-modules ]\
|
||||
then\
|
||||
%{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
|
||||
@@ -2315,6 +2362,11 @@ fi
|
||||
|
||||
%kernel_variant_ipaclones %{with_up}
|
||||
|
||||
+%ifarch x86_64
|
||||
+%files unsigned
|
||||
+/boot/vmlinuz.unsigned
|
||||
+%endif
|
||||
+
|
||||
# plz don't put in a version string unless you're going to tag
|
||||
# and build.
|
||||
#
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,194 +0,0 @@
|
||||
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 | 66 +++++++++++++++++++++++++++----------------------------
|
||||
1 file changed, 32 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}
|
||||
@@ -491,6 +501,8 @@ Patch40009: turn-off-write-same-in-smartqpi-driver.patch
|
||||
Patch40010: Allow-dmar-quirks-for-broken-bioses.patch
|
||||
# TPM built-in kernel driver
|
||||
Patch40011: tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+# Fix build error
|
||||
+Patch40012: Fix-compile-error-with-gcc-4.8.5-and-python2.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
@@ -607,24 +619,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
|
||||
@@ -1024,6 +1036,7 @@ 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 tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+ApplyOptionalPatch Fix-compile-error-with-gcc-4.8.5-and-python2.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
@@ -1035,21 +1048,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
|
||||
@@ -1669,7 +1667,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
|
||||
@@ -2198,15 +2196,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
|
||||
@@ -2314,20 +2312,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
|
||||
|
@ -1,62 +0,0 @@
|
||||
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 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 | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
|
||||
index adc3580..a7a8c97 100644
|
||||
--- a/SPECS/kernel.spec
|
||||
+++ b/SPECS/kernel.spec
|
||||
@@ -478,6 +478,20 @@ Patch1001: debrand-rh_taint.patch
|
||||
# empty final patch to facilitate testing of kernel patches
|
||||
Patch999999: linux-kernel-test.patch
|
||||
|
||||
+# StarlingX Cloud patches here.
|
||||
+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
|
||||
+# TPM built-in kernel driver
|
||||
+Patch40011: tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
|
||||
@@ -1000,6 +1014,17 @@ ApplyOptionalPatch debrand-rh_taint.patch
|
||||
#ApplyOptionalPatch debrand-rh-i686-cpu.patch
|
||||
|
||||
|
||||
+# StarlingX Cloud patches here.
|
||||
+ApplyOptionalPatch Notification-of-death-of-arbitrary-processes.patch
|
||||
+ApplyOptionalPatch PCI-Add-ACS-quirk-for-Intel-Fortville-NICs.patch
|
||||
+ApplyOptionalPatch affine-compute-kernel-threads.patch
|
||||
+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 turn-off-write-same-in-smartqpi-driver.patch
|
||||
+ApplyOptionalPatch Allow-dmar-quirks-for-broken-bioses.patch
|
||||
+ApplyOptionalPatch tpm-ignore-burstcount-to-improve-send-performance.patch
|
||||
+
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
# Any further pre-build tree manipulations happen here.
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,3 +0,0 @@
|
||||
Build-logic-and-sources-for-TiC.patch
|
||||
Kernel-source-patches-for-TiC.patch
|
||||
Customize-4.18-kernel-with-centos-7-build-environmen.patch
|
@ -1,6 +1,6 @@
|
||||
From 985af04466f07d6f5deaac906c52dc1181beb881 Mon Sep 17 00:00:00 2001
|
||||
From a6d19757680f81e529c789e77bcac01f9b9e2fbd Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Thu, 7 Apr 2016 11:16:19 -0600
|
||||
Date: Thu, 17 Jun 2021 07:44:04 +0000
|
||||
Subject: [PATCH] Notification of death of arbitrary processes
|
||||
|
||||
Note: this commit was copied from Titanium Cloud Rel2
|
||||
@ -20,36 +20,38 @@ 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>
|
||||
[jm: Adapted the patch for context changes.]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.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 | 16 +++
|
||||
init/Kconfig | 15 +++
|
||||
init/init_task.c | 1 +
|
||||
kernel/Makefile | 1 +
|
||||
kernel/death_notify.c | 228 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
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, 353 insertions(+)
|
||||
12 files changed, 351 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 a7083a4..1ad2341 100644
|
||||
index b2412b4d4c20..7a0828daf59c 100644
|
||||
--- a/include/linux/init_task.h
|
||||
+++ b/include/linux/init_task.h
|
||||
@@ -24,6 +24,15 @@
|
||||
@@ -25,6 +25,15 @@
|
||||
extern struct files_struct init_files;
|
||||
extern struct fs_struct init_fs;
|
||||
extern struct nsproxy init_nsproxy;
|
||||
+
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#define INIT_SIGEXIT(tsk) \
|
||||
+ .notify = LIST_HEAD_INIT(tsk.notify), \
|
||||
+ .monitor = LIST_HEAD_INIT(tsk.monitor),
|
||||
+ .notify = LIST_HEAD_INIT(tsk.notify), \
|
||||
+ .monitor = LIST_HEAD_INIT(tsk.monitor),
|
||||
+#else
|
||||
+#define INIT_SIGEXIT(tsk)
|
||||
+#endif
|
||||
@ -58,10 +60,10 @@ index a7083a4..1ad2341 100644
|
||||
extern struct cred init_cred;
|
||||
|
||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||
index 681aa08..93e8080 100644
|
||||
index 76cd21fa5501..614cd20935a7 100644
|
||||
--- a/include/linux/sched.h
|
||||
+++ b/include/linux/sched.h
|
||||
@@ -1045,6 +1045,12 @@ struct task_struct {
|
||||
@@ -1119,6 +1119,12 @@ struct task_struct {
|
||||
short il_prev;
|
||||
short pref_node_fork;
|
||||
#endif
|
||||
@ -75,16 +77,15 @@ index 681aa08..93e8080 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 327319b..7084845 100644
|
||||
index 7f0827705c9a..dbd5a8b6e002 100644
|
||||
--- a/include/uapi/linux/prctl.h
|
||||
+++ b/include/uapi/linux/prctl.h
|
||||
@@ -63,6 +63,24 @@
|
||||
@@ -63,6 +63,22 @@
|
||||
# define PR_ENDIAN_LITTLE 1 /* True little endian mode */
|
||||
# define PR_ENDIAN_PPC_LITTLE 2 /* "PowerPC" pseudo little endian */
|
||||
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#define PR_DO_NOTIFY_TASK_STATE 17 /* Set/get notification for task
|
||||
+ state changes */
|
||||
+#define PR_DO_NOTIFY_TASK_STATE 17 /* Set/get notification for task
|
||||
+ state changes */
|
||||
+
|
||||
+/* This is the data structure for requestion process death
|
||||
+ * (and other state change) information. Sig of -1 means
|
||||
@ -94,46 +95,45 @@ index 327319b..7084845 100644
|
||||
+ * successful call.
|
||||
+ */
|
||||
+struct task_state_notify_info {
|
||||
+ pid_t pid;
|
||||
+ int pid;
|
||||
+ int sig;
|
||||
+ unsigned int events;
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* Get/set process seccomp mode */
|
||||
#define PR_GET_SECCOMP 21
|
||||
#define PR_SET_SECCOMP 22
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index b47b164..2caf192 100644
|
||||
index fc4c9f416fad..df9d5284f8d6 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1609,6 +1609,21 @@ config VM_EVENT_COUNTERS
|
||||
@@ -1851,6 +1851,21 @@ config VM_EVENT_COUNTERS
|
||||
on EXPERT systems. /proc/vmstat will only show page counts
|
||||
if VM event counters are disabled.
|
||||
|
||||
+config SIGEXIT
|
||||
+ bool "Notification of death of arbitrary processes"
|
||||
+ default n
|
||||
+ help
|
||||
+ When enabled this exposes a new feature which may be called to request
|
||||
+ notification when an arbitrary process changes state. The caller specifies
|
||||
+ a pid, signal number, and event mask, and when that pid dies, or is
|
||||
+ stopped, or anything else that would normally cause a SIGCHLD, the
|
||||
+ kernel will send the specified signal to the caller if the event is in
|
||||
+ the event mask originally passed down. The siginfo_t struct will
|
||||
+ contain the same information as would be included with SIGCHLD.
|
||||
+ bool "Notification of death of arbitrary processes"
|
||||
+ default n
|
||||
+ help
|
||||
+ When enabled this exposes a new feature which may be called to request
|
||||
+ notification when an arbitrary process changes state. The caller specifies
|
||||
+ a pid, signal number, and event mask, and when that pid dies, or is
|
||||
+ stopped, or anything else that would normally cause a SIGCHLD, the
|
||||
+ kernel will send the specified signal to the caller if the event is in
|
||||
+ the event mask originally passed down. The siginfo_t struct will
|
||||
+ contain the same information as would be included with SIGCHLD.
|
||||
+
|
||||
+ This is exposed to userspace via the prctl()
|
||||
+ call with the PR_DO_NOTIFY_TASK_STATE option
|
||||
+ This is exposed to userspace via the prctl()
|
||||
+ call with the PR_DO_NOTIFY_TASK_STATE option
|
||||
+
|
||||
config SLUB_DEBUG
|
||||
default y
|
||||
bool "Enable SLUB debugging support" if EXPERT
|
||||
diff --git a/init/init_task.c b/init/init_task.c
|
||||
index 7267cbf..d84242e 100644
|
||||
index 16d14c2ebb55..eaee56e60985 100644
|
||||
--- a/init/init_task.c
|
||||
+++ b/init/init_task.c
|
||||
@@ -116,6 +116,7 @@ struct task_struct init_task
|
||||
@@ -128,6 +128,7 @@ struct task_struct init_task
|
||||
.alloc_lock = __SPIN_LOCK_UNLOCKED(init_task.alloc_lock),
|
||||
.journal_info = NULL,
|
||||
INIT_CPU_TIMERS(init_task)
|
||||
@ -142,20 +142,20 @@ index 7267cbf..d84242e 100644
|
||||
.timer_slack_ns = 50000, /* 50 usec default slack */
|
||||
.thread_pid = &init_struct_pid,
|
||||
diff --git a/kernel/Makefile b/kernel/Makefile
|
||||
index aebf6a8..2669df3 100644
|
||||
index 88b60a6e5dd0..36377f54555a 100644
|
||||
--- a/kernel/Makefile
|
||||
+++ b/kernel/Makefile
|
||||
@@ -104,6 +104,7 @@ obj-$(CONFIG_TRACEPOINTS) += trace/
|
||||
obj-$(CONFIG_IRQ_WORK) += irq_work.o
|
||||
obj-$(CONFIG_CPU_PM) += cpu_pm.o
|
||||
obj-$(CONFIG_BPF) += bpf/
|
||||
@@ -108,6 +108,7 @@ obj-$(CONFIG_BPF) += bpf/
|
||||
obj-$(CONFIG_KCSAN) += kcsan/
|
||||
obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o
|
||||
obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call.o
|
||||
+obj-$(CONFIG_SIGEXIT) += death_notify.o
|
||||
|
||||
obj-$(CONFIG_PERF_EVENTS) += events/
|
||||
|
||||
diff --git a/kernel/death_notify.c b/kernel/death_notify.c
|
||||
new file mode 100644
|
||||
index 0000000..5819d35
|
||||
index 000000000000..5819d35a2564
|
||||
--- /dev/null
|
||||
+++ b/kernel/death_notify.c
|
||||
@@ -0,0 +1,228 @@
|
||||
@ -389,7 +389,7 @@ index 0000000..5819d35
|
||||
+
|
||||
diff --git a/kernel/death_notify.h b/kernel/death_notify.h
|
||||
new file mode 100644
|
||||
index 0000000..14a0995
|
||||
index 000000000000..14a0995b79af
|
||||
--- /dev/null
|
||||
+++ b/kernel/death_notify.h
|
||||
@@ -0,0 +1,46 @@
|
||||
@ -440,12 +440,12 @@ index 0000000..14a0995
|
||||
+#endif
|
||||
+
|
||||
diff --git a/kernel/exit.c b/kernel/exit.c
|
||||
index 3fb7be0..2005dcd 100644
|
||||
index d13d67fc5f4e..0e7adf824a52 100644
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -67,6 +67,9 @@
|
||||
@@ -68,6 +68,9 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/mmu_context.h>
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#include "death_notify.h"
|
||||
@ -453,21 +453,21 @@ index 3fb7be0..2005dcd 100644
|
||||
|
||||
static void __unhash_process(struct task_struct *p, bool group_dead)
|
||||
{
|
||||
@@ -196,6 +199,9 @@ void release_task(struct task_struct *p)
|
||||
proc_flush_task(p);
|
||||
@@ -194,6 +197,9 @@ void release_task(struct task_struct *p)
|
||||
cgroup_release(p);
|
||||
|
||||
write_lock_irq(&tasklist_lock);
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+ release_notify_others(p);
|
||||
+#endif
|
||||
ptrace_release_task(p);
|
||||
thread_pid = get_pid(p->thread_pid);
|
||||
__exit_signal(p);
|
||||
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 0400c41..97b55a2 100644
|
||||
index 7c044d377926..5333090a7cc5 100644
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -1910,6 +1910,10 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
@@ -2069,6 +2069,10 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
p->sequential_io = 0;
|
||||
p->sequential_io_avg = 0;
|
||||
#endif
|
||||
@ -479,20 +479,20 @@ index 0400c41..97b55a2 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 85a938c..b8bf3ee 100644
|
||||
index ef8f2a28d37c..5c41ee2ccf7e 100644
|
||||
--- a/kernel/signal.c
|
||||
+++ b/kernel/signal.c
|
||||
@@ -52,6 +52,9 @@
|
||||
@@ -55,6 +55,9 @@
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/siginfo.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include "audit.h" /* audit_signal_info() */
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
+#include "death_notify.h"
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* SLAB caches for signal bits.
|
||||
@@ -1895,6 +1898,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
||||
@@ -1999,6 +2002,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
||||
__wake_up_parent(tsk, tsk->parent);
|
||||
spin_unlock_irqrestore(&psig->siglock, flags);
|
||||
|
||||
@ -503,7 +503,7 @@ index 85a938c..b8bf3ee 100644
|
||||
return autoreap;
|
||||
}
|
||||
|
||||
@@ -1967,6 +1974,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
||||
@@ -2071,6 +2078,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
||||
*/
|
||||
__wake_up_parent(tsk, parent);
|
||||
spin_unlock_irqrestore(&sighand->siglock, flags);
|
||||
@ -515,11 +515,11 @@ index 85a938c..b8bf3ee 100644
|
||||
|
||||
static inline bool may_ptrace_stop(void)
|
||||
diff --git a/kernel/sys.c b/kernel/sys.c
|
||||
index 8a0fab9..e957bd5 100644
|
||||
index a730c03ee607..0f8decf763f1 100644
|
||||
--- a/kernel/sys.c
|
||||
+++ b/kernel/sys.c
|
||||
@@ -75,6 +75,9 @@
|
||||
#include <linux/nospec.h>
|
||||
@@ -73,6 +73,9 @@
|
||||
#include <asm/unistd.h>
|
||||
|
||||
#include "uid16.h"
|
||||
+#ifdef CONFIG_SIGEXIT
|
||||
@ -528,7 +528,7 @@ index 8a0fab9..e957bd5 100644
|
||||
|
||||
#ifndef SET_UNALIGN_CTL
|
||||
# define SET_UNALIGN_CTL(a, b) (-EINVAL)
|
||||
@@ -2409,6 +2412,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
|
||||
@@ -2423,6 +2426,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
|
||||
else
|
||||
error = PR_MCE_KILL_DEFAULT;
|
||||
break;
|
||||
@ -541,5 +541,5 @@ index 8a0fab9..e957bd5 100644
|
||||
error = prctl_set_mm(arg2, arg3, arg4, arg5);
|
||||
break;
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,7 +1,4 @@
|
||||
From 98f7b9d926abbe0bb60ab0a14a306516fa36b9d8 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <98f7b9d926abbe0bb60ab0a14a306516fa36b9d8.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 8d508571597d4e2d8c64621015c375ce0a346748 Mon Sep 17 00:00:00 2001
|
||||
From: Dahir Osman <dahir.osman@windriver.com>
|
||||
Date: Wed, 13 Jan 2016 10:01:11 -0500
|
||||
Subject: [PATCH 02/10] PCI: Add ACS quirk for Intel Fortville NICs
|
||||
@ -11,18 +8,19 @@ properly read the Fortville ACS capabilities.
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/pci/quirks.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|
||||
index 36f8e32..03c25f9 100644
|
||||
index b570f297e3ec..910026923549 100644
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -4422,6 +4422,10 @@ static const struct pci_dev_acs_enabled {
|
||||
/* I219 */
|
||||
@@ -4740,6 +4740,10 @@ static const struct pci_dev_acs_enabled {
|
||||
{ PCI_VENDOR_ID_INTEL, 0x15b7, pci_quirk_mf_endpoint_acs },
|
||||
{ PCI_VENDOR_ID_INTEL, 0x15b8, pci_quirk_mf_endpoint_acs },
|
||||
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_rciep_acs },
|
||||
+ /* I40 */
|
||||
+ { PCI_VENDOR_ID_INTEL, 0x1572, pci_quirk_mf_endpoint_acs },
|
||||
+ { PCI_VENDOR_ID_INTEL, 0x1586, pci_quirk_mf_endpoint_acs },
|
||||
@ -31,5 +29,5 @@ index 36f8e32..03c25f9 100644
|
||||
{ PCI_VENDOR_ID_QCOM, 0x0400, pci_quirk_qcom_rp_acs },
|
||||
{ PCI_VENDOR_ID_QCOM, 0x0401, pci_quirk_qcom_rp_acs },
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 41a11b1e49eaad061dca9ab7b642820fa4bd833d Mon Sep 17 00:00:00 2001
|
||||
From a04995a064c17b5e5df6d6f184c1cf01bb8bc6a0 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Tue, 24 Nov 2015 16:27:28 -0500
|
||||
Subject: [PATCH] affine compute kernel threads
|
||||
@ -28,40 +28,43 @@ 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>
|
||||
Signed-off-by: Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context changes.]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++
|
||||
include/linux/cpumask.h | 3 +++
|
||||
init/main.c | 2 ++
|
||||
kernel/cpu.c | 20 ++++++++++++++++++++
|
||||
kernel/kthread.c | 4 ++--
|
||||
kernel/umh.c | 3 +++
|
||||
6 files changed, 39 insertions(+), 2 deletions(-)
|
||||
.../admin-guide/kernel-parameters.txt | 10 ++++++++++
|
||||
include/linux/cpumask.h | 3 +++
|
||||
init/main.c | 2 ++
|
||||
kernel/cpu.c | 19 +++++++++++++++++++
|
||||
kernel/kthread.c | 5 ++---
|
||||
kernel/umh.c | 3 +++
|
||||
6 files changed, 39 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 9707a806ab1f..b864bfff4bce 100644
|
||||
index 26bfe7ae711b..91bb37814527 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -1968,6 +1968,15 @@
|
||||
Default: on
|
||||
Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
|
||||
the default is off.
|
||||
+ kthread_cpus= [KNL, SMP] Only run kernel threads on the specified
|
||||
+ list of processors. The kernel will start threads
|
||||
+ on the indicated processors only (unless there
|
||||
+ are specific reasons to run a thread with
|
||||
+ different affinities). This can be used to make
|
||||
+ init start on certain processors and also to
|
||||
+ control where kmod and other user space threads
|
||||
+ are being spawned. Allows to keep kernel threads
|
||||
+ away from certain cores unless absoluteluy necessary.
|
||||
@@ -2217,6 +2217,16 @@
|
||||
See also Documentation/trace/kprobetrace.rst "Kernel
|
||||
Boot Parameter" section.
|
||||
|
||||
+ kthread_cpus= [KNL, SMP] Only run kernel threads on the specified
|
||||
+ list of processors. The kernel will start threads
|
||||
+ on the indicated processors only (unless there
|
||||
+ are specific reasons to run a thread with
|
||||
+ different affinities). This can be used to make
|
||||
+ init start on certain processors and also to
|
||||
+ control where kmod and other user space threads
|
||||
+ 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.
|
||||
Default: enabled on cores which need mitigation.
|
||||
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
|
||||
index 57f20a0a7794..452603496e53 100644
|
||||
index f0d895d6ac39..45f338cfdd6f 100644
|
||||
--- a/include/linux/cpumask.h
|
||||
+++ b/include/linux/cpumask.h
|
||||
@@ -54,6 +54,7 @@ extern unsigned int nr_cpu_ids;
|
||||
@@ -55,6 +55,7 @@ extern unsigned int nr_cpu_ids;
|
||||
* cpu_present_mask - has bit 'cpu' set iff cpu is populated
|
||||
* cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler
|
||||
* cpu_active_mask - has bit 'cpu' set iff cpu available to migration
|
||||
@ -69,7 +72,7 @@ index 57f20a0a7794..452603496e53 100644
|
||||
*
|
||||
* If !CONFIG_HOTPLUG_CPU, present == possible, and active == online.
|
||||
*
|
||||
@@ -90,10 +91,12 @@ extern struct cpumask __cpu_possible_mask;
|
||||
@@ -91,10 +92,12 @@ extern struct cpumask __cpu_possible_mask;
|
||||
extern struct cpumask __cpu_online_mask;
|
||||
extern struct cpumask __cpu_present_mask;
|
||||
extern struct cpumask __cpu_active_mask;
|
||||
@ -80,28 +83,28 @@ index 57f20a0a7794..452603496e53 100644
|
||||
#define cpu_active_mask ((const struct cpumask *)&__cpu_active_mask)
|
||||
+#define cpu_kthread_mask ((const struct cpumask *)&__cpu_kthread_mask)
|
||||
|
||||
#if NR_CPUS > 1
|
||||
#define num_online_cpus() cpumask_weight(cpu_online_mask)
|
||||
extern atomic_t __num_online_cpus;
|
||||
|
||||
diff --git a/init/main.c b/init/main.c
|
||||
index f50f0b8234d1..92a16ead6b11 100644
|
||||
index d9d914111251..951410241ef4 100644
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -1144,6 +1144,8 @@ static noinline void __init kernel_init_freeable(void)
|
||||
@@ -1527,6 +1527,8 @@ static noinline void __init kernel_init_freeable(void)
|
||||
|
||||
do_basic_setup();
|
||||
|
||||
+ set_cpus_allowed_ptr(current, cpu_kthread_mask);
|
||||
+
|
||||
/* Open the /dev/console on the rootfs, this should never fail */
|
||||
if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
|
||||
pr_err("Warning: unable to open an initial console.\n");
|
||||
kunit_run_all_tests();
|
||||
|
||||
console_on_rootfs();
|
||||
diff --git a/kernel/cpu.c b/kernel/cpu.c
|
||||
index 23923f77c427..ff74e65b6206 100644
|
||||
index 2b8d7a5db383..b5dbec330189 100644
|
||||
--- a/kernel/cpu.c
|
||||
+++ b/kernel/cpu.c
|
||||
@@ -2310,6 +2310,26 @@ EXPORT_SYMBOL(__cpu_present_mask);
|
||||
struct cpumask __cpu_active_mask __read_mostly;
|
||||
EXPORT_SYMBOL(__cpu_active_mask);
|
||||
@@ -2449,6 +2449,25 @@ EXPORT_SYMBOL(__cpu_active_mask);
|
||||
atomic_t __num_online_cpus __read_mostly;
|
||||
EXPORT_SYMBOL(__num_online_cpus);
|
||||
|
||||
+struct cpumask __cpu_kthread_mask __read_mostly
|
||||
+ = {CPU_BITS_ALL};
|
||||
@ -111,50 +114,50 @@ index 23923f77c427..ff74e65b6206 100644
|
||||
+{
|
||||
+ struct cpumask tmp_mask;
|
||||
+ int err;
|
||||
+
|
||||
+
|
||||
+ err = cpulist_parse(str, &tmp_mask);
|
||||
+ if (!err)
|
||||
+ cpumask_copy(&__cpu_kthread_mask, &tmp_mask);
|
||||
+ else
|
||||
+ pr_err("Cannot parse 'kthread_cpus=%s'; error %d\n", str, err);
|
||||
+
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+__setup("kthread_cpus=", kthread_setup);
|
||||
+
|
||||
+
|
||||
void init_cpu_present(const struct cpumask *src)
|
||||
{
|
||||
cpumask_copy(&__cpu_present_mask, src);
|
||||
diff --git a/kernel/kthread.c b/kernel/kthread.c
|
||||
index e4f3cfd757d2..85f753fc5a3c 100644
|
||||
index 5edf7e19ab26..7c3924752999 100644
|
||||
--- a/kernel/kthread.c
|
||||
+++ b/kernel/kthread.c
|
||||
@@ -340,7 +340,7 @@ struct task_struct *__kthread_create_on_node(int (*threadfn)(void *data),
|
||||
@@ -384,8 +384,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, ¶m);
|
||||
- set_cpus_allowed_ptr(task, cpu_all_mask);
|
||||
- set_cpus_allowed_ptr(task,
|
||||
- housekeeping_cpumask(HK_FLAG_KTHREAD));
|
||||
+ set_cpus_allowed_ptr(task, cpu_kthread_mask);
|
||||
}
|
||||
kfree(create);
|
||||
return task;
|
||||
@@ -563,7 +563,7 @@ int kthreadd(void *unused)
|
||||
@@ -634,7 +633,7 @@ int kthreadd(void *unused)
|
||||
/* Setup a clean context for our children to inherit. */
|
||||
set_task_comm(tsk, "kthreadd");
|
||||
ignore_signals(tsk);
|
||||
- set_cpus_allowed_ptr(tsk, cpu_all_mask);
|
||||
- set_cpus_allowed_ptr(tsk, housekeeping_cpumask(HK_FLAG_KTHREAD));
|
||||
+ set_cpus_allowed_ptr(tsk, cpu_kthread_mask);
|
||||
set_mems_allowed(node_states[N_MEMORY]);
|
||||
|
||||
current->flags |= PF_NOFREEZE;
|
||||
diff --git a/kernel/umh.c b/kernel/umh.c
|
||||
index d937cbad903a..94715dff7d61 100644
|
||||
index 3f646613a9d3..e5027cee43f7 100644
|
||||
--- a/kernel/umh.c
|
||||
+++ b/kernel/umh.c
|
||||
@@ -74,6 +74,9 @@ static int call_usermodehelper_exec_async(void *data)
|
||||
flush_signal_handlers(current, 1);
|
||||
spin_unlock_irq(¤t->sighand->siglock);
|
||||
@@ -80,6 +80,9 @@ static int call_usermodehelper_exec_async(void *data)
|
||||
*/
|
||||
current->fs->umask = 0022;
|
||||
|
||||
+ /* We can run only where init is allowed to run. */
|
||||
+ set_cpus_allowed_ptr(current, cpu_kthread_mask);
|
||||
@ -163,5 +166,5 @@ index d937cbad903a..94715dff7d61 100644
|
||||
* Our parent (unbound workqueue) runs with elevated scheduling
|
||||
* priority. Avoid propagating that into the userspace child.
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
@ -1,7 +1,4 @@
|
||||
From e223cda3a8edd8fd935d589231c8e19a66bd8947 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <e223cda3a8edd8fd935d589231c8e19a66bd8947.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 286f3a8af7f620dac84f20de5f7ad6542f447ace Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Tue, 24 Nov 2015 16:27:29 -0500
|
||||
Subject: [PATCH 04/10] Affine irqs and workqueues with kthread_cpus
|
||||
@ -24,16 +21,17 @@ 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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.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 c4e31f4..002dec3 100644
|
||||
index 79dc02b956dc..420b5ce0bf89 100644
|
||||
--- a/kernel/irq/manage.c
|
||||
+++ b/kernel/irq/manage.c
|
||||
@@ -400,6 +400,13 @@ int irq_setup_affinity(struct irq_desc *desc)
|
||||
@@ -515,6 +515,13 @@ int irq_setup_affinity(struct irq_desc *desc)
|
||||
if (cpumask_intersects(&mask, nodemask))
|
||||
cpumask_and(&mask, &mask, nodemask);
|
||||
}
|
||||
@ -48,20 +46,20 @@ index c4e31f4..002dec3 100644
|
||||
raw_spin_unlock(&mask_lock);
|
||||
return ret;
|
||||
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
|
||||
index 4228207..c7fa0ec 100644
|
||||
index 1e2ca744dadb..b854874d0518 100644
|
||||
--- a/kernel/workqueue.c
|
||||
+++ b/kernel/workqueue.c
|
||||
@@ -5730,6 +5730,8 @@ int __init workqueue_init_early(void)
|
||||
@@ -5956,6 +5956,8 @@ void __init workqueue_init_early(void)
|
||||
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
||||
attrs->nice = std_nice[i];
|
||||
+ /* If we've specified a kthread mask apply it here too. */
|
||||
+ cpumask_copy(attrs->cpumask, cpu_kthread_mask);
|
||||
unbound_std_wq_attrs[i] = attrs;
|
||||
|
||||
/*
|
||||
@@ -5740,6 +5742,8 @@ int __init workqueue_init_early(void)
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
|
||||
@@ -5966,6 +5968,8 @@ void __init workqueue_init_early(void)
|
||||
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
||||
attrs->nice = std_nice[i];
|
||||
attrs->no_numa = true;
|
||||
+ /* If we've specified a kthread mask apply it here too. */
|
||||
@ -70,5 +68,5 @@ index 4228207..c7fa0ec 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,7 +1,4 @@
|
||||
From 0e86f726ba6e46ee206ecc7e09ce049ed4145f6c Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <0e86f726ba6e46ee206ecc7e09ce049ed4145f6c.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 82e56b6b7c05eebc589b37e96ed3b0a44d6cdef7 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Friesen <chris.friesen@windriver.com>
|
||||
Date: Thu, 12 May 2016 18:00:00 -0400
|
||||
Subject: [PATCH 05/10] Make kernel start eth devices at offset
|
||||
@ -12,15 +9,16 @@ 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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
net/core/dev.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index 6a531ca..980860d 100644
|
||||
index 62ff7121b22d..e63fe7662c73 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -1100,6 +1100,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
|
||||
@@ -1218,6 +1218,12 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
|
||||
set_bit(i, inuse);
|
||||
}
|
||||
|
||||
@ -34,5 +32,5 @@ index 6a531ca..980860d 100644
|
||||
free_page((unsigned long) inuse);
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,11 +1,8 @@
|
||||
From c449e4c490ac85ccf04e8aab67c8120aa48f8ad0 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <c449e4c490ac85ccf04e8aab67c8120aa48f8ad0.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 c35ee3034b61e72bf9fef888a3c4702049a77bcc Mon Sep 17 00:00:00 2001
|
||||
From: Matt Peters <matt.peters@windriver.com>
|
||||
Date: Mon, 30 May 2016 10:51:02 -0400
|
||||
Subject: [PATCH 06/10] intel-iommu: allow ignoring Ethernet device RMRR with
|
||||
IOMMU passthrough
|
||||
Subject: [PATCH] intel-iommu: allow ignoring Ethernet device RMRR with IOMMU
|
||||
passthrough
|
||||
|
||||
Some BIOS's are reporting DMAR RMRR entries for Ethernet devices
|
||||
which is causing problems when PCI passthrough is enabled. These
|
||||
@ -20,16 +17,36 @@ 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>
|
||||
[lz: Adapted the patch for context changes.]
|
||||
Signed-off-by: Li Zhou <li.zhou@windriver.com>
|
||||
[jp: fix warning: this 'else' clause does not guard]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
Documentation/Intel-IOMMU.txt | 18 ++++++++++++++++++
|
||||
Documentation/admin-guide/kernel-parameters.txt | 5 +++++
|
||||
drivers/iommu/intel-iommu.c | 19 +++++++++++++++++++
|
||||
3 files changed, 42 insertions(+)
|
||||
.../admin-guide/kernel-parameters.txt | 5 +++++
|
||||
Documentation/x86/intel-iommu.rst | 18 +++++++++++++++
|
||||
drivers/iommu/intel/iommu.c | 22 ++++++++++++++++++-
|
||||
3 files changed, 44 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/Intel-IOMMU.txt b/Documentation/Intel-IOMMU.txt
|
||||
index 9dae6b4..1080fcb 100644
|
||||
--- a/Documentation/Intel-IOMMU.txt
|
||||
+++ b/Documentation/Intel-IOMMU.txt
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 552f1db5b9d7..e862aabe6255 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -1861,6 +1861,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.
|
||||
+ eth_no_rmrr [Default Off]
|
||||
+ With this option provided, the kernel will ignore
|
||||
+ any specified RMRR regions specified by the BIOS
|
||||
+ for PCI ethernet devices. Confirm with your hardware
|
||||
+ vendor the RMRR regions are indeed invalid first.
|
||||
strict [Default Off]
|
||||
With this option on every unmap_single operation will
|
||||
result in a hardware IOTLB flush operation as opposed
|
||||
diff --git a/Documentation/x86/intel-iommu.rst b/Documentation/x86/intel-iommu.rst
|
||||
index 099f13d51d5f..18e6a8d8b1ee 100644
|
||||
--- a/Documentation/x86/intel-iommu.rst
|
||||
+++ b/Documentation/x86/intel-iommu.rst
|
||||
@@ -33,6 +33,24 @@ regions will fail. Hence BIOS uses RMRR to specify these regions along with
|
||||
devices that need to access these regions. OS is expected to setup
|
||||
unity mappings for these regions for these devices to access these regions.
|
||||
@ -55,40 +72,24 @@ index 9dae6b4..1080fcb 100644
|
||||
How is IOVA generated?
|
||||
----------------------
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 928b525..cea7932 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -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.
|
||||
+ eth_no_rmrr [Default Off]
|
||||
+ With this option provided, the kernel will ignore
|
||||
+ any specified RMRR regions specified by the BIOS
|
||||
+ for PCI ethernet devices. Confirm with your hardware
|
||||
+ vendor the RMRR regions are indeed invalid first.
|
||||
strict [Default Off]
|
||||
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 0962d65..ea478fa 100644
|
||||
--- a/drivers/iommu/intel-iommu.c
|
||||
+++ b/drivers/iommu/intel-iommu.c
|
||||
@@ -485,6 +485,7 @@ static int dmar_forcedac;
|
||||
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
|
||||
index 7e3db4c0324d..16ebba2723cb 100644
|
||||
--- a/drivers/iommu/intel/iommu.c
|
||||
+++ b/drivers/iommu/intel/iommu.c
|
||||
@@ -354,6 +354,7 @@ static int dmar_map_gfx = 1;
|
||||
static int dmar_forcedac;
|
||||
static int intel_iommu_strict;
|
||||
static int intel_iommu_superpage = 1;
|
||||
static int intel_iommu_ecs = 1;
|
||||
+static int intel_iommu_ethrmrr = 1;
|
||||
static int intel_iommu_pasid28;
|
||||
static int iommu_identity_mapping;
|
||||
|
||||
@@ -569,6 +570,15 @@ static int __init intel_iommu_setup(char *str)
|
||||
static int intel_no_bounce;
|
||||
static int iommu_skip_te_disable;
|
||||
@@ -448,6 +449,15 @@ static int __init intel_iommu_setup(char *str)
|
||||
} else if (!strncmp(str, "forcedac", 8)) {
|
||||
pr_info("Forcing DAC for PCI devices\n");
|
||||
dmar_forcedac = 1;
|
||||
+ } else if (!strncmp(str, "eth_no_rmrr", 11)) {
|
||||
+ if (!iommu_pass_through) {
|
||||
+ if (!iommu_default_passthrough()) {
|
||||
+ printk(KERN_WARNING
|
||||
+ "Intel-IOMMU: error - eth_no_rmrr requires iommu=pt\n");
|
||||
+ } else {
|
||||
@ -99,10 +100,12 @@ index 0962d65..ea478fa 100644
|
||||
} else if (!strncmp(str, "strict", 6)) {
|
||||
pr_info("Disable batched IOTLB flush\n");
|
||||
intel_iommu_strict = 1;
|
||||
@@ -2920,6 +2930,15 @@ static bool device_is_rmrr_locked(struct device *dev)
|
||||
|
||||
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
|
||||
return false;
|
||||
@@ -2880,8 +2890,18 @@ static bool device_rmrr_is_relaxable(struct device *dev)
|
||||
pdev = to_pci_dev(dev);
|
||||
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
|
||||
return true;
|
||||
- else
|
||||
+ else {
|
||||
+ /* As a temporary workaround for issues seen on ProLiant DL380p,
|
||||
+ * allow the operator to ignore the RMRR settings for ethernet
|
||||
+ * devices. Ideally the end user should contact their vendor
|
||||
@ -111,10 +114,12 @@ index 0962d65..ea478fa 100644
|
||||
+ * it seems that these make no sense at all.
|
||||
+ */
|
||||
+ if ((pdev->class >> 8) == PCI_CLASS_NETWORK_ETHERNET && !intel_iommu_ethrmrr)
|
||||
+ return false;
|
||||
}
|
||||
+ return true;
|
||||
return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
return true;
|
||||
/*
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,22 +1,20 @@
|
||||
From 533c1cd1909a81bd027435dd934a194983c9e9b8 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <533c1cd1909a81bd027435dd934a194983c9e9b8.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 87e7e3bd136b05d9ae105fe87879d1fe6730ee18 Mon Sep 17 00:00:00 2001
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Tue, 6 Mar 2018 12:54:40 -0500
|
||||
Subject: [PATCH 09/10] turn off write same in smartqpi driver
|
||||
Subject: [PATCH 06/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>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.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 7810cb2..9895f7f 100644
|
||||
index 9d0229656681..af46f3a024da 100644
|
||||
--- a/drivers/scsi/smartpqi/smartpqi_init.c
|
||||
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
|
||||
@@ -6413,6 +6413,7 @@ static struct scsi_host_template pqi_driver_template = {
|
||||
@@ -6571,6 +6571,7 @@ static struct scsi_host_template pqi_driver_template = {
|
||||
.map_queues = pqi_map_queues,
|
||||
.sdev_attrs = pqi_sdev_attrs,
|
||||
.shost_attrs = pqi_shost_attrs,
|
||||
@ -25,5 +23,5 @@ index 7810cb2..9895f7f 100644
|
||||
|
||||
static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,8 +1,7 @@
|
||||
From 340fbe20b7ede7b9a6dca8c3d03cead97257a99d Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <340fbe20b7ede7b9a6dca8c3d03cead97257a99d.1584649859.git.Jim.Somerville@windriver.com>
|
||||
From 4d58a9a618827e4410e3828b4deef5832a8576db 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 07/10] Allow dmar quirks for broken bioses
|
||||
|
||||
Problem:
|
||||
Broken bios creates inaccurate DMAR tables,
|
||||
@ -27,16 +26,16 @@ Lu Baolu of Intel Corp to lkml
|
||||
https://lkml.org/lkml/2019/12/24/15
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/iommu/dmar.c | 25 ++++++++++++++++++++++++-
|
||||
drivers/iommu/intel/dmar.c | 25 ++++++++++++++++++++++++-
|
||||
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
|
||||
index 4658dc3..eeaef2e 100644
|
||||
--- a/drivers/iommu/dmar.c
|
||||
+++ b/drivers/iommu/dmar.c
|
||||
@@ -76,6 +76,26 @@ static void free_iommu(struct intel_iommu *iommu);
|
||||
diff --git a/drivers/iommu/intel/dmar.c b/drivers/iommu/intel/dmar.c
|
||||
index 02e7c10a4224..7d423ac36a44 100644
|
||||
--- a/drivers/iommu/intel/dmar.c
|
||||
+++ b/drivers/iommu/intel/dmar.c
|
||||
@@ -66,6 +66,26 @@ static void free_iommu(struct intel_iommu *iommu);
|
||||
|
||||
extern const struct iommu_ops intel_iommu_ops;
|
||||
|
||||
@ -58,13 +57,13 @@ index 4658dc3..eeaef2e 100644
|
||||
+ */
|
||||
+/* Sky Lake-E PCI Express Root Port A */
|
||||
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2030,
|
||||
+ quirk_dmar_scope_mismatch);
|
||||
+ quirk_dmar_scope_mismatch);
|
||||
+
|
||||
static void dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
|
||||
{
|
||||
/*
|
||||
@@ -258,7 +278,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
|
||||
info->dev->class >> 8 != PCI_CLASS_BRIDGE_OTHER))) {
|
||||
@@ -255,7 +275,10 @@ int dmar_insert_dev_scope(struct dmar_pci_notify_info *info,
|
||||
info->dev->class >> 16 != PCI_BASE_CLASS_BRIDGE))) {
|
||||
pr_warn("Device scope type does not match for %s\n",
|
||||
pci_name(info->dev));
|
||||
- return -EINVAL;
|
||||
@ -76,5 +75,5 @@ index 4658dc3..eeaef2e 100644
|
||||
|
||||
for_each_dev_scope(devices, devices_cnt, i, tmp)
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4f19722fd1dfbd1f692f4158bcee0c47ba4b1869 Mon Sep 17 00:00:00 2001
|
||||
From 451738188482a34603a184e868893f407998bdd4 Mon Sep 17 00:00:00 2001
|
||||
From: Nayna Jain <nayna@linux.vnet.ibm.com>
|
||||
Date: Fri, 10 Nov 2017 17:16:35 -0500
|
||||
Subject: [PATCH 3/3] tpm: ignore burstcount to improve tpm_tis send()
|
||||
Subject: [PATCH 08/10] tpm: ignore burstcount to improve tpm_tis send()
|
||||
performance
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -26,15 +26,16 @@ Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
drivers/char/tpm/tpm_tis_core.c | 43 ++++++++++++++---------------------------
|
||||
drivers/char/tpm/tpm_tis_core.c | 43 ++++++++++++---------------------
|
||||
1 file changed, 15 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index b9f6468..54a6490 100644
|
||||
index a2e0395cbe61..2c69fde1e4e5 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -367,7 +367,6 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -330,7 +330,6 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
{
|
||||
struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev);
|
||||
int rc, status, burstcnt;
|
||||
@ -42,7 +43,7 @@ index b9f6468..54a6490 100644
|
||||
bool itpm = priv->flags & TPM_TIS_ITPM_WORKAROUND;
|
||||
|
||||
status = tpm_tis_status(chip);
|
||||
@@ -380,36 +379,24 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -343,36 +342,24 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
goto out_err;
|
||||
}
|
||||
}
|
||||
@ -95,5 +96,5 @@ index b9f6468..54a6490 100644
|
||||
goto out_err;
|
||||
|
||||
--
|
||||
2.7.4
|
||||
2.29.2
|
||||
|
@ -1,81 +0,0 @@
|
||||
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
|
||||
|
@ -1,2 +0,0 @@
|
||||
mirror:Source/kernel-4.18.0-147.3.1.el8_1.src.rpm
|
||||
|
0
kernel-std/files/Module.kabi_dup_x86_64
Normal file
0
kernel-std/files/Module.kabi_dup_x86_64
Normal file
0
kernel-std/files/Module.kabi_x86_64
Normal file
0
kernel-std/files/Module.kabi_x86_64
Normal file
BIN
kernel-std/files/centos-ca-secureboot.der
Normal file
BIN
kernel-std/files/centos-ca-secureboot.der
Normal file
Binary file not shown.
42
kernel-std/files/centos.pem
Normal file
42
kernel-std/files/centos.pem
Normal file
@ -0,0 +1,42 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDgTCCAmmgAwIBAgIJALYWFXFy+zGAMA0GCSqGSIb3DQEBCwUAMEwxJjAkBgNV
|
||||
BAMMHUNlbnRPUyBTZWN1cmUgQm9vdCAoQ0Ega2V5IDEpMSIwIAYJKoZIhvcNAQkB
|
||||
FhNzZWN1cml0eUBjZW50b3Mub3JnMB4XDTE5MDYwMzE0MjA0MFoXDTM4MDEwMTE0
|
||||
MjA0MFowVTEvMC0GA1UEAwwmQ2VudE9TIExpbnV4IERyaXZlciB1cGRhdGUgc2ln
|
||||
bmluZyBrZXkxIjAgBgkqhkiG9w0BCQEWE3NlY3VyaXR5QGNlbnRvcy5vcmcwggEi
|
||||
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD5ECuosQ4HKRRf+Kxfm+BcICBK
|
||||
PGqB+E/qalqQ3CCM3LWezq0ns/GZTD0CtSAzmOObqJb3gJ9S5gcbaMVBc3JxLlQ+
|
||||
RwVy0oNy91uy9TKhYQ3lpHDyujxiFmXPSJLMKOYbOBNObJ7qF6+ptnmDWMu7GWDc
|
||||
4UGdBdU/evt92LIxsi9ZQCEoZIqdyKBE/Y3V9gBZIZa/4oXMHfW9dWxhy9UszmR9
|
||||
hT7ZdgLFpWMFmJW+SS5QEWtp5CpRlcui4QJZl42bMp5JOrVWc+BlKPIsLdY8TqLp
|
||||
9FdhQ5Ih4auT7zn2V89YgYpq6VMZnPsn/v5piB6i6RK8Falr6SP5SV0cwV/jAgMB
|
||||
AAGjXTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQpvUwN
|
||||
BtLpkRBEtdyXMwkTm1HW1TAfBgNVHSMEGDAWgBRU7IGFiT7pGtsI90SIVH6OP3Q6
|
||||
8zANBgkqhkiG9w0BAQsFAAOCAQEAK+f4c4aP9TQDiQM4TDyw8iDapr7eBc+Yr0M5
|
||||
ELkWEQu55/OwLQrgCA5bdD86diaAXQAlUOXCtFRrbUQHQACEL77/32YdooHfVZZ7
|
||||
04CeE+JWxF/cQ3M5hhJnkyxaqFKC+B+bn7Z6eloMnYUPsXwfQEOuyxKaKergAJdq
|
||||
KnC0pEG3NGgwlwvnD0dwUqbbEUUqL3UQh96hCYDidhCUmuap1E2OGoxGex3ekszf
|
||||
ErCgwVYb46cv91ba2KqXVWl1FoO3c5MyZcxL46ihQgiY0BI975+HDFjpUZ69n+Um
|
||||
OhSscRUiKeEQKMVtHzyQUp5t+HCeaZBRPy3rFoIjTEqijKZ6tQ==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDejCCAmKgAwIBAgIJALYWFXFy+zF/MA0GCSqGSIb3DQEBCwUAMEwxJjAkBgNV
|
||||
BAMMHUNlbnRPUyBTZWN1cmUgQm9vdCAoQ0Ega2V5IDEpMSIwIAYJKoZIhvcNAQkB
|
||||
FhNzZWN1cml0eUBjZW50b3Mub3JnMB4XDTE5MDYwMzE0MjAwMloXDTM4MDEwMTE0
|
||||
MjAwMlowTjEoMCYGA1UEAwwfQ2VudE9TIExpbnV4IGtwYXRjaCBzaWduaW5nIGtl
|
||||
eTEiMCAGCSqGSIb3DQEJARYTc2VjdXJpdHlAY2VudG9zLm9yZzCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBAMG+5OclqB0NE5azrGkSitqUFcZjpRk/rS2P
|
||||
CetB6jwxOn06TrLGzqnhcE9VBKyEs7CXBLy6lfnORcYOybcR2XvrgqGa1txOZggl
|
||||
hc8zCj9X7ZCMK2UsWglxQCOtbo0m/vdor/VO3SFbrf/W9+PXhvNtcxMP9yjydbP+
|
||||
lS1St8uQv952hu7C1TevyOQN3jpvWRD7DSJIU/2uRFcdIo2QCGokuB/xESXeuGJ2
|
||||
F2P9w0h74V18AlVTxtGp/RSJqZaQ2Gi5h4Oa7UsRmhmCoLdmdBe7xnYJrJ4GhxKQ
|
||||
yG0kU1ikEhZW3YjoVPgBJzTsIhCAzFrOUq0d67a1wTVMiyL60fUCAwEAAaNdMFsw
|
||||
DAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4AwHQYDVR0OBBYEFLSfCGIFkJ3E2iz6
|
||||
mTdvsZHS8J54MB8GA1UdIwQYMBaAFFTsgYWJPuka2wj3RIhUfo4/dDrzMA0GCSqG
|
||||
SIb3DQEBCwUAA4IBAQBcDnjWh8Mx6yaS/OvBOYZprYy5Su0tn+YHiN0czpjVw+zl
|
||||
NUt2YmRSA/g6xks04CYx+UAL/xnvRcxXd17Ni7eWiROxvgQvBo5nScVkFPq2IIP5
|
||||
8aj7LoHR1MUeXfiNqf1JoSlgpRV47wv/+jZD0hmbt1rC2NJp0ZU8OHmt2GWk0jmM
|
||||
MK72D/pyCUfHetBzPpU9M0cNiukjMUdIL+U7+CXDgKsfdFHcQ76ebWyka7vRSXTs
|
||||
lBMa2g20Atwz2Hj7tEEAZ74ioQ9029RAlUSNipACe31YdT4/BBWIqHPpeDFkp8W0
|
||||
9v4jeTX/2kMBXkjzMfKjhpooa+bFFFLogLeX3P4W
|
||||
-----END CERTIFICATE-----
|
BIN
kernel-std/files/centossecureboot001.der
Normal file
BIN
kernel-std/files/centossecureboot001.der
Normal file
Binary file not shown.
BIN
kernel-std/files/centossecureboot201.der
Normal file
BIN
kernel-std/files/centossecureboot201.der
Normal file
Binary file not shown.
BIN
kernel-std/files/centossecurebootca2.der
Normal file
BIN
kernel-std/files/centossecurebootca2.der
Normal file
Binary file not shown.
149
kernel-std/files/check-kabi
Executable file
149
kernel-std/files/check-kabi
Executable file
@ -0,0 +1,149 @@
|
||||
#!/usr/bin/python3
|
||||
#
|
||||
# check-kabi - Red Hat kABI reference checking tool
|
||||
#
|
||||
# We use this script to check against reference Module.kabi files.
|
||||
#
|
||||
# Author: Jon Masters <jcm@redhat.com>
|
||||
# Copyright (C) 2007-2009 Red Hat, Inc.
|
||||
#
|
||||
# This software may be freely redistributed under the terms of the GNU
|
||||
# General Public License (GPL).
|
||||
|
||||
# Changelog:
|
||||
#
|
||||
# 2018/06/01 - Update for python3 by Petr Oros.
|
||||
# 2009/08/15 - Updated for use in RHEL6.
|
||||
# 2007/06/13 - Initial rewrite in python by Jon Masters.
|
||||
|
||||
__author__ = "Jon Masters <jcm@redhat.com>"
|
||||
__version__ = "2.0"
|
||||
__date__ = "2009/08/15"
|
||||
__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc"
|
||||
__license__ = "GPL"
|
||||
|
||||
import getopt
|
||||
import string
|
||||
import sys
|
||||
|
||||
true = 1
|
||||
false = 0
|
||||
|
||||
|
||||
def load_symvers(symvers, filename):
|
||||
"""Load a Module.symvers file."""
|
||||
|
||||
symvers_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = symvers_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
|
||||
symvers[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def load_kabi(kabi, filename):
|
||||
"""Load a Module.kabi file."""
|
||||
|
||||
kabi_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = kabi_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
|
||||
kabi[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def check_kabi(symvers, kabi):
|
||||
"""Check Module.kabi and Module.symvers files."""
|
||||
|
||||
fail = 0
|
||||
warn = 0
|
||||
changed_symbols = []
|
||||
moved_symbols = []
|
||||
|
||||
for symbol in kabi:
|
||||
abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
|
||||
if symbol in symvers:
|
||||
sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
|
||||
if abi_hash != sym_hash:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if abi_dir != sym_dir:
|
||||
warn = 1
|
||||
moved_symbols.append(symbol)
|
||||
else:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if fail:
|
||||
print("*** ERROR - ABI BREAKAGE WAS DETECTED ***")
|
||||
print("")
|
||||
print("The following symbols have been changed (this will cause an ABI breakage):")
|
||||
print("")
|
||||
for symbol in changed_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
if warn:
|
||||
print("*** WARNING - ABI SYMBOLS MOVED ***")
|
||||
print("")
|
||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
||||
print("provided by the kernel vmlinux out to a loadable module):")
|
||||
print("")
|
||||
for symbol in moved_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
||||
double-checkig is required to avoid introducing / concealing
|
||||
KABI inconsistencies."""
|
||||
if fail or warn:
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def usage():
|
||||
print("""
|
||||
check-kabi: check Module.kabi and Module.symvers files.
|
||||
|
||||
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
|
||||
|
||||
""")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
symvers_file = ""
|
||||
kabi_file = ""
|
||||
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'hk:s:')
|
||||
|
||||
for o, v in opts:
|
||||
if o == "-s":
|
||||
symvers_file = v
|
||||
if o == "-h":
|
||||
usage()
|
||||
sys.exit(0)
|
||||
if o == "-k":
|
||||
kabi_file = v
|
||||
|
||||
if (symvers_file == "") or (kabi_file == ""):
|
||||
usage()
|
||||
sys.exit(1)
|
||||
|
||||
symvers = {}
|
||||
kabi = {}
|
||||
|
||||
load_symvers(symvers, symvers_file)
|
||||
load_kabi(kabi, kabi_file)
|
||||
check_kabi(symvers, kabi)
|
3
kernel-std/files/cpupower.config
Normal file
3
kernel-std/files/cpupower.config
Normal file
@ -0,0 +1,3 @@
|
||||
# See 'cpupower help' and cpupower(1) for more info
|
||||
CPUPOWER_START_OPTS="frequency-set -g performance"
|
||||
CPUPOWER_STOP_OPTS="frequency-set -g ondemand"
|
13
kernel-std/files/cpupower.service
Normal file
13
kernel-std/files/cpupower.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Configure CPU power related settings
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=/etc/sysconfig/cpupower
|
||||
ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS
|
||||
ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
154
kernel-std/files/filter-modules.sh
Executable file
154
kernel-std/files/filter-modules.sh
Executable file
@ -0,0 +1,154 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Called as filter-modules.sh list-of-modules Arch
|
||||
|
||||
# This script filters the modules into the kernel-core and kernel-modules
|
||||
# subpackages. We list out subsystems/subdirs to prune from the installed
|
||||
# module directory. What is left is put into the kernel-core package. What is
|
||||
# pruned is contained in the kernel-modules package.
|
||||
#
|
||||
# This file contains the default subsys/subdirs to prune from all architectures.
|
||||
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
|
||||
# that contains the set of override lists to be used instead. If a module or
|
||||
# subsys should be in kernel-modules on all arches, please change the defaults
|
||||
# listed here.
|
||||
|
||||
# Overrides is individual modules which need to remain in kernel-core due to deps.
|
||||
overrides="cec"
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
|
||||
|
||||
chardrvs="mwave pcmcia"
|
||||
|
||||
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
|
||||
|
||||
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
|
||||
|
||||
inputdrvs="gameport tablet touchscreen"
|
||||
|
||||
scsidrvs="aacraid advansys aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf wd719x"
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
|
||||
|
||||
iiodrvs="accel adc afe common dac gyro health humidity light magnetometer multiplexer orientation potentiometer potentiostat pressure temperature"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
|
||||
filter_dir() {
|
||||
filelist=$1
|
||||
dir=$2
|
||||
|
||||
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Couldn't remove ${dir}. Skipping."
|
||||
else
|
||||
grep -e "${dir}/" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
filter_ko() {
|
||||
filelist=$1
|
||||
mod=$2
|
||||
|
||||
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Couldn't remove ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "${mod}.ko" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Filter the drivers/ subsystems
|
||||
for subsys in ${driverdirs}; do
|
||||
filter_dir $1 drivers/${subsys}
|
||||
done
|
||||
|
||||
# Filter the networking drivers
|
||||
for netdrv in ${netdrvs}; do
|
||||
filter_dir $1 drivers/net/${netdrv}
|
||||
done
|
||||
|
||||
# Filter the char drivers
|
||||
for char in ${chardrvs}; do
|
||||
filter_dir $1 drivers/char/${input}
|
||||
done
|
||||
|
||||
# Filter the ethernet drivers
|
||||
for eth in ${ethdrvs}; do
|
||||
filter_dir $1 drivers/net/ethernet/${eth}
|
||||
done
|
||||
|
||||
# SCSI
|
||||
for scsi in ${scsidrvs}; do
|
||||
filter_dir $1 drivers/scsi/${scsi}
|
||||
done
|
||||
|
||||
# Input
|
||||
for input in ${inputdrvs}; do
|
||||
filter_dir $1 drivers/input/${input}
|
||||
done
|
||||
|
||||
# USB
|
||||
for usb in ${usbdrvs}; do
|
||||
filter_dir $1 drivers/usb/${usb}
|
||||
done
|
||||
|
||||
# Filesystems
|
||||
for fs in ${fsdrvs}; do
|
||||
filter_dir $1 fs/${fs}
|
||||
done
|
||||
|
||||
# Network protocols
|
||||
for prot in ${netprots}; do
|
||||
filter_dir $1 kernel/net/${prot}
|
||||
done
|
||||
|
||||
# DRM
|
||||
for drm in ${drmdrvs}; do
|
||||
filter_dir $1 drivers/gpu/drm/${drm}
|
||||
done
|
||||
|
||||
# Just kill sound.
|
||||
filter_dir $1 kernel/sound
|
||||
|
||||
# Now go through and filter any single .ko files that might have deps on the
|
||||
# things we filtered above
|
||||
for mod in ${singlemods}; do
|
||||
filter_ko $1 ${mod}
|
||||
done
|
||||
|
||||
# Now process the override list to bring those modules back into core
|
||||
for mod in ${overrides}; do
|
||||
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Couldn't save ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "/${mod}.ko" k-d.list >> $filelist
|
||||
mv k-d.list.tmp k-d.list
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Go through our generated drivers list and remove the .ko files. We'll
|
||||
# restore them later.
|
||||
for mod in `cat k-d.list`; do
|
||||
rm -rf $mod
|
||||
done
|
12
kernel-std/files/filter-x86_64.sh
Normal file
12
kernel-std/files/filter-x86_64.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#! /bin/bash
|
||||
|
||||
# This is the x86_64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
20
kernel-std/files/generate_all_configs.sh
Executable file
20
kernel-std/files/generate_all_configs.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Adjusts the configuration options to build the variants correctly
|
||||
#
|
||||
# arg1: are we only generating debug configs
|
||||
|
||||
|
||||
DEBUGBUILDSENABLED=$1
|
||||
|
||||
if [ -z $1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $DEBUGBUILDSENABLED -eq 0 ]; then
|
||||
for i in kernel-*debug*.config; do
|
||||
base=`echo $i | sed -r s/-?debug//g`
|
||||
NEW=kernel-`echo $base | cut -d - -f2-`
|
||||
mv $i $NEW
|
||||
done
|
||||
fi
|
30
kernel-std/files/generate_bls_conf.sh
Executable file
30
kernel-std/files/generate_bls_conf.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
. /etc/os-release
|
||||
|
||||
kernelver=$1 && shift
|
||||
rootfs=$1 && shift
|
||||
variant=$1 && shift
|
||||
|
||||
output="${rootfs}/lib/modules/${kernelver}/bls.conf"
|
||||
date=$(date -u +%Y%m%d%H%M%S)
|
||||
|
||||
if [ "${variant:-5}" = "debug" ]; then
|
||||
debugname=" with debugging"
|
||||
debugid="-debug"
|
||||
else
|
||||
debugname=""
|
||||
debugid=""
|
||||
fi
|
||||
|
||||
cat >${output} <<EOF
|
||||
title ${NAME} (${kernelver}) ${VERSION}${debugname}
|
||||
version ${kernelver}${debugid}
|
||||
linux ${bootprefix}/vmlinuz-${kernelver}
|
||||
initrd ${bootprefix}/initramfs-${kernelver}.img
|
||||
options \$kernelopts
|
||||
grub_users \$grub_users
|
||||
grub_arg --unrestricted
|
||||
grub_class kernel${variant}
|
||||
EOF
|
Binary file not shown.
7522
kernel-std/files/kernel-5.10.30-x86_64-debug.config
Normal file
7522
kernel-std/files/kernel-5.10.30-x86_64-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
7493
kernel-std/files/kernel-5.10.30-x86_64.config
Normal file
7493
kernel-std/files/kernel-5.10.30-x86_64.config
Normal file
File diff suppressed because it is too large
Load Diff
@ -46,7 +46,6 @@ 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
|
||||
@ -67,13 +66,9 @@ 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
|
||||
# CONFIG_ICE is not set
|
||||
# CONFIG_I40EVF is not set
|
||||
|
||||
# TPM built-in driver
|
||||
CONFIG_TCG_TPM=m
|
||||
@ -135,7 +130,6 @@ CONFIG_DP83640_PHY=y
|
||||
# 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
|
||||
@ -146,10 +140,10 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_INPUT_FF_MEMLESS=y
|
||||
# CONFIG_GAMEPORT is not set
|
||||
# CONFIG_THUNDERBOLT is not set
|
||||
# CONFIG_APPLE_PROPERTIES is not set
|
||||
CONFIG_APPLE_PROPERTIES=y
|
||||
# CONFIG_SSB is not set
|
||||
# CONFIG_BCMA is not set
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
@ -208,7 +202,7 @@ CONFIG_DP83640_PHY=y
|
||||
# CONFIG_SENSORS_APDS990X is not set
|
||||
# CONFIG_PCH_PHUB is not set
|
||||
# CONFIG_EEPROM_MAX6875 is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
CONFIG_EEPROM_93CX6=m
|
||||
# CONFIG_CB710_CORE is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
# CONFIG_ALTERA_STAPL is not set
|
||||
@ -315,7 +309,7 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_REALTEK_PHY=y
|
||||
# CONFIG_NATIONAL_PHY is not set
|
||||
# CONFIG_STE10XP is not set
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
@ -615,7 +609,7 @@ CONFIG_DP83640_PHY=y
|
||||
# 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_ACM=m
|
||||
# CONFIG_USB_PRINTER is not set
|
||||
# CONFIG_USB_WDM is not set
|
||||
# CONFIG_USB_TMC is not set
|
||||
@ -713,7 +707,6 @@ CONFIG_DP83640_PHY=y
|
||||
# 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
|
||||
@ -840,3 +833,786 @@ CONFIG_EEPROM_AT24=m
|
||||
# qdisc for tsn
|
||||
CONFIG_NET_SCH_ETF=m
|
||||
CONFIG_NET_SCH_TAPRIO=m
|
||||
|
||||
# CONFIG_ALTERA_HWMUTEX is not set
|
||||
# CONFIG_ALTERA_SYSID is not set
|
||||
# CONFIG_ALTERA_ILC is not set
|
||||
# CONFIG_NEWHAVEN_LCD is not set
|
||||
# CONFIG_FB_ALTERA_VIP_FB2 is not set
|
||||
# CONFIG_FPGA_MGR_DEBUG_FS is not set
|
||||
# CONFIG_ATH5K_PCI is not set
|
||||
# CONFIG_CEC_GPIO is not set
|
||||
|
||||
# CONFIG_AD9467 is not set
|
||||
|
||||
CONFIG_BLK_DEV_DRBD=m
|
||||
CONFIG_DRBD_FAULT_INJECTION=y
|
||||
|
||||
# Infiniband and Mellanox out-of-tree module compatibility fixes
|
||||
# Avoid module insertion errors due to unknown symbols and symbol
|
||||
# version mismatches.
|
||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
# CONFIG_MLX4_INFINIBAND is not set
|
||||
# CONFIG_MLX5_CORE is not set
|
||||
CONFIG_INFINIBAND=m
|
||||
# CONFIG_INFINIBAND_ADDR_TRANS is not set
|
||||
# CONFIG_INFINIBAND_BNXT_RE is not set
|
||||
# CONFIG_INFINIBAND_CXGB4 is not set
|
||||
# CONFIG_INFINIBAND_HFI1 is not set
|
||||
# CONFIG_INFINIBAND_HNS is not set
|
||||
# CONFIG_INFINIBAND_I40IW is not set
|
||||
# CONFIG_INFINIBAND_IPOIB is not set
|
||||
# CONFIG_INFINIBAND_ISER is not set
|
||||
# CONFIG_INFINIBAND_ISERT is not set
|
||||
# CONFIG_INFINIBAND_ON_DEMAND_PAGING is not set
|
||||
# CONFIG_INFINIBAND_OPA_VNIC is not set
|
||||
# CONFIG_INFINIBAND_QEDR is not set
|
||||
# CONFIG_INFINIBAND_RDMAVT is not set
|
||||
# CONFIG_INFINIBAND_SRP is not set
|
||||
# CONFIG_INFINIBAND_SRPT is not set
|
||||
# CONFIG_INFINIBAND_USER_ACCESS is not set
|
||||
# CONFIG_INFINIBAND_USER_MAD is not set
|
||||
# CONFIG_INFINIBAND_USER_MEM is not set
|
||||
# CONFIG_INFINIBAND_USNIC is not set
|
||||
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
|
||||
|
||||
# CONFIG_ABP060MG is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_ACER_WIRELESS is not set
|
||||
# CONFIG_ACPI_ALS is not set
|
||||
# CONFIG_ACPI_CMPC is not set
|
||||
# CONFIG_ACPI_WMI is not set
|
||||
# CONFIG_AD5272 is not set
|
||||
# CONFIG_AD7766 is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_AK8975 is not set
|
||||
# CONFIG_ALTERA_MSGDMA is not set
|
||||
# CONFIG_AMILO_RFKILL is not set
|
||||
# CONFIG_APPLE_GMUX is not set
|
||||
# CONFIG_ASUS_WIRELESS is not set
|
||||
# CONFIG_AT803X_PHY is not set
|
||||
CONFIG_ATM_BR2684=m
|
||||
CONFIG_ATM_CLIP=m
|
||||
CONFIG_ATM_LANE=m
|
||||
CONFIG_ATM=y
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
# CONFIG_BACKLIGHT_ARCXCNN is not set
|
||||
# CONFIG_BACKLIGHT_PWM is not set
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BH1750 is not set
|
||||
# CONFIG_BIG_KEYS is not set
|
||||
# CONFIG_BLK_CGROUP_IOLATENCY is not set
|
||||
# CONFIG_BLK_SED_OPAL is not set
|
||||
# CONFIG_BMC150_ACCEL is not set
|
||||
# CONFIG_BMC150_MAGN_I2C is not set
|
||||
# CONFIG_BMC150_MAGN is not set
|
||||
# CONFIG_BMG160_I2C is not set
|
||||
# CONFIG_BMG160 is not set
|
||||
# CONFIG_BMG160_SPI is not set
|
||||
# CONFIG_BMP280 is not set
|
||||
# CONFIG_BTRFS_FS_POSIX_ACL is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_CAN_PEAK_PCIEFD is not set
|
||||
# CONFIG_CEPH_FSCACHE is not set
|
||||
CONFIG_CGROUP_RDMA=y
|
||||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_CIFS_FSCACHE is not set
|
||||
# CONFIG_CM32181 is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_COMMON_CLK_SI544 is not set
|
||||
# CONFIG_COMPAL_LAPTOP is not set
|
||||
# CONFIG_CRC4 is not set
|
||||
# CONFIG_CRYPTO_842 is not set
|
||||
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
|
||||
# CONFIG_CRYPTO_AEGIS128 is not set
|
||||
# CONFIG_CRYPTO_AES_TI is not set
|
||||
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
|
||||
# CONFIG_CRYPTO_DEV_VIRTIO is not set
|
||||
# CONFIG_CRYPTO_KEYWRAP is not set
|
||||
# CONFIG_CRYPTO_LZ4HC is not set
|
||||
# CONFIG_CRYPTO_LZ4 is not set
|
||||
CONFIG_CRYPTO_SHA1_SSSE3=y
|
||||
CONFIG_CRYPTO_SHA256_SSSE3=y
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_ZSTD is not set
|
||||
# CONFIG_DA280 is not set
|
||||
# CONFIG_DA311 is not set
|
||||
# CONFIG_DCDBAS is not set
|
||||
CONFIG_DEBUG_INFO_DWARF4=y
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
# CONFIG_DHT11 is not set
|
||||
# CONFIG_DMARD10 is not set
|
||||
CONFIG_DM_MULTIPATH=m
|
||||
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
|
||||
# CONFIG_DRM_CIRRUS_QEMU is not set
|
||||
# CONFIG_DRM_VGEM is not set
|
||||
CONFIG_DRM_VKMS=m
|
||||
CONFIG_E1000E_HWTS=y
|
||||
CONFIG_E1000E=m
|
||||
# CONFIG_ECRYPT_FS is not set
|
||||
# CONFIG_EDD is not set
|
||||
# CONFIG_EEEPC_LAPTOP is not set
|
||||
CONFIG_EFI_VARS=y
|
||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
CONFIG_EFI_VARS_PSTORE=y
|
||||
CONFIG_EXT4_FS=m
|
||||
# CONFIG_EXTCON is not set
|
||||
# CONFIG_F2FS_FS_COMPRESSION is not set
|
||||
# CONFIG_F2FS_FS_LZ4 is not set
|
||||
# CONFIG_F2FS_FS_LZORLE is not set
|
||||
# CONFIG_F2FS_FS_LZO is not set
|
||||
# CONFIG_F2FS_FS is not set
|
||||
# CONFIG_F2FS_FS_POSIX_ACL is not set
|
||||
# CONFIG_F2FS_FS_SECURITY is not set
|
||||
# CONFIG_F2FS_FS_XATTR is not set
|
||||
# CONFIG_F2FS_FS_ZSTD is not set
|
||||
# CONFIG_F2FS_STAT_FS is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
# CONFIG_FPGA_BRIDGE is not set
|
||||
# CONFIG_FPGA_DFL_AFU is not set
|
||||
# CONFIG_FPGA_DFL_FME_BRIDGE is not set
|
||||
# CONFIG_FPGA_DFL_FME is not set
|
||||
# CONFIG_FPGA_DFL_FME_MGR is not set
|
||||
# CONFIG_FPGA_DFL_FME_REGION is not set
|
||||
# CONFIG_FPGA_DFL is not set
|
||||
# CONFIG_FPGA_DFL_PCI is not set
|
||||
# CONFIG_FPGA is not set
|
||||
# CONFIG_FPGA_MGR_ALTERA_CVP is not set
|
||||
# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set
|
||||
# CONFIG_FPGA_MGR_ICE40_SPI is not set
|
||||
# CONFIG_FPGA_MGR_MACHXO2_SPI is not set
|
||||
# CONFIG_FPGA_MGR_XILINX_SPI is not set
|
||||
# CONFIG_FPGA_MGR_ZYNQ_FPGA is not set
|
||||
# CONFIG_FPGA_REGION is not set
|
||||
# CONFIG_FSCACHE_OBJECT_LIST is not set
|
||||
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
|
||||
# CONFIG_FS_ENCRYPTION is not set
|
||||
CONFIG_FS_MBCACHE=m
|
||||
# CONFIG_FUNCTION_PROFILER is not set
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
# CONFIG_GPD_POCKET_FAN is not set
|
||||
# CONFIG_HAMACHI is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_HID_ACCUTOUCH is not set
|
||||
# CONFIG_HID_EMS_FF is not set
|
||||
# CONFIG_HID_MAYFLASH is not set
|
||||
# CONFIG_HID_RETRODE is not set
|
||||
CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
|
||||
CONFIG_HID_SENSOR_HUB=y
|
||||
CONFIG_HID_SENSOR_PRESS=m
|
||||
CONFIG_HID_SENSOR_PROX=m
|
||||
# CONFIG_HID_STEAM is not set
|
||||
# CONFIG_HID_UDRAW_PS3 is not set
|
||||
# CONFIG_HPET_MMAP_DEFAULT is not set
|
||||
# CONFIG_HTS221 is not set
|
||||
# CONFIG_I40E is not set
|
||||
# CONFIG_IEEE802154_MRF24J40 is not set
|
||||
# CONFIG_IIO_BUFFER_CB is not set
|
||||
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
||||
# CONFIG_IIO_CONFIGFS is not set
|
||||
# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set
|
||||
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
|
||||
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
|
||||
# CONFIG_IIO_ST_GYRO_3AXIS is not set
|
||||
# CONFIG_IIO_ST_LSM6DSX is not set
|
||||
# CONFIG_IIO_ST_MAGN_3AXIS is not set
|
||||
# CONFIG_IIO_SW_DEVICE is not set
|
||||
# CONFIG_IIO_SW_TRIGGER is not set
|
||||
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
|
||||
# CONFIG_INPUT_PWM_BEEPER is not set
|
||||
# CONFIG_INTEL_HID_EVENT is not set
|
||||
# CONFIG_INTEL_INT0002_VGPIO is not set
|
||||
# CONFIG_INTEL_IOMMU_SVM is not set
|
||||
# CONFIG_INTEL_OAKTRAIL is not set
|
||||
# CONFIG_INTEL_PMC_IPC is not set
|
||||
# CONFIG_INTEL_PUNIT_IPC is not set
|
||||
# CONFIG_INTEL_SMARTCONNECT is not set
|
||||
# CONFIG_INTEL_TH_ACPI is not set
|
||||
# CONFIG_INTEL_TH_GTH is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
# CONFIG_INTEL_TH_MSU is not set
|
||||
# CONFIG_INTEL_TH_PCI is not set
|
||||
# CONFIG_INTEL_TH_PTI is not set
|
||||
# CONFIG_INTEL_TH_STH is not set
|
||||
# CONFIG_INV_MPU6050_I2C is not set
|
||||
CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y
|
||||
CONFIG_IXGBE_DCA=y
|
||||
CONFIG_IXGBE_DCB=y
|
||||
CONFIG_IXGBE_HWMON=y
|
||||
CONFIG_IXGBE_IPSEC=y
|
||||
CONFIG_IXGBE=m
|
||||
CONFIG_IXGBEVF_IPSEC=y
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_JBD2=m
|
||||
# CONFIG_JFFS2_FS_DEBUG is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_JFFS2_FS_POSIX_ACL is not set
|
||||
# CONFIG_JFFS2_FS_SECURITY is not set
|
||||
# CONFIG_JFFS2_FS_WRITEBUFFER is not set
|
||||
# CONFIG_JFFS2_FS_XATTR is not set
|
||||
# CONFIG_JFFS2_RTIME is not set
|
||||
# CONFIG_JFFS2_SUMMARY is not set
|
||||
# CONFIG_JFFS2_ZLIB is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_JFS_POSIX_ACL is not set
|
||||
# CONFIG_JFS_SECURITY is not set
|
||||
# CONFIG_KEY_DH_OPERATIONS is not set
|
||||
# CONFIG_KGDB is not set
|
||||
# CONFIG_KXCJK1013 is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
# CONFIG_LEDS_APU is not set
|
||||
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
|
||||
# CONFIG_LEDS_CLASS_FLASH is not set
|
||||
# CONFIG_LEDS_GPIO is not set
|
||||
# CONFIG_LEDS_LP3952 is not set
|
||||
# CONFIG_LEDS_MLXREG is not set
|
||||
# CONFIG_LEDS_NIC78BX is not set
|
||||
# CONFIG_LEDS_PCA9532_GPIO is not set
|
||||
# CONFIG_LEDS_PCA9532 is not set
|
||||
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
|
||||
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
||||
# CONFIG_LEDS_TRIGGER_MTD is not set
|
||||
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
||||
# CONFIG_LEDS_TRIGGER_PANIC is not set
|
||||
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
||||
# CONFIG_LEDS_USER is not set
|
||||
# CONFIG_LMP91000 is not set
|
||||
# CONFIG_LOGIG940_FF is not set
|
||||
# CONFIG_LOGIRUMBLEPAD2_FF is not set
|
||||
# CONFIG_LOGITECH_FF is not set
|
||||
# CONFIG_LOGIWHEELS_FF is not set
|
||||
# CONFIG_LTR501 is not set
|
||||
# CONFIG_LV0104CS is not set
|
||||
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
|
||||
# CONFIG_MAX1363 is not set
|
||||
# CONFIG_MAX30100 is not set
|
||||
# CONFIG_MAXIM_THERMOCOUPLE is not set
|
||||
# CONFIG_MCP4018 is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_MLX90614 is not set
|
||||
# CONFIG_MLX90632 is not set
|
||||
# CONFIG_MMA7660 is not set
|
||||
# CONFIG_MMC_SDHCI_XENON is not set
|
||||
# CONFIG_MMC_TOSHIBA_PCI is not set
|
||||
# CONFIG_MMC_WBSD is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
CONFIG_MODULE_FORCE_LOAD=y
|
||||
CONFIG_MODULE_SIG_SHA256=y
|
||||
# CONFIG_MODULE_SIG_SHA512 is not set
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MPL115_I2C is not set
|
||||
# CONFIG_MPU3050_I2C is not set
|
||||
# CONFIG_MSI_LAPTOP is not set
|
||||
# CONFIG_MXC4005 is not set
|
||||
# CONFIG_MXC6255 is not set
|
||||
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
|
||||
# CONFIG_NET_NCSI is not set
|
||||
CONFIG_DEFAULT_FQ_CODEL=y
|
||||
# CONFIG_DEFAULT_PFIFO_FAST is not set
|
||||
CONFIG_CAVIUM_PTP=y
|
||||
CONFIG_LIQUIDIO=m
|
||||
# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
CONFIG_NF_CONNTRACK_TIMEOUT=y
|
||||
CONFIG_NF_CT_NETLINK_TIMEOUT=m
|
||||
CONFIG_NF_CT_NETLINK_HELPER=m
|
||||
# CONFIG_NFSD_BLOCKLAYOUT is not set
|
||||
# CONFIG_NFSD_FLEXFILELAYOUT is not set
|
||||
# CONFIG_NFS_SWAP is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
# CONFIG_NOP_USB_XCEIV is not set
|
||||
# CONFIG_NTB_AMD is not set
|
||||
# CONFIG_NTB_IDT is not set
|
||||
# CONFIG_NTB_INTEL is not set
|
||||
# CONFIG_NTB_PERF is not set
|
||||
# CONFIG_NTB_PINGPONG is not set
|
||||
# CONFIG_NTB_TOOL is not set
|
||||
# CONFIG_NTB_TRANSPORT is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS_O2CB is not set
|
||||
# CONFIG_OCFS2_FS_USERSPACE_CLUSTER is not set
|
||||
# CONFIG_OPT3001 is not set
|
||||
# CONFIG_ORANGEFS_FS is not set
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
|
||||
# CONFIG_PA12203001 is not set
|
||||
# CONFIG_PANASONIC_LAPTOP is not set
|
||||
# CONFIG_PHY_INTEL_LGM_COMBO is not set
|
||||
# CONFIG_PHY_INTEL_LGM_EMMC is not set
|
||||
# CONFIG_PM_DEVFREQ is not set
|
||||
CONFIG_PRINT_QUOTA_WARNING=y
|
||||
CONFIG_PSI_DEFAULT_DISABLED=y
|
||||
# CONFIG_PSTORE_842_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZO_COMPRESS is not set
|
||||
# CONFIG_PVPANIC is not set
|
||||
# CONFIG_QLGE is not set
|
||||
# CONFIG_QRTR_MHI is not set
|
||||
# CONFIG_QRTR_TUN is not set
|
||||
CONFIG_RAID6_PQ_BENCHMARK=y
|
||||
# CONFIG_RANDOM_TRUST_CPU is not set
|
||||
# CONFIG_RAS_CEC is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_REISERFS_FS_POSIX_ACL is not set
|
||||
# CONFIG_REISERFS_FS_SECURITY is not set
|
||||
# CONFIG_REISERFS_FS_XATTR is not set
|
||||
# CONFIG_REISERFS_PROC_INFO os mpt set
|
||||
# CONFIG_REMOTEPROC is not set
|
||||
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
# CONFIG_RPMSG_VIRTIO is not set
|
||||
# CONFIG_RPR0521 is not set
|
||||
# CONFIG_RTC_DRV_ABX80X is not set
|
||||
# CONFIG_RTC_DRV_DS1305 is not set
|
||||
# CONFIG_RTC_DRV_DS1343 is not set
|
||||
# CONFIG_RTC_DRV_DS1347 is not set
|
||||
# CONFIG_RTC_DRV_DS1374_WDT is not set
|
||||
# CONFIG_RTC_DRV_DS1390 is not set
|
||||
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
|
||||
CONFIG_RTC_DRV_DS3232_HWMON=y
|
||||
# CONFIG_RTC_DRV_M41T93 is not set
|
||||
# CONFIG_RTC_DRV_M41T94 is not set
|
||||
# CONFIG_RTC_DRV_MAX6902 is not set
|
||||
# CONFIG_RTC_DRV_MAX6916 is not set
|
||||
# CONFIG_RTC_DRV_MCP795 is not set
|
||||
# CONFIG_RTC_DRV_PCF2123 is not set
|
||||
# CONFIG_RTC_DRV_PCF2127 is not set
|
||||
# CONFIG_RTC_DRV_PCF85063 is not set
|
||||
# CONFIG_RTC_DRV_R9701 is not set
|
||||
# CONFIG_RTC_DRV_RS5C348 is not set
|
||||
# CONFIG_RTC_DRV_RV3029_HWMON is not set
|
||||
# CONFIG_RTC_DRV_RX8010 is not set
|
||||
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
|
||||
CONFIG_SECURITY_SELINUX_DISABLE=y
|
||||
# CONFIG_SENSORS_TPS40422 is not set
|
||||
# CONFIG_SENSORS_TPS53679 is not set
|
||||
# CONFIG_SLAB_FREELIST_HARDENED is not set
|
||||
# CONFIG_SONY_LAPTOP is not set
|
||||
# CONFIG_SOUNDWIRE is not set
|
||||
# CONFIG_SQUASHFS_LZ4 is not set
|
||||
# CONFIG_SQUASHFS_ZSTD is not set
|
||||
CONFIG_STACKPROTECTOR_STRONG=y
|
||||
# CONFIG_STK3310 is not set
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_STM_PROTO_BASIC is not set
|
||||
# CONFIG_STM_PROTO_SYS_T is not set
|
||||
# CONFIG_STM_SOURCE_CONSOLE is not set
|
||||
# CONFIG_STM_SOURCE_FTRACE is not set
|
||||
# CONFIG_STM_SOURCE_HEARTBEAT is not set
|
||||
# CONFIG_ST_UVIS25_I2C is not set
|
||||
# CONFIG_ST_UVIS25 is not set
|
||||
# CONFIG_ST_UVIS25_SPI is not set
|
||||
# CONFIG_SURFACE_PRO3_BUTTON is not set
|
||||
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
|
||||
# CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE is not set
|
||||
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_TI_ADC128S052 is not set
|
||||
# CONFIG_TI_ADS1015 is not set
|
||||
# CONFIG_TOPSTAR_LAPTOP is not set
|
||||
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
||||
# CONFIG_TOSHIBA_HAPS is not set
|
||||
# CONFIG_TRACE_EVAL_MAP_FILE is not set
|
||||
# CONFIG_TSL2772 is not set
|
||||
CONFIG_TYPEC_DP_ALTMODE=y
|
||||
CONFIG_TYPEC=y
|
||||
CONFIG_TYPEC_RT1711H=y
|
||||
CONFIG_TYPEC_TCPCI=y
|
||||
CONFIG_TYPEC_TCPM=y
|
||||
CONFIG_TYPEC_UCSI=y
|
||||
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
|
||||
# CONFIG_UBIFS_FS is not set
|
||||
# CONFIG_UBIFS_FS_SECURITY is not set
|
||||
# CONFIG_UBIFS_FS_XATTR is not set
|
||||
CONFIG_UCSI_ACPI=y
|
||||
# CONFIG_UDMABUF is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
CONFIG_UIO_PDRV_GENIRQ=m
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_USB_ACM is not set
|
||||
# CONFIG_USB_ATM is not set
|
||||
# CONFIG_USB_CHAOSKEY is not set
|
||||
# CONFIG_USB_HSIC_USB4604 is not set
|
||||
# CONFIG_USB_HUB_USB251XB is not set
|
||||
# CONFIG_USBIP_CORE is not set
|
||||
CONFIG_USB_ROLES_INTEL_XHCI=y
|
||||
CONFIG_USB_ROLE_SWITCH=y
|
||||
CONFIG_USB_SERIAL_MXUPORT=m
|
||||
# CONFIG_USB_SERIAL_SIMPLE is not set
|
||||
# CONFIG_USB_SL811_HCD_ISO is not set
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_TRANCEVIBRATOR is not set
|
||||
# CONFIG_USB_ULPI_BUS is not set
|
||||
# CONFIG_USB_XHCI_PLATFORM is not set
|
||||
# CONFIG_USB_YUREX is not set
|
||||
# CONFIG_UWB_HWA is not set
|
||||
# CONFIG_UWB_I1480U is not set
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_UWB_WHCI is not set
|
||||
CONFIG_VFIO_NOIOMMU=y
|
||||
# CONFIG_VFIO_PCI_IGD is not set
|
||||
# CONFIG_VFIO_PCI_VGA is not set
|
||||
# CONFIG_VHOST_SCSI is not set
|
||||
# CONFIG_VIRT_DRIVERS is not set
|
||||
# CONFIG_VL6180 is not set
|
||||
# CONFIG_XFS_ONLINE_SCRUB is not set
|
||||
# CONFIG_XILINX_VCU is not set
|
||||
# CONFIG_YELLOWFIN is not set
|
||||
# CONFIG_ZOPT2201 is not set
|
||||
|
||||
# CONFIG_6LOWPAN_NHC is not set
|
||||
CONFIG_AF_RXRPC_DEBUG=y
|
||||
# CONFIG_AF_KCM is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
# CONFIG_AF_RXRPC_DEBUG is not set
|
||||
# CONFIG_AFS_DEBUG_CURSOR is not set
|
||||
# CONFIG_AFS_DEBUG is not set
|
||||
# CONFIG_AFS_FSCACHE is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
# CONFIG_AGP is not set
|
||||
# CONFIG_ALTERA_TSE is not set
|
||||
# CONFIG_AMD8111_ETH is not set
|
||||
# CONFIG_AMD_XGBE_DCB is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
CONFIG_ATA_PIIX=m
|
||||
# CONFIG_ATM_BR2684 is not set
|
||||
# CONFIG_ATM_CLIP is not set
|
||||
# CONFIG_ATM_DRIVERS is not set
|
||||
# CONFIG_ATM_ENI is not set
|
||||
# CONFIG_ATM_FIRESTREAM is not set
|
||||
# CONFIG_ATM_HE is not set
|
||||
# CONFIG_ATM_LANE is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_ATM_NICSTAR is not set
|
||||
# CONFIG_ATM_SOLOS is not set
|
||||
# CONFIG_ATM_TCP is not set
|
||||
# CONFIG_BATMAN_ADV is not set
|
||||
# CONFIG_BATTERY_MAX17042 is not set
|
||||
# CONFIG_BCACHE is not set
|
||||
# CONFIG_BE2NET_BE2 is not set
|
||||
# CONFIG_BE2NET_BE3 is not set
|
||||
CONFIG_BE2NET_HWMON=y
|
||||
CONFIG_BLK_DEV_DM=m
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
CONFIG_BLK_DEV_SD=m
|
||||
# CONFIG_BLK_DEV_SKD is not set
|
||||
# CONFIG_BLK_DEV_SX8 is not set
|
||||
# CONFIG_BLK_DEV_UMEM is not set
|
||||
# CONFIG_CAN_GS_USB is not set
|
||||
# CONFIG_CAN_HI311X is not set
|
||||
# CONFIG_CAN_IFI_CANFD is not set
|
||||
# CONFIG_CAN_M_CAN is not set
|
||||
# CONFIG_CAN_VXCAN is not set
|
||||
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
|
||||
# CONFIG_CHARGER_LT3651 is not set
|
||||
# CONFIG_CHELSIO_T1_1G is not set
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
CONFIG_DM_MIRROR=m
|
||||
# CONFIG_DM_MULTIPATH is not set
|
||||
CONFIG_DM_SNAPSHOT=m
|
||||
# CONFIG_DM_UNSTRIPED is not set
|
||||
# CONFIG_DM_VERITY_FEC is not set
|
||||
CONFIG_DM_ZERO=m
|
||||
# CONFIG_DRM_AMDGPU_CIK is not set
|
||||
# CONFIG_DRM_AMDGPU_SI is not set
|
||||
# CONFIG_DRM_AMDGPU_USERPTR is not set
|
||||
# CONFIG_E1000E_HWTS is not set
|
||||
# CONFIG_E1000E is not set
|
||||
# CONFIG_E100 is not set
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_EEPROM_IDT_89HPESX is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_FEALNX is not set
|
||||
# CONFIG_FIREWIRE_NOSY is not set
|
||||
# CONFIG_FUSION_CTL is not set
|
||||
# CONFIG_FUSION_FC is not set
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
# CONFIG_GPIO_EXAR is not set
|
||||
# CONFIG_GPIO_IT87 is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCI_IDIO_16 is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_GTP is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
CONFIG_HPET_MMAP_DEFAULT=y
|
||||
CONFIG_HPET_MMAP=y
|
||||
CONFIG_I2C_DESIGNWARE_CORE=m
|
||||
# CONFIG_I2C_DESIGNWARE_PCI is not set
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=m
|
||||
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
|
||||
# CONFIG_I2C_MUX_LTC4306 is not set
|
||||
# CONFIG_I2C_SLAVE_EEPROM is not set
|
||||
# CONFIG_I2C_SLAVE is not set
|
||||
# CONFIG_IBM_ASM is not set
|
||||
# CONFIG_IEEE802154_ADF7242 is not set
|
||||
# CONFIG_IEEE802154_AT86RF230 is not set
|
||||
# CONFIG_IEEE802154_ATUSB is not set
|
||||
# CONFIG_IEEE802154_CA8210 is not set
|
||||
# CONFIG_IEEE802154_CC2520 is not set
|
||||
# CONFIG_IEEE802154_MCR20A is not set
|
||||
# CONFIG_INPUT_CMA3000_I2C is not set
|
||||
# CONFIG_INPUT_CMA3000 is not set
|
||||
# CONFIG_INPUT_E3X0_BUTTON is not set
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
# CONFIG_INPUT_KXTJ9 is not set
|
||||
# CONFIG_INPUT_MATRIXKMAP is not set
|
||||
# CONFIG_INT3406_THERMAL is not set
|
||||
# CONFIG_INTEL_MEI_TXE is not set
|
||||
# CONFIG_INTEL_SOC_DTS_THERMAL is not set
|
||||
# CONFIG_INTEL_SOC_PMIC_BXTWC is not set
|
||||
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
|
||||
# CONFIG_INTEL_SOC_PMIC_CHTWC is not set
|
||||
# CONFIG_INTEL_SOC_PMIC_MRFLD is not set
|
||||
# CONFIG_INTEL_SOC_PMIC is not set
|
||||
# CONFIG_IP6_NF_MATCH_SRH is not set
|
||||
# CONFIG_IP6_NF_TARGET_HL is not set
|
||||
CONFIG_IPMI_PANIC_EVENT=y
|
||||
CONFIG_IPMI_PANIC_STRING=y
|
||||
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
|
||||
# CONFIG_IP_VS_MH is not set
|
||||
# CONFIG_IXGBE_DCA is not set
|
||||
# CONFIG_IXGBE_DCB is not set
|
||||
# CONFIG_IXGBE_HWMON is not set
|
||||
# CONFIG_IXGBE_IPSEC is not set
|
||||
# CONFIG_IXGBE is not set
|
||||
# CONFIG_IXGBEVF_IPSEC is not set
|
||||
# CONFIG_IXGBEVF is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_KEYBOARD_GPIO is not set
|
||||
# CONFIG_KEYBOARD_GPIO_POLLED is not set
|
||||
# CONFIG_KEYBOARD_QT1070 is not set
|
||||
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
|
||||
# CONFIG_MEGARAID_LEGACY is not set
|
||||
# CONFIG_MEGARAID_NEWGEN is not set
|
||||
# CONFIG_MFD_AXP20X_I2C is not set
|
||||
# CONFIG_MFD_AXP20X is not set
|
||||
# CONFIG_MFD_BD9571MWV is not set
|
||||
# CONFIG_MFD_TPS68470 is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
CONFIG_MICREL_KS8995MA=m
|
||||
CONFIG_MICROCHIP_T1_PHY=m
|
||||
# CONFIG_MTD_BLOCK2MTD is not set
|
||||
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||
# CONFIG_MTD_RAW_NAND is not set
|
||||
# CONFIG_MWAVE is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
# CONFIG_NET_9P_VIRTIO is not set
|
||||
# CONFIG_NET_ACT_CONNMARK is not set
|
||||
# CONFIG_NET_ACT_IFE is not set
|
||||
# CONFIG_NET_ACT_IPT is not set
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_NET_EMATCH_CANID is not set
|
||||
# CONFIG_NET_EMATCH_IPT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_LED is not set
|
||||
# CONFIG_NET_IFE is not set
|
||||
# CONFIG_NET_IFE_SKBMARK is not set
|
||||
# CONFIG_NET_IFE_SKBPRIO is not set
|
||||
# CONFIG_NET_IFE_SKBTCINDEX is not set
|
||||
CONFIG_NET_MPLS_GSO=y
|
||||
CONFIG_NET_NSH=y
|
||||
# CONFIG_NET_SCH_CAKE is not set
|
||||
# CONFIG_NET_SCH_CBS is not set
|
||||
CONFIG_NET_SCH_DEFAULT=y
|
||||
# CONFIG_DEFAULT_CODEL is not set
|
||||
# CONFIG_DEFAULT_FQ_CODEL is not set
|
||||
# CONFIG_DEFAULT_SFQ is not set
|
||||
CONFIG_DEFAULT_PFIFO_FAST=y
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||
# CONFIG_NET_VENDOR_AGERE is not set
|
||||
# CONFIG_NET_VENDOR_ALTEON is not set
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
CONFIG_NET_VENDOR_CAVIUM=y
|
||||
# CONFIG_THUNDER_NIC_PF is not set
|
||||
# CONFIG_THUNDER_NIC_VF is not set
|
||||
# CONFIG_THUNDER_NIC_BGX is not set
|
||||
# CONFIG_THUNDER_NIC_RGX is not set
|
||||
# CONFIG_CAVIUM_PTP is not set
|
||||
# CONFIG_LIQUIDIO is not set
|
||||
# CONFIG_RESET_CONTROLLER is not set
|
||||
# CONFIG_NET_VENDOR_GOOGLE is not set
|
||||
CONFIG_NET_VENDOR_HUAWEI=y
|
||||
CONFIG_HINIC=m
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_RDC is not set
|
||||
# CONFIG_NET_VENDOR_SILAN is not set
|
||||
# CONFIG_NET_VENDOR_SIS is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
# CONFIG_NET_VENDOR_SUN is not set
|
||||
# CONFIG_NET_VENDOR_TEHUTI is not set
|
||||
# CONFIG_NET_VENDOR_TI is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
# CONFIG_NFC_DIGITAL is not set
|
||||
# CONFIG_NFC_HCI is not set
|
||||
# CONFIG_NFC is not set
|
||||
# CONFIG_NFC_MEI_PHY is not set
|
||||
# CONFIG_NFC_MICROREAD_I2C is not set
|
||||
# CONFIG_NFC_MICROREAD is not set
|
||||
# CONFIG_NFC_MICROREAD_MEI is not set
|
||||
# CONFIG_NFC_MRVL is not set
|
||||
# CONFIG_NFC_MRVL_USB is not set
|
||||
# CONFIG_NFC_NCI is not set
|
||||
# CONFIG_NFC_NCI_SPI is not set
|
||||
# CONFIG_NFC_NXP_NCI_I2C is not set
|
||||
# CONFIG_NFC_NXP_NCI is not set
|
||||
# CONFIG_NFC_PN533_I2C is not set
|
||||
# CONFIG_NFC_PN533 is not set
|
||||
# CONFIG_NFC_PN533_USB is not set
|
||||
# CONFIG_NFC_PN544_I2C is not set
|
||||
# CONFIG_NFC_PN544 is not set
|
||||
# CONFIG_NFC_PN544_MEI is not set
|
||||
# CONFIG_NFC_PORT100 is not set
|
||||
# CONFIG_NFC_SHDLC is not set
|
||||
# CONFIG_NFC_SIM is not set
|
||||
# CONFIG_NFC_ST21NFCA_I2C is not set
|
||||
# CONFIG_NFC_ST21NFCA is not set
|
||||
CONFIG_NFP_APP_ABM_NIC=y
|
||||
# CONFIG_NIC7018_WDT is not set
|
||||
# CONFIG_PATA_ACPI is not set
|
||||
# CONFIG_PATA_CMD640_PCI is not set
|
||||
# CONFIG_PATA_EFAR is not set
|
||||
# CONFIG_PATA_MPIIX is not set
|
||||
# CONFIG_PATA_NS87410 is not set
|
||||
# CONFIG_PATA_NS87415 is not set
|
||||
# CONFIG_PATA_OPTIDMA is not set
|
||||
# CONFIG_PATA_OPTI is not set
|
||||
# CONFIG_PATA_TRIFLEX is not set
|
||||
# CONFIG_PATA_WINBOND is not set
|
||||
# CONFIG_PCENGINES_APU2 is not set
|
||||
# CONFIG_PCNET32 is not set
|
||||
# CONFIG_PINCTRL_CHERRYVIEW is not set
|
||||
# CONFIG_PINCTRL_EMMITSBURG is not set
|
||||
# CONFIG_PINCTRL_JASPERLAKE is not set
|
||||
# CONFIG_PINCTRL_TIGERLAKE is not set
|
||||
# CONFIG_RDS is not set
|
||||
# CONFIG_REALTEK_PHY is not set
|
||||
CONFIG_REGMAP_I2C=m
|
||||
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
|
||||
# CONFIG_REGULATOR_MAX77650 is not set
|
||||
# CONFIG_REGULATOR_MP5416 is not set
|
||||
# CONFIG_REGULATOR_MP886X is not set
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_VCTRL is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
CONFIG_RENESAS_PHY=m
|
||||
# CONFIG_RFKILL_GPIO is not set
|
||||
CONFIG_ROCKCHIP_PHY=m
|
||||
CONFIG_SATA_AHCI=m
|
||||
# CONFIG_SATA_INIC162X is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_SCSI_ADVANSYS is not set
|
||||
# CONFIG_SCSI_AIC7XXX is not set
|
||||
# CONFIG_SCSI_AM53C974 is not set
|
||||
# CONFIG_SCSI_BFA_FC is not set
|
||||
# CONFIG_SCSI_BUSLOGIC is not set
|
||||
# CONFIG_SCSI_DC395x is not set
|
||||
CONFIG_SCSI_DH_ALUA=y
|
||||
CONFIG_SCSI_DH_EMC=y
|
||||
CONFIG_SCSI_DH_HP_SW=y
|
||||
CONFIG_SCSI_DH_RDAC=y
|
||||
# CONFIG_SCSI_DMX3191D is not set
|
||||
# CONFIG_SCSI_ESAS2R is not set
|
||||
# CONFIG_SCSI_INIA100 is not set
|
||||
# CONFIG_SCSI_IPR is not set
|
||||
CONFIG_SCSI_MVSAS_DEBUG=y
|
||||
# CONFIG_SCSI_MVSAS_TASKLET is not set
|
||||
# CONFIG_SCSI_QLOGIC_1280 is not set
|
||||
# CONFIG_SCSI_SNIC is not set
|
||||
# CONFIG_SCSI_SYM53C8XX_2 is not set
|
||||
# CONFIG_SCSI_WD719X is not set
|
||||
# CONFIG_SENSORS_AD7314 is not set
|
||||
# CONFIG_SENSORS_ADC128D818 is not set
|
||||
# CONFIG_SENSORS_ADCXX is not set
|
||||
# CONFIG_SENSORS_ADS7871 is not set
|
||||
# CONFIG_SENSORS_ADT7310 is not set
|
||||
# CONFIG_SENSORS_ASPEED is not set
|
||||
# CONFIG_SENSORS_FTSTEUTATES is not set
|
||||
# CONFIG_SENSORS_G762 is not set
|
||||
# CONFIG_SENSORS_INA3221 is not set
|
||||
# CONFIG_SENSORS_LM70 is not set
|
||||
# CONFIG_SENSORS_LTC2945 is not set
|
||||
# CONFIG_SENSORS_LTC2990 is not set
|
||||
# CONFIG_SENSORS_LTC3815 is not set
|
||||
# CONFIG_SENSORS_LTC4222 is not set
|
||||
# CONFIG_SENSORS_LTC4260 is not set
|
||||
# CONFIG_SENSORS_MAX1111 is not set
|
||||
# CONFIG_SENSORS_MAX20751 is not set
|
||||
# CONFIG_SENSORS_MAX31722 is not set
|
||||
# CONFIG_SENSORS_MAX31790 is not set
|
||||
# CONFIG_SENSORS_NCT6683 is not set
|
||||
# CONFIG_SENSORS_NCT7802 is not set
|
||||
# CONFIG_SENSORS_NCT7904 is not set
|
||||
# CONFIG_SENSORS_POWR1220 is not set
|
||||
# CONFIG_SENSORS_SHT3x is not set
|
||||
# CONFIG_SENSORS_SHTC1 is not set
|
||||
# CONFIG_SENSORS_TC654 is not set
|
||||
# CONFIG_SENSORS_TC74 is not set
|
||||
# CONFIG_SENSORS_TMP103 is not set
|
||||
# CONFIG_SENSORS_TMP108 is not set
|
||||
# CONFIG_SENSORS_W83773G is not set
|
||||
CONFIG_SERIAL_8250_EXAR=y
|
||||
CONFIG_SERIAL_8250_LPSS=y
|
||||
# CONFIG_SERIAL_8250_RT288X is not set
|
||||
# CONFIG_SERIAL_SC16IS7XX is not set
|
||||
# CONFIG_SERIAL_SC16IS7XX_SPI is not set
|
||||
# CONFIG_SFC_FALCON is not set
|
||||
# CONFIG_SPI_PXA2XX is not set
|
||||
# CONFIG_SPI_SPIDEV is not set
|
||||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TCG_TIS_SPI_CR50 is not set
|
||||
# CONFIG_TCG_TIS_SPI is not set
|
||||
# CONFIG_TCG_VTPM_PROXY is not set
|
||||
# CONFIG_TCM_FC is not set
|
||||
# CONFIG_TCM_QLA2XXX is not set
|
||||
# CONFIG_THERMAL_GOV_BANG_BANG is not set
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_VIA_RHINE_MMIO is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_W1_CON is not set
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_W1_MASTER_DS2482 is not set
|
||||
# CONFIG_W1_MASTER_DS2490 is not set
|
||||
# CONFIG_W1_SLAVE_DS2405 is not set
|
||||
# CONFIG_W1_SLAVE_DS2406 is not set
|
||||
# CONFIG_W1_SLAVE_DS2408 is not set
|
||||
# CONFIG_W1_SLAVE_DS2413 is not set
|
||||
# CONFIG_W1_SLAVE_DS2423 is not set
|
||||
# CONFIG_W1_SLAVE_DS2430 is not set
|
||||
# CONFIG_W1_SLAVE_DS2431 is not set
|
||||
# CONFIG_W1_SLAVE_DS2433_CRC is not set
|
||||
# CONFIG_W1_SLAVE_DS2433 is not set
|
||||
# CONFIG_W1_SLAVE_DS2438 is not set
|
||||
# CONFIG_W1_SLAVE_DS2780 is not set
|
||||
# CONFIG_W1_SLAVE_DS2781 is not set
|
||||
# CONFIG_W1_SLAVE_DS2805 is not set
|
||||
# CONFIG_W1_SLAVE_DS28E04 is not set
|
||||
# CONFIG_W1_SLAVE_SMEM is not set
|
||||
# CONFIG_W1_SLAVE_THERM is not set
|
||||
# CONFIG_WIZNET_W5100 is not set
|
||||
# CONFIG_WIZNET_W5100_SPI is not set
|
||||
# CONFIG_WIZNET_W5300 is not set
|
||||
# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
||||
# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
# CONFIG_WLAN_VENDOR_ST is not set
|
||||
# CONFIG_WLAN_VENDOR_TI is not set
|
||||
# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
||||
# CONFIG_XILLYBUS is not set
|
||||
# CONFIG_XILLYBUS_PCIE is not set
|
||||
CONFIG_ZRAM_WRITEBACK=y
|
72
kernel-std/files/merge.pl
Executable file
72
kernel-std/files/merge.pl
Executable file
@ -0,0 +1,72 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
my @args=@ARGV;
|
||||
my %configvalues;
|
||||
my @configoptions;
|
||||
my $configcounter = 0;
|
||||
|
||||
# optionally print out the architecture as the first line of our output
|
||||
my $arch = $args[2];
|
||||
if (defined $arch) {
|
||||
print "# $arch\n";
|
||||
}
|
||||
|
||||
# first, read the override file
|
||||
|
||||
open (FILE,"$args[0]") || die "Could not open $args[0]";
|
||||
while (<FILE>) {
|
||||
my $str = $_;
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/^\#/) {
|
||||
# fall through on comments like 'avoid CONFIG_FOO=y'
|
||||
;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && !exists($configvalues{$configname})) {
|
||||
$configvalues{$configname} = $str;
|
||||
$configoptions[$configcounter] = $configname;
|
||||
$configcounter ++;
|
||||
}
|
||||
};
|
||||
|
||||
# now, read and output the entire configfile, except for the overridden
|
||||
# parts... for those the new value is printed.
|
||||
|
||||
open (FILE2,"$args[1]") || die "Could not open $args[1]";
|
||||
while (<FILE2>) {
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/^\#/) {
|
||||
# fall through on comments like 'avoid CONFIG_FOO=y'
|
||||
;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
delete($configvalues{$configname});
|
||||
} else {
|
||||
print "$_";
|
||||
}
|
||||
}
|
||||
|
||||
# now print the new values from the overridden configfile
|
||||
my $counter = 0;
|
||||
|
||||
while ($counter < $configcounter) {
|
||||
my $configname = $configoptions[$counter];
|
||||
if (exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
|
||||
1;
|
56
kernel-std/files/mod-extra-blacklist.sh
Executable file
56
kernel-std/files/mod-extra-blacklist.sh
Executable file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
buildroot="$1"
|
||||
kernel_base="$2"
|
||||
|
||||
blacklist()
|
||||
{
|
||||
cat > "$buildroot/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__
|
||||
# This kernel module can be automatically loaded by non-root users. To
|
||||
# enhance system security, the module is blacklisted by default to ensure
|
||||
# system administrators make the module available for use as needed.
|
||||
# See https://access.redhat.com/articles/3760101 for more details.
|
||||
#
|
||||
# Remove the blacklist by adding a comment # at the start of the line.
|
||||
blacklist $1
|
||||
__EOF__
|
||||
}
|
||||
|
||||
check_blacklist()
|
||||
{
|
||||
if modinfo "$1" | grep -q '^alias:\s\+net-'; then
|
||||
mod="${1##*/}"
|
||||
mod="${mod%.ko*}"
|
||||
echo "$mod has an alias that allows auto-loading. Blacklisting."
|
||||
blacklist "$mod"
|
||||
fi
|
||||
}
|
||||
|
||||
foreachp()
|
||||
{
|
||||
P=$(nproc)
|
||||
bgcount=0
|
||||
while read mod; do
|
||||
$1 "$mod" &
|
||||
|
||||
bgcount=$((bgcount + 1))
|
||||
if [ $bgcount -eq $P ]; then
|
||||
wait -n
|
||||
bgcount=$((bgcount - 1))
|
||||
fi
|
||||
done
|
||||
|
||||
wait
|
||||
}
|
||||
|
||||
[ -d "$buildroot/etc/modprobe.d/" ] || mkdir -p "$buildroot/etc/modprobe.d/"
|
||||
find "$buildroot/$kernel_base/extra" -name "*.ko*" | \
|
||||
foreachp check_blacklist
|
||||
|
||||
# Many BIOS-es export a PNP-id which causes the floppy driver to autoload
|
||||
# even though most modern systems don't have a 3.5" floppy driver anymore
|
||||
# this replaces the old die_floppy_die.patch which removed the PNP-id from
|
||||
# the module
|
||||
if [ -f $buildroot/$kernel_base/extra/drivers/block/floppy.ko* ]; then
|
||||
blacklist "floppy"
|
||||
fi
|
196
kernel-std/files/mod-extra.list
Normal file
196
kernel-std/files/mod-extra.list
Normal file
@ -0,0 +1,196 @@
|
||||
6pack.ko
|
||||
a3d.ko
|
||||
act200l-sir.ko
|
||||
actisys-sir.ko
|
||||
adi.ko
|
||||
aer_inject.ko
|
||||
af_802154.ko
|
||||
affs.ko
|
||||
ali-ircc.ko
|
||||
analog.ko
|
||||
appletalk.ko
|
||||
atm.ko
|
||||
avma1_cs.ko
|
||||
avm_cs.ko
|
||||
avmfritz.ko
|
||||
ax25.ko
|
||||
b1.ko
|
||||
bas_gigaset.ko
|
||||
batman-adv.ko
|
||||
baycom_par.ko
|
||||
baycom_ser_fdx.ko
|
||||
baycom_ser_hdx.ko
|
||||
befs.ko
|
||||
bpqether.ko
|
||||
br2684.ko
|
||||
capi.ko
|
||||
c_can.ko
|
||||
c_can_platform.ko
|
||||
clip.ko
|
||||
cobra.ko
|
||||
coda.ko
|
||||
cuse.ko
|
||||
db9.ko
|
||||
dccp_diag.ko
|
||||
dccp_ipv4.ko
|
||||
dccp_ipv6.ko
|
||||
dccp.ko
|
||||
dccp_probe.ko
|
||||
diva_idi.ko
|
||||
divas.ko
|
||||
dlm.ko
|
||||
ds1wm.ko
|
||||
ds2482.ko
|
||||
ds2490.ko
|
||||
dss1_divert.ko
|
||||
elsa_cs.ko
|
||||
ems_pci.ko
|
||||
ems_usb.ko
|
||||
esd_usb2.ko
|
||||
esi-sir.ko
|
||||
floppy.ko
|
||||
gamecon.ko
|
||||
gf2k.ko
|
||||
gfs2.ko
|
||||
gigaset.ko
|
||||
girbil-sir.ko
|
||||
grip.ko
|
||||
grip_mp.ko
|
||||
guillemot.ko
|
||||
hdlcdrv.ko
|
||||
hfc4s8s_l1.ko
|
||||
hfcmulti.ko
|
||||
hfcpci.ko
|
||||
hisax.ko
|
||||
hwa-rc.ko
|
||||
hysdn.ko
|
||||
i2400m.ko
|
||||
i2400m-sdio.ko
|
||||
i2400m-usb.ko
|
||||
ieee802154.ko
|
||||
iforce.ko
|
||||
interact.ko
|
||||
ipddp.ko
|
||||
ipx.ko
|
||||
isdn.ko
|
||||
joydump.ko
|
||||
kingsun-sir.ko
|
||||
ks959-sir.ko
|
||||
ksdazzle-sir.ko
|
||||
kvaser_pci.ko
|
||||
l2tp_core.ko
|
||||
l2tp_debugfs.ko
|
||||
l2tp_eth.ko
|
||||
l2tp_ip.ko
|
||||
l2tp_netlink.ko
|
||||
l2tp_ppp.ko
|
||||
lec.ko
|
||||
ma600-sir.ko
|
||||
magellan.ko
|
||||
mcp2120-sir.ko
|
||||
mISDN_core.ko
|
||||
mISDN_dsp.ko
|
||||
mkiss.ko
|
||||
mptbase.ko
|
||||
mptctl.ko
|
||||
mptfc.ko
|
||||
nci.ko
|
||||
ncpfs.ko
|
||||
netjet.ko
|
||||
netrom.ko
|
||||
nfc.ko
|
||||
nilfs2.ko
|
||||
ocfs2_dlmfs.ko
|
||||
ocfs2_dlm.ko
|
||||
ocfs2.ko
|
||||
ocfs2_nodemanager.ko
|
||||
ocfs2_stackglue.ko
|
||||
ocfs2_stack_o2cb.ko
|
||||
ocfs2_stack_user.ko
|
||||
old_belkin-sir.ko
|
||||
orinoco_cs.ko
|
||||
orinoco.ko
|
||||
orinoco_nortel.ko
|
||||
orinoco_pci.ko
|
||||
orinoco_plx.ko
|
||||
orinoco_usb.ko
|
||||
pcspkr.ko
|
||||
plx_pci.ko
|
||||
pn_pep.ko
|
||||
pppoatm.ko
|
||||
rds.ko
|
||||
rds_rdma.ko
|
||||
rds_tcp.ko
|
||||
rose.ko
|
||||
sch_atm.ko
|
||||
sch_cbq.ko
|
||||
sch_choke.ko
|
||||
sch_drr.ko
|
||||
sch_dsmark.ko
|
||||
sch_etf.ko
|
||||
sch_gred.ko
|
||||
sch_mqprio.ko
|
||||
sch_multiq.ko
|
||||
sch_netem.ko
|
||||
sch_qfq.ko
|
||||
sch_red.ko
|
||||
sch_sfb.ko
|
||||
sch_teql.ko
|
||||
sctp.ko
|
||||
sctp_probe.ko
|
||||
sidewinder.ko
|
||||
sja1000.ko
|
||||
sja1000_platform.ko
|
||||
slcan.ko
|
||||
slip.ko
|
||||
softing_cs.ko
|
||||
softing.ko
|
||||
spaceball.ko
|
||||
spaceorb.ko
|
||||
stinger.ko
|
||||
sysv.ko
|
||||
tcp_bic.ko
|
||||
tcp_highspeed.ko
|
||||
tcp_htcp.ko
|
||||
tcp_hybla.ko
|
||||
tcp_illinois.ko
|
||||
tcp_lp.ko
|
||||
tcp_scalable.ko
|
||||
tcp_vegas.ko
|
||||
tcp_veno.ko
|
||||
tcp_westwood.ko
|
||||
tcp_yeah.ko
|
||||
tekram-sir.ko
|
||||
tmdc.ko
|
||||
toim3232-sir.ko
|
||||
trancevibrator.ko
|
||||
turbografx.ko
|
||||
twidjoy.ko
|
||||
ubifs.ko
|
||||
ufs.ko
|
||||
umc.ko
|
||||
usbip-core.ko
|
||||
usbip-host.ko
|
||||
uwb.ko
|
||||
vcan.ko
|
||||
vhci-hcd.ko
|
||||
w1_bq27000.ko
|
||||
w1_ds2408.ko
|
||||
w1_ds2423.ko
|
||||
w1_ds2431.ko
|
||||
w1_ds2433.ko
|
||||
w1_ds2760.ko
|
||||
w1_ds2780.ko
|
||||
w1_ds2781.ko
|
||||
w1_ds28e04.ko
|
||||
w1_smem.ko
|
||||
w1_therm.ko
|
||||
w6692.ko
|
||||
walkera0701.ko
|
||||
wanrouter.ko
|
||||
warrior.ko
|
||||
whci.ko
|
||||
wire.ko
|
||||
xpad.ko
|
||||
yam.ko
|
||||
zhenhua.ko
|
81
kernel-std/files/mod-extra.sh
Executable file
81
kernel-std/files/mod-extra.sh
Executable file
@ -0,0 +1,81 @@
|
||||
#! /bin/bash
|
||||
|
||||
Dir=$1
|
||||
List=$2
|
||||
Dest="extra"
|
||||
|
||||
# Destination was specified on the command line
|
||||
test -n "$3" && Dest="$3"
|
||||
|
||||
pushd $Dir
|
||||
rm -rf modnames
|
||||
find . -name "*.ko" -type f > modnames
|
||||
# Look through all of the modules, and throw any that have a dependency in
|
||||
# our list into the list as well.
|
||||
rm -rf dep.list dep2.list
|
||||
rm -rf req.list req2.list
|
||||
touch dep.list req.list
|
||||
cp "$List" .
|
||||
|
||||
# This variable needs to be exported because it is used in sub-script
|
||||
# executed by xargs
|
||||
export ListName=$(basename "$List")
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
NPROC=`nproc`
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
cat modnames | xargs -r -n1 -P $NPROC sh -c '
|
||||
dep=$1
|
||||
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
|
||||
[ -z "$depends" ] && exit
|
||||
for mod in ${depends//,/ }; do
|
||||
match=$(grep "^$mod.ko" "$ListName")
|
||||
[ -z "$match" ] && continue
|
||||
# check if the module we are looking at is in mod-extra too.
|
||||
# if so we do not need to mark the dep as required.
|
||||
mod2=${dep##*/} # same as `basename $dep`, but faster
|
||||
match2=$(grep "^$mod2" "$ListName")
|
||||
if [ -n "$match2" ]; then
|
||||
#echo $mod2 >> notreq.list
|
||||
continue
|
||||
fi
|
||||
echo $mod.ko >> req.list
|
||||
done
|
||||
' DUMMYARG0 # xargs appends MODNAME, which becomes $dep in the script above
|
||||
|
||||
sort -u req.list > req2.list
|
||||
sort -u "$ListName" > modules2.list
|
||||
join -v 1 modules2.list req2.list > modules3.list
|
||||
|
||||
for mod in $(cat modules3.list); do
|
||||
# get the path for the module
|
||||
modpath=`grep /$mod modnames`
|
||||
[ -z "$modpath" ] && continue
|
||||
echo $modpath >> dep.list
|
||||
done
|
||||
|
||||
sort -u dep.list > dep2.list
|
||||
|
||||
# now move the modules into the extra/ directory
|
||||
for mod in `cat dep2.list`; do
|
||||
newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"`
|
||||
mkdir -p $newpath
|
||||
mv $mod $newpath
|
||||
done
|
||||
|
||||
popd
|
||||
|
||||
# If we're signing modules, we can't leave the .mod files for the .ko files
|
||||
# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign'
|
||||
# target doesn't try to sign a non-existent file. This is kinda ugly, but
|
||||
# so is modules-extra.
|
||||
|
||||
for mod in `cat ${Dir}/dep2.list`; do
|
||||
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
|
||||
rm .tmp_versions/$modfile
|
||||
done
|
||||
|
||||
pushd $Dir
|
||||
rm modnames dep.list dep2.list req.list req2.list
|
||||
rm "$ListName" modules2.list modules3.list
|
||||
popd
|
4
kernel-std/files/mod-internal.list
Normal file
4
kernel-std/files/mod-internal.list
Normal file
@ -0,0 +1,4 @@
|
||||
mac80211_hwsim
|
||||
netdevsim
|
||||
pktgen
|
||||
rocker
|
37
kernel-std/files/mod-sign.sh
Executable file
37
kernel-std/files/mod-sign.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#! /bin/bash
|
||||
|
||||
# The modules_sign target checks for corresponding .o files for every .ko that
|
||||
# is signed. This doesn't work for package builds which re-use the same build
|
||||
# directory for every flavour, and the .config may change between flavours.
|
||||
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
|
||||
# sign all .ko in the buildroot.
|
||||
|
||||
# This essentially duplicates the 'modules_sign' Kbuild target and runs the
|
||||
# same commands for those modules.
|
||||
|
||||
MODSECKEY=$1
|
||||
MODPUBKEY=$2
|
||||
moddir=$3
|
||||
|
||||
modules=`find $moddir -type f -name '*.ko'`
|
||||
|
||||
NPROC=`nproc`
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
|
||||
for mod; do
|
||||
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
|
||||
rm -f \$mod.sig \$mod.dig
|
||||
done
|
||||
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
|
||||
|
||||
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||
echo "*****************************"
|
||||
echo "*** Modules are unsigned! ***"
|
||||
echo "*****************************"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
31
kernel-std/files/parallel_xz.sh
Executable file
31
kernel-std/files/parallel_xz.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
# Reads filenames on stdin, xz-compresses each in place.
|
||||
# Not optimal for "compress relatively few, large files" scenario!
|
||||
|
||||
# How many xz's to run in parallel:
|
||||
procgroup=""
|
||||
while test "$#" != 0; do
|
||||
# Get it from -jNUM
|
||||
N="${1#-j}"
|
||||
if test "$N" = "$1"; then
|
||||
# Not -j<something> - warn and ignore
|
||||
echo "parallel_xz: warning: unrecognized argument: '$1'"
|
||||
else
|
||||
procgroup="$N"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
#This seems to cause problems with large numbers
|
||||
if (( $procgroup > 6 )); then
|
||||
procgroup=6
|
||||
fi
|
||||
|
||||
# If told to use only one cpu:
|
||||
test "$procgroup" || exec xargs -r xz
|
||||
test "$procgroup" = 1 && exec xargs -r xz
|
||||
|
||||
# xz has some startup cost. If files are really small,
|
||||
# this cost might be significant. To combat this,
|
||||
# process several files (in sequence) by each xz process via -n 16:
|
||||
exec xargs -r -n 16 -P $procgroup xz
|
316
kernel-std/files/process_configs.sh
Executable file
316
kernel-std/files/process_configs.sh
Executable file
@ -0,0 +1,316 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script takes the merged config files and processes them through oldconfig
|
||||
# and listnewconfig
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
# alphabetical order please
|
||||
echo "process_configs.sh [ options ] package_name kernel_version"
|
||||
echo " -a: report all errors, equivalent to [-c -n -w -i]"
|
||||
echo " -c: error on mismatched config options"
|
||||
echo " -i: continue on error"
|
||||
echo " -n: error on unset config options"
|
||||
echo " -t: test run, do not overwrite original config"
|
||||
echo " -w: error on misconfigured config options"
|
||||
echo " -z: commit new configs to pending directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
die()
|
||||
{
|
||||
echo "$1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# stupid function to find top of tree to do kernel make configs
|
||||
switch_to_toplevel()
|
||||
{
|
||||
path="$(pwd)"
|
||||
while test -n "$path"; do
|
||||
test -e $path/MAINTAINERS && \
|
||||
test -d $path/drivers && \
|
||||
break
|
||||
|
||||
path="$(dirname $path)"
|
||||
done
|
||||
|
||||
test -n "$path" || die "Can't find toplevel"
|
||||
echo "$path"
|
||||
}
|
||||
|
||||
checkoptions()
|
||||
{
|
||||
/usr/bin/awk '
|
||||
|
||||
/is not set/ {
|
||||
split ($0, a, "#");
|
||||
split(a[2], b);
|
||||
if (NR==FNR) {
|
||||
configs[b[1]]="is not set";
|
||||
} else {
|
||||
if (configs[b[1]] != "" && configs[b[1]] != "is not set")
|
||||
print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree";
|
||||
}
|
||||
}
|
||||
|
||||
/=/ {
|
||||
split ($0, a, "=");
|
||||
if (NR==FNR) {
|
||||
configs[a[1]]=a[2];
|
||||
} else {
|
||||
if (configs[a[1]] != "" && configs[a[1]] != a[2])
|
||||
print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
|
||||
}
|
||||
}
|
||||
' $1 $2 > .mismatches
|
||||
|
||||
if test -s .mismatches
|
||||
then
|
||||
echo "Error: Mismatches found in configuration files"
|
||||
cat .mismatches
|
||||
RETURNCODE=1
|
||||
[ "$CONTINUEONERROR" ] || exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
parsenewconfigs()
|
||||
{
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
# This awk script reads the output of make listnewconfig
|
||||
# and puts it into CONFIG_FOO files. Using the output of
|
||||
# listnewconfig is much easier to ensure we get the default
|
||||
# output.
|
||||
/usr/bin/awk -v BASE=$tmpdir '
|
||||
/is not set/ {
|
||||
split ($0, a, "#");
|
||||
split(a[2], b);
|
||||
OUT_FILE=BASE"/"b[1];
|
||||
print $0 >> OUT_FILE;
|
||||
}
|
||||
|
||||
/=/ {
|
||||
split ($0, a, "=");
|
||||
OUT_FILE=BASE"/"a[1];
|
||||
if (a[2] == "n")
|
||||
print "# " a[1] " is not set" >> OUT_FILE;
|
||||
else
|
||||
print $0 >> OUT_FILE;
|
||||
}
|
||||
|
||||
' .newoptions
|
||||
|
||||
# This awk script parses the output of helpnewconfig.
|
||||
# Each option is separated between ----- markers
|
||||
# The goal is to put all the help text as a comment in
|
||||
# each CONFIG_FOO file. Because of how awk works
|
||||
# there's a lot of moving files around and catting to
|
||||
# get what we need.
|
||||
/usr/bin/awk -v BASE=$tmpdir '
|
||||
BEGIN { inpatch=0;
|
||||
outfile="none";
|
||||
symbol="none"; }
|
||||
/^CONFIG_.*:$/ {
|
||||
split($0, a, ":");
|
||||
symbol=a[1];
|
||||
outfile=BASE "/fake_"symbol
|
||||
}
|
||||
/-----/ {
|
||||
if (inpatch == 0) {
|
||||
inpatch = 1;
|
||||
}
|
||||
else {
|
||||
if (symbol != "none") {
|
||||
system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf");
|
||||
system("mv " BASE "/tmpf " BASE "/" symbol);
|
||||
symbol="none"
|
||||
}
|
||||
outfile="none"
|
||||
inpatch = 0;
|
||||
}
|
||||
}
|
||||
!/-----/ {
|
||||
if (inpatch == 1 && outfile != "none") {
|
||||
print "# "$0 >> outfile;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
' .helpnewconfig
|
||||
|
||||
pushd $tmpdir &> /dev/null
|
||||
rm fake_*
|
||||
popd &> /dev/null
|
||||
for f in `ls $tmpdir`; do
|
||||
[[ -e "$tmpdir/$f" ]] || break
|
||||
cp $tmpdir/$f $SCRIPT_DIR/pending"$FLAVOR"/generic/
|
||||
done
|
||||
|
||||
rm -rf $tmpdir
|
||||
}
|
||||
|
||||
function commit_new_configs {
|
||||
# assume we are in $source_tree/configs, need to get to top level
|
||||
pushd $(switch_to_toplevel) &>/dev/null
|
||||
|
||||
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config; do
|
||||
arch=$(head -1 $cfg | cut -b 3-)
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat $cfg > $cfgorig
|
||||
|
||||
if [ "$arch" = "EMPTY" ]; then
|
||||
# This arch is intentionally left blank
|
||||
continue
|
||||
fi
|
||||
echo -n "Checking for new configs in $cfg ... "
|
||||
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
|
||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
||||
if test -s .newoptions
|
||||
then
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig helpnewconfig >& .helpnewconfig
|
||||
parsenewconfigs
|
||||
fi
|
||||
rm .newoptions
|
||||
echo "done"
|
||||
done
|
||||
|
||||
git add $SCRIPT_DIR/pending"$FLAVOR"
|
||||
git commit -m "[redhat] AUTOMATIC: New configs"
|
||||
}
|
||||
|
||||
function process_configs {
|
||||
# assume we are in $source_tree/configs, need to get to top level
|
||||
pushd $(switch_to_toplevel) &>/dev/null
|
||||
|
||||
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config; do
|
||||
arch=$(head -1 $cfg | cut -b 3-)
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat $cfg > $cfgorig
|
||||
|
||||
if [ "$arch" = "EMPTY" ]; then
|
||||
# This arch is intentionally left blank
|
||||
continue
|
||||
fi
|
||||
echo -n "Processing $cfg ... "
|
||||
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
|
||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
||||
if test -n "$NEWOPTIONS" && test -s .newoptions
|
||||
then
|
||||
echo "Found unset config items, please set them to an appropriate value"
|
||||
cat .newoptions
|
||||
rm .newoptions
|
||||
RETURNCODE=1
|
||||
[ "$CONTINUEONERROR" ] || exit 1
|
||||
fi
|
||||
rm .newoptions
|
||||
|
||||
grep -E 'config.*warning' .listnewconfig > .warnings
|
||||
if test -n "$CHECKWARNINGS" && test -s .warnings
|
||||
then
|
||||
echo "Found misconfigured config items, please set them to an appropriate value"
|
||||
cat .warnings
|
||||
rm .warnings
|
||||
RETURNCODE=1
|
||||
[ "$CONTINUEONERROR" ] || exit 1
|
||||
fi
|
||||
rm .warnings
|
||||
|
||||
rm .listnewconfig
|
||||
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig olddefconfig > /dev/null || exit 1
|
||||
echo "# $arch" > ${cfgtmp}
|
||||
cat "${cfgorig}" >> ${cfgtmp}
|
||||
if test -n "$CHECKOPTIONS"
|
||||
then
|
||||
checkoptions $cfg $cfgtmp
|
||||
fi
|
||||
# if test run, don't overwrite original
|
||||
if test -n "$TESTRUN"
|
||||
then
|
||||
rm ${cfgtmp}
|
||||
else
|
||||
mv ${cfgtmp} ${cfg}
|
||||
fi
|
||||
rm ${cfgorig}
|
||||
echo "done"
|
||||
done
|
||||
rm "$SCRIPT_DIR"/*.config*.old
|
||||
popd > /dev/null
|
||||
|
||||
echo "Processed config files are in $SCRIPT_DIR"
|
||||
}
|
||||
|
||||
CHECKOPTIONS=""
|
||||
CONTINUEONERROR=""
|
||||
NEWOPTIONS=""
|
||||
TESTRUN=""
|
||||
CHECKWARNINGS=""
|
||||
|
||||
RETURNCODE=0
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
case $key in
|
||||
-a)
|
||||
CHECKOPTIONS="x"
|
||||
CONTINUEONERROR="x"
|
||||
NEWOPTIONS="x"
|
||||
CHECKWARNINGS="x"
|
||||
;;
|
||||
-c)
|
||||
CHECKOPTIONS="x"
|
||||
;;
|
||||
-h)
|
||||
usage
|
||||
;;
|
||||
-i)
|
||||
CONTINUEONERROR="x"
|
||||
;;
|
||||
-n)
|
||||
NEWOPTIONS="x"
|
||||
;;
|
||||
-t)
|
||||
TESTRUN="x"
|
||||
;;
|
||||
-w)
|
||||
CHECKWARNINGS="x"
|
||||
;;
|
||||
-z)
|
||||
COMMITNEWCONFIGS="x"
|
||||
;;
|
||||
*)
|
||||
break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
PACKAGE_NAME="${1:-kernel}" # defines the package name used
|
||||
KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
|
||||
SUBARCH="$(test -n "$3" && echo "-$3" || echo "")"
|
||||
FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")"
|
||||
SCRIPT="$(readlink -f $0)"
|
||||
OUTPUT_DIR="$PWD"
|
||||
SCRIPT_DIR="$(dirname $SCRIPT)"
|
||||
|
||||
# Most RHEL options are options we want in Fedora so RHEL pending settings head
|
||||
# to common/
|
||||
if [ "$FLAVOR" = "-rhel" ]; then
|
||||
FLAVOR="-common"
|
||||
fi
|
||||
|
||||
# to handle this script being a symlink
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
if test -n "$COMMITNEWCONFIGS"; then
|
||||
commit_new_configs
|
||||
else
|
||||
process_configs
|
||||
fi
|
||||
|
||||
exit $RETURNCODE
|
16
kernel-std/files/x509.genkey
Normal file
16
kernel-std/files/x509.genkey
Normal file
@ -0,0 +1,16 @@
|
||||
[ req ]
|
||||
default_bits = 3072
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = Starlingx
|
||||
CN = Starlingx kernel signing key
|
||||
emailAddress = security@starlingx.org
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
Loading…
x
Reference in New Issue
Block a user