Commit Graph

28 Commits

Author SHA1 Message Date
erinwang2
e013dc7081 ANDROID: GKI: Add symbol list for Lenovo
Add symbol list for Lenovo

2 function symbol(s) added  
      'void devm_release_resource(struct device *, struct resource *)'
      'void irq_domain_associate_many(struct irq_domain *, unsigned int, irq_hw_number_t, int)'

Bug: 270641114
Change-Id: I55739dc99f45da6efb72eb5b55ef59cdfeb38b31
Signed-off-by: erinwang2 <erinwang2@lenovo.com>
2023-03-06 20:20:10 -08:00
zhangao
d41e54aefb ANDROID: GKI: Add symbol list for ZEKU
Add symbol list for new vendor ZEKU

30 function symbol(s) added
  'void __free_iova(struct iova_domain *, struct iova *)'
  'int __traceiter_android_vh_mpam_set(void *, struct task_struct *, struct task_struct *)'
  'int __traceiter_wbc_writepage(void *, struct writeback_control *, struct backing_dev_info *)'
  'struct iova * alloc_iova(struct iova_domain *, unsigned long int, unsigned long int, bool)'
  'u64 clockevent_delta2ns(unsigned long int, struct clock_event_device *)'
  'void clockevents_register_device(struct clock_event_device *)'
  'int crypto_authenc_extractkeys(struct crypto_authenc_keys *, const u8 *, unsigned int)'
  'struct dentry * d_alloc_name(struct dentry *, const char *)'
  'int divider_determine_rate(struct clk_hw *, struct clk_rate_request *, const struct clk_div_table *, u8, unsigned long int)'
  'struct iova * find_iova(struct iova_domain *, unsigned long int)'
  'struct file_system_type * get_fs_type(const char *)'
  'unsigned int get_next_ino()'
  'int get_tree_single(struct fs_context *, int(*)(struct super_block *, struct fs_context *))'
  'int iova_cache_get()'
  'void iova_cache_put()'
  'void iterate_supers_type(struct file_system_type *, void(*)(struct super_block *, void *), void *)'
  'void kill_litter_super(struct super_block *)'
  'int netdev_set_num_tc(struct net_device *, u8)'
  'int netdev_set_tc_queue(struct net_device *, u8, u16, u16)'
  'bool pci_ats_supported(struct pci_dev *)'
  'void pci_disable_ats(struct pci_dev *)'
  'int pci_enable_ats(struct pci_dev *, int)'
  'int scsi_register_driver(struct device_driver *)'
  'void sdhci_adma_write_desc(struct sdhci_host *, void * *, dma_addr_t, int, unsigned int)'
  'void sdhci_set_uhs_signaling(struct sdhci_host *, unsigned int)'
  'size_t sg_copy_buffer(struct scatterlist *, unsigned int, void *, size_t, off_t, bool)'
  'size_t sg_zero_buffer(struct scatterlist *, unsigned int, size_t, off_t)'
  'int simple_statfs(struct dentry *, struct kstatfs *)'
  'int sysfs_create_mount_point(struct kobject *, const char *)'
  'void sysfs_remove_mount_point(struct kobject *, const char *)'

4 variable symbol(s) added
  'struct tracepoint __tracepoint_android_vh_mpam_set'
  'struct tracepoint __tracepoint_wbc_writepage'
  'const struct inode_operations simple_dir_inode_operations'
  'const struct file_operations simple_dir_operations'

Bug: 268588971

Change-Id: I913f5763031bd2fd3af6a04d5c4b317cc3901f62
Signed-off-by: zhangao <zhangao@zeku.com>
2023-02-14 12:17:48 +00:00
Isaac J. Manjarres
f72cb1622f ANDROID: GKI: Add a general aarch64 symbol list
Add a symbol list of commonly used aarch64 symbols.

Bug: 261218518
Change-Id: I780da859093d209a773db9bba44a4c644eb9c72a
Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com>
2022-12-17 00:15:46 +00:00
Farid Chahla
ac16892391 ANDROID: GKI: db845c: remove led-multicolor override
hid-playstation is built into GKI by default and relies on
led-multicolor support. For db845c to stay compliant with GKI it must
build in hid-playstation meaning led-multicolor must become a built in
as well.

Bug: 260685629
Change-Id: Ibbe2cd51700907d1261c0fa111298a6a234193d3
Signed-off-by: Farid Chahla <farid.chahla@sony.com>
2022-12-17 00:04:39 +00:00
Aaro Mäkinen
f0ecfd1af7 ANDROID: GKI: Add Tuxera symbol list
This list covers Microsoft exFAT by Tuxera and
Microsoft NTFS by Tuxera file system drivers.

28 function symbol(s) added
  'void __bforget(struct buffer_head *)'
  'void __cancel_dirty_page(struct page *)'
  'void __cleancache_invalidate_inode(struct address_space *)'
  'int add_to_page_cache_locked(struct page *, struct address_space *, unsigned long int, gfp_t)'
  'struct wait_queue_head * bit_waitqueue(void *, int)'
  'void block_invalidatepage(struct page *, unsigned int, unsigned int)'
  'void delete_from_page_cache(struct page *)'
  'void end_buffer_write_sync(struct buffer_head *, int)'
  'size_t fault_in_safe_writeable(const char *, size_t)'
  'ssize_t generic_file_direct_write(struct kiocb *, struct iov_iter *)'
  'struct inode * ilookup5(struct super_block *, unsigned long int, int(*)(struct inode *, void *), void *)'
  'ssize_t iov_iter_get_pages(struct iov_iter *, struct page * *, size_t, unsigned int, size_t *)'
  'size_t iov_iter_single_seg_count(const struct iov_iter *)'
  'void lru_cache_add(struct page *)'
  'void mark_buffer_async_write(struct buffer_head *)'
  'void mark_buffer_write_io_error(struct buffer_head *)'
  'void mark_page_accessed(struct page *)'
  'int notify_change(struct user_namespace *, struct dentry *, struct iattr *, struct inode * *)'
  'unsigned long int page_cache_next_miss(struct address_space *, unsigned long int, unsigned long int)'
  'unsigned long int page_cache_prev_miss(struct address_space *, unsigned long int, unsigned long int)'
  'bool page_mapped(struct page *)'
  'void page_zero_new_buffers(struct page *, unsigned int, unsigned int)'
  'gfp_t readahead_gfp_mask(struct address_space *)'
  'struct timespec64 timestamp_truncate(struct timespec64, struct inode *)'
  'int try_to_release_page(struct page *, gfp_t)'
  'void try_to_writeback_inodes_sb(struct super_block *, enum wb_reason)'
  'int wake_bit_function(struct wait_queue_entry *, unsigned int, int, void *)'
  'int write_one_page(struct page *)'

Bug: 260249381
Change-Id: Ib4db8be1ce4981d199f8d217313b05c740ec46b8
Signed-off-by: Aaro Mäkinen <aaro@tuxera.com>
Signed-off-by: Anton Altaparmakov <anton@tuxera.com>
2022-12-15 19:55:43 +00:00
Yifan Hong
fa068ecbc8 ANDROID: Fix license for BUILD.bazel file.
It should be GPLv2.

Test: none
Bug: 259137060
Change-Id: I6381a9e5a543c24d395984c211bfde5993ea4840
Signed-off-by: Yifan Hong <elsk@google.com>
2022-12-01 00:37:19 +00:00
Yifan Hong
4951a62804 ANDROID: kleaf: load() then package().
According to https://bazel.build/build/style-guide#file-structure,
package() comes after load().

Test: treehugger
Bug: 250646733
Change-Id: Ie5d5b6fda6fec4976d82099fa907af2c9d3bd1dc
Signed-off-by: Yifan Hong <elsk@google.com>
2022-11-30 16:10:10 +00:00
Jaehyoung Choi
e47b11059b ANDROID: GKI: Add exynos_wear symbol list
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function

1 function symbol(s) added
   'void write_dirty_buffer(struct buffer_head *, int)'

Bug: 259411204
Change-Id: Iadda21f58268476395496b35c05ad5b38bb7ed97
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
2022-11-28 19:19:37 +00:00
tfshen
809ec777ea ANDROID: GKI: Add RTK TV KMI symbol list
add initial abi_gki_aarch64_rtktv file.

23 symbol(s) added
  'int __traceiter_android_vh_dmabuf_heap_flags_validation(void *, struct dma_heap *, size_t, unsigned int, unsigned int, bool *)'
  'struct tracepoint __tracepoint_android_vh_dmabuf_heap_flags_validation'
  'struct thermal_cooling_device * cpufreq_cooling_register(struct cpufreq_policy *)'
  'void cpufreq_cooling_unregister(struct thermal_cooling_device *)'
  'int device_pm_wait_for_dev(struct device *, struct device *)'
  'void free_contig_range(unsigned long int, unsigned long int)'
  'void * high_memory'
  'MPI mpi_alloc(unsigned int)'
  'int mpi_cmp(MPI, MPI)'
  'int mpi_cmp_ui(MPI, unsigned long int)'
  'void mpi_free(MPI)'
  'void * mpi_get_buffer(MPI, unsigned int *, int *)'
  'unsigned int mpi_get_nbits(MPI)'
  'int mpi_powm(MPI, MPI, MPI, MPI)'
  'MPI mpi_read_raw_data(void *, size_t)'
  'int pm_schedule_suspend(struct device *, unsigned int)'
  'unsigned int radix_tree_gang_lookup_tag(const struct xarray *, void * *, unsigned long int, unsigned int, unsigned int)'
  'void * radix_tree_tag_clear(struct xarray *, unsigned long int, unsigned int)'
  'int radix_tree_tag_get(const struct xarray *, unsigned long int, unsigned int)'
  'void * radix_tree_tag_set(struct xarray *, unsigned long int, unsigned int)'
  'int send_sig_mceerr(int, void *, short int, struct task_struct *)'
  'int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, struct thermal_cooling_device *)'
  'void usb_disable_autosuspend(struct usb_device *)'

Bug: 249676308
Change-Id: Ibefc5be84e5469b2f9b4bc21ca7cde04b84f99c8
Signed-off-by: tfshen <tfshen@realtek.com>
2022-10-08 15:10:04 +00:00
Yoshihiro Kaneko
9dcd74deff ANDROID: GKI: Add Sony KMI symbol list
add initial abi_gki_aarch64_sony file.

2 symbol(s) added
  'int snd_soc_component_enable_pin(struct snd_soc_component *, const char *)'
  'int snd_soc_component_get_pin_status(struct snd_soc_component *, const char *)'

Bug: 248960989
Signed-off-by: Yoshihiro Kaneko <yoshihiro.a.kaneko@sony.com>
Change-Id: I8f125996fd01c3c07243468df5dd99305ba0ee3b
2022-09-26 14:29:54 +00:00
Todd Kjos
94c8c2f858 ANDROID: add symbol file for type visibility symbols
Add a new symbol file for dummy symbols that exist only
to force the associated types to be visible in the KMI.

Fixes: 0c3d2d04cc ("ANDROID: make sure all types for hooks are defined in KMI")
Bug: 248263460
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ic32be217bb12d47db5745687f63fe32998a59831
2022-09-22 19:15:06 +00:00
Yifan Hong
a75431c61b ANDROID: kleaf: Explicit list of ABI files.
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: Ib4c364e48a4aab945dbc37da5c13705e3e63f4d4
Signed-off-by: Yifan Hong <elsk@google.com>
2022-09-20 21:39:22 +00:00
Yifan Hong
3ec6819bff ANDROID: kleaf: Do not include GKI modules in default output of //common:kernel_aarch64.
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>
2022-09-06 17:16:39 +00:00
Ramji Jiyani
b24cd8be89 ANDROID: ABI: gki_defconfig: disable cfg80211 and mac80211
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
2022-06-01 09:32:34 -07:00
Ramji Jiyani
eb38c6d799 ANDROID: db845c: Add zram and zsmalloc to module_outs
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
2022-05-24 20:10:24 +00:00
Ramji Jiyani
0fe423433b ANDROID: GKI: ZSMALLOC & ZRAM as modules for arm64
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
2022-05-24 20:09:50 +00:00
Yifan Hong
0af43f935e ANDROID: enable db845c kleaf build.
Kleaf replaces build.sh. Define db845c target in Bazel
so it may be built with the following command.

Kleaf requires the list of in-tree kernel modules to be
listed explicitly.

Test: tools/bazel run //common:db845c_dist

Bug: 232284531

Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I6ffd111574ffa012fa4d4c8241e06af08a5887e1
2022-05-13 19:31:32 +00:00
Yifan Hong
17ef7da1cc ANDROID: kleaf: make a note to sync define_common_kernels() and KMI_SYMBOL_LIST(S).
Right now, define_common_kernels() uses a logic
    kmi_symbol_lists = glob(["android/abi_gki_aarch64*"])
as the list of KMI symbols for aarch64 non debug builds.
If the list differs from
KMI_SYMBOL_LIST and ADDITIONAL_KMI_SYMBOL_LISTS,
the value needs to be manually overridden.

In addition, define_common_kernels() sets
    trim_nonlisted_kmi = not kmi_symbol_lists.empty()
for aarch64 non debug builds. If this value differs from
TRIM_NONLISTED_KMI, the value needs to be manually overriden.

To ensure that they don't get out of sync, add a note
in both places to keep them in sync.

In the future, we can load values from build.config like we
did for CLANG_VERSION in build.config.common. Then, this note
can be deleted.

Bug: 215745244
Test: none

Change-Id: I7e2c62e7dd97c6b06f4d628c3c8672922e99aaee
Signed-off-by: Yifan Hong <elsk@google.com>
2022-02-11 21:28:49 +00:00
Yifan Hong
25dff3a609 ANDROID: kleaf: build/kleaf -> build/kernel/kleaf
This is part of a migration process from build/
to build/kernel.

Test: builds
Bug: 204425264
Change-Id: Id29f8e476fbb3590196789b2b578865798f24cd3
Signed-off-by: Yifan Hong <elsk@google.com>
2022-02-03 22:10:13 +00:00
Yifan Hong
fb1e970d4e ANDROID: kleaf: drop toolchain_version = CLANG_VERSION
This is the default now.

Test: TH
Bug: 212640658
Change-Id: I3fc1d7149f4e180ff1919339beb6432adf73dab3
Signed-off-by: Yifan Hong <elsk@google.com>
(cherry picked from commit 15cc1a6f991db139c980d3b3193b6b74752cb53a)
2022-01-11 21:38:44 +00:00
Matthias Maennich
5e960d7e58 ANDROID: Kleaf: Fix branch-specific toolchain_version
In order to update the Clang version per branch, use the branch specific
value defined in build.config.constants instead of falling back to the
default toolchain defined in the Kleaf implementation.

Bug: 210296725
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I8929ec4b4174fc286710a5c66741b140656bb455
2021-12-12 20:10:31 +00:00
Yifan Hong
8cd9712451 ANDROID: Kleaf: common kernel public
.... so it can be referenced in mixed builds.

Test: build cuttlefish
Bug: 202075496
Change-Id: I8d79847c54c639fa619edf3280c021f02ba76645
Signed-off-by: Yifan Hong <elsk@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
2021-11-03 12:06:46 +00:00
Matthias Maennich
d04a5c4694 ANDROID: Kleaf: use 'define_common_kernels()' macro
Using the macro avoids duplication and boilerplate across branches.

Bug: 192655270
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Ie0034ae396baaaaf07035c3532b71a70918e0aba
2021-08-16 22:14:36 +00:00
Matthias Maennich
c7ca969870 ANDROID: Kleaf: adopt new way of expressing the build config
Build config files can now be expressed as files relative to the
BUILD.bazel file. That makes this mechanism much more portable.

Bug: 192656402
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Iefa7277f21e9412e71c9738664d006246b05be6e
2021-07-14 17:42:33 +01:00
Yifan Hong
bb61c74c3e ANDROID: kleaf: sources -> srcs.
That's the common keyword we use.

Test: pass
Bug: 192655270
Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I77d58fb99e0186e88a63ba8576ac23eabc72833e
2021-07-09 18:12:01 +00:00
Matthias Maennich
d32d9e8471 ANDROID: Kleaf: drop kernel header outputs
For the moment, do not bother with the kernel headers as outputs. While
splitting up the bazel build build/build.sh invocation, this will get
in the way as those will not be immediately produced by the new macros.
Hence, do not not expect them.

Bug: 192656402
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Ieb041d34cf5667f7e3cee14b4cea41a7c6024998
2021-07-02 16:17:17 +01:00
Matthias Maennich
3b77e032e0 ANDROID: Kleaf: use globs to express sources
The updated kernel_build macro requires the usage of glob() to express
the sources involved.

Bug: 189451175
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Ib5953fe4ed2c4a219f2296c1991daa317032f64e
2021-06-29 08:45:22 +00:00
Matthias Maennich
3334b77042 ANDROID: Kleaf: initial bazel based GKI kernel build
Add build rules to build the GKI kernels using the hermetic bazel build.
The rules understand how to set up a build environment from build_config
and locations of the sources and build_configs.

Sample invocations:

    $ bazel build //common:kernel_aarch64
    $ bazel build //common:kernel_aarch64_debug
    $ bazel build //common:kernel_x86_64
    $ bazel build //common:kernel_x86_64_debug

Bug: 189451175
Change-Id: I2f06b2b79dbcbf197cb23d68b3c2f6786191e19d
Signed-off-by: Matthias Maennich <maennich@google.com>
2021-06-26 13:38:00 +00:00