* This is the initial symbol list for
rockpi4 target.
Bug: 261782070
Change-Id: I76f8924f5e40c6ecfb91a5291b86a9d4fd9badb0
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
update the KMI symbol list after enabled
the bazel abi build method by running commands like this:
$ tools/bazel run //common:db845c_abi_dist
$ tools/bazel run //common:db845c_abi_update_symbol_list
Bug: 246861677
Test: run the db845c_dist, db845c_abi_dist, db845c_abi_update_symbol_list
and the build could boot to homescreen
Change-Id: Ibe628880c0556f20594b581bda6e7e0733b3f121
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
It was removed as part of http://aosp/2225442 being
out dated; but need to restore it until kleaf supports
to generate new one for the virtual_device. This
will allow virtual_device modules depending on GKI
modules symbols to load.
This will serve as baseline as of now.
Test: TH
Bug: 248334110
Change-Id: I6bbe8d4544b2f8759ed844a672dd9304e9c091cb
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
It is a typo to put arch/arm64/include/*
in the include dirs.
Test: treehugger
Bug: 254735056
Change-Id: I151786b6c6ab3397a2eb829e3c86cc3303ff0ceb
Signed-off-by: Yifan Hong <elsk@google.com>
with the db845c mac80211.ko and cfg80211.ko dropped,
and related kernel configs removed.
especially if CONFIG_NL80211_TESTMODE=y is not removed,
the following error will be reported:
[ 1.993280][ T1] init: Loading module /lib/modules/ath10k_core.ko with args ''
[ 2.004838][ T1] ath10k_core: disagrees about version of symbol ieee80211_alloc_hw_nm
[ 2.013029][ T1] ath10k_core: Unknown symbol ieee80211_alloc_hw_nm (err -22)
[ 2.070362][ T1] init: Failed to insmod '/lib/modules/ath10k_core.ko' with args '': Invalid t
[ 2.079933][ T1] init: LoadWithAliases was unable to load ath10k_core
[ 2.087752][ T1] init: Failed to load kernel modules
Fixes: b519faae30 ("ANDROID: ABI: gki_defconfig: disable cfg80211 and mac80211")
Test: boot the db845c_dist build to homescreen
Change-Id: I84b5a60a9bfed83c65fdae3a68e726779a6fb679
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
* This is to follow the convention:
kernel_<arch>_<target>
Bug: 260313194
Change-Id: I735356b130499b579b743b270164824c09c42497
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
With the following change merged, the unsafe header
is no longer necessary.
3b72a6405c0f301ed787d899077748f84c8bcafc
("kleaf: enable DDK for virtual devices")
Bug: 254735056
Change-Id: I2e89f5c921d641a486d4c06628d59551f61ba2ba
Signed-off-by: Yifan Hong <elsk@google.com>
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 reverts commit 6100c90ef5.
Reason for revert: rockpi4 has DEVTMPFS enabled and GKI doesn't
Bug: 258841346
Change-Id: Icefb1bb4cf39004234513d307e385b04cb76e51d
Build the GKI //common:kernel_aarch64, then
build rockpi4 modules on top of it.
As a side effect of this change, rockpi4 will no longer
be able to be built with build.sh because it won't produce
vmlinux, etc..
Test: TH
Test: bazel run //common:rockpi4_dist
Bug: 258841346
Change-Id: I88989a265d0a90daddc85dd45a8736f942350522
Signed-off-by: Yifan Hong <elsk@google.com>
as they are required by the db845c vendor modules.
Otherwise error like the following will be reported:
[ 1.850121][ T1] init: Loading module /lib/modules/cfg80211.ko with args ''
[ 1.865624][ T1] cfg80211: Unknown symbol rfkill_alloc (err -2)
[ 1.871916][ T1] cfg80211: Unknown symbol rfkill_register (err -2)
[ 1.878426][ T1] cfg80211: Unknown symbol rfkill_destroy (err -2)
[ 1.884845][ T1] cfg80211: Unknown symbol rfkill_resume_polling (err -2)
[ 1.891889][ T1] cfg80211: Unknown symbol rfkill_unregister (err -2)
[ 1.898621][ T1] cfg80211: Unknown symbol rfkill_set_hw_state_reason (err -2)
[ 1.906236][ T1] cfg80211: Unknown symbol rfkill_blocked (err -2)
[ 1.942752][ T1] init: Failed to insmod '/lib/modules/cfg80211.ko' with args '': No such file or directory
[ 1.952811][ T1] init: LoadWithAliases was unable to load /lib/modules/cfg80211.ko
Fixes: 6a0f9b1a5a ("ANDROID: GKI: Convert RF switch subsys as module")
Fixes: 6647fadd21 ("ANDROID: GKI: Convert CAN Bus Subsystem as module")
Fixes: 01d9b23ec3 ("ANDROID: GKI: Convert Net PPP Protocol as module")
Test: boot the db845c build to homescreen
Change-Id: Ia2a072a9d422922a0400495a2107ea0967493ba7
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
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
Bug: 258841346
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>
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>
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>
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>
CONFIG_USB_ACM:
This driver supports USB modems and ISDN adapters
which support the Communication Device Class
Abstract Control Model interface.
Bug: 232431151
Test: TH
Change-Id: I15e07607121546eee4e6fa6b8bd8a8fd510a02d9
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
As the GKI CAN modules are requrired by the db845c mcp251xfd
module, here add the list of the GKI CAN modules,
so that they will be copied to the db845c build dist directory.
Fixes: cfbff2d199 ("ANDROID: GKI: Add CAN adapters as GKI modules")
Test: boot with the db845c android14-5.15 build
Change-Id: I2ff55e2e1795f889f88cbebb7f1bec3c5daff67e
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
A new attribute, linux_includes, is added to ddk_headers to
denote that certain include directories should be added
to LINUXINCLUDE, not ccflags-y.
Change includes to linux_includes for the allowlist of
ddk_headers targets in //common. These are already
added to LINUXINCLUDE in common/Makefile, but we should
make them explicit in BUILD files too so the ordering can
be listed clearly in BUILD files.
Test: build cuttlefish with DDK
Bug: 257342715
Change-Id: I97678264b37036cb5ab86973428e4e0d7f5b645d
Signed-off-by: Yifan Hong <elsk@google.com>
Add CAN related non bus drivers as GKI modules.
Bug: 229934827
Bug: 232431151
Test: TH
Change-Id: I5d876363a0ea3007e5a83bbca53dcaae1e09e707
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Create a generic global list for GKI modules' list
and use that instead of cluttering the long list in
every target to keep it more robust and readable.
Bug: 232431151
Test: TH
Change-Id: Ib7f7be7988204c483519be0b38a90007d54b7912
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
The ddk_headers targets should be architecture specific; that
is, an x86_64 ddk_module should not be able to see arm64 headers,
and vice versa.
Since the majority of devices is arm64, the //common:all_headers
alias points to //common:all_headers_aarch64. x86_64 devices
can use //common:all_headers_x86_64 instead.
After this change:
- arm64 ddk_modules can continue depending on //common:all_headers, or
they can depend on //common:all_headers_aarch64 to be explicit.
In this case, they will not see the x86 headers.
- x86 ddk_modules can depend on //common:all_headers_x86_64.
In this case, they will not see the arm64 headers.
- unsafe headers under drivers/ are not splitted; they aren't arch specific.
This change ensures that e.g. virtual_device_x86_64 does not
search the headers from the arm64 folders.
Test: bazel build //common:all_headers
Test: bazel build --allow_ddk_unsafe_headers_set //common:all_headers
Bug: 256225968
Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I80dd33fb4c0e93dcba3e0714f9fd67d78596ab15
Add buildifier sorting directives for modules lists
to catch non sorted lists in presubmit as well as
to help sort lists using the buildifier.
Bug: 232431151
Test: TH
Change-Id: I508652429f26f85ce5d760024574d68d63f2da9e
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
In preparation of going away from the build.config.*,
remove the comments to keep bazel in sync with them.
Bug: 232431151
Test: TH
Change-Id: Iadf09d1a7c5afbbfdafb8225471352a48842be34
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Sort modules listing in an ascending order,
since order is not important.
Bug: 232431151
Test: TH
Change-Id: Icaad772671bf3d6a78ce1fda84b3a6fe566df0f6
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Enable zram and zsmalloc as modules to be in sync
with the aarch64 builds.
Bug: 232431151
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: I55053eeb6beda342689c854f95f4307871a3729b
This CL includes headers used by the external modules
of virtual_device_x86_64.
Allowlist: This is a list of headers and a list of
include directories that are known to be safe
to be used by modules.
- This list includes:
- Everything under
- arch/x86/include
- include
Unsafe list: This is the list of headers that are known to be used
by the external modules of virtual_device_x86_64, minus allowlist.
This means, with the allowlist and unsafe list, the certain Pixel
device kernel build can be transitioned to DDK without any change
to the source code.
- Note that for cleaness of DDK modules, we may want to
remove some items in the allowlist of includes and
require device source code to #include from the
correct directory.
The command to generate this list is:
bazel run //build/kernel/kleaf:gen_ddk_headers \
--gen_ddk_headers_target=//common-modules/virtual-device:virtual_device_x86_64_modules_install \
--gen_ddk_headers_input_archives=//common:kernel_x86_64_ddk_allowlist_headers \
-- -k
Manual edits:
- arch/arm64/include/ is added back. This is due to a limitation
of the generation script that globs aren't properly handled.
Bug: 248351908
Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I0eae9213493d78a6899aa15c8096f3c7694328a3
This CL includes headers used by the external modules of
a real Pixel device.
Allowlist: This is a list of headers and a list of
include directories that are known to be safe
to be used by modules.
- This list includes:
- Everything under
- arch/arm64/include
- include
Unsafe list: This is the list of headers that are known to be used
by a certain Pixel device kernel build, minus allowlist.
This means, with the allowlist and unsafe list, the certain Pixel
device kernel build can be transitioned to DDK without any change
to the source code.
- Note that for cleaness of DDK modules, we may want to
remove some items in the allowlist of includes and
require device source code to #include from the
correct directory.
The command to generate this list is:
bazel run //build/kernel/kleaf:gen_ddk_headers \
--gen_ddk_headers_target=//gs/google-modules/soc-modules:slider_modules_install
-- -k
Manual edits:
- manually removed the following headers that no longer exist on
android14-5.15:
remove hdrs arch/arm64/kvm/hyp/include/nvhe/ffa.h|//common:all_headers_unsafe
remove hdrs arch/arm64/kvm/hyp/include/nvhe/iommu.h|//common:all_headers_unsafe
remove hdrs arch/arm64/kvm/hyp/include/nvhe/pkvm.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufs.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufs_quirks.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufshcd.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufshcd-crypto.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufshcd-pltfrm.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/ufshci.h|//common:all_headers_unsafe
remove hdrs drivers/scsi/ufs/unipro.h|//common:all_headers_unsafe
- manually remove a source:
remove hdrs lib/vdso/gettimeofday.c|//common:all_headers_unsafe
Bug: 248351908
Change-Id: Ie75c45f1646ec6055dcdb6f49d3001691581c046
Signed-off-by: Yifan Hong <elsk@google.com>
Create the skeleton rules for DDK headers, and write comments
with hands.
This CL has no real effect; all targets are declared empty
and content is filled in in follow up CLs.
Allowlist: This is a list of headers and a list of
include directories that are known to be safe
to be used by modules.
Unsafe list: This is the list of headers that are known to be used
by some device kernel build, minus allowlist.
This means, with the allowlist and unsafe list, an unspecified
device kernel build can be transitioned to DDK without any change
to the source code.
- Note that for cleaness of DDK modules, we may want to
remove some items in the allowlist of includes and
require device source code to #include from the
correct directory.
Bug: 248351908
Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I4f15d2fac703bc3b7100a72e90f289236db3e7e5
REGMAP_SPMI is a hidden symbol normally selected by other SPMI drivers,
but it wasn't built-in to GKI like other REGMAP APIs so vendors had to
build it downstream.
This is a small amount of code and can be modularized later.
For allmodconfig, select SPMI via Kconfig.gki instead of gki_defconfig,
because otherwise allmodconfig will build SPMI=m and REGMAP_SPMI=y,
which is not allowed.
Bug: 248307451
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ic3833e3a2dc44386c12a2422562994a1581a549c
Symbol lists which are not updated after the fork
from the 13-5.15 kernel are deleted to force
regeneration of those lists when needed.
Remove stale symbols from the remaining lists.
Stale symbols (exported in 13-5.15 but not in 14-5.15):
- kfree_skb
- tty_schedule_flip
Bug: 248334110
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Icc5ef9feb9f5268ac19a84979951c3e15afc2af5
In BUILD.bazel, explicitly list abi_definition,
kmi_symbol_list, and additional_kmi_symbol_lists.
This avoids using the glob expression which may
accidentally match editor backup files.
Bug: 246344503
Test: TH
Change-Id: I8fbad63bf744672ba5b76b51cc908926d7b10849
Signed-off-by: Yifan Hong <elsk@google.com>
As a result of this change:
- fips140 is no longer part of the GKI build but a
separate module, so it is not signed
(CONFIG_MODULE_SIG_ALL is not set)
- GKI images (e.g. system_dlkm image, boot images)
etc. are no longer part of the build -- because
they are unnecessary.
- The build config no longer inherits from build.config.gki.aarch64
directly to avoid building unnecessary system_dklm, boot images,
GKI artifacts, etc.
Test: BUILD_CONFIG=common/build.config.gki.aarch64.fips140 build/build.sh
Test: tools/bazel build //common:fips140_dist
Bug: 232083350
Change-Id: I2cb0ee0b55c2a5ea46e6d73ecad4aa97585c1989
Signed-off-by: Yifan Hong <elsk@google.com>
When a device kernel builds their own modules that
conflicts with the GKI modules (zram and zsmalloc
for android13-5.15), the dist target will produce a
warning about conflicting source files.
Hence, do not include zram and zsmalloc to the device
dist targets by default when they include //common:kernel_aarch64
only.
If they wish to include zram and zsmalloc in
the distribution on the android13-5.15 branch,
they may add the following to the
dist target:
"//common:kernel_aarch64_modules",
or individual modules:
"//common:kernel_aarch64/drivers/block/zram/zram.ko",
"//common:kernel_aarch64/mm/zsmalloc.ko",
//common:kernel_aarch64_dist continues to include GKI
modules defined by the branch.
Bug: 244215515
Test: manual
Change-Id: Iae701d7d452e6ed3a849fdfd03550551ca2af17e
Signed-off-by: Yifan Hong <elsk@google.com>
Revert "ANDROID: Convert db845c to a mixed build."
Revert submission 2188970-db845c_mixed_build
Reason for revert: It breaks android-mainline
Reverted Changes:
I6cfb1ef19:ANDROID: Convert db845c to a mixed build.
I6680cb8ef:kleaf: Convert db845c to a mixed build.
I6cfb1ef19:ANDROID: Convert db845c to a mixed build.
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Change-Id: I0b7b411d2e5cf13aff257b5827479d20092f2b3b
Turn off trimming of symbols so we do not need to keep a set of valid
symbol tables during the development cycle of the android14-5.15 branch.
Bug: 188620248
Change-Id: I4f3bc558aca8432b77e7a855bcc75443e7af8ba3
Signed-off-by: Yifan Hong <elsk@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Remove CONFIG_CFG80211 and CONFIG_MAC80211 from gki_defconfig
to allow vendors to incorporate features that lands upstream
after KMI freeze.
Also need to update symbol lists since the related 80211
symbols are no longer exported from the core kernel.
Bug: 227176212
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ia680c2b38d5f13263e318f8c5eaa42f591385736
(cherry picked from commit b24cd8be89)
Signed-off-by: Carlos Llamas <cmllamas@google.com>
db845c is not a mixed build yet, so need to add GKI
modules to it's module_outs for kleaf builds to
resolve hard failures in kleaf build for module copy.
Bug: 230519159
Test: tools/bazel run //common:db845c_dist
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: If3ce64a2b5f6b2f019a393f4674de30ac7437069
Enable zram and zsmalloc (dependency for zram) as
unprotected modules for aarch64. These are already
being used as modules by the vendor currently; so
needs to be unprotected.
Bug: 230519159
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: I7c617c1a24f6e083301cbed67d0d323388cbd622
Run buildifier to format BUILD.bazel file
to keep things sorted.
Bug: 188620248
Test: no lint errors
Change-Id: I2b5ff358e28580094b49550e1145961e9c76a430
Signed-off-by: Yifan Hong <elsk@google.com>