* This is in preparation for removal of these targets.
Bug: 293529933
Change-Id: I7b7400bb95b0d2c571be18b97727d878996ab575
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
(cherry picked from commit 83379c35cd0f39f65d89aacb7fbd4166b4cc9e9a)
* This is a no-op change preparing for the split of target and files
based on the architecture used.
Bug: 293529933
Change-Id: I7783b60e591aaad23b5446af5cb04af5765f4b3f
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Running the following will run scripts/checkpatch.pl on a
patch of HEAD
tools/bazel run //common:checkpatch
or a given Git SHA1:
tools/bazel run //common:checkpatch -- --git_sha1 ...
For additional flags, see
tools/bazel run //common:checkpatch -- --help
For details, see
build/kernel/kleaf/docs/checkpatch.md
in your source tree.
Test: TH
Bug: 259995152
Change-Id: Iaad8fd69508cf9be11340166aafbb84930d4805c
Signed-off-by: Yifan Hong <elsk@google.com>
(cherry picked from commit 7dbf26568fcccde88470e7a25c07f0c7229e85f1)
On KMI frozen branches, symbols may no longer be removed
from KMI symbol lists.
This change sets kmi_symbol_list_add_only=true for Kleaf builds.
Test: Treehugger
Bug: 292106238
Change-Id: I74cf98ebad2705b92468c996e9b3b472447e8203
Signed-off-by: Yifan Hong <elsk@google.com>
This commit is for adding initial symbol list form ExynosAuto SoCs.
"abi_gki_aarch64_exynosauto" is generated from minimal configs for build.
Bug: 291172090
Signed-off-by: Bumyong Lee <bumyong.lee@samsung.com>
Change-Id: I9114e0ec6881d7d5bdbe61e505e21a379801f69d
* CONFIG_WATCHDOG is disabled when compiling with
--kgdb option, hence the list of modules produced is
adjusted conditionally.
Bug: 270320056
Change-Id: I0eafb118836e6a31dc3b0392ab7d60b5597b9367
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Generally DAMP is a best practice in Bazel, for this
specific case, it helps with:
* Better target discoverability and auto-completion.
* It's possible to use `select` for KGDB fixes later on
without encountering name expectations broken.
Bug: 256196368
Bug: 270320056
Change-Id: I300404a9b2b4b7c6569145a942ecb445d23e8e9a
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
* CONFIG_WATCHDOG is disabled when compiling with
--kgdb option, hence the list of modules produced is
adjusted conditionally on its value.
Bug: 270320056
Change-Id: I4db55fdf6b91a65209d2e0ae3bbb5f384c7eca22
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
modules.bzl is the source of truth for the list of GKI
modules. There is no need to keep two lists.
Test: TH
Bug: 287697703
Signed-off-by: Yifan Hong <elsk@google.com>
(cherry picked from https://android-review.googlesource.com/q/commit:a8a61755f67730af45d50f6173a4eedbcefa1c87)
Merged-In: I8953e92696833cf8ec27aa80724ec468c08736f1
Change-Id: I8953e92696833cf8ec27aa80724ec468c08736f1
Create the symbol list file for Honor Device Co.
Bug: 279793369
Signed-off-by: Dezhi Huang <huangdezhi@hihonor.com>
Change-Id: I11bca937366428bc87a174a64b7d6843e3d92339
This commit is for adding initial symbol list form Exynos SoC.
"abi_gki_aarch64_exynos" is generated from minimal configs for build.
2 function symbol(s) added
'int devm_hwrng_register(struct device*, struct hwrng*)'
'int irq_force_affinity(unsigned int, const struct cpumask*)'
Bug: 278466304
Change-Id: I6a700eda5639bf46f694524fefe91b759583704d
Signed-off-by: Junki Min <joonki.min@samsung.com>
Initial symbol list for imx that adds it to the build and does not add
any new symbols at this point in time.
Bug: 277651618
Change-Id: I19d4463295bc2f2a22fa5983765a20838d8615ce
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Add initial MTK symbol list and add to the build system.
Bug: 277305001
Change-Id: I3944eb4517c5040dac4fb8769907800af3b5495e
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
_aarch64_additional_kmi_symbol_list has all vendor's kmi symbol list file,
but it is inaccessible from outside. Added a filegroup for it.
Bug: 275670969
Signed-off-by: Junki Min <joonki.min@samsung.com>
Change-Id: I65ad4008ae2135fae88c8eaf1c09d141ea562294
ABI is being implemented for x86_64, making it necessary
to support protected exports header file generation for
the GKI modules for multiple architecture.
Enable support to select required inputs based on the ARCH
to generate gki_module_protected_exports.h during kernel
build.
Inputs for generating gki_module_protected_exports.h are:
ARCH = arm64:
ABI Protected exports list: abi_gki_protected_exports_aarch64
Protected GKI modules list: gki_aarch64_protected_modules
ARCH = x86_64:
ABI Protected exports list: abi_gki_protected_exports_x86_64
Protected GKI modules list: gki_x86_64_protected_modules
Test: TH
Test: Manual verification of the generated header file
Test: bazel run //common:kernel_aarch64_abi_update_protected_exports
Bug: 151893768
Change-Id: Ic4bcb2732199b71a7973b5ce4c852bcd95d37131
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Enables the KMI strict mode for the aarch64;
also remove the TODO comment for aarch64-debug
as KMI strict mode shouldn't be enabled for
that target.
Bug: 269346251
Test: bazel build //common:kernel_aarch64
Test: TH
Change-Id: If8cb717d2e3dfef29004fafe1315a69caa940716
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Define protected modules and exports list for the aarch64 target.
This enables support to update and/or create protected
exports list at common/android/abi_gki_protected_exports based on
the modules listed in common/android/gki_protected_modules.
Command:
bazel run --config=fast //common:kernel_aarch64_abi_update_protected_exports
Bug: 268679215
Test: bazel run //common:kernel_aarch64_abi_update_protected_exports
Test: TH
Change-Id: I36a18162c2ef253fcf691b016b4da861d9c61e4a
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Needed for monitoring the KMI.
Bug: 269587270
Change-Id: I6f688a9d81cbe9c891a2e39727a4bf4b687369aa
Signed-off-by: Will McVicker <willmcvicker@google.com>
Add android/abi_gki_aarch64.stg as initial ABI representation of the
KMI and start enforcing KMI. Kernel is not trimmed yet, the trimming
will be enabled after adding symbols lists.
This is not KMI freeze. While this is hard enforcement in the code
base, we still allow controlled changes to the ABI.
Test: TH
Bug: 269323432
Change-Id: Ic3a126a6d60242ae713ae396bb239af5b3e58c53
Signed-off-by: Aleksei Vetrov <vvvvvv@google.com>
Add snd-soc-qcom-sdw to module_outs for db845.
This was split out of the common qcom-snd module
to avoid a regression on older platforms that didn't
support soundwire.
Fixes: c878ac66db ("ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE")
Change-Id: I957bccf8ce8e947332aad81e5e5ec33bcbbbbaa1
Signed-off-by: Peter Griffin <gpeter@google.com>
This will be reverted before freezing the KMI on this branch.
Bug: 264279944
Change-Id: Ic0229cf4e8a9462732cb0555af980747eaee6ebc
Signed-off-by: T.J. Mercier <tjmercier@google.com>
To meet FIPS 140 requirements, add support for building a kernel module
"fips140.ko" that contains various cryptographic algorithms built from
existing kernel source files. At load time, the module checks its own
integrity and self-tests its algorithms, then registers the algorithms
with the crypto API to supersede the original algorithms provided by the
kernel itself.
[ebiggers: this commit originated from "ANDROID: crypto: fips140 -
perform load time integrity check", but I've folded many later commits
into it to make forward porting easier. See below]
Original commits:
android12-5.10:
6be141eb36fe ("ANDROID: crypto: fips140 - perform load time integrity check")
868be244bbed ("ANDROID: inject correct HMAC digest into fips140.ko at build time")
091338cb398e ("ANDROID: fips140: add missing static keyword to fips140_init()")
c799c6644b52 ("ANDROID: fips140: adjust some log messages")
92de53472e68 ("ANDROID: fips140: log already-live algorithms")
0af06624eadc ("ANDROID: fips140: check for errors from initcalls")
634445a640a4 ("ANDROID: fips140: fix deadlock in unregister_existing_fips140_algos()")
e886dd4c339e ("ANDROID: fips140: unregister existing DRBG algorithms")
b7397e89db29 ("ANDROID: fips140: add power-up cryptographic self-tests")
50661975be74 ("ANDROID: fips140: add/update module help text")
b397a0387cb2 ("ANDROID: fips140: test all implementations")
17ccefe14021 ("ANDROID: fips140: use full 16-byte IV")
1be58af0776a ("ANDROID: fips140: remove non-prediction-resistant DRBG test")
2b5843ae2d90 ("ANDROID: fips140: add AES-CBC-CTS")
2ee56aad318c ("ANDROID: fips140: add AES-CMAC")
960ebb2b565b ("ANDROID: fips140: add jitterentropy to fips140 module")
e5b14396f9d2 ("ANDROID: fips140: take into account AES-GCM not being approvable")
52b70d491bd4 ("ANDROID: fips140: use FIPS140_CFLAGS when compiling fips140-selftests.c")
6b995f5a5403 ("ANDROID: fips140: preserve RELA sections without relying on the module loader")
e45108ecff64 ("ANDROID: fips140: block crypto operations until tests complete")
ecf9341134d1 ("ANDROID: fips140: remove in-place updating of live algorithms")
482b0323cf29 ("ANDROID: fips140: zeroize temporary values from integrity check")
64d769e53f20 ("ANDROID: fips140: add service indicators")
8d7f609cdaa4 ("ANDROID: fips140: add name and version, and a function to retrieve them")
6b7c37f6c449 ("ANDROID: fips140: use UTS_RELEASE as FIPS version")
903e97a0ca6d ("ANDROID: fips140: refactor evaluation testing support")
97fb2104fe22 ("ANDROID: fips140: add support for injecting integrity error")
109f31ac23f5 ("ANDROID: fips140: add userspace interface for evaluation testing")
android14-5.15:
84572a0c7981 ("ANDROID: fips140: split dump-section+add-section into 2 ops")
b0f8873811d4 ("ANDROID: kleaf: convert fips140 to kleaf")
2535deae8069 ("ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables")
685a2ade28bb ("ANDROID: fips140: add crypto_memneq() back to the module")
320dfca58a3d ("ANDROID: fips140: fix in-tree builds")
d4966a820397 ("ANDROID: fips140: remove CONFIG_CRYPTO_FIPS140 option")
6da26b8750f5 ("ANDROID: fips140: require 'm' to enable CRYPTO_FIPS140_MOD")
bfcfcce3803b ("ANDROID: fips140: unapply ABS32 relocations generated by KCFI")
63f46b45dda2 ("ANDROID: fips140: eliminate crypto-fips.a build step")
ae4ca7a09bb6 ("ANDROID: fips140: allow building without LTO")
Bug: 153614920
Bug: 188620248
Test: tested that the module builds and can be loaded on raven.
Change-Id: I3fde49dbc3d16b149b072a27ba5b4c6219015c94
Signed-off-by: Ard Biesheuvel <ardb@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Add a "fake" GKI for RISC-V based on the arm64 one. This implementation
simply symlinks the arm64 gki_defconfig and merges in two other configs:
- arch/riscv/configs/64-bit.config
This is an upstream file which enables RISC-V for 64-bit.
- arch/riscv/configs/gki.config
This is a workaround file which enables things the ARM64 architecture
pre-selects, such as GPIOLIB. Without enabling these options, some
drivers are incorrectly dropped from the gki_defconfig.
Bug: 260012551
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ifad59ed483bdbb736e905eefc5107328155a361b
Similar to aarch64 and x86_64, we also add ddk_headers
for arm so we can build DDK (Driver development kit) modules
for the arm architecture for virtual devices.
Test: Treehugger
Bug: 254735056
Change-Id: I7ade4a6053e59d84b825285fbc6162b6e642682e
Signed-off-by: Yifan Hong <elsk@google.com>
* This is to follow the convention:
kernel_<arch>_<target>
Bug: 260313194
Change-Id: I643fef0ed77b24c6564f8b8e1ed152180beeaf80
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
These corresponds to the build.config.allmodconfig.*
build configs.
Unlike build.sh, the Kleaf variant deliberately does not copy
any outputs to the distribution directory. There's not
even a dist target.
This is because allmodconfig is a build test only.
Test: bazel build --allow_undeclared_mdoules //common:allmodconfig_{aarch64,arm,x86_64}
Bug: 258259749
Change-Id: Iefe8f69149f6391938696e90243939d42d4fda84
Signed-off-by: Yifan Hong <elsk@google.com>
Use Kleaf to build rockpi4.
This does not enable mixed build. Mixed build is enabled
in follow-up CLs.
Test: bazel build //common:rockpi4_dist
Bug: 258259749
Change-Id: I4828953495c862afe517fff48195d2f6a97e3fcf
Signed-off-by: Yifan Hong <elsk@google.com>
This is so that it can be loaded by other packages. Some
device's may wish to not build mixed build, in which case
they'll either need to use 'auto' in module_outs (discouraged),
or load the list of GKI modules.
Test: TH
Bug: 258308697
Change-Id: Iff7778b9edae7101a2debd44a49bb5eb403bfb2f
Signed-off-by: Yifan Hong <elsk@google.com>
CONFIG_BT_HIDP: HIDP protocol support
HIDP (Human Interface Device Protocol) is a transport
layer for HID reports. HIDP is required for the Bluetooth
Human Interface Device Profile.
Bug: 232431151
Test: TH
Change-Id: Ibe9ed98370ecc9c9825c3a735070817d16254138
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
(cherry picked from commit 4747c631a478866edd2cd6e0c98ce8febedf6ab1)
CONFIG_BT_RFCOMM: RFCOMM protocol support
RFCOMM provides connection oriented stream transport.
RFCOMM support is required for Dialup Networking,
OBEX and other Bluetooth applications.
Bug: 232431151
Test: TH
Change-Id: I573d8c7a1eff02b1554b5d6793b5c3c06fb35931
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
(cherry picked from commit 264b55ef9b11bdc59c6164de01e3daf6a44bc95d)
Converts following networking features to modules:
CONFIG_TIPC: The Transparent Inter Process Communication (TIPC) protocol.
CONFIG_TIPC_DIAG: TIPC: socket monitoring interface
Bug: 232431151
Test: TH
Change-Id: I370cc7a34f67222b619107d773cc4a13edd6b538
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
(cherry picked from commit e516a098e2a4605ce113dc85ba6ac4c93d5136fc)
CONFIG_USB_SERIAL: USB Serial Converter support
CONFIG_USB_FTDI_SIO: FTDI SIO single port USB to
serial converter device.
Bug: 232431151
Test: TH
Change-Id: I1522a9beb0f70740fdce11d1c50b606d81ddf6c6
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
(cherry picked from commit 1383c8eae920fe95de79d0ce39e4468ad22034d6)