Package init
This commit is contained in:
parent
829282ced5
commit
7bc604a71f
36
Makefile.common
Normal file
36
Makefile.common
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
RPMBUILD := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
|
||||||
|
else echo rpm; fi)
|
||||||
|
REDHAT:=$(shell pwd)
|
||||||
|
TOPDIR:=$(shell dirname $(REDHAT))
|
||||||
|
MACH := $(shell uname -m)
|
||||||
|
KVERSION:=3.17.0
|
||||||
|
GITID:= $(shell git log --max-count=1 --pretty=format:%H)
|
||||||
|
RPMVERSION:=3.17.0
|
||||||
|
# marker is git tag which we base off of for exporting patches
|
||||||
|
MARKER:=v3.17
|
||||||
|
PREBUILD:=0.
|
||||||
|
BUILD:=49
|
||||||
|
DIST:=.sa2
|
||||||
|
SPECFILE:=kernel.spec
|
||||||
|
RPM:=$(REDHAT)/rpm
|
||||||
|
SRPMS:=$(RPM)/SRPMS
|
||||||
|
SOURCES:=$(RPM)/SOURCES
|
||||||
|
TESTPATCH:=$(REDHAT)/linux-kernel-test.patch
|
||||||
|
FILTERDIFF:=/usr/bin/filterdiff -x '*redhat/*' -x '*/.gitignore' -x '*/makefile' -x '*/Makefile'
|
||||||
|
|
||||||
|
RELEASED_KERNEL := 1
|
||||||
|
STAMP_VERSION := $(KVERSION)
|
||||||
|
|
||||||
|
LOCVERFILE:=../localversion
|
||||||
|
# create an empty localversion file if you don't want a local buildid
|
||||||
|
ifneq ($(wildcard $(LOCVERFILE)),)
|
||||||
|
BUILDID:=$(shell cat $(LOCVERFILE))
|
||||||
|
else
|
||||||
|
BUILDID:=.test
|
||||||
|
endif
|
||||||
|
$(info BUILDID is "$(BUILDID)". Update '$(shell dirname $(REDHAT))/localversion' to change.)
|
||||||
|
|
||||||
|
PKGRELEASE:=$(PREBUILD)$(BUILD)$(DIST)$(BUILDID)
|
||||||
|
|
||||||
|
TARFILE:=linux-$(KVERSION)-$(PKGRELEASE).tar.xz
|
||||||
|
TARBALL:=$(REDHAT)/$(TARFILE)
|
||||||
79
Makefile.config
Normal file
79
Makefile.config
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# Make rules for configuration files.
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
OUTPUT := $(abspath ../../)
|
||||||
|
ifeq ("$(origin O)", "command line")
|
||||||
|
_EXTRA_ARGS := O=$(O)
|
||||||
|
OUTPUT := $(O)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFG = kernel-$(VERSION)
|
||||||
|
CFG_DIR = $(OUTPUT)/configs
|
||||||
|
|
||||||
|
CONFIGFILES = \
|
||||||
|
$(CFG)-aarch64.config $(CFG)-aarch64-debug.config
|
||||||
|
|
||||||
|
PLATFORMS = arm64
|
||||||
|
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
||||||
|
|
||||||
|
configs: clean-configs $(CONFIGFILES)
|
||||||
|
@rm -f kernel-*-config
|
||||||
|
@rm -f $(TEMPFILES)
|
||||||
|
@rm -f temp-generic temp-*-generic temp-*-generic-tmp
|
||||||
|
|
||||||
|
# Clean up our cruft so old merge files aren't used
|
||||||
|
clean-configs:
|
||||||
|
@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-arm64* kernel-*config config-*-merged
|
||||||
|
|
||||||
|
# Augment the clean target to clean up our own cruft
|
||||||
|
clean ::
|
||||||
|
@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-arm64* kernel-*config config-*-merged
|
||||||
|
|
||||||
|
configs-prep: clean configs
|
||||||
|
@rm -fr $(CFG_DIR)
|
||||||
|
@mkdir -p $(CFG_DIR)
|
||||||
|
@cp $(CFG)*.config $(CFG_DIR)
|
||||||
|
@cd ../../ && \
|
||||||
|
for i in $(CFG_DIR)/*.config; do \
|
||||||
|
mv $$i $(OUTPUT)/.config; \
|
||||||
|
ARCH=$$(head -1 $(OUTPUT)/.config | cut -b 3-); \
|
||||||
|
echo "Configuring $$i"; \
|
||||||
|
make ARCH=$$ARCH listnewconfig $(_EXTRA_ARGS) >/dev/null || exit 1; \
|
||||||
|
make ARCH=$$ARCH oldnoconfig $(_EXTRA_ARGS) >/dev/null || exit 1; \
|
||||||
|
echo "# $$ARCH" > $$i; \
|
||||||
|
cat $(OUTPUT)/.config >> $$i; \
|
||||||
|
rm $(OUTPUT)/.config; \
|
||||||
|
done
|
||||||
|
|
||||||
|
config-%-merged:
|
||||||
|
@if [ -f $$(basename $@ -merged)-redhat ]; then \
|
||||||
|
perl merge.pl $$(basename $@ -merged)-redhat $$(basename $@ -merged) >$@; \
|
||||||
|
else \
|
||||||
|
cp $$(basename $@ -merged) $@; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
temp-generic: config-nodebug-merged config-generic-merged
|
||||||
|
cat $^ > temp-generic
|
||||||
|
|
||||||
|
temp-debug-generic: config-debug-merged config-generic-merged
|
||||||
|
cat $^ > temp-debug-generic
|
||||||
|
|
||||||
|
temp-arm-generic: config-arm-generic-merged temp-generic
|
||||||
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
|
temp-arm-debug-generic: config-arm-generic-merged temp-debug-generic
|
||||||
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
|
temp-arm64: config-arm64-merged temp-arm-generic
|
||||||
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
|
temp-arm64-debug: config-arm64-merged temp-arm-debug-generic
|
||||||
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
|
$(CFG)-aarch64.config: /dev/null temp-arm64
|
||||||
|
perl merge.pl $^ arm64 > $@
|
||||||
|
|
||||||
|
$(CFG)-aarch64-debug.config: /dev/null temp-arm64-debug
|
||||||
|
perl merge.pl $^ arm64 > $@
|
||||||
|
|
||||||
15225
Module.kabi_aarch64
Normal file
15225
Module.kabi_aarch64
Normal file
File diff suppressed because it is too large
Load Diff
41
README.md
41
README.md
@ -1,39 +1,8 @@
|
|||||||
# kernel
|
hulk-4.19
|
||||||
|
|
||||||
#### 介绍
|
#refer: http://3ms.huawei.com/hi/group/3078743/wiki_5126737.html
|
||||||
{**以下是码云平台说明,您可以替换此简介**
|
http://3ms.huawei.com/km/blogs/details/5822677?moduleId=
|
||||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
|
||||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
|
||||||
|
|
||||||
#### 软件架构
|
[config]:
|
||||||
软件架构说明
|
kernel-kernelVersion-arch.config
|
||||||
|
|
||||||
|
|
||||||
#### 安装教程
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 使用说明
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 参与贡献
|
|
||||||
|
|
||||||
1. Fork 本仓库
|
|
||||||
2. 新建 Feat_xxx 分支
|
|
||||||
3. 提交代码
|
|
||||||
4. 新建 Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### 码云特技
|
|
||||||
|
|
||||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
|
||||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
|
||||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
|
||||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
|
|||||||
49
apply-patches
Normal file
49
apply-patches
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Given a series.conf file and a directory with patches, applies them to the
|
||||||
|
# current directory.
|
||||||
|
# Used by kernel-source.spec.in and kernel-binary.spec.in
|
||||||
|
|
||||||
|
USAGE="$0 [--vanilla] <series.conf> <patchdir> [symbol ...]"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
vanilla=false
|
||||||
|
if test "$1" == "--vanilla"; then
|
||||||
|
vanilla=true
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if test $# -lt 2; then
|
||||||
|
echo "$USAGE" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
DIR="${0%/*}"
|
||||||
|
SERIES_CONF=$1
|
||||||
|
PATCH_DIR=$2
|
||||||
|
shift 2
|
||||||
|
|
||||||
|
trap 'rm -f "$series"' EXIT
|
||||||
|
series=$(mktemp)
|
||||||
|
# support for patches in patches.addon/series
|
||||||
|
cp "$SERIES_CONF" "$series"
|
||||||
|
if ! $vanilla && test -e "$PATCH_DIR/patches.addon/series"; then
|
||||||
|
# make it user-friendly and automatically prepend "patches.addon/"
|
||||||
|
# if there is no "/"
|
||||||
|
sed -r 's|^([[:space:]]*)([^#[:space:]][^/]*)$|\1patches.addon/\2|' \
|
||||||
|
"$PATCH_DIR/patches.addon/series" >>"$series"
|
||||||
|
fi
|
||||||
|
|
||||||
|
(
|
||||||
|
echo "trap 'echo \"*** patch \$_ failed ***\"' ERR"
|
||||||
|
echo "set -ex"
|
||||||
|
"$DIR"/guards "$@" <"$series" | \
|
||||||
|
if $vanilla; then
|
||||||
|
egrep '^patches\.(kernel\.org|rpmify)/'
|
||||||
|
else
|
||||||
|
cat
|
||||||
|
fi |\
|
||||||
|
sed "s|^|patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR/|"
|
||||||
|
) | sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
164
check-kabi
Normal file
164
check-kabi
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# 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:
|
||||||
|
#
|
||||||
|
# 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 os
|
||||||
|
import re
|
||||||
|
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 = string.split(in_line)
|
||||||
|
|
||||||
|
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 = string.split(in_line)
|
||||||
|
|
||||||
|
kabi[symbol] = in_line[0:-1]
|
||||||
|
|
||||||
|
def check_kabi(symvers,kabi):
|
||||||
|
"""Check Module.kabi and Module.symvers files."""
|
||||||
|
|
||||||
|
fail=0
|
||||||
|
warn=0
|
||||||
|
lost=0
|
||||||
|
changed_symbols=[]
|
||||||
|
moved_symbols=[]
|
||||||
|
losted_symbols=[]
|
||||||
|
|
||||||
|
for symbol in kabi:
|
||||||
|
abi_hash,abi_sym,abi_dir,abi_type = string.split(kabi[symbol])
|
||||||
|
if symvers.has_key(symbol):
|
||||||
|
sym_hash,sym_sym,sym_dir,sym_type = string.split(symvers[symbol])
|
||||||
|
if abi_hash != sym_hash:
|
||||||
|
fail=1
|
||||||
|
changed_symbols.append(symbol)
|
||||||
|
|
||||||
|
if abi_dir != sym_dir:
|
||||||
|
warn=1
|
||||||
|
moved_symbols.append(symbol)
|
||||||
|
else:
|
||||||
|
lost=1
|
||||||
|
losted_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 "new kabi:"
|
||||||
|
for symbol in changed_symbols:
|
||||||
|
print symvers[symbol]
|
||||||
|
print "old kabi:"
|
||||||
|
for symbol in changed_symbols:
|
||||||
|
print kabi[symbol]
|
||||||
|
print ""
|
||||||
|
|
||||||
|
if lost:
|
||||||
|
print "*** ERROR - ABI BREAKAGE WAS DETECTED ***"
|
||||||
|
print ""
|
||||||
|
print "The following symbols have been losted (this will cause an ABI breakage):"
|
||||||
|
print "old kabi:"
|
||||||
|
for symbol in losted_symbols:
|
||||||
|
print kabi[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 "new kabi:"
|
||||||
|
for symbol in moved_symbols:
|
||||||
|
print symvers[symbol]
|
||||||
|
print "old kabi"
|
||||||
|
for symbol in moved_symbols:
|
||||||
|
print kabi[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 or lost:
|
||||||
|
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)
|
||||||
|
|
||||||
269
config-arm-generic
Normal file
269
config-arm-generic
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
CONFIG_KUSER_HELPERS=y
|
||||||
|
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||||
|
CONFIG_COMMON_CLK=y
|
||||||
|
CONFIG_EARLY_PRINTK=y
|
||||||
|
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
|
||||||
|
CONFIG_FB_SSD1307=m
|
||||||
|
CONFIG_HW_PERF_EVENTS=y
|
||||||
|
CONFIG_NFS_FS=y
|
||||||
|
|
||||||
|
CONFIG_CRASH=m
|
||||||
|
CONFIG_CC_STACKPROTECTOR=y
|
||||||
|
|
||||||
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
|
|
||||||
|
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||||
|
# CONFIG_BIG_LITTLE is not set
|
||||||
|
# CONFIG_IWMMXT is not set
|
||||||
|
|
||||||
|
CONFIG_PWM=y
|
||||||
|
CONFIG_PWM_SYSFS=y
|
||||||
|
# CONFIG_PWM_FSL_FTM is not set
|
||||||
|
|
||||||
|
CONFIG_RESET_CONTROLLER=y
|
||||||
|
CONFIG_RESET_GPIO=y
|
||||||
|
|
||||||
|
CONFIG_RCU_FANOUT_LEAF=16
|
||||||
|
# CONFIG_RTC_DRV_SNVS is not set
|
||||||
|
# CONFIG_RTC_DRV_HYM8563 is not set
|
||||||
|
CONFIG_BACKLIGHT_PWM=m
|
||||||
|
CONFIG_INPUT_PWM_BEEPER=m
|
||||||
|
CONFIG_ARM_SP805_WATCHDOG=m
|
||||||
|
CONFIG_ARM_ARCH_TIMER=y
|
||||||
|
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
|
||||||
|
CONFIG_NR_CPUS=8
|
||||||
|
|
||||||
|
CONFIG_SWIOTLB=y
|
||||||
|
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||||
|
CONFIG_FB_SIMPLE=y
|
||||||
|
|
||||||
|
CONFIG_HAVE_PERF_REGS=y
|
||||||
|
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||||
|
|
||||||
|
# ARM AMBA generic HW
|
||||||
|
CONFIG_ARM_AMBA=y
|
||||||
|
CONFIG_ARM_CCI=y
|
||||||
|
CONFIG_ARM_CCN=y
|
||||||
|
CONFIG_ARM_DMA_USE_IOMMU=y
|
||||||
|
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
|
||||||
|
CONFIG_ARM_GIC=y
|
||||||
|
CONFIG_KVM_ARM_VGIC=y
|
||||||
|
CONFIG_ARM_GLOBAL_TIMER=y
|
||||||
|
CONFIG_ARM_SMMU=y
|
||||||
|
CONFIG_MMC_ARMMMCI=y
|
||||||
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
|
CONFIG_SERIO_AMBAKMI=y
|
||||||
|
CONFIG_OC_ETM=y
|
||||||
|
CONFIG_FB_ARMCLCD=y
|
||||||
|
|
||||||
|
# ARM VExpress
|
||||||
|
CONFIG_ARCH_VEXPRESS=y
|
||||||
|
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||||
|
CONFIG_VEXPRESS_SYSCFG=y
|
||||||
|
CONFIG_COMMON_CLK_VERSATILE=y
|
||||||
|
CONFIG_CLK_SP810=y
|
||||||
|
CONFIG_CLK_VEXPRESS_OSC=y
|
||||||
|
CONFIG_I2C_VERSATILE=m
|
||||||
|
CONFIG_POWER_RESET_VEXPRESS=y
|
||||||
|
CONFIG_REGULATOR_VEXPRESS=m
|
||||||
|
CONFIG_SENSORS_VEXPRESS=m
|
||||||
|
CONFIG_CLKSRC_VERSATILE=y
|
||||||
|
# CONFIG_ARM_CHARLCD is not set
|
||||||
|
|
||||||
|
# Power/Thermal/Cpufreq
|
||||||
|
CONFIG_GENERIC_CPUFREQ_CPU0=m
|
||||||
|
# CONFIG_ARM_DT_BL_CPUFREQ is not set
|
||||||
|
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
|
||||||
|
|
||||||
|
# Device tree
|
||||||
|
CONFIG_DTC=y
|
||||||
|
CONFIG_DMA_OF=y
|
||||||
|
CONFIG_PROC_DEVICETREE=y
|
||||||
|
CONFIG_OF=y
|
||||||
|
CONFIG_OF_ADDRESS=y
|
||||||
|
CONFIG_OF_DEVICE=y
|
||||||
|
CONFIG_OF_DYNAMIC=y
|
||||||
|
CONFIG_OF_EARLY_FLATTREE=y
|
||||||
|
CONFIG_OF_FLATTREE=y
|
||||||
|
CONFIG_OF_GPIO=y
|
||||||
|
CONFIG_OF_I2C=m
|
||||||
|
CONFIG_OF_IOMMU=y
|
||||||
|
CONFIG_OF_IRQ=y
|
||||||
|
CONFIG_OF_MDIO=m
|
||||||
|
CONFIG_OF_MTD=y
|
||||||
|
CONFIG_OF_NET=y
|
||||||
|
CONFIG_OF_PCI_IRQ=m
|
||||||
|
CONFIG_OF_PCI=m
|
||||||
|
CONFIG_OF_RESERVED_MEM=y
|
||||||
|
CONFIG_PATA_OF_PLATFORM=m
|
||||||
|
# CONFIG_OF_SELFTEST is not set
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
|
CONFIG_THERMAL_OF=y
|
||||||
|
|
||||||
|
# External Connectors
|
||||||
|
CONFIG_EXTCON=m
|
||||||
|
CONFIG_OF_EXTCON=m
|
||||||
|
CONFIG_EXTCON_GPIO=m
|
||||||
|
CONFIG_EXTCON_ADC_JACK=m
|
||||||
|
# CONFIG_EXTCON_SM5502 is not set
|
||||||
|
|
||||||
|
# MTD
|
||||||
|
CONFIG_MTD_BLKDEVS=m
|
||||||
|
CONFIG_MTD_BLOCK=m
|
||||||
|
CONFIG_MTD_CHAR=m
|
||||||
|
CONFIG_MTD_CFI=m
|
||||||
|
CONFIG_MTD_CFI_INTELEXT=m
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=m
|
||||||
|
CONFIG_MTD_CFI_STAA=m
|
||||||
|
CONFIG_MTD_OF_PARTS=m
|
||||||
|
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||||
|
CONFIG_MTD_PHYSMAP=m
|
||||||
|
CONFIG_MTD_PHYSMAP_OF=m
|
||||||
|
# CONFIG_MTD_PHYSMAP_COMPAT is not set
|
||||||
|
# CONFIG_MTD_LPDDR2_NVM is not set
|
||||||
|
|
||||||
|
# GPIO
|
||||||
|
CONFIG_GPIO_DEVRES=y
|
||||||
|
CONFIG_GPIO_GENERIC=m
|
||||||
|
CONFIG_GPIO_GENERIC_PLATFORM=m
|
||||||
|
CONFIG_GPIO_WATCHDOG=m
|
||||||
|
CONFIG_GPIOLIB=y
|
||||||
|
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||||
|
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||||
|
CONFIG_MDIO_GPIO=m
|
||||||
|
CONFIG_BACKLIGHT_GPIO=m
|
||||||
|
CONFIG_POWER_RESET_GPIO=y
|
||||||
|
CONFIG_POWER_RESET_RESTART=y
|
||||||
|
|
||||||
|
#i2c
|
||||||
|
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
||||||
|
CONFIG_I2C_BOARDINFO=y
|
||||||
|
CONFIG_I2C_GPIO=m
|
||||||
|
CONFIG_I2C_MUX=m
|
||||||
|
CONFIG_I2C_MUX_GPIO=m
|
||||||
|
CONFIG_I2C_MUX_PINCTRL=m
|
||||||
|
CONFIG_I2C_MUX_PCA9541=m
|
||||||
|
CONFIG_I2C_MUX_PCA954x=m
|
||||||
|
|
||||||
|
# spi
|
||||||
|
CONFIG_SPI_PL022=m
|
||||||
|
|
||||||
|
# Sensors
|
||||||
|
CONFIG_SENSORS_IIO_HWMON=m
|
||||||
|
CONFIG_IIO_SYSFS_TRIGGER=m
|
||||||
|
|
||||||
|
# PHY framework
|
||||||
|
CONFIG_GENERIC_PHY=y
|
||||||
|
|
||||||
|
# MFD
|
||||||
|
CONFIG_MFD_CORE=m
|
||||||
|
|
||||||
|
CONFIG_SMC91X=m
|
||||||
|
CONFIG_SMC911X=m
|
||||||
|
|
||||||
|
CONFIG_CPU_THERMAL=y
|
||||||
|
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||||
|
|
||||||
|
# Contiguous Memory Allocator
|
||||||
|
CONFIG_CMA=y
|
||||||
|
CONFIG_DMA_CMA=y
|
||||||
|
# CONFIG_CMA_DEBUG is not set
|
||||||
|
CONFIG_CMA_SIZE_MBYTES=16
|
||||||
|
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||||
|
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||||
|
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||||
|
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||||
|
CONFIG_CMA_ALIGNMENT=8
|
||||||
|
CONFIG_CMA_AREAS=7
|
||||||
|
|
||||||
|
# CONFIG_CRYPTO_TEST is not set
|
||||||
|
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||||
|
# CONFIG_XEN is not set
|
||||||
|
# CONFIG_DRM_RCAR_DU is not set
|
||||||
|
# CONFIG_I2C_RCAR is not set
|
||||||
|
# CONFIG_DRM_SHMOBILE is not set
|
||||||
|
# CONFIG_I2C_SH_MOBILE is not set
|
||||||
|
# CONFIG_MMC_DW_SOCFPGA is not set
|
||||||
|
# CONFIG_I2C_NOMADIK is not set
|
||||||
|
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||||
|
# CONFIG_LEDS_RENESAS_TPU is not set
|
||||||
|
# CONFIG_LOCK_STAT is not set
|
||||||
|
|
||||||
|
# CONFIG_DRM_ARMADA is not set
|
||||||
|
# CONFIG_DRM_TEGRA is not set
|
||||||
|
# CONFIG_SHMOBILE_IOMMU is not set
|
||||||
|
|
||||||
|
# CONFIG_COMMON_CLK_SI570 is not set
|
||||||
|
# CONFIG_COMMON_CLK_QCOM is not set
|
||||||
|
|
||||||
|
# CONFIG_ARM_PTDUMP is not set
|
||||||
|
|
||||||
|
# CONFIG_PATA_PLATFORM is not set
|
||||||
|
# CONFIG_USB_ULPI is not set
|
||||||
|
|
||||||
|
### turn off things which make no sense on embedded SoC
|
||||||
|
|
||||||
|
# core
|
||||||
|
|
||||||
|
# CONFIG_INFINIBAND is not set
|
||||||
|
# CONFIG_ISDN is not set
|
||||||
|
# CONFIG_PCMCIA is not set
|
||||||
|
# CONFIG_PARPORT is not set
|
||||||
|
# CONFIG_FIREWIRE is not set
|
||||||
|
# CONFIG_ATM_DRIVERS is not set
|
||||||
|
# CONFIG_ISDN is not set
|
||||||
|
# CONFIG_GAMEPORT is not set
|
||||||
|
# CONFIG_AGP is not set
|
||||||
|
|
||||||
|
# netdrv
|
||||||
|
|
||||||
|
# CONFIG_NET_VENDOR_3COM is not set
|
||||||
|
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||||
|
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||||
|
# CONFIG_NET_VENDOR_BROCADE is not set
|
||||||
|
# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||||
|
# CONFIG_NET_VENDOR_CISCO is not set
|
||||||
|
# CONFIG_NET_VENDOR_DEC is not set
|
||||||
|
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||||
|
# CONFIG_NET_VENDOR_EXAR is not set
|
||||||
|
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||||
|
# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||||
|
# CONFIG_NET_VENDOR_SUN is not set
|
||||||
|
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||||
|
# CONFIG_NET_VENDOR_XIRCOM is not set
|
||||||
|
# CONFIG_NET_PCMCIA is not set
|
||||||
|
|
||||||
|
# scsi
|
||||||
|
|
||||||
|
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||||
|
# CONFIG_SCSI_3W_SAS is not set
|
||||||
|
# CONFIG_SCSI_PM8001 is not set
|
||||||
|
# CONFIG_SCSI_IPS is not set
|
||||||
|
# CONFIG_SCSI_CXGB3_ISCSI is not set
|
||||||
|
# CONFIG_SCSI_CXGB4_ISCSI is not set
|
||||||
|
# CONFIG_SCSI_BFA_FC is not set
|
||||||
|
# CONFIG_FUSION is not set
|
||||||
|
# CONFIG_SCSI_3W_9XXX is not set
|
||||||
|
# CONFIG_SCSI_ACARD is not set
|
||||||
|
# CONFIG_SCSI_AACRAID is not set
|
||||||
|
# CONFIG_SCSI_AIC7XXX is not set
|
||||||
|
# CONFIG_SCSI_AIC79XX is not set
|
||||||
|
# CONFIG_SCSI_MPT2SAS is not set
|
||||||
|
# CONFIG_SCSI_MPT3SAS is not set
|
||||||
|
|
||||||
|
# serial
|
||||||
|
# CONFIG_SERIAL_MAX3100 is not set
|
||||||
|
# CONFIG_SERIAL_MAX310X is not set
|
||||||
|
# CONFIG_SERIAL_IFX6X60 is not set
|
||||||
|
|
||||||
|
# drm
|
||||||
|
# CONFIG_DRM_VMWGFX is not set
|
||||||
|
# CONFIG_IMX_IPUV3_CORE is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_SET_MODULE_RONX is not set
|
||||||
|
|
||||||
|
# CONFIG_LATTICE_ECP3_CONFIG is not set
|
||||||
|
# CONFIG_BMP085_SPI is not set
|
||||||
|
# CONFIG_TI_DAC7512 is not set
|
||||||
|
# CONFIG_SPI_ROCKCHIP is not set
|
||||||
107
config-arm64
Normal file
107
config-arm64
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
CONFIG_64BIT=y
|
||||||
|
CONFIG_ARM64=y
|
||||||
|
|
||||||
|
CONFIG_SCHED_MC=y
|
||||||
|
CONFIG_SCHED_SMT=y
|
||||||
|
|
||||||
|
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||||
|
|
||||||
|
# arm64 only SoCs
|
||||||
|
CONFIG_ARCH_XGENE=y
|
||||||
|
|
||||||
|
# CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set
|
||||||
|
# CONFIG_AMBA_PL08X is not set
|
||||||
|
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
|
||||||
|
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||||
|
# CONFIG_ARM64_64K_PAGES is not set
|
||||||
|
CONFIG_COMPAT=y
|
||||||
|
|
||||||
|
CONFIG_BCMA_POSSIBLE=y
|
||||||
|
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||||
|
CONFIG_BQL=y
|
||||||
|
CONFIG_BRCMUTIL=m
|
||||||
|
CONFIG_BUG=y
|
||||||
|
CONFIG_CLKDEV_LOOKUP=y
|
||||||
|
CONFIG_CMDLINE="console=ttyAMA0"
|
||||||
|
# CONFIG_CMDLINE_FORCE is not set
|
||||||
|
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||||
|
|
||||||
|
CONFIG_GENERIC_ACL=y
|
||||||
|
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||||
|
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||||
|
CONFIG_GENERIC_CSUM=y
|
||||||
|
CONFIG_GENERIC_HWEIGHT=y
|
||||||
|
CONFIG_GENERIC_IO=y
|
||||||
|
CONFIG_GENERIC_PCI_IOMAP=y
|
||||||
|
CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
|
||||||
|
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||||
|
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||||
|
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||||
|
CONFIG_HAVE_NET_DSA=y
|
||||||
|
# CONFIG_HUGETLB_PAGE is not set
|
||||||
|
CONFIG_HVC_DRIVER=y
|
||||||
|
CONFIG_HZ=100
|
||||||
|
|
||||||
|
CONFIG_KVM=y
|
||||||
|
CONFIG_KVM_ARM_MAX_VCPUS=8
|
||||||
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
|
|
||||||
|
CONFIG_NFS_ACL_SUPPORT=y
|
||||||
|
CONFIG_NFS_COMMON=y
|
||||||
|
CONFIG_NFS_DEBUG=y
|
||||||
|
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||||
|
CONFIG_NFSD_V2_ACL=y
|
||||||
|
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||||
|
# CONFIG_PL330_DMA is not set
|
||||||
|
CONFIG_RCU_FANOUT=64
|
||||||
|
# CONFIG_RTC_DRV_PL030 is not set
|
||||||
|
CONFIG_RTC_DRV_PL031=y
|
||||||
|
CONFIG_SERIAL_8250_DMA=y
|
||||||
|
# CONFIG_SERIAL_AMBA_PL010 is not set
|
||||||
|
CONFIG_SPARSE_IRQ=y
|
||||||
|
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||||
|
|
||||||
|
# CONFIG_SYS_HYPERVISOR is not set
|
||||||
|
# CONFIG_THERMAL is not set
|
||||||
|
CONFIG_VIRTUALIZATION=y
|
||||||
|
CONFIG_VM_EVENT_COUNTERS=y
|
||||||
|
|
||||||
|
CONFIG_EFI=y
|
||||||
|
CONFIG_EFI_VARS=y
|
||||||
|
CONFIG_EFIVAR_FS=y
|
||||||
|
CONFIG_EFI_VARS_PSTORE=y
|
||||||
|
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||||
|
|
||||||
|
CONFIG_ARM64_CRYPTO=y
|
||||||
|
CONFIG_CRYPTO_SHA1_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_SHA2_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_GHASH_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
|
||||||
|
CONFIG_CRYPTO_DEV_CCP=y
|
||||||
|
CONFIG_CRYPTO_DEV_CCP_DD=m
|
||||||
|
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
|
||||||
|
|
||||||
|
CONFIG_I2C_ACPI=y
|
||||||
|
|
||||||
|
# not arm64
|
||||||
|
# CONFIG_GPIO_ADNP is not set
|
||||||
|
# CONFIG_GPIO_MCP23S08 is not set
|
||||||
|
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||||
|
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||||
|
|
||||||
|
# busted build for various reasons
|
||||||
|
# uses pci_* for some reason to allocate DMA buffers
|
||||||
|
# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
|
||||||
|
# weird include chain resulting in missing u64 type
|
||||||
|
# CONFIG_USB_SPEEDTOUCH is not set
|
||||||
|
# dma issues in headers
|
||||||
|
# CONFIG_PARPORT_PC is not set
|
||||||
|
# CONFIG_VGA_CONSOLE is not set
|
||||||
|
|
||||||
|
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
|
||||||
|
|
||||||
|
# CONFIG_PKCS7_MESSAGE_PARSER is not set
|
||||||
|
|
||||||
5891
config-arm64-kdump
Normal file
5891
config-arm64-kdump
Normal file
File diff suppressed because it is too large
Load Diff
134
config-debug
Normal file
134
config-debug
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
CONFIG_SND_VERBOSE_PRINTK=y
|
||||||
|
CONFIG_SND_DEBUG=y
|
||||||
|
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_MUTEXES=y
|
||||||
|
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
|
||||||
|
CONFIG_DEBUG_RT_MUTEXES=y
|
||||||
|
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||||
|
CONFIG_LOCK_TORTURE_TEST=m
|
||||||
|
CONFIG_PROVE_LOCKING=y
|
||||||
|
CONFIG_DEBUG_SPINLOCK=y
|
||||||
|
CONFIG_PROVE_RCU=y
|
||||||
|
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||||
|
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||||
|
CONFIG_CPUMASK_OFFSTACK=y
|
||||||
|
|
||||||
|
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||||
|
|
||||||
|
CONFIG_FAULT_INJECTION=y
|
||||||
|
CONFIG_FAILSLAB=y
|
||||||
|
CONFIG_FAIL_PAGE_ALLOC=y
|
||||||
|
CONFIG_FAIL_MAKE_REQUEST=y
|
||||||
|
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
||||||
|
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
||||||
|
CONFIG_FAIL_IO_TIMEOUT=y
|
||||||
|
CONFIG_FAIL_MMC_REQUEST=y
|
||||||
|
|
||||||
|
CONFIG_SLUB_DEBUG_ON=y
|
||||||
|
|
||||||
|
CONFIG_LOCK_STAT=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_STACK_USAGE=y
|
||||||
|
|
||||||
|
CONFIG_ACPI_DEBUG=y
|
||||||
|
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_SG=y
|
||||||
|
CONFIG_DEBUG_PI_LIST=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_PAGEALLOC=y
|
||||||
|
|
||||||
|
CONFIG_PAGE_POISONING=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_WRITECOUNT=y
|
||||||
|
CONFIG_DEBUG_OBJECTS=y
|
||||||
|
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||||
|
CONFIG_DEBUG_OBJECTS_FREE=y
|
||||||
|
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||||
|
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
||||||
|
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||||
|
|
||||||
|
# CONFIG_X86_PTDUMP is not set
|
||||||
|
|
||||||
|
CONFIG_CAN_DEBUG_DEVICES=y
|
||||||
|
|
||||||
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
|
|
||||||
|
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_NOTIFIERS=y
|
||||||
|
|
||||||
|
CONFIG_DMA_API_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_MMIOTRACE=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_CREDENTIALS=y
|
||||||
|
|
||||||
|
CONFIG_EXT4_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_XFS_WARN=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
||||||
|
|
||||||
|
# off in both production debug and nodebug builds,
|
||||||
|
# on in rawhide nodebug builds
|
||||||
|
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||||
|
|
||||||
|
CONFIG_JBD2_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_NFSD_FAULT_INJECTION=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_BLK_CGROUP=y
|
||||||
|
|
||||||
|
CONFIG_DRBD_FAULT_INJECTION=y
|
||||||
|
|
||||||
|
CONFIG_ATH_DEBUG=y
|
||||||
|
CONFIG_CARL9170_DEBUGFS=y
|
||||||
|
CONFIG_IWLWIFI_DEVICE_TRACING=y
|
||||||
|
|
||||||
|
CONFIG_RTLWIFI_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||||
|
|
||||||
|
CONFIG_DMADEVICES_DEBUG=y
|
||||||
|
CONFIG_DMADEVICES_VDEBUG=y
|
||||||
|
|
||||||
|
CONFIG_PM_ADVANCED_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
||||||
|
CONFIG_QUOTA_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||||
|
|
||||||
|
CONFIG_KGDB_KDB=y
|
||||||
|
CONFIG_KDB_KEYBOARD=y
|
||||||
|
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||||
|
|
||||||
|
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||||
|
CONFIG_PERCPU_TEST=m
|
||||||
|
CONFIG_TEST_LIST_SORT=y
|
||||||
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
|
|
||||||
|
CONFIG_DETECT_HUNG_TASK=y
|
||||||
|
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||||
|
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||||
|
|
||||||
|
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||||
|
|
||||||
|
CONFIG_DEBUG_KMEMLEAK=y
|
||||||
|
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||||
|
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||||
|
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||||
|
|
||||||
|
CONFIG_MAC80211_MESSAGE_TRACING=y
|
||||||
|
|
||||||
|
CONFIG_EDAC_DEBUG=y
|
||||||
|
|
||||||
|
CONFIG_SPI_DEBUG=y
|
||||||
|
|
||||||
|
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
|
||||||
|
CONFIG_LATENCYTOP=y
|
||||||
|
CONFIG_SCHEDSTATS=y
|
||||||
5393
config-generic
Normal file
5393
config-generic
Normal file
File diff suppressed because it is too large
Load Diff
3014
config-kata-x86_64
Normal file
3014
config-kata-x86_64
Normal file
File diff suppressed because it is too large
Load Diff
2
config-local
Normal file
2
config-local
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# 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.
|
||||||
134
config-nodebug
Normal file
134
config-nodebug
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
CONFIG_SND_VERBOSE_PRINTK=y
|
||||||
|
# CONFIG_SND_DEBUG is not set
|
||||||
|
# CONFIG_SND_PCM_XRUN_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_MUTEXES is not set
|
||||||
|
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
||||||
|
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||||
|
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||||
|
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||||
|
# CONFIG_PROVE_LOCKING is not set
|
||||||
|
# CONFIG_DEBUG_SPINLOCK is not set
|
||||||
|
# CONFIG_PROVE_RCU is not set
|
||||||
|
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||||
|
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||||
|
CONFIG_CPUMASK_OFFSTACK=y
|
||||||
|
|
||||||
|
# CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||||
|
|
||||||
|
# CONFIG_FAULT_INJECTION is not set
|
||||||
|
# CONFIG_FAILSLAB is not set
|
||||||
|
# CONFIG_FAIL_PAGE_ALLOC is not set
|
||||||
|
# CONFIG_FAIL_MAKE_REQUEST is not set
|
||||||
|
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
|
||||||
|
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
|
||||||
|
# CONFIG_FAIL_IO_TIMEOUT is not set
|
||||||
|
# CONFIG_FAIL_MMC_REQUEST is not set
|
||||||
|
|
||||||
|
# CONFIG_SLUB_DEBUG_ON is not set
|
||||||
|
|
||||||
|
# CONFIG_LOCK_STAT is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||||
|
|
||||||
|
CONFIG_ACPI_DEBUG=y
|
||||||
|
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_SG is not set
|
||||||
|
# CONFIG_DEBUG_PI_LIST is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_WRITECOUNT is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS_FREE is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
|
||||||
|
# CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||||
|
|
||||||
|
# CONFIG_X86_PTDUMP is not set
|
||||||
|
|
||||||
|
# CONFIG_CAN_DEBUG_DEVICES is not set
|
||||||
|
|
||||||
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
|
|
||||||
|
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||||
|
|
||||||
|
# CONFIG_DMA_API_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_MMIOTRACE is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||||
|
|
||||||
|
# off in both production debug and nodebug builds,
|
||||||
|
# on in rawhide nodebug builds
|
||||||
|
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||||
|
|
||||||
|
# CONFIG_EXT4_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_XFS_WARN is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||||
|
|
||||||
|
# CONFIG_JBD2_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_BLK_CGROUP is not set
|
||||||
|
|
||||||
|
# CONFIG_DRBD_FAULT_INJECTION is not set
|
||||||
|
|
||||||
|
# CONFIG_ATH_DEBUG is not set
|
||||||
|
# CONFIG_CARL9170_DEBUGFS is not set
|
||||||
|
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
||||||
|
|
||||||
|
# CONFIG_RTLWIFI_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
||||||
|
|
||||||
|
# CONFIG_DMADEVICES_DEBUG is not set
|
||||||
|
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_PM_ADVANCED_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
||||||
|
# CONFIG_QUOTA_DEBUG is not set
|
||||||
|
|
||||||
|
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||||
|
|
||||||
|
CONFIG_KGDB_KDB=y
|
||||||
|
CONFIG_KDB_KEYBOARD=y
|
||||||
|
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
|
||||||
|
# CONFIG_PERCPU_TEST is not set
|
||||||
|
# CONFIG_TEST_LIST_SORT is not set
|
||||||
|
# CONFIG_TEST_STRING_HELPERS is not set
|
||||||
|
|
||||||
|
# CONFIG_DETECT_HUNG_TASK is not set
|
||||||
|
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||||
|
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||||
|
|
||||||
|
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||||
|
|
||||||
|
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||||
|
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||||
|
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||||
|
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||||
|
|
||||||
|
# CONFIG_MAC80211_MESSAGE_TRACING is not set
|
||||||
|
|
||||||
|
# CONFIG_EDAC_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_SPI_DEBUG is not set
|
||||||
|
|
||||||
|
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
|
||||||
|
|
||||||
|
# CONFIG_SCHEDSTATS is not set
|
||||||
|
# CONFIG_LATENCYTOP is not set
|
||||||
|
|
||||||
3
cpupower.config
Normal file
3
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
cpupower.service
Normal file
13
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
|
||||||
0
extra_certificates
Normal file
0
extra_certificates
Normal file
89
gcov_blacklist.sh
Normal file
89
gcov_blacklist.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# this scripts is used to patch functions for GCov in the following way
|
||||||
|
# This is style style_a
|
||||||
|
# //LCOV_EXCL_START
|
||||||
|
# void foo(void )
|
||||||
|
# {
|
||||||
|
# .......
|
||||||
|
# }
|
||||||
|
# //LCOV_EXCL_STOP
|
||||||
|
# This is style_b
|
||||||
|
# //LCOV_EXCL_START
|
||||||
|
# void
|
||||||
|
# foo(void )
|
||||||
|
# {
|
||||||
|
# ....
|
||||||
|
# }
|
||||||
|
# //LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|
||||||
|
FUNC_MAX_LINE=500
|
||||||
|
tags_file=./tags
|
||||||
|
func_records=./funcs
|
||||||
|
function_file=$1
|
||||||
|
|
||||||
|
function usage()
|
||||||
|
{
|
||||||
|
echo "Usage: sh gcov_blacklist.sh function_list_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
function func_style()
|
||||||
|
{
|
||||||
|
func="$*"
|
||||||
|
word=`echo "$func" | grep -P -o "\b.*\(" | sed "s/(//" | wc -w`
|
||||||
|
if [[ "$word" > "1" ]]; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check args
|
||||||
|
[ $# != 1 ] && usage && exit
|
||||||
|
[ ! -f $function_file ] && echo "error:$function_file does not exit" && exit
|
||||||
|
[ -f $func_records ] && rm $func_records
|
||||||
|
|
||||||
|
# create tags file
|
||||||
|
[ -f $tags_file ] && rm $tags_file
|
||||||
|
ctags -R * > /dev/null
|
||||||
|
|
||||||
|
# create func regx file
|
||||||
|
count=0
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
# line start with '#' and empty line are ignored
|
||||||
|
echo $line | grep "#" > /dev/null && continue
|
||||||
|
echo $line | grep -E "^\s?$" > /dev/null && continue
|
||||||
|
func_name=`echo "$line" | awk '{print $1}'`
|
||||||
|
grep -w $func_name $tags_file | sed -n "/;\"\tf/"p | awk -F"\t" '{print $2,$3}' | tee -a $func_records | tee > /dev/null && count=$(expr $count + 1)
|
||||||
|
done < $function_file
|
||||||
|
|
||||||
|
# add LCOV_EXCL
|
||||||
|
count=0
|
||||||
|
while read line;
|
||||||
|
do
|
||||||
|
func=`echo "$line" | cut -d " " -f1 --complement | cut -d "/" -f2`
|
||||||
|
func_style ${func}
|
||||||
|
[ $? -eq "1" ] && style="style_a" || style="style_b"
|
||||||
|
func=${func//\*/\\*}
|
||||||
|
filename=`echo "$line" | awk '{print $1}'`
|
||||||
|
# check filename
|
||||||
|
echo $filename | grep -vE "\.c$|\.h$" > /dev/null && continue
|
||||||
|
linenum=`sed -n "/${func}/,/{/=" $filename | head -n 1`
|
||||||
|
if [[ "$style" == "style_a" ]]; then
|
||||||
|
linenum=$(expr $linenum - 1)
|
||||||
|
else
|
||||||
|
linenum=$(expr $linenum - 2)
|
||||||
|
fi
|
||||||
|
sed -n ${linenum}p $filename | grep "LCOV_EXCL_START" > /dev/null || sed -i "${linenum}a\//LCOV_EXCL_START" $filename
|
||||||
|
offset=$(grep "$func" -A $FUNC_MAX_LINE $filename | grep -n -m 1 "^}" | cut -d ":" -f 1)
|
||||||
|
if [[ "$style" == "style_a" ]]; then
|
||||||
|
linenum=`expr $linenum + $offset + 1`
|
||||||
|
else
|
||||||
|
linenum=`expr $linenum + $offset + 2`
|
||||||
|
fi
|
||||||
|
sed -n ${linenum}p $filename | grep "LCOV_EXCL_STOP" > /dev/null || sed -i "${linenum}a\//LCOV_EXCL_STOP" $filename
|
||||||
|
[ $? == 0 ] && count=$(expr $count + 1)
|
||||||
|
done < $func_records
|
||||||
|
|
||||||
|
echo "done"
|
||||||
307
guards
Normal file
307
guards
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
#############################################################################
|
||||||
|
# Copyright (c) 2003-2007,2009 Novell, Inc.
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of version 2 of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, contact Novell, Inc.
|
||||||
|
#
|
||||||
|
# To contact Novell about this file by physical or electronic mail,
|
||||||
|
# you may find current contact information at www.novell.com
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Guards:
|
||||||
|
#
|
||||||
|
# +xxx include if xxx is defined
|
||||||
|
# -xxx exclude if xxx is defined
|
||||||
|
# +!xxx include if xxx is not defined
|
||||||
|
# -!xxx exclude if xxx is not defined
|
||||||
|
#
|
||||||
|
|
||||||
|
use FileHandle;
|
||||||
|
use Getopt::Long;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
# Prototypes
|
||||||
|
sub files_in($$);
|
||||||
|
sub parse($$);
|
||||||
|
sub help();
|
||||||
|
|
||||||
|
#sub strip_ext($) {
|
||||||
|
# local ($_) = @_;
|
||||||
|
# s/\.(diff?|patch)$//;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#sub try_ext($) {
|
||||||
|
# my ($path) = @_;
|
||||||
|
# for my $p in (($path, "$path.diff", "$path.dif", "$path.patch")) {
|
||||||
|
# return $p
|
||||||
|
# if (-f $p);
|
||||||
|
# }
|
||||||
|
# return undef;
|
||||||
|
#}
|
||||||
|
|
||||||
|
sub slashme($) {
|
||||||
|
my ($dir) = @_;
|
||||||
|
$dir =~ s#([^/])$#$&/#; # append a slash if necessary
|
||||||
|
if ($dir eq './') {
|
||||||
|
return '';
|
||||||
|
} else {
|
||||||
|
return $dir;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Generate a list of files in a directory
|
||||||
|
#
|
||||||
|
sub files_in($$) {
|
||||||
|
my ($dir, $path) = @_;
|
||||||
|
my $dh = new FileHandle;
|
||||||
|
my (@files, $file);
|
||||||
|
|
||||||
|
|
||||||
|
opendir $dh, length("$dir$path") ? "$dir$path" : '.'
|
||||||
|
or die "$dir$path: $!\n";
|
||||||
|
while ($file = readdir($dh)) {
|
||||||
|
next if $file =~ /^(\.|\.\.|\.#.*|CVS|.*~)$/;
|
||||||
|
if (-d "$dir$path$file") {
|
||||||
|
@files = (@files, files_in($dir, "$path$file/"));
|
||||||
|
} else {
|
||||||
|
#print "[$path$file]\n";
|
||||||
|
push @files, "$path$file";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir $dh;
|
||||||
|
return @files;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse a configuration file
|
||||||
|
# Callback called with ($patch, @guards) arguments
|
||||||
|
#
|
||||||
|
sub parse($$) {
|
||||||
|
my ($fh, $callback) = @_;
|
||||||
|
|
||||||
|
my $line = "";
|
||||||
|
|
||||||
|
while (<$fh>) {
|
||||||
|
chomp;
|
||||||
|
s/(^|\s+)#.*//;
|
||||||
|
if (s/\\$/ /) {
|
||||||
|
$line .= $_;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
$line .= $_;
|
||||||
|
my @guards = ();
|
||||||
|
foreach my $token (split /[\s\t\n]+/, $line) {
|
||||||
|
next if $token eq "";
|
||||||
|
if ($token =~ /^[-+]/) {
|
||||||
|
push @guards, $token;
|
||||||
|
} else {
|
||||||
|
#print "[" . join(",", @guards) . "] $token\n";
|
||||||
|
&$callback($token, @guards);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$line = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Command line options
|
||||||
|
#
|
||||||
|
my ($dir, $config, $default, $check, $list, $invert_match, $with_guards) =
|
||||||
|
( '', '-', 1, 0, 0, 0, 0);
|
||||||
|
my @path;
|
||||||
|
|
||||||
|
# Help text
|
||||||
|
#
|
||||||
|
sub help() {
|
||||||
|
print "$0 - select from a list of files guarded by conditions\n";
|
||||||
|
print "SYNOPSIS: $0 [--prefix=dir] [--path=dir1:dir2:...]\n" .
|
||||||
|
" [--default=0|1] [--check|--list] [--invert-match]\n" .
|
||||||
|
" [--with-guards] [--config=file] symbol ...\n\n" .
|
||||||
|
" (Default values: --path='" . join(':', @path) . "', " .
|
||||||
|
"--default=$default)\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse command line options
|
||||||
|
#
|
||||||
|
Getopt::Long::Configure ("bundling");
|
||||||
|
eval {
|
||||||
|
unless (GetOptions (
|
||||||
|
'd|prefix=s' => \$dir,
|
||||||
|
'c|config=s' => \$config,
|
||||||
|
'C|check' => \$check,
|
||||||
|
'l|list' => \$list,
|
||||||
|
'w|with-guards' => \$with_guards,
|
||||||
|
'p|path=s' => \@path,
|
||||||
|
'D|default=i' => \$default,
|
||||||
|
'v|invert-match' => \$invert_match,
|
||||||
|
'h|help' => sub { help(); exit 0; })) {
|
||||||
|
help();
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if ($@) {
|
||||||
|
print "$@";
|
||||||
|
help();
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@path = ('.')
|
||||||
|
unless (@path);
|
||||||
|
@path = split(/:/, join(':', @path));
|
||||||
|
|
||||||
|
my $fh = ($config eq '-') ? \*STDIN : new FileHandle($config)
|
||||||
|
or die "$config: $!\n";
|
||||||
|
|
||||||
|
$dir = slashme($dir);
|
||||||
|
|
||||||
|
if ($check) {
|
||||||
|
# Check for duplicate files, or for files that are not referenced by
|
||||||
|
# the specification.
|
||||||
|
|
||||||
|
my $problems = 0;
|
||||||
|
my @files;
|
||||||
|
|
||||||
|
foreach (@path) {
|
||||||
|
@files = (@files, files_in($dir, slashme($_)));
|
||||||
|
}
|
||||||
|
my %files = map { $_ => 0 } @files;
|
||||||
|
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
if (exists $files{$patch}) {
|
||||||
|
$files{$patch}++;
|
||||||
|
} else {
|
||||||
|
print "Not found: $dir$patch\n";
|
||||||
|
$problems++;
|
||||||
|
}});
|
||||||
|
|
||||||
|
$fh->close();
|
||||||
|
|
||||||
|
my ($file, $ref);
|
||||||
|
while (($file, $ref) = each %files) {
|
||||||
|
next if $ref == 1;
|
||||||
|
|
||||||
|
if ($ref == 0) {
|
||||||
|
print "Unused: $file\n" if $ref == 0;
|
||||||
|
$problems++;
|
||||||
|
}
|
||||||
|
if ($ref > 1) {
|
||||||
|
print "Warning: multiple uses: $file\n" if $ref > 1;
|
||||||
|
# This is not an error if the entries are mutually exclusive...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit $problems ? 1 : 0;
|
||||||
|
|
||||||
|
} elsif ($list) {
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
print join(' ', @guards), ' '
|
||||||
|
if (@guards && $with_guards);
|
||||||
|
print "$dir$patch\n";
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
# Generate a list of patches to apply.
|
||||||
|
|
||||||
|
my %symbols = map { $_ => 1 } @ARGV;
|
||||||
|
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
|
||||||
|
my $selected;
|
||||||
|
if (@guards) {
|
||||||
|
# If the first guard is -xxx, the patch is included by default;
|
||||||
|
# if it is +xxx, the patch is excluded by default.
|
||||||
|
$selected = ($guards[0] =~ /^-/);
|
||||||
|
|
||||||
|
foreach (@guards) {
|
||||||
|
/^([-+])(!?)(.*)?/
|
||||||
|
or die "Bad guard '$_'\n";
|
||||||
|
|
||||||
|
# Check if the guard matches
|
||||||
|
if (($2 eq '!' && !exists $symbols{$3}) ||
|
||||||
|
($2 eq '' && ( $3 eq '' || exists $symbols{$3}))) {
|
||||||
|
# Include or exclude
|
||||||
|
$selected = ($1 eq '+');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
# If there are no guards, use the specified default result.
|
||||||
|
$selected = $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "$dir$patch\n"
|
||||||
|
if $selected ^ $invert_match;
|
||||||
|
});
|
||||||
|
|
||||||
|
$fh->close();
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
guards - select from a list of files guarded by conditions
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
F<guards> [--prefix=F<dir>] [--path=F<dir1:dir2:...>] [--default=<0|1>]
|
||||||
|
[--check|--list] [--invert-match] [--with-guards] [--config=<file>]
|
||||||
|
I<symbol> ...
|
||||||
|
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
The script reads a configuration file that may contain so-called guards, file
|
||||||
|
names, and comments, and writes those file names that satisfy all guards to
|
||||||
|
standard output. The script takes a list of symbols as its arguments. Each line
|
||||||
|
in the configuration file is processed separately. Lines may start with a
|
||||||
|
number of guards. The following guards are defined:
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
+I<xxx> Include the file(s) on this line if the symbol I<xxx> is defined.
|
||||||
|
|
||||||
|
-I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is defined.
|
||||||
|
|
||||||
|
+!I<xxx> Include the file(s) on this line if the symbol I<xxx> is not defined.
|
||||||
|
|
||||||
|
-!I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is not defined.
|
||||||
|
|
||||||
|
- Exclude this file. Used to avoid spurious I<--check> messages.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
The guards are processed left to right. The last guard that matches determines
|
||||||
|
if the file is included. If no guard is specified, the I<--default>
|
||||||
|
setting determines if the file is included.
|
||||||
|
|
||||||
|
If no configuration file is specified, the script reads from standard input.
|
||||||
|
|
||||||
|
The I<--check> option is used to compare the specification file against the
|
||||||
|
file system. If files are referenced in the specification that do not exist, or
|
||||||
|
if files are not enlisted in the specification file warnings are printed. The
|
||||||
|
I<--path> option can be used to specify which directory or directories to scan.
|
||||||
|
Multiple directories are eparated by a colon (C<:>) character. The
|
||||||
|
I<--prefix> option specifies the location of the files.
|
||||||
|
|
||||||
|
Use I<--list> to list all files independend of any rules. Use I<--invert-match>
|
||||||
|
to list only the excluded patches. Use I<--with-guards> to also include all
|
||||||
|
inclusion and exclusion rules.
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Andreas Gruenbacher <agruen@suse.de>, SUSE Labs
|
||||||
|
|
||||||
|
|
||||||
624
kabi_whitelist_aarch64
Normal file
624
kabi_whitelist_aarch64
Normal file
@ -0,0 +1,624 @@
|
|||||||
|
[_aarch64_whitelist]
|
||||||
|
___pskb_trim
|
||||||
|
__alloc_pages_nodemask
|
||||||
|
__alloc_percpu
|
||||||
|
__alloc_skb
|
||||||
|
__bdevname
|
||||||
|
__bitmap_andnot
|
||||||
|
__bitmap_equal
|
||||||
|
__bitmap_intersects
|
||||||
|
__bitmap_parse
|
||||||
|
__bitmap_subset
|
||||||
|
__bitmap_weight
|
||||||
|
__blk_put_request
|
||||||
|
__blockdev_direct_IO
|
||||||
|
__class_create
|
||||||
|
__class_register
|
||||||
|
__const_udelay
|
||||||
|
__dev_get_by_index
|
||||||
|
__dev_get_by_name
|
||||||
|
__dynamic_dev_dbg
|
||||||
|
__ethtool_get_settings
|
||||||
|
__genl_register_family
|
||||||
|
__get_free_pages
|
||||||
|
__get_page_tail
|
||||||
|
__init_rwsem
|
||||||
|
__init_waitqueue_head
|
||||||
|
__ipv6_addr_type
|
||||||
|
__kmalloc
|
||||||
|
__lock_page
|
||||||
|
__mmdrop
|
||||||
|
__mmu_notifier_register
|
||||||
|
__module_get
|
||||||
|
__mutex_init
|
||||||
|
__napi_complete
|
||||||
|
__napi_schedule
|
||||||
|
__ndelay
|
||||||
|
__netdev_alloc_skb
|
||||||
|
__netif_schedule
|
||||||
|
__nlmsg_put
|
||||||
|
__node_distance
|
||||||
|
__pagevec_release
|
||||||
|
__pci_register_driver
|
||||||
|
__per_cpu_offset
|
||||||
|
__pskb_pull_tail
|
||||||
|
__register_chrdev
|
||||||
|
__release_region
|
||||||
|
__request_module
|
||||||
|
__request_region
|
||||||
|
__root_device_register
|
||||||
|
__skb_checksum_complete
|
||||||
|
__skb_get_hash
|
||||||
|
__skb_gso_segment
|
||||||
|
__symbol_get
|
||||||
|
__symbol_put
|
||||||
|
__task_pid_nr_ns
|
||||||
|
__tracepoint_module_get
|
||||||
|
__udelay
|
||||||
|
__unregister_chrdev
|
||||||
|
__vmalloc
|
||||||
|
__wake_up
|
||||||
|
_cond_resched
|
||||||
|
_dev_info
|
||||||
|
_raw_read_lock
|
||||||
|
_raw_read_lock_bh
|
||||||
|
_raw_read_lock_irqsave
|
||||||
|
_raw_read_unlock_bh
|
||||||
|
_raw_read_unlock_irqrestore
|
||||||
|
_raw_spin_lock
|
||||||
|
_raw_spin_lock_bh
|
||||||
|
_raw_spin_lock_irq
|
||||||
|
_raw_spin_lock_irqsave
|
||||||
|
_raw_spin_trylock
|
||||||
|
_raw_spin_unlock_bh
|
||||||
|
_raw_spin_unlock_irqrestore
|
||||||
|
_raw_write_lock
|
||||||
|
_raw_write_lock_bh
|
||||||
|
_raw_write_lock_irq
|
||||||
|
_raw_write_lock_irqsave
|
||||||
|
_raw_write_unlock_bh
|
||||||
|
_raw_write_unlock_irqrestore
|
||||||
|
add_disk
|
||||||
|
add_timer
|
||||||
|
add_wait_queue
|
||||||
|
add_wait_queue_exclusive
|
||||||
|
alloc_chrdev_region
|
||||||
|
alloc_disk
|
||||||
|
alloc_etherdev_mqs
|
||||||
|
alloc_netdev_mqs
|
||||||
|
alloc_pages_current
|
||||||
|
arp_create
|
||||||
|
arp_send
|
||||||
|
arp_xmit
|
||||||
|
atomic_notifier_chain_register
|
||||||
|
atomic_notifier_chain_unregister
|
||||||
|
autoremove_wake_function
|
||||||
|
bdevname
|
||||||
|
bdget
|
||||||
|
bdget_disk
|
||||||
|
bdi_destroy
|
||||||
|
bdi_init
|
||||||
|
bdi_register_dev
|
||||||
|
bdput
|
||||||
|
bio_add_page
|
||||||
|
bio_alloc_bioset
|
||||||
|
bio_clone_bioset
|
||||||
|
bio_endio
|
||||||
|
bio_get_nr_vecs
|
||||||
|
bio_init
|
||||||
|
bio_put
|
||||||
|
bitmap_release_region
|
||||||
|
blk_alloc_queue
|
||||||
|
blk_cleanup_queue
|
||||||
|
blk_execute_rq
|
||||||
|
blk_execute_rq_nowait
|
||||||
|
blk_fetch_request
|
||||||
|
blk_get_queue
|
||||||
|
blk_get_request
|
||||||
|
blk_init_queue
|
||||||
|
blk_make_request
|
||||||
|
blk_put_queue
|
||||||
|
blk_put_request
|
||||||
|
blk_queue_bounce
|
||||||
|
blk_queue_bounce_limit
|
||||||
|
blk_queue_dma_alignment
|
||||||
|
blk_queue_logical_block_size
|
||||||
|
blk_queue_make_request
|
||||||
|
blk_queue_max_hw_sectors
|
||||||
|
blk_queue_max_segments
|
||||||
|
blk_queue_merge_bvec
|
||||||
|
blk_queue_segment_boundary
|
||||||
|
blk_queue_softirq_done
|
||||||
|
blk_queue_stack_limits
|
||||||
|
blk_rq_map_kern
|
||||||
|
blk_start_plug
|
||||||
|
blk_start_queue
|
||||||
|
blk_stop_queue
|
||||||
|
blk_sync_queue
|
||||||
|
blkdev_get
|
||||||
|
blkdev_get_by_dev
|
||||||
|
blkdev_get_by_path
|
||||||
|
blkdev_issue_discard
|
||||||
|
blkdev_put
|
||||||
|
block_write_begin
|
||||||
|
block_write_full_page
|
||||||
|
boot_tvec_bases
|
||||||
|
bus_register
|
||||||
|
bus_unregister
|
||||||
|
call_rcu_sched
|
||||||
|
call_usermodehelper
|
||||||
|
call_usermodehelper_exec
|
||||||
|
call_usermodehelper_setup
|
||||||
|
cancel_delayed_work
|
||||||
|
cancel_delayed_work_sync
|
||||||
|
cdev_add
|
||||||
|
cdev_alloc
|
||||||
|
cdev_del
|
||||||
|
cdev_init
|
||||||
|
class_destroy
|
||||||
|
class_unregister
|
||||||
|
clear_page_dirty_for_io
|
||||||
|
complete
|
||||||
|
complete_all
|
||||||
|
complete_and_exit
|
||||||
|
consume_skb
|
||||||
|
copy_page
|
||||||
|
cpu_active_mask
|
||||||
|
cpu_bit_bitmap
|
||||||
|
cpu_online_mask
|
||||||
|
cpu_possible_mask
|
||||||
|
cpu_present_mask
|
||||||
|
csum_ipv6_magic
|
||||||
|
csum_partial
|
||||||
|
current_fs_time
|
||||||
|
default_wake_function
|
||||||
|
del_gendisk
|
||||||
|
del_timer
|
||||||
|
del_timer_sync
|
||||||
|
delayed_work_timer_fn
|
||||||
|
destroy_workqueue
|
||||||
|
dev_addr_add
|
||||||
|
dev_addr_del
|
||||||
|
dev_close
|
||||||
|
dev_err
|
||||||
|
dev_get_by_index
|
||||||
|
dev_get_by_name
|
||||||
|
dev_get_stats
|
||||||
|
dev_mc_add
|
||||||
|
dev_mc_del
|
||||||
|
dev_open
|
||||||
|
dev_printk
|
||||||
|
dev_set_allmulti
|
||||||
|
dev_set_mac_address
|
||||||
|
dev_set_mtu
|
||||||
|
dev_set_name
|
||||||
|
dev_set_promiscuity
|
||||||
|
dev_trans_start
|
||||||
|
dev_warn
|
||||||
|
device_create
|
||||||
|
device_create_file
|
||||||
|
device_del
|
||||||
|
device_destroy
|
||||||
|
device_register
|
||||||
|
device_remove_file
|
||||||
|
device_unregister
|
||||||
|
disable_irq
|
||||||
|
disable_irq_nosync
|
||||||
|
dma_ops
|
||||||
|
dmi_find_device
|
||||||
|
dmi_get_system_info
|
||||||
|
do_exit
|
||||||
|
do_gettimeofday
|
||||||
|
down
|
||||||
|
down_interruptible
|
||||||
|
down_read
|
||||||
|
down_read_trylock
|
||||||
|
down_trylock
|
||||||
|
down_write
|
||||||
|
down_write_trylock
|
||||||
|
driver_create_file
|
||||||
|
driver_register
|
||||||
|
driver_remove_file
|
||||||
|
driver_unregister
|
||||||
|
dst_release
|
||||||
|
dump_stack
|
||||||
|
efi
|
||||||
|
elevator_change
|
||||||
|
emergency_restart
|
||||||
|
enable_irq
|
||||||
|
end_page_writeback
|
||||||
|
eth_change_mtu
|
||||||
|
eth_mac_addr
|
||||||
|
eth_type_trans
|
||||||
|
eth_validate_addr
|
||||||
|
ether_setup
|
||||||
|
ethtool_op_get_link
|
||||||
|
fb_dealloc_cmap
|
||||||
|
find_get_pages_tag
|
||||||
|
find_module
|
||||||
|
find_next_bit
|
||||||
|
find_next_zero_bit
|
||||||
|
find_vma
|
||||||
|
find_vpid
|
||||||
|
finish_wait
|
||||||
|
flush_scheduled_work
|
||||||
|
flush_signals
|
||||||
|
framebuffer_alloc
|
||||||
|
framebuffer_release
|
||||||
|
free_irq
|
||||||
|
free_netdev
|
||||||
|
free_pages
|
||||||
|
free_percpu
|
||||||
|
fs_bio_set
|
||||||
|
fsync_bdev
|
||||||
|
generic_make_request
|
||||||
|
genl_unregister_family
|
||||||
|
genlmsg_put
|
||||||
|
get_device
|
||||||
|
get_random_bytes
|
||||||
|
get_seconds
|
||||||
|
get_task_mm
|
||||||
|
get_user_pages
|
||||||
|
get_zeroed_page
|
||||||
|
hci_alloc_dev
|
||||||
|
hci_free_dev
|
||||||
|
hci_register_dev
|
||||||
|
hci_unregister_dev
|
||||||
|
hrtimer_cancel
|
||||||
|
hrtimer_forward
|
||||||
|
hrtimer_init
|
||||||
|
hrtimer_start
|
||||||
|
icmpv6_send
|
||||||
|
in_aton
|
||||||
|
inc_zone_page_state
|
||||||
|
inet_proto_csum_replace4
|
||||||
|
init_net
|
||||||
|
init_task
|
||||||
|
init_timer_key
|
||||||
|
init_uts_ns
|
||||||
|
invalidate_bdev
|
||||||
|
invalidate_partition
|
||||||
|
ioctl_by_bdev
|
||||||
|
ip_send_check
|
||||||
|
ipmi_register_smi
|
||||||
|
ipmi_smi_msg_received
|
||||||
|
ipmi_unregister_smi
|
||||||
|
ipv6_dev_get_saddr
|
||||||
|
ipv6_ext_hdr
|
||||||
|
ipv6_skip_exthdr
|
||||||
|
irq_stat
|
||||||
|
jiffies
|
||||||
|
jiffies_64
|
||||||
|
jiffies_to_msecs
|
||||||
|
kernel_bind
|
||||||
|
kernel_getsockopt
|
||||||
|
kernel_recvmsg
|
||||||
|
kernel_sendmsg
|
||||||
|
kernel_setsockopt
|
||||||
|
kernel_sock_ioctl
|
||||||
|
kfree
|
||||||
|
kfree_skb
|
||||||
|
kill_block_super
|
||||||
|
kill_pid
|
||||||
|
kmalloc_caches
|
||||||
|
kmalloc_order_trace
|
||||||
|
kmem_cache_alloc
|
||||||
|
kmem_cache_alloc_node_trace
|
||||||
|
kmem_cache_alloc_trace
|
||||||
|
kmem_cache_create
|
||||||
|
kmem_cache_destroy
|
||||||
|
kmem_cache_free
|
||||||
|
kmem_cache_shrink
|
||||||
|
kobject_get
|
||||||
|
kobject_put
|
||||||
|
kobject_set_name
|
||||||
|
krealloc
|
||||||
|
kstrtoll
|
||||||
|
kthread_bind
|
||||||
|
kthread_create_on_node
|
||||||
|
kthread_should_stop
|
||||||
|
kthread_stop
|
||||||
|
ktime_get
|
||||||
|
lock_sock_nested
|
||||||
|
lookup_bdev
|
||||||
|
mapping_tagged
|
||||||
|
mark_page_accessed
|
||||||
|
mem_section
|
||||||
|
memchr
|
||||||
|
memcmp
|
||||||
|
memcpy
|
||||||
|
memmove
|
||||||
|
memory_read_from_buffer
|
||||||
|
mempool_alloc
|
||||||
|
mempool_alloc_slab
|
||||||
|
mempool_create
|
||||||
|
mempool_destroy
|
||||||
|
mempool_free
|
||||||
|
mempool_free_slab
|
||||||
|
memset
|
||||||
|
misc_deregister
|
||||||
|
misc_register
|
||||||
|
mmput
|
||||||
|
mmu_notifier_register
|
||||||
|
mmu_notifier_unregister
|
||||||
|
mod_timer
|
||||||
|
module_layout
|
||||||
|
module_put
|
||||||
|
module_refcount
|
||||||
|
msecs_to_jiffies
|
||||||
|
msleep
|
||||||
|
mutex_lock
|
||||||
|
mutex_trylock
|
||||||
|
mutex_unlock
|
||||||
|
napi_get_frags
|
||||||
|
napi_gro_frags
|
||||||
|
napi_gro_receive
|
||||||
|
net_namespace_list
|
||||||
|
net_ratelimit
|
||||||
|
netdev_change_features
|
||||||
|
netdev_features_change
|
||||||
|
netdev_increment_features
|
||||||
|
netdev_master_upper_dev_get
|
||||||
|
netdev_master_upper_dev_link
|
||||||
|
netdev_rx_handler_register
|
||||||
|
netdev_rx_handler_unregister
|
||||||
|
netdev_update_features
|
||||||
|
netif_carrier_off
|
||||||
|
netif_carrier_on
|
||||||
|
netif_device_attach
|
||||||
|
netif_device_detach
|
||||||
|
netif_napi_add
|
||||||
|
netif_napi_del
|
||||||
|
netif_rx
|
||||||
|
netif_rx_ni
|
||||||
|
netif_set_real_num_tx_queues
|
||||||
|
netlink_broadcast
|
||||||
|
netlink_unicast
|
||||||
|
nf_register_hooks
|
||||||
|
nf_unregister_hooks
|
||||||
|
nla_find
|
||||||
|
nla_memcpy
|
||||||
|
nla_put
|
||||||
|
nla_reserve
|
||||||
|
node_data
|
||||||
|
node_states
|
||||||
|
node_to_cpumask_map
|
||||||
|
nr_cpu_ids
|
||||||
|
numa_node
|
||||||
|
on_each_cpu
|
||||||
|
pagevec_lookup
|
||||||
|
pagevec_lookup_tag
|
||||||
|
panic
|
||||||
|
panic_notifier_list
|
||||||
|
param_array_ops
|
||||||
|
param_get_charp
|
||||||
|
param_get_int
|
||||||
|
param_get_long
|
||||||
|
param_get_uint
|
||||||
|
param_get_ulong
|
||||||
|
param_ops_bool
|
||||||
|
param_ops_byte
|
||||||
|
param_ops_charp
|
||||||
|
param_ops_int
|
||||||
|
param_ops_long
|
||||||
|
param_ops_short
|
||||||
|
param_ops_string
|
||||||
|
param_ops_uint
|
||||||
|
param_ops_ulong
|
||||||
|
param_set_bool
|
||||||
|
param_set_charp
|
||||||
|
param_set_int
|
||||||
|
param_set_long
|
||||||
|
param_set_uint
|
||||||
|
param_set_ulong
|
||||||
|
pci_bus_read_config_byte
|
||||||
|
pci_bus_read_config_dword
|
||||||
|
pci_bus_read_config_word
|
||||||
|
pci_bus_write_config_byte
|
||||||
|
pci_bus_write_config_dword
|
||||||
|
pci_bus_write_config_word
|
||||||
|
pci_clear_master
|
||||||
|
pci_disable_device
|
||||||
|
pci_disable_msi
|
||||||
|
pci_disable_msix
|
||||||
|
pci_enable_device
|
||||||
|
pci_enable_msix
|
||||||
|
pci_find_capability
|
||||||
|
pci_get_device
|
||||||
|
pci_get_subsys
|
||||||
|
pci_iomap
|
||||||
|
pci_release_regions
|
||||||
|
pci_request_regions
|
||||||
|
pci_set_master
|
||||||
|
pci_unregister_driver
|
||||||
|
pid_task
|
||||||
|
platform_device_add
|
||||||
|
platform_device_alloc
|
||||||
|
platform_device_put
|
||||||
|
platform_device_unregister
|
||||||
|
prepare_to_wait
|
||||||
|
prepare_to_wait_exclusive
|
||||||
|
printk
|
||||||
|
proc_create_data
|
||||||
|
proc_dointvec
|
||||||
|
proc_dointvec_minmax
|
||||||
|
proc_dostring
|
||||||
|
proc_mkdir
|
||||||
|
proc_mkdir_mode
|
||||||
|
pskb_expand_head
|
||||||
|
put_device
|
||||||
|
put_disk
|
||||||
|
put_page
|
||||||
|
queue_delayed_work_on
|
||||||
|
queue_work_on
|
||||||
|
rcu_barrier
|
||||||
|
recalc_sigpending
|
||||||
|
ref_module
|
||||||
|
register_blkdev
|
||||||
|
register_inet6addr_notifier
|
||||||
|
register_inetaddr_notifier
|
||||||
|
register_netdev
|
||||||
|
register_netdevice
|
||||||
|
register_netdevice_notifier
|
||||||
|
register_netevent_notifier
|
||||||
|
register_pernet_subsys
|
||||||
|
register_reboot_notifier
|
||||||
|
register_sysctl_paths
|
||||||
|
release_sock
|
||||||
|
remap_pfn_range
|
||||||
|
request_threaded_irq
|
||||||
|
root_device_unregister
|
||||||
|
rtnl_is_locked
|
||||||
|
rtnl_link_register
|
||||||
|
rtnl_link_unregister
|
||||||
|
rtnl_lock
|
||||||
|
rtnl_trylock
|
||||||
|
rtnl_unlock
|
||||||
|
schedule
|
||||||
|
schedule_timeout
|
||||||
|
scsi_add_host_with_dma
|
||||||
|
scsi_command_size_tbl
|
||||||
|
scsi_device_get
|
||||||
|
scsi_device_lookup
|
||||||
|
scsi_device_put
|
||||||
|
scsi_device_type
|
||||||
|
scsi_host_alloc
|
||||||
|
scsi_host_lookup
|
||||||
|
scsi_host_put
|
||||||
|
scsi_host_set_state
|
||||||
|
scsi_is_fc_rport
|
||||||
|
scsi_is_sdev_device
|
||||||
|
scsi_register_driver
|
||||||
|
scsi_remove_device
|
||||||
|
scsi_remove_host
|
||||||
|
send_sig
|
||||||
|
send_sig_info
|
||||||
|
seq_lseek
|
||||||
|
seq_open
|
||||||
|
seq_printf
|
||||||
|
seq_putc
|
||||||
|
seq_puts
|
||||||
|
seq_read
|
||||||
|
seq_release
|
||||||
|
seq_write
|
||||||
|
set_blocksize
|
||||||
|
set_cpus_allowed_ptr
|
||||||
|
set_device_ro
|
||||||
|
set_disk_ro
|
||||||
|
set_page_dirty
|
||||||
|
si_meminfo
|
||||||
|
simple_strtol
|
||||||
|
simple_strtoul
|
||||||
|
simple_strtoull
|
||||||
|
single_open
|
||||||
|
single_release
|
||||||
|
sk_alloc
|
||||||
|
sk_free
|
||||||
|
skb_checksum
|
||||||
|
skb_checksum_help
|
||||||
|
skb_clone
|
||||||
|
skb_copy
|
||||||
|
skb_copy_bits
|
||||||
|
skb_copy_expand
|
||||||
|
skb_dequeue
|
||||||
|
skb_dequeue_tail
|
||||||
|
skb_make_writable
|
||||||
|
skb_pad
|
||||||
|
skb_partial_csum_set
|
||||||
|
skb_pull
|
||||||
|
skb_push
|
||||||
|
skb_put
|
||||||
|
skb_queue_head
|
||||||
|
skb_queue_purge
|
||||||
|
skb_queue_tail
|
||||||
|
skb_realloc_headroom
|
||||||
|
skb_recv_datagram
|
||||||
|
skb_trim
|
||||||
|
skb_tstamp_tx
|
||||||
|
skb_unlink
|
||||||
|
smp_call_function_single
|
||||||
|
snprintf
|
||||||
|
sock_alloc_send_skb
|
||||||
|
sock_create_kern
|
||||||
|
sprintf
|
||||||
|
sscanf
|
||||||
|
static_key_slow_dec
|
||||||
|
static_key_slow_inc
|
||||||
|
stop_machine
|
||||||
|
strcasecmp
|
||||||
|
strcat
|
||||||
|
strchr
|
||||||
|
strcmp
|
||||||
|
strcpy
|
||||||
|
strlcpy
|
||||||
|
strlen
|
||||||
|
strncasecmp
|
||||||
|
strncat
|
||||||
|
strncmp
|
||||||
|
strncpy
|
||||||
|
strncpy_from_user
|
||||||
|
strnlen
|
||||||
|
strrchr
|
||||||
|
strsep
|
||||||
|
strstr
|
||||||
|
submit_bio
|
||||||
|
sync_blockdev
|
||||||
|
synchronize_net
|
||||||
|
sys_tz
|
||||||
|
system_wq
|
||||||
|
time_to_tm
|
||||||
|
touch_softlockup_watchdog
|
||||||
|
truncate_inode_pages
|
||||||
|
truncate_pagecache
|
||||||
|
try_module_get
|
||||||
|
unlock_page
|
||||||
|
unmap_mapping_range
|
||||||
|
unregister_blkdev
|
||||||
|
unregister_chrdev_region
|
||||||
|
unregister_inet6addr_notifier
|
||||||
|
unregister_inetaddr_notifier
|
||||||
|
unregister_netdev
|
||||||
|
unregister_netdevice_notifier
|
||||||
|
unregister_netdevice_queue
|
||||||
|
unregister_netevent_notifier
|
||||||
|
unregister_pernet_subsys
|
||||||
|
unregister_reboot_notifier
|
||||||
|
unregister_shrinker
|
||||||
|
unregister_sysctl_table
|
||||||
|
unuse_mm
|
||||||
|
up
|
||||||
|
up_read
|
||||||
|
up_write
|
||||||
|
use_mm
|
||||||
|
usleep_range
|
||||||
|
vfree
|
||||||
|
vga_set_legacy_decoding
|
||||||
|
vlan_dev_real_dev
|
||||||
|
vlan_dev_vlan_id
|
||||||
|
vm_insert_pfn
|
||||||
|
vm_mmap
|
||||||
|
vm_munmap
|
||||||
|
vm_stat
|
||||||
|
videobuf_queue_vmalloc_init
|
||||||
|
vmalloc
|
||||||
|
videobuf_to_vmalloc
|
||||||
|
videobuf_vmalloc_free
|
||||||
|
vb2_vmalloc_memops
|
||||||
|
vmalloc_32
|
||||||
|
vmalloc_to_page
|
||||||
|
vmalloc_user
|
||||||
|
vmap
|
||||||
|
vprintk
|
||||||
|
vscnprintf
|
||||||
|
vsnprintf
|
||||||
|
vsprintf
|
||||||
|
vunmap
|
||||||
|
wait_for_completion
|
||||||
|
wait_for_completion_interruptible
|
||||||
|
wait_for_completion_interruptible_timeout
|
||||||
|
wait_on_page_bit
|
||||||
|
wake_up_process
|
||||||
|
xt_register_targets
|
||||||
|
xt_unregister_targets
|
||||||
|
yield
|
||||||
|
zap_vma_ptes
|
||||||
853
kernel.spec
Normal file
853
kernel.spec
Normal file
@ -0,0 +1,853 @@
|
|||||||
|
|
||||||
|
|
||||||
|
%define with_signmodules 1
|
||||||
|
|
||||||
|
%define with_kabichk 1
|
||||||
|
|
||||||
|
%define modsign_cmd %{SOURCE10}
|
||||||
|
|
||||||
|
%global Arch $(echo %{_host_cpu} | sed -e s/i.86/x86/ -e s/x86_64/x86/ -e s/aarch64.*/arm64/)
|
||||||
|
|
||||||
|
%global TarballVer 4.19.13
|
||||||
|
|
||||||
|
%global KernelVer %{version}-%{release}.%{_target_cpu}
|
||||||
|
|
||||||
|
%global hulkrelease vhulk1907.1.0
|
||||||
|
|
||||||
|
%define with_patch 0
|
||||||
|
|
||||||
|
%define debuginfodir /usr/lib/debug
|
||||||
|
|
||||||
|
%define with_debuginfo 1
|
||||||
|
|
||||||
|
%define with_source 1
|
||||||
|
|
||||||
|
Name: kernel
|
||||||
|
Version: 4.19.90
|
||||||
|
Release: %{hulkrelease}.0012
|
||||||
|
Summary: Linux Kernel
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://www.kernel.org/
|
||||||
|
%if 0%{?with_patch}
|
||||||
|
Source0: linux-%{TarballVer}.tar.gz
|
||||||
|
%else
|
||||||
|
Source0: linux-%{version}.tar.gz
|
||||||
|
%endif
|
||||||
|
Source1: Makefile.common
|
||||||
|
Source10: sign-modules
|
||||||
|
Source11: x509.genkey
|
||||||
|
Source12: extra_certificates
|
||||||
|
Source15: merge.pl
|
||||||
|
|
||||||
|
%if 0%{?with_kabichk}
|
||||||
|
Source18: check-kabi
|
||||||
|
Source20: Module.kabi_aarch64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Source30: Makefile.config
|
||||||
|
Source50: config-debug
|
||||||
|
Source51: config-nodebug
|
||||||
|
Source52: config-arm64
|
||||||
|
Source53: config-generic
|
||||||
|
Source55: config-local
|
||||||
|
Source59: config-arm-generic
|
||||||
|
Source200: mkgrub-menu-aarch64.sh
|
||||||
|
|
||||||
|
Source2000: cpupower.service
|
||||||
|
Source2001: cpupower.config
|
||||||
|
|
||||||
|
%if 0%{?with_patch}
|
||||||
|
Source9000: apply-patches
|
||||||
|
Source9001: guards
|
||||||
|
Source9002: series.conf
|
||||||
|
Source9998: patches.tar.bz2
|
||||||
|
%endif
|
||||||
|
|
||||||
|
#BuildRequires:
|
||||||
|
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, tar
|
||||||
|
BuildRequires: bzip2, xz, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
|
||||||
|
BuildRequires: gcc >= 3.4.2, binutils >= 2.12
|
||||||
|
BuildRequires: hostname, net-tools, bc
|
||||||
|
BuildRequires: xmlto, asciidoc
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: hmaccalc
|
||||||
|
BuildRequires: ncurses-devel
|
||||||
|
#BuildRequires: pesign >= 0.109-4
|
||||||
|
BuildRequires: elfutils-libelf-devel
|
||||||
|
#BuildRequires: sparse >= 0.4.1
|
||||||
|
BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison
|
||||||
|
BuildRequires: audit-libs-devel
|
||||||
|
BuildRequires: pciutils-devel gettext
|
||||||
|
BuildRequires: rpm-build, elfutils
|
||||||
|
BuildRequires: numactl-devel python3-devel glibc-static python3-docutils
|
||||||
|
BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk
|
||||||
|
AutoReq: no
|
||||||
|
AutoProv: yes
|
||||||
|
|
||||||
|
Conflicts: device-mapper-libs < 1.02.63-2 e2fsprogs < 1.37-4 initscripts < 7.23 iptables < 1.3.2-1
|
||||||
|
Conflicts: ipw2200-firmware < 2.4 isdn4k-utils < 3.2-32 iwl4965-firmware < 228.57.2 jfsutils < 1.1.7-2
|
||||||
|
Conflicts: mdadm < 3.2.1-5 nfs-utils < 1.0.7-12 oprofile < 0.9.1-2 ppp < 2.4.3-3 procps < 3.2.5-6.3
|
||||||
|
Conflicts: reiserfs-utils < 3.6.19-2 selinux-policy-targeted < 1.25.3-14 squashfs-tools < 4.0
|
||||||
|
Conflicts: udev < 063-6 util-linux < 2.12 wireless-tools < 29-3 xfsprogs < 2.6.13-4
|
||||||
|
|
||||||
|
Provides: kernel-aarch64 = %{version}-%{release} kernel-drm = 4.3.0 kernel-drm-nouveau = 16 kernel-modeset = 1
|
||||||
|
Provides: kernel-uname-r = %{KernelVer} kernel=%{KernelVer}
|
||||||
|
|
||||||
|
Requires: dracut >= 001-7 grubby >= 8.28-2 initscripts >= 8.11.1-1 linux-firmware >= 20100806-2 module-init-tools >= 3.16-2
|
||||||
|
|
||||||
|
ExclusiveArch: noarch aarch64 i686 x86_64
|
||||||
|
ExclusiveOS: Linux
|
||||||
|
|
||||||
|
%description
|
||||||
|
The Linux Kernel, the operating system core itself.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development package for building kernel modules to match the %{KernelVer} kernel
|
||||||
|
AutoReqProv: no
|
||||||
|
Provides: %{name}-headers
|
||||||
|
Obsoletes: %{name}-headers
|
||||||
|
Provides: glibc-kernheaders
|
||||||
|
Provides: kernel-devel-uname-r = %{KernelVer}
|
||||||
|
Provides: kernel-devel-aarch64 = %{version}-%{release}
|
||||||
|
Requires: perl findutils
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package provides kernel headers and makefiles sufficient to build modules
|
||||||
|
against the %{KernelVer} kernel package.
|
||||||
|
|
||||||
|
%package tools
|
||||||
|
Summary: Assortment of tools for the Linux kernel
|
||||||
|
Provides: %{name}-tools-libs
|
||||||
|
Obsoletes: %{name}-tools-libs
|
||||||
|
Provides: cpufreq-utils = 1:009-0.6.p1
|
||||||
|
Provides: cpufrequtils = 1:009-0.6.p1
|
||||||
|
Obsoletes: cpufreq-utils < 1:009-0.6.p1
|
||||||
|
Obsoletes: cpufrequtils < 1:009-0.6.p1
|
||||||
|
Obsoletes: cpuspeed < 1:1.5-16
|
||||||
|
%description tools
|
||||||
|
This package contains the tools/ directory from the kernel source
|
||||||
|
and the supporting documentation.
|
||||||
|
|
||||||
|
%package tools-devel
|
||||||
|
Summary: Assortment of tools for the Linux kernel
|
||||||
|
Requires: kernel-tools = %{version}-%{release}
|
||||||
|
Requires: kernel-tools-libs = %{version}-%{release}
|
||||||
|
Provides: kernel-tools-libs-devel = %{version}-%{release}
|
||||||
|
Obsoletes: kernel-tools-libs-devel
|
||||||
|
%description tools-devel
|
||||||
|
This package contains the development files for the tools/ directory from
|
||||||
|
the kernel source.
|
||||||
|
|
||||||
|
%package -n perf
|
||||||
|
Summary: Performance monitoring for the Linux kernel
|
||||||
|
%description -n perf
|
||||||
|
This package contains the perf tool, which enables performance monitoring
|
||||||
|
of the Linux kernel.
|
||||||
|
|
||||||
|
%package -n python2-perf
|
||||||
|
Provides: python-perf = %{version}-%{release}
|
||||||
|
Obsoletes: python-perf
|
||||||
|
Summary: Python bindings for apps which will manipulate perf events
|
||||||
|
|
||||||
|
%description -n python2-perf
|
||||||
|
A Python module that permits applications written in the Python programming
|
||||||
|
language to use the interface to manipulate perf events.
|
||||||
|
|
||||||
|
%package -n python3-perf
|
||||||
|
Summary: Python bindings for apps which will manipulate perf events
|
||||||
|
%description -n python3-perf
|
||||||
|
A Python module that permits applications written in the Python programming
|
||||||
|
language to use the interface to manipulate perf events.
|
||||||
|
|
||||||
|
%package -n bpftool
|
||||||
|
Summary: Inspection and simple manipulation of eBPF programs and maps
|
||||||
|
%description -n bpftool
|
||||||
|
This package contains the bpftool, which allows inspection and simple
|
||||||
|
manipulation of eBPF programs and maps.
|
||||||
|
|
||||||
|
%package source
|
||||||
|
Summary: the kernel source
|
||||||
|
%description source
|
||||||
|
This package contains vaious source files from the kernel.
|
||||||
|
|
||||||
|
%if 0%{?with_debuginfo}
|
||||||
|
%define _debuginfo_template %{nil}
|
||||||
|
%define _debuginfo_subpackages 0
|
||||||
|
|
||||||
|
%define debuginfo_template(n:) \
|
||||||
|
%package -n %{-n*}-debuginfo\
|
||||||
|
Summary: Debug information for package %{-n*}\
|
||||||
|
Group: Development/Debug\
|
||||||
|
AutoReq: 0\
|
||||||
|
AutoProv: 1\
|
||||||
|
%description -n %{-n*}-debuginfo\
|
||||||
|
This package provides debug information for package %{-n*}.\
|
||||||
|
Debug information is useful when developing applications that use this\
|
||||||
|
package or when debugging this package.\
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
%debuginfo_template -n kernel
|
||||||
|
%files -n kernel-debuginfo -f kernel-debugfiles.list -f debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*/%{KernelVer}/.*|.*/vmlinux|XXX' -o kernel-debugfiles.list}
|
||||||
|
|
||||||
|
%debuginfo_template -n bpftool
|
||||||
|
%files -n bpftool-debuginfo -f bpftool-debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_sbindir}/bpftool.*(\.debug)?|XXX' -o bpftool-debugfiles.list}
|
||||||
|
|
||||||
|
%debuginfo_template -n kernel-tools
|
||||||
|
%files -n kernel-tools-debuginfo -f kernel-tools-debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/centrino-decode.*(\.debug)?|.*%{_bindir}/powernow-k8-decode.*(\.debug)?|.*%{_bindir}/cpupower.*(\.debug)?|.*%{_libdir}/libcpupower.*|.*%{_libdir}/libcpupower.*|.*%{_bindir}/turbostat.(\.debug)?|.*%{_bindir}/.*gpio.*(\.debug)?|.*%{_bindir}/.*iio.*(\.debug)?|.*%{_bindir}/tmon.*(.debug)?|XXX' -o kernel-tools-debugfiles.list}
|
||||||
|
|
||||||
|
%debuginfo_template -n perf
|
||||||
|
%files -n perf-debuginfo -f perf-debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/perf.*(\.debug)?|.*%{_libexecdir}/perf-core/.*|.*%{_libdir}/traceevent/.*|XXX' -o perf-debugfiles.list}
|
||||||
|
|
||||||
|
|
||||||
|
%debuginfo_template -n python2-perf
|
||||||
|
%files -n python2-perf-debuginfo -f python2-perf-debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{python2_sitearch}/perf.*(.debug)?|XXX' -o python2-perf-debugfiles.list}
|
||||||
|
|
||||||
|
%debuginfo_template -n python3-perf
|
||||||
|
%files -n python3-perf-debuginfo -f python3-perf-debugfiles.list
|
||||||
|
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{python3_sitearch}/perf.*(.debug)?|XXX' -o python3-perf-debugfiles.list}
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%if 0%{?with_patch}
|
||||||
|
if [ ! -d kernel-%{version}/vanilla-%{TarballVer} ];then
|
||||||
|
%setup -q -n kernel-%{version} -a 9998 -c
|
||||||
|
mv linux-%{TarballVer} vanilla-%{TarballVer}
|
||||||
|
else
|
||||||
|
cd kernel-%{version}
|
||||||
|
fi
|
||||||
|
cp -rl vanilla-%{TarballVer} linux-%{KernelVer}
|
||||||
|
%else
|
||||||
|
%setup -q -n kernel-%{version} -c
|
||||||
|
cp -rl linux-%{version} linux-%{KernelVer}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cd linux-%{KernelVer}
|
||||||
|
cp $RPM_SOURCE_DIR/config-* .
|
||||||
|
cp %{SOURCE15} .
|
||||||
|
cp %{SOURCE30} .
|
||||||
|
|
||||||
|
%if 0%{?with_patch}
|
||||||
|
cp %{SOURCE9000} .
|
||||||
|
cp %{SOURCE9001} .
|
||||||
|
cp %{SOURCE9002} .
|
||||||
|
|
||||||
|
if [ ! -d patches ];then
|
||||||
|
mv ../patches .
|
||||||
|
fi
|
||||||
|
|
||||||
|
Applypatches()
|
||||||
|
{
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
local SERIESCONF=$1
|
||||||
|
local PATCH_DIR=$2
|
||||||
|
sed -i '/^#/d' $SERIESCONF
|
||||||
|
sed -i '/^[\s]*$/d' $SERIESCONF
|
||||||
|
(
|
||||||
|
echo "trap 'echo \"*** patch \$_ failed ***\"' ERR"
|
||||||
|
echo "set -ex"
|
||||||
|
cat $SERIESCONF | \
|
||||||
|
sed "s!^!patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR/!" \
|
||||||
|
) | sh
|
||||||
|
}
|
||||||
|
|
||||||
|
Applypatches series.conf %{_builddir}/kernel-%{version}/linux-%{KernelVer}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
make -f Makefile.config VERSION=%{version} configs
|
||||||
|
|
||||||
|
%if !0%{?debugbuildsenabled}
|
||||||
|
rm -f kernel-%{version}-*debug.config
|
||||||
|
%endif
|
||||||
|
|
||||||
|
touch .scmversion
|
||||||
|
|
||||||
|
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
|
||||||
|
find . -name .gitignore -exec rm -f {} \; >/dev/null
|
||||||
|
|
||||||
|
%if 0%{?with_signmodules}
|
||||||
|
cp %{SOURCE11} certs/.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_source}
|
||||||
|
# Copy directory backup for kernel-source
|
||||||
|
cp -a ../linux-%{KernelVer} ../linux-%{KernelVer}-Source
|
||||||
|
find ../linux-%{KernelVer}-Source -type f -name "\.*" -exec rm -rf {} \; >/dev/null
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cp -a tools/perf tools/python3-perf
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd linux-%{KernelVer}
|
||||||
|
|
||||||
|
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}/" Makefile
|
||||||
|
|
||||||
|
## make linux
|
||||||
|
make mrproper %{_smp_mflags}
|
||||||
|
|
||||||
|
make ARCH=%{Arch} euleros_defconfig
|
||||||
|
make ARCH=%{Arch} oldnoconfig
|
||||||
|
|
||||||
|
TargetImage=$(basename $(make -s image_name))
|
||||||
|
|
||||||
|
make ARCH=%{Arch} $TargetImage %{?_smp_mflags}
|
||||||
|
make ARCH=%{Arch} modules %{?_smp_mflags}
|
||||||
|
|
||||||
|
%if 0%{?with_kabichk}
|
||||||
|
chmod 0755 %{SOURCE18}
|
||||||
|
if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}]; then
|
||||||
|
%{SOURCE18} -k $RPM_BUILD_ROOT/Module.kabi_%{_target_cpu} -s Module.symvers || exit 1
|
||||||
|
else
|
||||||
|
echo "**** NOTE: Cannot find reference Module.kabi file. ****"
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# aarch64 make dtbs
|
||||||
|
%ifarch aarch64
|
||||||
|
make ARCH=%{Arch} dtbs
|
||||||
|
%endif
|
||||||
|
|
||||||
|
## make tools
|
||||||
|
# perf
|
||||||
|
%global perf_make \
|
||||||
|
make EXTRA_CFLAGS="-Wl,-z,now -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie -pie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 prefix=%{_prefix}
|
||||||
|
%global perf_python2 -C tools/perf PYTHON=%{__python2}
|
||||||
|
%global perf_python3 -C tools/python3-perf PYTHON=%{__python3}
|
||||||
|
# perf
|
||||||
|
chmod +x tools/perf/check-headers.sh
|
||||||
|
%{perf_make} %{perf_python2} all
|
||||||
|
|
||||||
|
# make sure check-headers.sh is executable
|
||||||
|
chmod +x tools/python3-perf/check-headers.sh
|
||||||
|
%{perf_make} %{perf_python3} all
|
||||||
|
|
||||||
|
pushd tools/perf/Documentation/
|
||||||
|
make %{?_smp_mflags} man
|
||||||
|
popd
|
||||||
|
|
||||||
|
# bpftool
|
||||||
|
pushd tools/bpf/bpftool
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
|
||||||
|
# cpupower
|
||||||
|
chmod +x tools/power/cpupower/utils/version-gen.sh
|
||||||
|
make %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
|
||||||
|
%ifarch %{ix86}
|
||||||
|
pushd tools/power/cpupower/debug/i386
|
||||||
|
make %{?_smp_mflags} centrino-decode powernow-k8-decode
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
pushd tools/power/cpupower/debug/x86_64
|
||||||
|
make %{?_smp_mflags} centrino-decode powernow-k8-decode
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
pushd tools/power/x86/x86_energy_perf_policy/
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
pushd tools/power/x86/turbostat
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
# thermal
|
||||||
|
pushd tools/thermal/tmon/
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
# iio
|
||||||
|
pushd tools/iio/
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
# gpio
|
||||||
|
pushd tools/gpio/
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
# kvm
|
||||||
|
pushd tools/kvm/kvm_stat/
|
||||||
|
make %{?_smp_mflags} man
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if 0%{?with_source}
|
||||||
|
%define _python_bytecompile_errors_terminate_build 0
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/usr/src/
|
||||||
|
mv linux-%{KernelVer}-Source $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}
|
||||||
|
cp linux-%{KernelVer}/.config $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
|
||||||
|
cp linux-%{KernelVer}/.scmversion $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cd linux-%{KernelVer}
|
||||||
|
|
||||||
|
## install linux
|
||||||
|
|
||||||
|
# deal with kernel-source, now we don't need kernel-source
|
||||||
|
#mkdir $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}
|
||||||
|
#tar cf - --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git --exclude=.tmp_versions --exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=.config.old --exclude=.missing-syscalls.d --exclude=patches . | tar xf - -C %{buildroot}/usr/src/linux-%{KernelVer}
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/boot
|
||||||
|
dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-%{KernelVer}.img bs=1M count=20
|
||||||
|
|
||||||
|
install -m 755 $(make -s image_name) $RPM_BUILD_ROOT/boot/vmlinuz-%{KernelVer}
|
||||||
|
pushd $RPM_BUILD_ROOT/boot
|
||||||
|
sha512hmac ./vmlinuz-%{KernelVer} >./.vmlinuz-%{KernelVer}.hmac
|
||||||
|
popd
|
||||||
|
|
||||||
|
install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}
|
||||||
|
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}
|
||||||
|
|
||||||
|
%if 0%{?with_kabichk}
|
||||||
|
gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz
|
||||||
|
%endif
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
||||||
|
install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{hulkrelease}.sh
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?with_debuginfo}
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/%{KernelVer}
|
||||||
|
cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/%{KernelVer}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# deal with module, if not kdump
|
||||||
|
make ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=
|
||||||
|
######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############
|
||||||
|
pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
|
||||||
|
find -type f -name "*.ko" >modnames
|
||||||
|
|
||||||
|
# mark modules executable so that strip-to-file can strip them
|
||||||
|
xargs --no-run-if-empty chmod u+x < modnames
|
||||||
|
|
||||||
|
# Generate a list of modules for block and networking.
|
||||||
|
|
||||||
|
grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
|
||||||
|
sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
|
||||||
|
|
||||||
|
collect_modules_list()
|
||||||
|
{
|
||||||
|
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
|
||||||
|
LC_ALL=C sort -u > modules.$1
|
||||||
|
if [ ! -z "$3" ]; then
|
||||||
|
sed -r -e "/^($3)\$/d" -i modules.$1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
collect_modules_list networking \
|
||||||
|
'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt2x00(pci|usb)_probe|register_netdevice'
|
||||||
|
collect_modules_list block \
|
||||||
|
'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size|ahci_platform_get_resources' 'pktcdvd.ko|dm-mod.ko'
|
||||||
|
collect_modules_list drm \
|
||||||
|
'drm_open|drm_init'
|
||||||
|
collect_modules_list modesetting \
|
||||||
|
'drm_crtc_init'
|
||||||
|
|
||||||
|
# detect missing or incorrect license tags
|
||||||
|
rm -f modinfo
|
||||||
|
while read i
|
||||||
|
do
|
||||||
|
echo -n "$i " >> modinfo
|
||||||
|
/sbin/modinfo -l $i >> modinfo
|
||||||
|
done < modnames
|
||||||
|
|
||||||
|
grep -E -v \
|
||||||
|
'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' \
|
||||||
|
modinfo && exit 1
|
||||||
|
|
||||||
|
rm -f modinfo modnames drivers.undef
|
||||||
|
|
||||||
|
for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
|
||||||
|
do
|
||||||
|
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
# modsign module ko;need after find-debuginfo,strip
|
||||||
|
%define __modsign_install_post \
|
||||||
|
if [ "%{with_signmodules}" -eq "1" ];then \
|
||||||
|
cp certs/signing_key.pem . \
|
||||||
|
cp certs/signing_key.x509 . \
|
||||||
|
chmod 0755 %{modsign_cmd} \
|
||||||
|
%{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KernelVer} || exit 1 \
|
||||||
|
fi \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
# deal with header
|
||||||
|
make ARCH=%{Arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install
|
||||||
|
make ARCH=%{Arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check
|
||||||
|
find $RPM_BUILD_ROOT/usr/include -name "\.*" -exec rm -rf {} \;
|
||||||
|
|
||||||
|
# aarch64 dtbs install
|
||||||
|
%ifarch aarch64
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}
|
||||||
|
install -m 644 $(find arch/%{Arch}/boot -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/
|
||||||
|
rm -f $(find arch/$Arch/boot -name "*.dtb")
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# deal with vdso
|
||||||
|
make -s ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=%{KernelVer}
|
||||||
|
if [ ! -s ldconfig-kernel.conf ]; then
|
||||||
|
echo "# Placeholder file, no vDSO hwcap entries used in this kernel." >ldconfig-kernel.conf
|
||||||
|
fi
|
||||||
|
install -D -m 444 ldconfig-kernel.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-%{KernelVer}.conf
|
||||||
|
|
||||||
|
# deal with /lib/module/ path- sub path: build source kernel
|
||||||
|
rm -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||||
|
rm -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/source
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/extra
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/updates
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/weak-updates
|
||||||
|
############ to do collect devel file #########
|
||||||
|
# 1. Makefile And Kconfig, .config sysmbol
|
||||||
|
# 2. scrpits dir
|
||||||
|
# 3. .h file
|
||||||
|
find -type f \( -name "Makefile*" -o -name "Kconfig*" \) -exec cp --parents {} $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build \;
|
||||||
|
for f in Module.symvers System.map Module.markers .config;do
|
||||||
|
test -f $f || continue
|
||||||
|
cp $f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||||
|
done
|
||||||
|
|
||||||
|
cp -a scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||||
|
if [ -d arch/%{Arch}/scripts ]; then
|
||||||
|
cp -a arch/%{Arch}/scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch} || :
|
||||||
|
fi
|
||||||
|
if [ -f arch/%{Arch}/*lds ]; then
|
||||||
|
cp -a arch/%{Arch}/*lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch}/ || :
|
||||||
|
fi
|
||||||
|
find $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/scripts/ -name "*.o" -exec rm -rf {} \;
|
||||||
|
|
||||||
|
if [ -d arch/%{Arch}/include ]; then
|
||||||
|
cp -a --parents arch/%{Arch}/include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||||
|
fi
|
||||||
|
cp -a include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
# Needed for systemtap
|
||||||
|
cp -a --parents arch/arm64/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||||
|
cp -a --parents arch/arm/include/asm $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# copy objtool for kernel-devel (needed for building external modules)
|
||||||
|
if grep -q CONFIG_STACK_VALIDATION=y .config; then
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
||||||
|
cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||||
|
# external modules can be built
|
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h
|
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h
|
||||||
|
# for make prepare
|
||||||
|
if [ ! -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf ];then
|
||||||
|
cp .config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/usr/src/kernels
|
||||||
|
mv $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer}
|
||||||
|
|
||||||
|
find $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer} -name ".*.cmd" -exec rm -f {} \;
|
||||||
|
|
||||||
|
pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
|
||||||
|
ln -sf /usr/src/kernels/%{KernelVer} build
|
||||||
|
ln -sf build source
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
# deal with doc , now we don't need
|
||||||
|
|
||||||
|
|
||||||
|
# deal with kernel abi whitelists. now we don't need
|
||||||
|
|
||||||
|
|
||||||
|
## install tools
|
||||||
|
# perf
|
||||||
|
# perf tool binary and supporting scripts/binaries
|
||||||
|
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} lib=%{_lib} install-bin install-traceevent-plugins
|
||||||
|
# remove the 'trace' symlink.
|
||||||
|
rm -f %{buildroot}%{_bindir}/trace
|
||||||
|
# remove the perf-tips
|
||||||
|
rm -rf %{buildroot}%{_docdir}/perf-tip
|
||||||
|
|
||||||
|
# remove examples
|
||||||
|
rm -rf %{buildroot}/usr/lib/perf/examples
|
||||||
|
# remove the stray header file that somehow got packaged in examples
|
||||||
|
rm -rf %{buildroot}/usr/lib/perf/include/bpf/
|
||||||
|
|
||||||
|
# python-perf extension
|
||||||
|
%{perf_make} %{perf_python3} DESTDIR=%{buildroot} install-python_ext
|
||||||
|
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} install-python_ext
|
||||||
|
|
||||||
|
# perf man pages (note: implicit rpm magic compresses them later)
|
||||||
|
install -d %{buildroot}/%{_mandir}/man1
|
||||||
|
install -pm0644 tools/kvm/kvm_stat/kvm_stat.1 %{buildroot}/%{_mandir}/man1/
|
||||||
|
install -pm0644 tools/perf/Documentation/*.1 %{buildroot}/%{_mandir}/man1/
|
||||||
|
|
||||||
|
# bpftool
|
||||||
|
pushd tools/bpf/bpftool
|
||||||
|
make DESTDIR=%{buildroot} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install
|
||||||
|
popd
|
||||||
|
# cpupower
|
||||||
|
make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
|
||||||
|
rm -f %{buildroot}%{_libdir}/*.{a,la}
|
||||||
|
%find_lang cpupower
|
||||||
|
mv cpupower.lang ../
|
||||||
|
%ifarch %{ix86}
|
||||||
|
pushd tools/power/cpupower/debug/i386
|
||||||
|
install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
|
||||||
|
install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
pushd tools/power/cpupower/debug/x86_64
|
||||||
|
install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
|
||||||
|
install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
|
||||||
|
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
|
||||||
|
install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
|
||||||
|
install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
mkdir -p %{buildroot}%{_mandir}/man8
|
||||||
|
pushd tools/power/x86/x86_energy_perf_policy
|
||||||
|
make DESTDIR=%{buildroot} install
|
||||||
|
popd
|
||||||
|
pushd tools/power/x86/turbostat
|
||||||
|
make DESTDIR=%{buildroot} install
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
# thermal
|
||||||
|
pushd tools/thermal/tmon
|
||||||
|
make INSTALL_ROOT=%{buildroot} install
|
||||||
|
popd
|
||||||
|
# iio
|
||||||
|
pushd tools/iio
|
||||||
|
make DESTDIR=%{buildroot} install
|
||||||
|
popd
|
||||||
|
# gpio
|
||||||
|
pushd tools/gpio
|
||||||
|
make DESTDIR=%{buildroot} install
|
||||||
|
popd
|
||||||
|
# kvm
|
||||||
|
pushd tools/kvm/kvm_stat
|
||||||
|
make INSTALL_ROOT=%{buildroot} install-tools
|
||||||
|
popd
|
||||||
|
|
||||||
|
%define __spec_install_post\
|
||||||
|
%{?__debug_package:%{__debug_install_post}}\
|
||||||
|
%{__arch_install_post}\
|
||||||
|
%{__os_install_post}\
|
||||||
|
%{__modsign_install_post}\
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
|
||||||
|
%post
|
||||||
|
%{_sbindir}/new-kernel-pkg --package kernel --install %{KernelVer} || exit $?
|
||||||
|
|
||||||
|
%preun
|
||||||
|
rm -rf /lib/modules/%{KernelVer}/EulerOS
|
||||||
|
if [ `uname -i` == "aarch64" ] &&
|
||||||
|
[ -f /boot/EFI/grub2/grub.cfg ]; then
|
||||||
|
/usr/bin/sh %{_sbindir}/mkgrub-menu-%{hulkrelease}.sh %{version}-%{hulkrelease}.aarch64 /boot/EFI/grub2/grub.cfg remove
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KernelVer} || exit $?
|
||||||
|
if [ -x %{_sbindir}/weak-modules ]
|
||||||
|
then
|
||||||
|
%{_sbindir}/weak-modules --remove-kernel %{KernelVer} || exit $?
|
||||||
|
fi
|
||||||
|
if [ "`ls -A /lib/modules/%{KernelVer}`" = "" ]; then
|
||||||
|
rm -rf /lib/modules/%{KernelVer}
|
||||||
|
fi
|
||||||
|
|
||||||
|
%posttrans
|
||||||
|
%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?
|
||||||
|
%{_sbindir}/new-kernel-pkg --package kernel --rpmposttrans %{KernelVer} || exit $?
|
||||||
|
if [ `uname -i` == "aarch64" ] &&
|
||||||
|
[ -f /boot/EFI/grub2/grub.cfg ]; then
|
||||||
|
/usr/bin/sh %{_sbindir}/mkgrub-menu-%{hulkrelease}.sh %{version}-%{hulkrelease}.aarch64 /boot/EFI/grub2/grub.cfg update
|
||||||
|
fi
|
||||||
|
if [ ! -d "/lib/modules/EulerOS" ];then
|
||||||
|
mkdir -p /lib/modules/EulerOS
|
||||||
|
fi
|
||||||
|
if [ -e "/lib/modules/%{KernelVer}/EulerOS" ]; then
|
||||||
|
rm -rf "/lib/modules/%{KernelVer}/EulerOS"
|
||||||
|
fi
|
||||||
|
ln -sf /lib/modules/EulerOS /lib/modules/%{KernelVer}/EulerOS
|
||||||
|
if [ -x %{_sbindir}/weak-modules ]
|
||||||
|
then
|
||||||
|
%{_sbindir}/weak-modules --add-kernel %{KernelVer} || exit $?
|
||||||
|
fi
|
||||||
|
%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?
|
||||||
|
%{_sbindir}/new-kernel-pkg --package kernel --rpmposttrans %{KernelVer} || exit $?
|
||||||
|
|
||||||
|
|
||||||
|
%postun devel
|
||||||
|
if [ -f /etc/sysconfig/kernel ]
|
||||||
|
then
|
||||||
|
. /etc/sysconfig/kernel || exit $?
|
||||||
|
fi
|
||||||
|
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||||
|
then
|
||||||
|
(cd /usr/src/kernels/%{KernelVer} &&
|
||||||
|
/usr/bin/find . -type f | while read f; do
|
||||||
|
hardlink -c /usr/src/kernels/*.fc*.*/$f $f
|
||||||
|
done)
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post -n kernel-tools
|
||||||
|
/sbin/ldconfig
|
||||||
|
%systemd_post cpupower.service
|
||||||
|
|
||||||
|
%preun -n kernel-tools
|
||||||
|
%systemd_preun cpupower.service
|
||||||
|
|
||||||
|
%postun -n kernel-tools
|
||||||
|
/sbin/ldconfig
|
||||||
|
%systemd_postun cpupower.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr (-, root, root)
|
||||||
|
%doc
|
||||||
|
/boot/config-*
|
||||||
|
%ifarch aarch64
|
||||||
|
/boot/dtb-*
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_kabichk}
|
||||||
|
/boot/symvers-*
|
||||||
|
%endif
|
||||||
|
/boot/System.map-*
|
||||||
|
/boot/vmlinuz-*
|
||||||
|
%ghost /boot/initramfs-%{KernelVer}.img
|
||||||
|
/boot/.vmlinuz-*.hmac
|
||||||
|
/etc/ld.so.conf.d/*
|
||||||
|
/lib/modules/%{KernelVer}/
|
||||||
|
%exclude /lib/modules/%{KernelVer}/source
|
||||||
|
%exclude /lib/modules/%{KernelVer}/build
|
||||||
|
%{_sbindir}/mkgrub-menu*.sh
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr (-, root, root)
|
||||||
|
%doc
|
||||||
|
/lib/modules/%{KernelVer}/source
|
||||||
|
/lib/modules/%{KernelVer}/build
|
||||||
|
/usr/src/kernels/%{KernelVer}
|
||||||
|
/usr/include/*
|
||||||
|
|
||||||
|
%files -n perf
|
||||||
|
%{_bindir}/perf
|
||||||
|
%dir %{_libdir}/traceevent
|
||||||
|
%{_libdir}/traceevent/plugins/
|
||||||
|
%{_libexecdir}/perf-core
|
||||||
|
%{_datadir}/perf-core/
|
||||||
|
%{_mandir}/man[1-8]/perf*
|
||||||
|
%{_sysconfdir}/bash_completion.d/perf
|
||||||
|
%doc linux-%{KernelVer}/tools/perf/Documentation/examples.txt
|
||||||
|
%license linux-%{KernelVer}/COPYING
|
||||||
|
|
||||||
|
%files -n python2-perf
|
||||||
|
%license linux-%{KernelVer}/COPYING
|
||||||
|
%{python2_sitearch}/*
|
||||||
|
|
||||||
|
%files -n python3-perf
|
||||||
|
%license linux-%{KernelVer}/COPYING
|
||||||
|
%{python3_sitearch}/*
|
||||||
|
|
||||||
|
%files -n kernel-tools -f cpupower.lang
|
||||||
|
%{_bindir}/cpupower
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%{_bindir}/centrino-decode
|
||||||
|
%{_bindir}/powernow-k8-decode
|
||||||
|
%endif
|
||||||
|
%{_unitdir}/cpupower.service
|
||||||
|
%{_mandir}/man[1-8]/cpupower*
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%{_bindir}/x86_energy_perf_policy
|
||||||
|
%{_mandir}/man8/x86_energy_perf_policy*
|
||||||
|
%{_bindir}/turbostat
|
||||||
|
%{_mandir}/man8/turbostat*
|
||||||
|
%endif
|
||||||
|
%{_bindir}/tmon
|
||||||
|
%{_bindir}/iio_event_monitor
|
||||||
|
%{_bindir}/iio_generic_buffer
|
||||||
|
%{_bindir}/lsiio
|
||||||
|
%{_bindir}/lsgpio
|
||||||
|
%{_bindir}/gpio-hammer
|
||||||
|
%{_bindir}/gpio-event-mon
|
||||||
|
%{_mandir}/man1/kvm_stat*
|
||||||
|
%{_bindir}/kvm_stat
|
||||||
|
%{_libdir}/libcpupower.so.0
|
||||||
|
%{_libdir}/libcpupower.so.0.0.1
|
||||||
|
%license linux-%{KernelVer}/COPYING
|
||||||
|
|
||||||
|
%files -n kernel-tools-devel
|
||||||
|
%{_libdir}/libcpupower.so
|
||||||
|
%{_includedir}/cpufreq.h
|
||||||
|
%{_includedir}/cpuidle.h
|
||||||
|
|
||||||
|
%files -n bpftool
|
||||||
|
%{_sbindir}/bpftool
|
||||||
|
%{_sysconfdir}/bash_completion.d/bpftool
|
||||||
|
%{_mandir}/man8/bpftool-cgroup.8.gz
|
||||||
|
%{_mandir}/man8/bpftool-map.8.gz
|
||||||
|
%{_mandir}/man8/bpftool-prog.8.gz
|
||||||
|
%{_mandir}/man8/bpftool-perf.8.gz
|
||||||
|
%{_mandir}/man8/bpftool.8.gz
|
||||||
|
%{_mandir}/man7/bpf-helpers.7.gz
|
||||||
|
%license linux-%{KernelVer}/COPYING
|
||||||
|
|
||||||
|
%if 0%{?with_source}
|
||||||
|
%files source
|
||||||
|
%defattr(-,root,root)
|
||||||
|
/usr/src/linux-%{KernelVer}/*
|
||||||
|
/usr/src/linux-%{KernelVer}/.config
|
||||||
|
/usr/src/linux-%{KernelVer}/.scmversion
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Dec 23 2019 caomeng <caomeng5@huawei.com> - 4.19.90-vhulk1907.1.0.0012
|
||||||
|
- change version
|
||||||
|
|
||||||
|
* Mon Dec 23 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.0011
|
||||||
|
- fix mkgrub-menu-*.sh path
|
||||||
|
- SMMU supports bypass of configured PCI devices by cmdline smmu.bypassdev
|
||||||
|
|
||||||
|
* Mon Dec 23 2019 chenmaodong<chenmaodong@huawei.com> - 4.19.36-vhulk1907.1.0.0010
|
||||||
|
- drm/radeon: Fix potential buffer overflow in ci_dpm.c
|
||||||
|
|
||||||
|
* Mon Dec 23 2019 wuxu<wuxu.wu@huawei.com> - 4.19.36-vhulk1907.1.0.0009
|
||||||
|
- add security compile noexecstack option for vdso
|
||||||
|
|
||||||
|
* Mon Dec 23 2019 caomeng<caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.0008
|
||||||
|
- rebase hulk patches
|
||||||
|
|
||||||
|
* Fri Dec 20 2019 yeyunfeng<yeyunfeng@huawei.com> - 4.19.36-vhulk1907.1.0.0007
|
||||||
|
- perf/smmuv3: fix possible sleep in preempt context
|
||||||
|
- crypto: user - prevent operating on larval algorithms
|
||||||
|
|
||||||
|
* Thu Dec 19 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.0006
|
||||||
|
- update release to satisfy upgrade
|
||||||
|
|
||||||
|
* Wed Nov 27 2019 lihongjiang <lihongjiang6@huawei.com> - 4.19.36-vhulk1907.1.0.h005
|
||||||
|
- change page size from 4K to 64K
|
||||||
|
|
||||||
|
* Thu Nov 21 2019 caomeng <caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.h004
|
||||||
|
- fix problem about x86 compile: change signing_key.pem to certs/signing_key.pem
|
||||||
|
- in file arch/x86/configs/euleros_defconfig
|
||||||
|
|
||||||
|
* Mon Nov 4 2019 caomeng <caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.h003
|
||||||
|
- Add buildrequires ncurlses-devel
|
||||||
|
|
||||||
|
* Fri Oct 25 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.h002
|
||||||
|
- Add vmlinx to debuginfo package and add kernel-source package
|
||||||
|
|
||||||
|
* Wed Sep 04 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.19.36-vhulk1907.1.0.h001
|
||||||
|
- Package init
|
||||||
101
kvm_func_blacklist.txt
Normal file
101
kvm_func_blacklist.txt
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
# arch/arm64/kvm/guest.c
|
||||||
|
kvm_arch_vcpu_ioctl_get_regs
|
||||||
|
kvm_arch_vcpu_ioctl_set_regs
|
||||||
|
kvm_arch_vcpu_ioctl_get_sregs
|
||||||
|
kvm_arch_vcpu_ioctl_set_sregs
|
||||||
|
kvm_arch_vcpu_ioctl_get_fpu
|
||||||
|
kvm_arch_vcpu_ioctl_set_fpu
|
||||||
|
kvm_arch_vcpu_ioctl_translate
|
||||||
|
kvm_arm_vcpu_arch_get_attr
|
||||||
|
kvm_arch_vcpu_ioctl_set_guest_debug
|
||||||
|
|
||||||
|
# arch/arm64/kvm/inject_fault.c
|
||||||
|
prepare_fault32
|
||||||
|
inject_undef32
|
||||||
|
inject_abt32
|
||||||
|
|
||||||
|
# virt/kvm/eventfd.c
|
||||||
|
irqfd_resampler_ack
|
||||||
|
irqfd_resampler_shutdown
|
||||||
|
kvm_irq_has_notifier
|
||||||
|
kvm_register_irq_ack_notifier
|
||||||
|
kvm_irqfd_exit
|
||||||
|
|
||||||
|
# virt/kvm/kvm_main.c
|
||||||
|
ack_flush
|
||||||
|
kvm_reload_remote_mmus
|
||||||
|
kvm_make_mclock_inprogress_request
|
||||||
|
kvm_make_scan_ioapic_request
|
||||||
|
kvm_get_dirty_log
|
||||||
|
kvm_largepages_enabled
|
||||||
|
kvm_disable_largepages
|
||||||
|
kvm_host_page_size
|
||||||
|
gfn_to_hva
|
||||||
|
kvm_vcpu_gfn_to_hva
|
||||||
|
kvm_vcpu_gfn_to_hva_prot
|
||||||
|
kvm_vcpu_gfn_to_pfn_atomic
|
||||||
|
kvm_vcpu_gfn_to_page
|
||||||
|
kvm_vcpu_gfn_to_pfn
|
||||||
|
kvm_pfn_to_page
|
||||||
|
gfn_to_page
|
||||||
|
gfn_to_pfn
|
||||||
|
kvm_vcpu_gfn_to_pfn_atomic
|
||||||
|
gfn_to_pfn_memslot_atomic
|
||||||
|
gfn_to_pfn_atomic
|
||||||
|
kvm_vcpu_gfn_to_pfn_atomic
|
||||||
|
gfn_to_page_many_atomic
|
||||||
|
kvm_release_page_clean
|
||||||
|
kvm_release_page_dirty
|
||||||
|
kvm_release_pfn_dirty
|
||||||
|
kvm_vcpu_read_guest_page
|
||||||
|
kvm_vcpu_read_guest
|
||||||
|
kvm_read_guest_atomic
|
||||||
|
kvm_vcpu_read_guest_atomic
|
||||||
|
__kvm_read_guest_atomic
|
||||||
|
kvm_vcpu_write_guest
|
||||||
|
kvm_vcpu_write_guest_page
|
||||||
|
kvm_gfn_to_hva_cache_init
|
||||||
|
kvm_write_guest_cached
|
||||||
|
kvm_read_guest_cached
|
||||||
|
kvm_clear_guest_page
|
||||||
|
kvm_clear_guest
|
||||||
|
kvm_vcpu_mark_page_dirty
|
||||||
|
kvm_vcpu_compat_ioctl
|
||||||
|
kvm_device_from_filp
|
||||||
|
kvm_unregister_device_ops
|
||||||
|
kvm_vm_compat_ioctl
|
||||||
|
kvm_reboot
|
||||||
|
kvm_io_bus_write_cookie
|
||||||
|
vm_stat_get_per_vm
|
||||||
|
vm_stat_get_per_vm_open
|
||||||
|
vm_stat_get
|
||||||
|
kvm_suspend
|
||||||
|
kvm_resume
|
||||||
|
kvm_exit
|
||||||
|
|
||||||
|
# virt/kvm/arm/arm.c
|
||||||
|
kvm_arch_vcpu_destroy
|
||||||
|
kvm_arch_vcpu_free
|
||||||
|
kvm_arch_exit
|
||||||
|
kvm_perf_teardown
|
||||||
|
|
||||||
|
# virt/kvm/arm/mmu.c
|
||||||
|
create_hyp_io_mappings
|
||||||
|
|
||||||
|
# virt/kvm/arm/psci.c
|
||||||
|
kvm_psci_0_1_call
|
||||||
|
|
||||||
|
# virt/kvm/arm/vgic/vgic-v2.c
|
||||||
|
vgic_v2_probe
|
||||||
|
vgic_v2_enable
|
||||||
|
vgic_v2_set_vmcr
|
||||||
|
vgic_v2_clear_lr
|
||||||
|
vgic_v2_populate_lr
|
||||||
|
vgic_v2_fold_lr_state
|
||||||
|
vgic_v2_set_underflow
|
||||||
|
vgic_v2_process_maintenance
|
||||||
|
vgic_v2_init_lrs
|
||||||
|
|
||||||
|
# virt/kvm/arm/vgic/vgic.c
|
||||||
|
vgic_irq_release
|
||||||
|
|
||||||
1
linux-kernel-test.patch
Normal file
1
linux-kernel-test.patch
Normal file
@ -0,0 +1 @@
|
|||||||
|
nil
|
||||||
66
merge.pl
Normal file
66
merge.pl
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#! /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 (/([\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 (/([\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;
|
||||||
98
mkgrub-menu-aarch64.sh
Normal file
98
mkgrub-menu-aarch64.sh
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#This script is used for creating a new grub menu item when update kernel.
|
||||||
|
#It uses the new version-number as the id and display.
|
||||||
|
|
||||||
|
NEW_KERN_VERSION=$1
|
||||||
|
GRUB_CFG=$2
|
||||||
|
OP_TYPE=$3
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Description: SetupOS_Initrd_for_softraid
|
||||||
|
# Input none
|
||||||
|
# Return: 0: SUCCESS
|
||||||
|
# 1: Internal Error.
|
||||||
|
#########################################################
|
||||||
|
function SoftRaid_Initrd()
|
||||||
|
{
|
||||||
|
SI_INITRD=initramfs-${NEW_KERN_VERSION}.img
|
||||||
|
mkdir -p /initramfs/usr/lib/systemd/system
|
||||||
|
mkdir -p /initramfs/etc/systemd/system/default.target.wants
|
||||||
|
mdadm --detail --scan >> /initramfs/etc/mdadm.conf
|
||||||
|
|
||||||
|
cd /initramfs
|
||||||
|
cat <<EOF > /initramfs/usr/lib/systemd/assemble-md
|
||||||
|
#!/bin/bash
|
||||||
|
declare -i count=5
|
||||||
|
if [ -f /etc/mdadm.conf ];then
|
||||||
|
while (( count > 0 )) ;
|
||||||
|
do
|
||||||
|
sleep 10s
|
||||||
|
let count--;
|
||||||
|
if [ -e "/dev/sda1" ];then
|
||||||
|
mdadm -A -s
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
echo " waiting harddisk get online .... countdown ${count} "
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
if [ $? -ne 0 ];then
|
||||||
|
g_Log_Error "generate assemble-md failed"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
chmod -R 755 /initramfs/usr/lib/systemd/assemble-md
|
||||||
|
cat << EOF > /initramfs/usr/lib/systemd/system/assemble-md.service
|
||||||
|
[Unit]
|
||||||
|
Description=assemble the md
|
||||||
|
DefaultDependencies=no
|
||||||
|
After=local-fs-pre.target systemd-udev-trigger.service systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
|
||||||
|
Before=local-fs.target diskconf-reload.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/lib/systemd/assemble-md
|
||||||
|
StandardOutput=journal+console
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
EOF
|
||||||
|
if [ $? -ne 0 ];then
|
||||||
|
g_Log_Error "generate assemble-md.service failed"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp /initramfs/usr/lib/systemd/system/assemble-md.service /initramfs/etc/systemd/system/default.target.wants/
|
||||||
|
dracut --force --include /initramfs / /boot/${SI_INITRD} ${NEW_KERN_VERSION}
|
||||||
|
rm -r /initramfs
|
||||||
|
cd -
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "x${NEW_KERN_VERSION}" == "x" ] || [ "x${GRUB_CFG}" == "x" ] || [ "x${OP_TYPE}" == "x" ] ; then
|
||||||
|
echo "There some mkgrub-menu parameter is null,please check "
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "update" = "${OP_TYPE}" ]; then
|
||||||
|
|
||||||
|
DEF_VER=`grep -nr "default=" $GRUB_CFG|awk -F = '{print $2}'` ;
|
||||||
|
START_LN=`grep -nr " --id ${DEF_VER}" $GRUB_CFG|awk -F: '{print $1}'` ;
|
||||||
|
/bin/sed -rn "p;${START_LN},/}/H;$ {g;s/^\n//;p}" $GRUB_CFG > tempfile ;
|
||||||
|
/bin/sed -i "$[START_LN+5],/ --id ${DEF_VER}/{s/ --id ${DEF_VER}/ --id linux-${NEW_KERN_VERSION}/}" tempfile ;
|
||||||
|
OLDLABLE=`sed -n "$[START_LN+5],/ --id ${DEF_VER}/p" tempfile |grep menuentry |tail -1 |awk '{print $2}' |sed "s/\"//g" `
|
||||||
|
/bin/sed -i "$[START_LN+5],/ --id ${DEF_VER}/{s/${OLDLABLE}/EulerOS-${NEW_KERN_VERSION}/}" tempfile ;
|
||||||
|
/bin/sed -i "/ --id linux-${NEW_KERN_VERSION}/,/}/{s/`uname -r`/${NEW_KERN_VERSION}/} " tempfile ;
|
||||||
|
/bin/sed -i "s/default=${DEF_VER}/default=linux-${NEW_KERN_VERSION}/" tempfile ;
|
||||||
|
mv tempfile $GRUB_CFG
|
||||||
|
|
||||||
|
if [ `cat /proc/mdstat |wc -l ` -gt 2 ]; then
|
||||||
|
SoftRaid_Initrd > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "remove" = "${OP_TYPE}" ]; then
|
||||||
|
/bin/sed -i "/ --id linux-${NEW_KERN_VERSION}/,/}/d" $GRUB_CFG
|
||||||
|
DEF_VER=`grep -nr "menuentry" $GRUB_CFG |head -1 |awk '{print $4}' |sed "s/{//g" `
|
||||||
|
/bin/sed -i "s/default=linux-${NEW_KERN_VERSION}/default=${DEF_VER}/" $GRUB_CFG
|
||||||
|
fi
|
||||||
0
sender_cpu
Normal file
0
sender_cpu
Normal file
25
sign-modules
Normal file
25
sign-modules
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
moddir=$1
|
||||||
|
|
||||||
|
modules=`find $moddir -name *.ko`
|
||||||
|
|
||||||
|
MODSECKEY="./signing_key.pem"
|
||||||
|
MODPUBKEY="./signing_key.x509"
|
||||||
|
|
||||||
|
for mod in $modules
|
||||||
|
do
|
||||||
|
dir=`dirname $mod`
|
||||||
|
file=`basename $mod`
|
||||||
|
|
||||||
|
./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file}
|
||||||
|
rm -f ${dir}/${file}.{sig,dig}
|
||||||
|
done
|
||||||
|
|
||||||
|
RANDOMMOD=$(find $moddir -type f -name '*.ko' | sort -R | tail -n 1)
|
||||||
|
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||||
|
echo "*** Modules are unsigned! ***"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
16
x509.genkey
Normal file
16
x509.genkey
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[ req ]
|
||||||
|
default_bits = 4096
|
||||||
|
distinguished_name = req_distinguished_name
|
||||||
|
prompt = no
|
||||||
|
x509_extensions = myexts
|
||||||
|
|
||||||
|
[ req_distinguished_name ]
|
||||||
|
O = EulerOS
|
||||||
|
CN = EulerOS kernel signing key
|
||||||
|
emailAddress = euleros@huaweicloud.com
|
||||||
|
|
||||||
|
[ myexts ]
|
||||||
|
basicConstraints=critical,CA:FALSE
|
||||||
|
keyUsage=digitalSignature
|
||||||
|
subjectKeyIdentifier=hash
|
||||||
|
authorityKeyIdentifier=keyid
|
||||||
Loading…
x
Reference in New Issue
Block a user