2022-11-23 15:18:04 +09:00
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
2021-06-21 20:54:56 +09:00
|
|
|
# Copyright (C) 2021 The Android Open Source Project
|
2022-11-23 15:18:04 +09:00
|
|
|
|
2022-11-24 21:00:01 +09:00
|
|
|
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
|
|
|
|
load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
|
|
|
|
load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "kernel_build", "kernel_images", "kernel_modules_install")
|
|
|
|
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
|
|
|
|
2021-11-03 08:26:49 +09:00
|
|
|
package(
|
|
|
|
default_visibility = [
|
|
|
|
"//visibility:public",
|
|
|
|
],
|
|
|
|
)
|
2021-06-21 20:54:56 +09:00
|
|
|
|
2023-03-29 19:18:01 +09:00
|
|
|
filegroup(
|
|
|
|
name = "aarch64_additional_kmi_symbol_lists",
|
|
|
|
srcs = [
|
|
|
|
# keep sorted
|
|
|
|
"android/abi_gki_aarch64_db845c",
|
|
|
|
"android/abi_gki_aarch64_galaxy",
|
2023-04-11 23:03:40 +09:00
|
|
|
"android/abi_gki_aarch64_imx",
|
2023-04-07 16:48:38 +09:00
|
|
|
"android/abi_gki_aarch64_mtk",
|
2023-03-29 19:18:01 +09:00
|
|
|
"android/abi_gki_aarch64_oplus",
|
|
|
|
"android/abi_gki_aarch64_pixel",
|
|
|
|
"android/abi_gki_aarch64_qcom",
|
|
|
|
"android/abi_gki_aarch64_virtual_device",
|
ANDROID: GKI: add symbol list file for xiaomi
add abi_gki_aarch64_xiaomi
INFO: 59 function symbol(s) added
'void __blk_mq_end_request(struct request*, blk_status_t)'
'struct scsi_device* __scsi_add_device(struct Scsi_Host*, uint, uint, u64, void*)'
'int __traceiter_android_vh_binder_transaction_init(void*, struct binder_transaction*)'
'int __traceiter_android_vh_binder_wait_for_work(void*, bool, struct binder_thread*, struct binder_proc*)'
'void balance_dirty_pages_ratelimited(struct address_space*)'
'struct backing_dev_info* bdi_alloc(int)'
'void bdi_put(struct backing_dev_info*)'
'int bdi_register(struct backing_dev_info*, const char*, ...)'
'void blk_mq_freeze_queue(struct request_queue*)'
'struct request_queue* blk_mq_init_queue(struct blk_mq_tag_set*)'
'void blk_mq_tagset_busy_iter(struct blk_mq_tag_set*, busy_tag_iter_fn*, void*)'
'void blk_mq_unfreeze_queue(struct request_queue*)'
'void blk_queue_update_dma_alignment(struct request_queue*, int)'
'void blk_queue_update_dma_pad(struct request_queue*, unsigned int)'
'bool blk_update_request(struct request*, blk_status_t, unsigned int)'
'void bsg_job_done(struct bsg_job*, int, unsigned int)'
'void bsg_remove_queue(struct request_queue*)'
'struct request_queue* bsg_setup_queue(struct device*, const char*, bsg_job_fn*, bsg_timeout_fn*, int)'
'void deactivate_locked_super(struct super_block*)'
'void dev_pm_opp_remove(struct device*, unsigned long)'
'const char* drm_get_connector_type_name(unsigned int)'
'void generic_shutdown_super(struct super_block*)'
'int gpio_request_array(const struct gpio*, size_t)'
'void lockref_get(struct lockref*)'
'void logfc(struct fc_log*, const char*, char, const char*, ...)'
'int lookup_bdev(const char*, dev_t*)'
'void* mempool_alloc_pages(gfp_t, void*)'
'void mempool_free_pages(void*, void*)'
'int mempool_resize(mempool_t*, int)'
'struct nvmem_device* nvmem_register(const struct nvmem_config*)'
'void nvmem_unregister(struct nvmem_device*)'
'struct page* read_cache_page(struct address_space*, unsigned long, filler_t*, struct file*)'
'int scsi_add_host_with_dma(struct Scsi_Host*, struct device*, struct device*)'
'int scsi_change_queue_depth(struct scsi_device*, int)'
'struct scsi_device* scsi_device_lookup(struct Scsi_Host*, uint, uint, u64)'
'int scsi_dma_map(struct scsi_cmnd*)'
'void scsi_dma_unmap(struct scsi_cmnd*)'
'struct Scsi_Host* scsi_host_alloc(struct scsi_host_template*, int)'
'struct Scsi_Host* scsi_host_lookup(unsigned short)'
'void scsi_host_put(struct Scsi_Host*)'
'int scsi_is_host_device(const struct device*)'
'void scsi_print_command(struct scsi_cmnd*)'
'void scsi_remove_host(struct Scsi_Host*)'
'void scsi_report_bus_reset(struct Scsi_Host*, int)'
'void scsi_scan_host(struct Scsi_Host*)'
'struct super_block* sget_fc(struct fs_context*, int(*)(struct super_block*, struct fs_context*), int(*)(struct super_block*, struct fs_context*))'
'int ufshcd_alloc_host(struct device*, struct ufs_hba**)'
'int ufshcd_config_pwr_mode(struct ufs_hba*, struct ufs_pa_layer_attr*)'
'void ufshcd_dealloc_host(struct ufs_hba*)'
'int ufshcd_hba_enable(struct ufs_hba*)'
'int ufshcd_make_hba_operational(struct ufs_hba*)'
'void ufshcd_update_evt_hist(struct ufs_hba*, u32, u32)'
'int utf16s_to_utf8s(const wchar_t*, int, enum utf16_endian, u8*, int)'
'void wait_for_device_probe()'
'int wakeup_sources_read_lock()'
'void wakeup_sources_read_unlock(int)'
'struct wakeup_source* wakeup_sources_walk_next(struct wakeup_source*)'
'struct wakeup_source* wakeup_sources_walk_start()'
'int blk_mq_alloc_sq_tag_set(struct blk_mq_tag_set*, const struct blk_mq_ops*, unsigned int, unsigned int)'
3 variable symbol(s) added
'struct tracepoint __tracepoint_android_vh_binder_transaction_init'
'struct tracepoint __tracepoint_android_vh_binder_wait_for_work'
'u64 jiffies_64'
Bug: 276850920
Change-Id: Ibc65a0bfb3332072be7bea17e0aea48277043510
Signed-off-by: fengqi <fengqi@xiaomi.com>
2023-04-06 16:53:09 +09:00
|
|
|
"android/abi_gki_aarch64_xiaomi",
|
2023-03-29 19:18:01 +09:00
|
|
|
],
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
2023-02-16 23:03:19 +09:00
|
|
|
|
2022-04-28 08:20:12 +09:00
|
|
|
define_common_kernels(target_configs = {
|
|
|
|
"kernel_aarch64": {
|
2023-03-17 06:25:22 +09:00
|
|
|
"kmi_symbol_list_strict_mode": True,
|
2023-02-16 23:03:19 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
|
|
"kmi_symbol_list": "android/abi_gki_aarch64",
|
2023-03-29 19:18:01 +09:00
|
|
|
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
|
2023-03-22 07:49:31 +09:00
|
|
|
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
|
|
|
|
"protected_modules_list": "android/gki_aarch64_protected_modules",
|
2022-04-28 08:20:12 +09:00
|
|
|
},
|
2022-10-01 04:27:02 +09:00
|
|
|
"kernel_aarch64_16k": {
|
2023-01-19 10:46:38 +09:00
|
|
|
"kmi_symbol_list_strict_mode": False,
|
2023-02-16 23:03:19 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
2022-10-01 04:27:02 +09:00
|
|
|
},
|
2022-04-28 08:20:12 +09:00
|
|
|
"kernel_aarch64_debug": {
|
2023-01-19 10:46:38 +09:00
|
|
|
"kmi_symbol_list_strict_mode": False,
|
2023-02-16 23:03:19 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
|
|
|
"kmi_symbol_list": "android/abi_gki_aarch64",
|
2023-03-29 19:18:01 +09:00
|
|
|
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
|
2023-03-22 07:49:31 +09:00
|
|
|
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
|
|
|
|
"protected_modules_list": "android/gki_aarch64_protected_modules",
|
2022-04-28 08:20:12 +09:00
|
|
|
},
|
2022-11-22 09:11:21 +09:00
|
|
|
"kernel_riscv64": {
|
2023-01-19 10:46:38 +09:00
|
|
|
"kmi_symbol_list_strict_mode": False,
|
2023-02-16 23:03:19 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
2022-11-22 09:11:21 +09:00
|
|
|
},
|
2022-10-26 10:01:29 +09:00
|
|
|
"kernel_x86_64": {
|
|
|
|
"kmi_symbol_list_strict_mode": False,
|
2022-11-16 08:32:17 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
2023-03-22 07:49:31 +09:00
|
|
|
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
|
|
|
|
"protected_modules_list": "android/gki_x86_64_protected_modules",
|
2022-10-26 10:01:29 +09:00
|
|
|
},
|
|
|
|
"kernel_x86_64_debug": {
|
|
|
|
"kmi_symbol_list_strict_mode": False,
|
2022-11-16 08:32:17 +09:00
|
|
|
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
2023-03-22 07:49:31 +09:00
|
|
|
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
|
|
|
|
"protected_modules_list": "android/gki_x86_64_protected_modules",
|
2022-10-26 10:01:29 +09:00
|
|
|
},
|
2022-04-28 08:20:12 +09:00
|
|
|
})
|
2022-04-26 13:17:00 +09:00
|
|
|
|
|
|
|
define_db845c(
|
|
|
|
name = "db845c",
|
2022-09-03 04:21:44 +09:00
|
|
|
outs = [
|
2022-04-26 13:17:00 +09:00
|
|
|
"arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
|
|
|
|
"arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
|
2022-02-02 09:18:49 +09:00
|
|
|
"arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
|
2022-04-26 13:17:00 +09:00
|
|
|
],
|
ANDROID: Add initial symbols list for db845c
* This update the ABI [STG] definition:
197 function symbol(s) added
'int __clk_mux_determine_rate(struct clk_hw*, struct clk_rate_request*)'
'struct clk_hw* __devm_clk_hw_register_divider(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, void*, u8, u8, u8, const struct clk_div_table*, spinlock_t*)'
'struct clk_hw* __devm_clk_hw_register_mux(struct device*, struct device_node*, const char*, u8, const char* const*, const struct clk_hw**, const struct clk_parent_data*, unsigned long, void*, u8, u32, u8, const u32*, spinlock_t*)'
'int __devm_reset_control_bulk_get(struct device*, int, struct reset_control_bulk_data*, bool, bool, bool)'
'struct spi_controller* __devm_spi_alloc_controller(struct device*, unsigned int, bool)'
'struct dma_chan* __dma_request_channel(const dma_cap_mask_t*, dma_filter_fn, void*, struct device_node*)'
'void __drm_atomic_helper_plane_reset(struct drm_plane*, struct drm_plane_state*)'
'struct reset_control* __of_reset_control_get(struct device_node*, const char*, int, bool, bool, bool)'
'struct reset_control* __reset_control_get(struct device*, const char*, int, bool, bool, bool)'
'wait_queue_head_t* __var_waitqueue(void*)'
'void* __vmalloc(unsigned long, gfp_t)'
'struct clk* clk_hw_get_clk(struct clk_hw*, const char*)'
'int component_compare_of(struct device*, void*)'
'int crypto_register_shash(struct shash_alg*)'
'void crypto_unregister_shash(struct shash_alg*)'
'int dapm_regulator_event(struct snd_soc_dapm_widget*, struct snd_kcontrol*, int)'
'struct dev_pm_opp* dev_pm_opp_find_level_exact(struct device*, unsigned int)'
'unsigned int dev_pm_opp_get_level(struct dev_pm_opp*)'
'struct device_node* dev_pm_opp_get_of_node(struct dev_pm_opp*)'
'struct device_node* dev_pm_opp_of_get_opp_desc_node(struct device*)'
'int device_get_mac_address(struct device*, char*)'
'struct fwnode_handle* device_get_named_child_node(struct device*, const char*)'
'int devm_clk_bulk_get_optional(struct device*, int, struct clk_bulk_data*)'
'struct clk_hw* devm_clk_hw_register_fixed_factor_parent_hw(struct device*, const char*, const struct clk_hw*, unsigned long, unsigned int, unsigned int)'
'struct devfreq* devm_devfreq_add_device(struct device*, struct devfreq_dev_profile*, const char*, void*)'
'struct clk* devm_get_clk_from_child(struct device*, struct device_node*, const char*)'
'struct gpio_desc* devm_gpiod_get_index(struct device*, const char*, unsigned int, enum gpiod_flags)'
'void devm_gpiod_put(struct device*, struct gpio_desc*)'
'int devm_led_classdev_multicolor_register_ext(struct device*, struct led_classdev_mc*, struct led_init_data*)'
'void* devm_memremap(struct device*, resource_size_t, size_t, unsigned long)'
'int devm_pm_clk_create(struct device*)'
'int devm_pm_opp_of_add_table(struct device*)'
'int devm_pm_opp_set_config(struct device*, struct dev_pm_opp_config*)'
'int devm_pm_runtime_enable(struct device*)'
'struct qcom_smem_state* devm_qcom_smem_state_get(struct device*, const char*, unsigned int*)'
'int devm_regulator_bulk_get_const(struct device*, int, const struct regulator_bulk_data*, struct regulator_bulk_data**)'
'struct reset_control* devm_reset_control_array_get(struct device*, bool, bool)'
'int devm_spi_register_controller(struct device*, struct spi_controller*)'
'int devm_watchdog_register_device(struct device*, struct watchdog_device*)'
'void* dma_pool_alloc(struct dma_pool*, gfp_t, dma_addr_t*)'
'struct dma_pool* dma_pool_create(const char*, struct device*, size_t, size_t, size_t)'
'void dma_pool_destroy(struct dma_pool*)'
'void dma_pool_free(struct dma_pool*, void*, dma_addr_t)'
'void dma_resv_describe(struct dma_resv*, struct seq_file*)'
'struct dma_fence* dma_resv_iter_first(struct dma_resv_iter*)'
'struct dma_fence* dma_resv_iter_next(struct dma_resv_iter*)'
'struct drm_bridge_state* drm_atomic_get_new_bridge_state(struct drm_atomic_state*, struct drm_bridge*)'
'void drm_atomic_print_new_state(const struct drm_atomic_state*, struct drm_printer*)'
'void drm_bridge_connector_enable_hpd(struct drm_connector*)'
'struct drm_connector* drm_bridge_connector_init(struct drm_device*, struct drm_encoder*)'
'enum drm_connector_status drm_bridge_detect(struct drm_bridge*)'
'void drm_bridge_hpd_notify(struct drm_bridge*, enum drm_connector_status)'
'bool drm_crtc_vblank_helper_get_vblank_timestamp(struct drm_crtc*, int*, ktime_t*, bool)'
'bool drm_edid_block_valid(u8*, int, bool, bool*)'
'void drm_flip_work_cleanup(struct drm_flip_work*)'
'void drm_flip_work_commit(struct drm_flip_work*, struct workqueue_struct*)'
'void drm_flip_work_init(struct drm_flip_work*, const char*, drm_flip_func_t)'
'void drm_flip_work_queue(struct drm_flip_work*, void*)'
'void drm_gem_lru_init(struct drm_gem_lru*, struct mutex*)'
'void drm_gem_lru_move_tail(struct drm_gem_lru*, struct drm_gem_object*)'
'unsigned long drm_gem_lru_scan(struct drm_gem_lru*, unsigned int, bool(*)(struct drm_gem_object*))'
'int drm_gem_plane_helper_prepare_fb(struct drm_plane*, struct drm_plane_state*)'
'bool drm_handle_vblank(struct drm_device*, unsigned int)'
'int drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe*, const struct drm_connector*, const struct drm_display_mode*)'
'void drm_helper_move_panel_connectors_to_head(struct drm_device*)'
'int drm_mode_config_helper_resume(struct drm_device*)'
'int drm_mode_config_helper_suspend(struct drm_device*)'
'void drm_mode_destroy(struct drm_device*, struct drm_display_mode*)'
'void drm_modeset_lock_init(struct drm_modeset_lock*)'
'void drm_plane_enable_fb_damage_clips(struct drm_plane*)'
'int drm_prime_sg_to_page_array(struct sg_table*, struct page**, int)'
'bool drm_probe_ddc(struct i2c_adapter*)'
'void drm_puts(struct drm_printer*, const char*)'
'int drm_rect_calc_hscale(const struct drm_rect*, const struct drm_rect*, int, int)'
'int drm_rect_calc_vscale(const struct drm_rect*, const struct drm_rect*, int, int)'
'void drm_state_dump(struct drm_device*, struct drm_printer*)'
'void drm_syncobj_add_point(struct drm_syncobj*, struct dma_fence_chain*, struct dma_fence*, uint64_t)'
'struct drm_syncobj* drm_syncobj_find(struct drm_file*, u32)'
'int drm_syncobj_find_fence(struct drm_file*, u32, u64, u64, struct dma_fence**)'
'void drm_syncobj_free(struct kref*)'
'void drm_syncobj_replace_fence(struct drm_syncobj*, struct dma_fence*)'
'int drm_writeback_connector_init_with_encoder(struct drm_device*, struct drm_writeback_connector*, struct drm_encoder*, const struct drm_connector_funcs*, const u32*, int)'
'struct usb_role_switch* fwnode_usb_role_switch_get(struct fwnode_handle*)'
'void* gen_pool_dma_alloc_align(struct gen_pool*, size_t, dma_addr_t*, int)'
'void* gen_pool_dma_zalloc_align(struct gen_pool*, size_t, dma_addr_t*, int)'
'void guid_gen(guid_t*)'
'int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe*)'
'ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe*, void*, size_t)'
'ssize_t hdmi_infoframe_pack(union hdmi_infoframe*, void*, size_t)'
'int i2c_generic_scl_recovery(struct i2c_adapter*)'
'void i2c_parse_fw_timings(struct device*, struct i2c_timings*, bool)'
'int i2c_recover_bus(struct i2c_adapter*)'
'int icc_disable(struct icc_path*)'
'int icc_enable(struct icc_path*)'
'int icc_std_aggregate(struct icc_node*, u32, u32, u32, u32*, u32*)'
'void init_wait_var_entry(struct wait_bit_queue_entry*, void*, int)'
'unsigned long invalidate_mapping_pages(struct address_space*, unsigned long, unsigned long)'
'char* kstrdup_quotable_cmdline(struct task_struct*, gfp_t)'
'int led_mc_calc_color_components(struct led_classdev_mc*, enum led_brightness)'
'void memcpy_and_pad(void*, size_t, const void*, size_t, int)'
'void netdev_notice(const struct net_device*, const char*, ...)'
'int nvmem_cell_read_variable_le_u32(struct device*, const char*, u32*)'
'struct clk_hw* of_clk_hw_onecell_get(struct of_phandle_args*, void*)'
'int of_clk_set_defaults(struct device_node*, bool)'
'int of_device_request_module(struct device*)'
'struct device_node* of_get_compatible_child(const struct device_node*, const char*)'
'struct i2c_adapter* of_get_i2c_adapter_by_node(struct device_node*)'
'int of_pm_clk_add_clks(struct device*)'
'int pci_enable_msi(struct pci_dev*)'
'struct pci_dev* pci_get_slot(struct pci_bus*, unsigned int)'
'const struct pci_device_id* pci_match_id(const struct pci_device_id*, struct pci_dev*)'
'int pcie_capability_write_word(struct pci_dev*, int, u16)'
'int phy_configure(struct phy*, union phy_configure_opts*)'
'int pinctrl_generic_add_group(struct pinctrl_dev*, const char*, int*, int, void*)'
'int pinctrl_generic_get_group_count(struct pinctrl_dev*)'
'const char* pinctrl_generic_get_group_name(struct pinctrl_dev*, unsigned int)'
'int pinctrl_generic_get_group_pins(struct pinctrl_dev*, unsigned int, const unsigned int**, unsigned int*)'
'int pinctrl_generic_remove_group(struct pinctrl_dev*, unsigned int)'
'int pinctrl_pm_select_idle_state(struct device*)'
'int pm_generic_runtime_resume(struct device*)'
'int pm_generic_runtime_suspend(struct device*)'
'void qcom_smem_state_put(struct qcom_smem_state*)'
'void regcache_cache_bypass(struct regmap*, bool)'
'int register_vmap_purge_notifier(struct notifier_block*)'
'int regmap_get_val_bytes(struct regmap*)'
'int regmap_irq_set_type_config_simple(unsigned int**, unsigned int, const struct regmap_irq*, int)'
'int regmap_noinc_read(struct regmap*, unsigned int, void*, size_t)'
'int regmap_noinc_write(struct regmap*, unsigned int, const void*, size_t)'
'int regulator_bulk_get(struct device*, int, struct regulator_bulk_data*)'
'int regulator_get_current_limit_regmap(struct regulator_dev*)'
'unsigned int regulator_get_linear_step(struct regulator*)'
'int regulator_set_current_limit_regmap(struct regulator_dev*, int, int)'
'int reset_control_bulk_assert(int, struct reset_control_bulk_data*)'
'int reset_control_bulk_deassert(int, struct reset_control_bulk_data*)'
'void reset_control_put(struct reset_control*)'
'struct rpmsg_device* rpmsg_create_channel(struct rpmsg_device*, struct rpmsg_channel_info*)'
'struct rpmsg_endpoint* rpmsg_create_ept(struct rpmsg_device*, rpmsg_rx_cb_t, void*, struct rpmsg_channel_info)'
'int rpmsg_release_channel(struct rpmsg_device*, struct rpmsg_channel_info*)'
'u64 rproc_elf_get_boot_addr(struct rproc*, const struct firmware*)'
'void sb800_prefetch(struct device*, int)'
'void shmem_truncate_range(struct inode*, loff_t, loff_t)'
'int snd_dma_alloc_dir_pages(int, struct device*, enum dma_data_direction, size_t, struct snd_dma_buffer*)'
'void snd_dma_free_pages(struct snd_dma_buffer*)'
'int snd_pcm_create_iec958_consumer_default(u8*, size_t)'
'int snd_pcm_fill_iec958_consumer(struct snd_pcm_runtime*, u8*, size_t)'
'int snd_pcm_fill_iec958_consumer_hw_params(struct snd_pcm_hw_params*, u8*, size_t)'
'int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime*, void*)'
'int snd_pcm_hw_constraint_minmax(struct snd_pcm_runtime*, snd_pcm_hw_param_t, unsigned int, unsigned int)'
'int snd_pcm_hw_constraint_step(struct snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t, unsigned long)'
'unsigned int snd_soc_component_read_field(struct snd_soc_component*, unsigned int, unsigned int)'
'int snd_soc_component_write_field(struct snd_soc_component*, unsigned int, unsigned int, unsigned int)'
'void snd_soc_dai_link_set_capabilities(struct snd_soc_dai_link*)'
'int snd_soc_dai_set_fmt(struct snd_soc_dai*, unsigned int)'
'struct snd_soc_dapm_context* snd_soc_dapm_kcontrol_dapm(struct snd_kcontrol*)'
'int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card*, const char*)'
'int snd_soc_of_parse_aux_devs(struct snd_soc_card*, const char*)'
'int snd_soc_of_parse_pin_switches(struct snd_soc_card*, const char*)'
'int snd_soc_tplg_component_load(struct snd_soc_component*, struct snd_soc_tplg_ops*, const struct firmware*)'
'int snd_soc_tplg_component_remove(struct snd_soc_component*)'
'int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget*, const struct snd_soc_tplg_widget_events*, int, u16)'
'int spi_async(struct spi_device*, struct spi_message*)'
'void spi_finalize_current_transfer(struct spi_controller*)'
'const struct spi_device_id* spi_get_device_id(const struct spi_device*)'
'struct spi_message* spi_get_next_queued_message(struct spi_controller*)'
'int spi_write_then_read(struct spi_device*, const void*, unsigned int, void*, unsigned int)'
'int typec_find_port_data_role(const char*)'
'int typec_find_port_power_role(const char*)'
'int typec_set_orientation(struct typec_port*, enum typec_orientation)'
'void typec_unregister_port(struct typec_port*)'
'int ufshcd_dme_configure_adapt(struct ufs_hba*, int, int)'
'int ufshcd_get_pwr_dev_param(const struct ufs_dev_params*, const struct ufs_pa_layer_attr*, struct ufs_pa_layer_attr*)'
'void ufshcd_init_pwr_dev_param(struct ufs_dev_params*)'
'int unregister_vmap_purge_notifier(struct notifier_block*)'
'void usb_amd_dev_put()'
'bool usb_amd_prefetch_quirk()'
'bool usb_amd_quirk_pll_check()'
'void usb_amd_quirk_pll_disable()'
'void usb_amd_quirk_pll_enable()'
'long usb_calc_bus_time(int, int, int, int)'
'void usb_hc_died(struct usb_hcd*)'
'int usb_hcd_pci_probe(struct pci_dev*, const struct hc_driver*)'
'void usb_hcd_pci_remove(struct pci_dev*)'
'void usb_hcd_pci_shutdown(struct pci_dev*)'
'void usb_role_switch_put(struct usb_role_switch*)'
'void usb_root_hub_lost_power(struct usb_device*)'
'int v4l2_ctrl_handler_setup(struct v4l2_ctrl_handler*)'
'struct v4l2_ctrl* v4l2_ctrl_new_std_compound(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, union v4l2_ctrl_ptr)'
'void v4l2_m2m_buf_remove_by_buf(struct v4l2_m2m_queue_ctx*, struct vb2_v4l2_buffer*)'
'struct vb2_v4l2_buffer* v4l2_m2m_buf_remove_by_idx(struct v4l2_m2m_queue_ctx*, unsigned int)'
'int v4l2_m2m_ioctl_create_bufs(struct file*, void*, struct v4l2_create_buffers*)'
'int v4l2_m2m_ioctl_expbuf(struct file*, void*, struct v4l2_exportbuffer*)'
'int v4l2_m2m_ioctl_prepare_buf(struct file*, void*, struct v4l2_buffer*)'
'int v4l2_m2m_ioctl_qbuf(struct file*, void*, struct v4l2_buffer*)'
'int v4l2_m2m_ioctl_try_decoder_cmd(struct file*, void*, struct v4l2_decoder_cmd*)'
'int v4l2_m2m_ioctl_try_encoder_cmd(struct file*, void*, struct v4l2_encoder_cmd*)'
'void vb2_queue_error(struct vb2_queue*)'
'void wake_up_var(void*)'
5 variable symbol(s) added
'atomic_long_t nr_swap_pages'
'struct ww_class reservation_ww_class'
'const struct dev_pm_ops usb_hcd_pci_pm_ops'
'unsigned long usb_hcds_loaded'
'const struct vb2_mem_ops vb2_dma_contig_memops'
Bug: 270670362
Change-Id: I8b3fd2b73ccc3ad91267515c647bc8242695fb52
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
2023-02-24 23:03:35 +09:00
|
|
|
define_abi_targets = True,
|
|
|
|
kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
|
2022-04-26 13:17:00 +09:00
|
|
|
module_outs = [
|
|
|
|
# keep sorted
|
|
|
|
"crypto/michael_mic.ko",
|
|
|
|
"drivers/base/regmap/regmap-sdw.ko",
|
|
|
|
"drivers/base/regmap/regmap-slimbus.ko",
|
|
|
|
"drivers/bus/mhi/host/mhi.ko",
|
|
|
|
"drivers/clk/qcom/clk-qcom.ko",
|
|
|
|
"drivers/clk/qcom/clk-rpmh.ko",
|
|
|
|
"drivers/clk/qcom/clk-spmi-pmic-div.ko",
|
|
|
|
"drivers/clk/qcom/dispcc-sdm845.ko",
|
|
|
|
"drivers/clk/qcom/dispcc-sm8250.ko",
|
|
|
|
"drivers/clk/qcom/gcc-sdm845.ko",
|
|
|
|
"drivers/clk/qcom/gcc-sm8250.ko",
|
2022-02-02 09:18:49 +09:00
|
|
|
"drivers/clk/qcom/gcc-sm8450.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/clk/qcom/gpucc-sdm845.ko",
|
|
|
|
"drivers/clk/qcom/gpucc-sm8250.ko",
|
|
|
|
"drivers/clk/qcom/lpass-gfm-sm8250.ko",
|
|
|
|
"drivers/clk/qcom/videocc-sdm845.ko",
|
|
|
|
"drivers/clk/qcom/videocc-sm8250.ko",
|
|
|
|
"drivers/cpufreq/qcom-cpufreq-hw.ko",
|
|
|
|
"drivers/dma-buf/heaps/system_heap.ko",
|
|
|
|
"drivers/dma/qcom/bam_dma.ko",
|
2022-10-07 02:03:23 +09:00
|
|
|
"drivers/dma/qcom/gpi.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/extcon/extcon-usb-gpio.ko",
|
|
|
|
"drivers/firmware/qcom-scm.ko",
|
|
|
|
"drivers/gpio/gpio-wcd934x.ko",
|
|
|
|
"drivers/gpu/drm/bridge/display-connector.ko",
|
|
|
|
"drivers/gpu/drm/bridge/lontium-lt9611.ko",
|
|
|
|
"drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
|
2022-06-09 03:32:16 +09:00
|
|
|
"drivers/gpu/drm/display/drm_display_helper.ko",
|
|
|
|
"drivers/gpu/drm/display/drm_dp_aux_bus.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/gpu/drm/msm/msm.ko",
|
|
|
|
"drivers/gpu/drm/scheduler/gpu-sched.ko",
|
|
|
|
"drivers/hwspinlock/qcom_hwspinlock.ko",
|
|
|
|
"drivers/i2c/busses/i2c-designware-core.ko",
|
|
|
|
"drivers/i2c/busses/i2c-designware-platform.ko",
|
|
|
|
"drivers/i2c/busses/i2c-qcom-geni.ko",
|
|
|
|
"drivers/i2c/busses/i2c-qup.ko",
|
|
|
|
"drivers/i2c/busses/i2c-rk3x.ko",
|
|
|
|
"drivers/i2c/i2c-dev.ko",
|
|
|
|
"drivers/i2c/i2c-mux.ko",
|
|
|
|
"drivers/i2c/muxes/i2c-mux-pca954x.ko",
|
|
|
|
"drivers/iio/adc/qcom-spmi-adc5.ko",
|
|
|
|
"drivers/iio/adc/qcom-vadc-common.ko",
|
|
|
|
"drivers/input/misc/pm8941-pwrkey.ko",
|
|
|
|
"drivers/interconnect/qcom/icc-bcm-voter.ko",
|
|
|
|
"drivers/interconnect/qcom/icc-osm-l3.ko",
|
|
|
|
"drivers/interconnect/qcom/icc-rpmh.ko",
|
|
|
|
"drivers/interconnect/qcom/qnoc-sdm845.ko",
|
|
|
|
"drivers/interconnect/qcom/qnoc-sm8250.ko",
|
2022-02-02 09:18:49 +09:00
|
|
|
"drivers/interconnect/qcom/qnoc-sm8450.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/iommu/arm/arm-smmu/arm_smmu.ko",
|
|
|
|
"drivers/irqchip/qcom-pdc.ko",
|
2022-06-30 03:07:31 +09:00
|
|
|
"drivers/leds/rgb/leds-qcom-lpg.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
|
|
|
|
"drivers/mailbox/qcom-ipcc.ko",
|
|
|
|
"drivers/media/platform/qcom/venus/venus-core.ko",
|
|
|
|
"drivers/media/platform/qcom/venus/venus-dec.ko",
|
|
|
|
"drivers/media/platform/qcom/venus/venus-enc.ko",
|
|
|
|
"drivers/mfd/qcom-spmi-pmic.ko",
|
|
|
|
"drivers/mfd/wcd934x.ko",
|
|
|
|
"drivers/misc/fastrpc.ko",
|
|
|
|
"drivers/mmc/host/cqhci.ko",
|
|
|
|
"drivers/mmc/host/sdhci-msm.ko",
|
|
|
|
"drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
|
|
|
|
"drivers/net/wireless/ath/ath.ko",
|
|
|
|
"drivers/net/wireless/ath/ath10k/ath10k_core.ko",
|
|
|
|
"drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
|
|
|
|
"drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
|
|
|
|
"drivers/net/wireless/ath/ath11k/ath11k.ko",
|
|
|
|
"drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
|
|
|
|
"drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
|
|
|
|
"drivers/nvmem/nvmem_qfprom.ko",
|
2022-08-21 21:27:03 +09:00
|
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-combo.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-qmp-usb.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/phy/qualcomm/phy-qcom-qusb2.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
|
|
|
|
"drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
|
|
|
|
"drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
|
|
|
|
"drivers/pinctrl/qcom/pinctrl-msm.ko",
|
|
|
|
"drivers/pinctrl/qcom/pinctrl-sdm845.ko",
|
|
|
|
"drivers/pinctrl/qcom/pinctrl-sm8250.ko",
|
2022-07-11 22:24:51 +09:00
|
|
|
"drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko",
|
2022-02-02 09:18:49 +09:00
|
|
|
"drivers/pinctrl/qcom/pinctrl-sm8450.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
|
|
|
|
"drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
|
|
|
|
"drivers/power/reset/qcom-pon.ko",
|
|
|
|
"drivers/power/reset/reboot-mode.ko",
|
|
|
|
"drivers/power/reset/syscon-reboot-mode.ko",
|
|
|
|
"drivers/regulator/gpio-regulator.ko",
|
|
|
|
"drivers/regulator/qcom-rpmh-regulator.ko",
|
|
|
|
"drivers/regulator/qcom_spmi-regulator.ko",
|
|
|
|
"drivers/regulator/qcom_usb_vbus-regulator.ko",
|
|
|
|
"drivers/remoteproc/qcom_common.ko",
|
|
|
|
"drivers/remoteproc/qcom_pil_info.ko",
|
|
|
|
"drivers/remoteproc/qcom_q6v5.ko",
|
|
|
|
"drivers/remoteproc/qcom_q6v5_adsp.ko",
|
|
|
|
"drivers/remoteproc/qcom_q6v5_mss.ko",
|
|
|
|
"drivers/remoteproc/qcom_q6v5_pas.ko",
|
|
|
|
"drivers/remoteproc/qcom_q6v5_wcss.ko",
|
|
|
|
"drivers/remoteproc/qcom_sysmon.ko",
|
|
|
|
"drivers/reset/reset-qcom-aoss.ko",
|
|
|
|
"drivers/reset/reset-qcom-pdc.ko",
|
|
|
|
"drivers/rpmsg/qcom_glink.ko",
|
|
|
|
"drivers/rpmsg/qcom_glink_rpm.ko",
|
|
|
|
"drivers/rpmsg/qcom_glink_smem.ko",
|
|
|
|
"drivers/rpmsg/qcom_smd.ko",
|
|
|
|
"drivers/rpmsg/rpmsg_ns.ko",
|
|
|
|
"drivers/rtc/rtc-pm8xxx.ko",
|
|
|
|
"drivers/slimbus/slim-qcom-ngd-ctrl.ko",
|
|
|
|
"drivers/slimbus/slimbus.ko",
|
|
|
|
"drivers/soc/qcom/apr.ko",
|
|
|
|
"drivers/soc/qcom/cmd-db.ko",
|
|
|
|
"drivers/soc/qcom/cpr.ko",
|
|
|
|
"drivers/soc/qcom/llcc-qcom.ko",
|
|
|
|
"drivers/soc/qcom/mdt_loader.ko",
|
|
|
|
"drivers/soc/qcom/pdr_interface.ko",
|
|
|
|
"drivers/soc/qcom/qcom_aoss.ko",
|
|
|
|
"drivers/soc/qcom/qcom_rpmh.ko",
|
|
|
|
"drivers/soc/qcom/qmi_helpers.ko",
|
|
|
|
"drivers/soc/qcom/rmtfs_mem.ko",
|
|
|
|
"drivers/soc/qcom/rpmhpd.ko",
|
|
|
|
"drivers/soc/qcom/smem.ko",
|
|
|
|
"drivers/soc/qcom/smp2p.ko",
|
|
|
|
"drivers/soc/qcom/smsm.ko",
|
|
|
|
"drivers/soc/qcom/socinfo.ko",
|
|
|
|
"drivers/soc/qcom/spm.ko",
|
|
|
|
"drivers/soundwire/soundwire-bus.ko",
|
|
|
|
"drivers/soundwire/soundwire-qcom.ko",
|
|
|
|
"drivers/spi/spi-geni-qcom.ko",
|
|
|
|
"drivers/spi/spi-pl022.ko",
|
|
|
|
"drivers/spi/spi-qcom-qspi.ko",
|
|
|
|
"drivers/spi/spi-qup.ko",
|
|
|
|
"drivers/spmi/spmi-pmic-arb.ko",
|
|
|
|
"drivers/thermal/qcom/lmh.ko",
|
|
|
|
"drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
|
|
|
|
"drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
|
|
|
|
"drivers/thermal/qcom/qcom_tsens.ko",
|
|
|
|
"drivers/tty/serial/msm_serial.ko",
|
2022-07-08 16:42:28 +09:00
|
|
|
"drivers/ufs/host/ufs_qcom.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"drivers/usb/common/ulpi.ko",
|
|
|
|
"drivers/usb/host/ohci-hcd.ko",
|
|
|
|
"drivers/usb/host/ohci-pci.ko",
|
|
|
|
"drivers/usb/host/ohci-platform.ko",
|
|
|
|
"drivers/usb/typec/qcom-pmic-typec.ko",
|
|
|
|
"drivers/watchdog/pm8916_wdt.ko",
|
|
|
|
"drivers/watchdog/qcom-wdt.ko",
|
|
|
|
"net/qrtr/qrtr.ko",
|
|
|
|
"net/qrtr/qrtr-mhi.ko",
|
|
|
|
"net/qrtr/qrtr-smd.ko",
|
|
|
|
"net/qrtr/qrtr-tun.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-dmic.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-hdmi-codec.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-lpass-macro-common.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-lpass-va-macro.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-max98927.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-rl6231.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-rt5663.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-wcd-mbhc.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-wcd9335.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-wcd934x.ko",
|
|
|
|
"sound/soc/codecs/snd-soc-wsa881x.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6adm.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6afe.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6afe-clocks.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6afe-dai.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6apm-dai.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6asm.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6asm-dai.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6core.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6prm.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6prm-clocks.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/q6routing.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/snd-q6apm.ko",
|
|
|
|
"sound/soc/qcom/qdsp6/snd-q6dsp-common.ko",
|
|
|
|
"sound/soc/qcom/snd-soc-qcom-common.ko",
|
2023-01-20 20:20:45 +09:00
|
|
|
"sound/soc/qcom/snd-soc-qcom-sdw.ko",
|
2022-04-26 13:17:00 +09:00
|
|
|
"sound/soc/qcom/snd-soc-sdm845.ko",
|
|
|
|
"sound/soc/qcom/snd-soc-sm8250.ko",
|
|
|
|
],
|
|
|
|
)
|
2022-10-12 15:07:33 +09:00
|
|
|
|
2022-11-16 16:01:00 +09:00
|
|
|
# TODO(b/258259749): Convert rockpi4 to mixed build
|
|
|
|
kernel_build(
|
|
|
|
name = "rockpi4",
|
|
|
|
outs = [
|
|
|
|
"Image",
|
|
|
|
"System.map",
|
|
|
|
"modules.builtin",
|
|
|
|
"modules.builtin.modinfo",
|
|
|
|
"rk3399-rock-pi-4b.dtb",
|
|
|
|
"vmlinux",
|
|
|
|
"vmlinux.symvers",
|
|
|
|
],
|
|
|
|
build_config = "build.config.rockpi4",
|
|
|
|
dtstree = "//common-modules/virtual-device:rockpi4_dts",
|
|
|
|
module_outs = COMMON_GKI_MODULES_LIST + [
|
|
|
|
# keep sorted
|
|
|
|
"drivers/block/virtio_blk.ko",
|
|
|
|
"drivers/char/hw_random/virtio-rng.ko",
|
|
|
|
"drivers/clk/clk-rk808.ko",
|
|
|
|
"drivers/cpufreq/cpufreq-dt.ko",
|
|
|
|
"drivers/dma/pl330.ko",
|
|
|
|
"drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
|
|
|
|
"drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
|
|
|
|
"drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
|
|
|
|
"drivers/gpu/drm/display/drm_display_helper.ko",
|
|
|
|
"drivers/gpu/drm/drm_dma_helper.ko",
|
|
|
|
"drivers/gpu/drm/rockchip/rockchipdrm.ko",
|
|
|
|
"drivers/i2c/busses/i2c-rk3x.ko",
|
|
|
|
"drivers/iio/adc/rockchip_saradc.ko",
|
|
|
|
"drivers/iio/buffer/industrialio-triggered-buffer.ko",
|
|
|
|
"drivers/iio/buffer/kfifo_buf.ko",
|
|
|
|
"drivers/mfd/rk808.ko",
|
|
|
|
"drivers/mmc/core/pwrseq_simple.ko",
|
|
|
|
"drivers/mmc/host/cqhci.ko",
|
|
|
|
"drivers/mmc/host/dw_mmc.ko",
|
|
|
|
"drivers/mmc/host/dw_mmc-pltfm.ko",
|
|
|
|
"drivers/mmc/host/dw_mmc-rockchip.ko",
|
|
|
|
"drivers/mmc/host/sdhci-of-arasan.ko",
|
|
|
|
"drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
|
|
|
|
"drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
|
|
|
|
"drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
|
|
|
|
"drivers/net/net_failover.ko",
|
|
|
|
"drivers/net/pcs/pcs_xpcs.ko",
|
|
|
|
"drivers/net/virtio_net.ko",
|
|
|
|
"drivers/pci/controller/pcie-rockchip-host.ko",
|
|
|
|
"drivers/phy/rockchip/phy-rockchip-emmc.ko",
|
|
|
|
"drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
|
|
|
|
"drivers/phy/rockchip/phy-rockchip-pcie.ko",
|
|
|
|
"drivers/phy/rockchip/phy-rockchip-typec.ko",
|
|
|
|
"drivers/pwm/pwm-rockchip.ko",
|
|
|
|
"drivers/regulator/fan53555.ko",
|
|
|
|
"drivers/regulator/pwm-regulator.ko",
|
|
|
|
"drivers/regulator/rk808-regulator.ko",
|
|
|
|
"drivers/rtc/rtc-rk808.ko",
|
|
|
|
"drivers/soc/rockchip/io-domain.ko",
|
|
|
|
"drivers/thermal/rockchip_thermal.ko",
|
|
|
|
"drivers/usb/host/ohci-hcd.ko",
|
|
|
|
"drivers/usb/host/ohci-platform.ko",
|
|
|
|
"drivers/virtio/virtio_pci.ko",
|
|
|
|
"drivers/virtio/virtio_pci_legacy_dev.ko",
|
|
|
|
"drivers/virtio/virtio_pci_modern_dev.ko",
|
|
|
|
"drivers/watchdog/dw_wdt.ko",
|
|
|
|
"net/core/failover.ko",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
kernel_modules_install(
|
|
|
|
name = "rockpi4_modules_install",
|
|
|
|
kernel_build = "//common:rockpi4",
|
|
|
|
)
|
|
|
|
|
|
|
|
kernel_images(
|
|
|
|
name = "rockpi4_images",
|
|
|
|
build_initramfs = True,
|
|
|
|
kernel_build = "//common:rockpi4",
|
|
|
|
kernel_modules_install = "//common:rockpi4_modules_install",
|
|
|
|
)
|
|
|
|
|
|
|
|
copy_to_dist_dir(
|
|
|
|
name = "rockpi4_dist",
|
|
|
|
data = [
|
|
|
|
":rockpi4",
|
|
|
|
":rockpi4_images",
|
|
|
|
":rockpi4_modules_install",
|
|
|
|
],
|
|
|
|
dist_dir = "out/rockpi4/dist",
|
|
|
|
flat = True,
|
|
|
|
)
|
|
|
|
|
2021-03-23 18:54:38 +09:00
|
|
|
kernel_build(
|
|
|
|
name = "fips140",
|
|
|
|
outs = [],
|
|
|
|
base_kernel = ":kernel_aarch64",
|
|
|
|
build_config = "build.config.gki.aarch64.fips140",
|
|
|
|
module_outs = ["crypto/fips140.ko"],
|
|
|
|
)
|
|
|
|
|
|
|
|
copy_to_dist_dir(
|
|
|
|
name = "fips140_dist",
|
|
|
|
data = [
|
|
|
|
":fips140",
|
|
|
|
],
|
|
|
|
dist_dir = "out/fips140/dist",
|
|
|
|
flat = True,
|
|
|
|
)
|
|
|
|
|
2022-11-12 09:37:02 +09:00
|
|
|
# allmodconfig build tests.
|
|
|
|
# These are build tests only, so:
|
|
|
|
# - outs are intentionally set to empty to not copy anything to DIST_DIR
|
|
|
|
# - --allow-undeclared-modules must be used so modules are not declared or copied.
|
|
|
|
# - No dist target because these are build tests. We don't care about the artifacts.
|
|
|
|
|
2022-11-24 21:00:01 +09:00
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig
|
2022-11-12 09:37:02 +09:00
|
|
|
kernel_build(
|
2022-11-24 21:00:01 +09:00
|
|
|
name = "kernel_aarch64_allmodconfig",
|
2022-11-12 09:37:02 +09:00
|
|
|
# Hack to actually check the build.
|
|
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
|
|
outs = [".config"],
|
|
|
|
build_config = "build.config.allmodconfig.aarch64",
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-11-24 21:00:01 +09:00
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig
|
2022-11-12 09:37:02 +09:00
|
|
|
kernel_build(
|
2022-11-24 21:00:01 +09:00
|
|
|
name = "kernel_x86_64_allmodconfig",
|
2022-11-12 09:37:02 +09:00
|
|
|
# Hack to actually check the build.
|
|
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
|
|
outs = [".config"],
|
|
|
|
build_config = "build.config.allmodconfig.x86_64",
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-11-24 21:00:01 +09:00
|
|
|
# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig
|
2022-11-12 09:37:02 +09:00
|
|
|
kernel_build(
|
2022-11-24 21:00:01 +09:00
|
|
|
name = "kernel_arm_allmodconfig",
|
2022-11-12 09:37:02 +09:00
|
|
|
# Hack to actually check the build.
|
|
|
|
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
|
|
|
outs = [".config"],
|
|
|
|
build_config = "build.config.allmodconfig.arm",
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-10-12 15:07:33 +09:00
|
|
|
# DDK Headers
|
2022-10-29 08:55:44 +09:00
|
|
|
# All headers. These are the public targets for DDK modules to use.
|
|
|
|
alias(
|
2022-10-12 15:07:33 +09:00
|
|
|
name = "all_headers",
|
2022-10-29 08:55:44 +09:00
|
|
|
actual = "all_headers_aarch64",
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
|
|
|
|
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_aarch64",
|
|
|
|
hdrs = [":all_headers_allowlist_aarch64"] + select({
|
|
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
|
|
"//conditions:default": [],
|
|
|
|
}),
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
|
|
|
|
2022-11-23 07:32:14 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_arm",
|
|
|
|
hdrs = [":all_headers_allowlist_arm"] + select({
|
|
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
|
|
"//conditions:default": [],
|
|
|
|
}),
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
|
|
|
|
2022-12-09 06:20:51 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_riscv64",
|
|
|
|
hdrs = [":all_headers_allowlist_riscv64"] + select({
|
|
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
|
|
"//conditions:default": [],
|
|
|
|
}),
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
|
|
|
|
2022-10-29 08:55:44 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_x86_64",
|
|
|
|
hdrs = [":all_headers_allowlist_x86_64"] + select({
|
2022-10-12 15:07:33 +09:00
|
|
|
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
|
|
|
"//conditions:default": [],
|
|
|
|
}),
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|
|
|
|
|
2022-10-29 08:55:44 +09:00
|
|
|
# Implementation details for DDK headers. The targets below cannot be directly
|
|
|
|
# depended on by DDK modules.
|
|
|
|
|
2022-10-12 15:07:33 +09:00
|
|
|
# DDK headers allowlist. This is the list of all headers and include
|
|
|
|
# directories that are safe to use in DDK modules.
|
|
|
|
ddk_headers(
|
2022-10-29 08:55:44 +09:00
|
|
|
name = "all_headers_allowlist_aarch64",
|
|
|
|
hdrs = [
|
|
|
|
":all_headers_allowlist_aarch64_globs",
|
|
|
|
":all_headers_allowlist_common_globs",
|
|
|
|
],
|
2022-10-12 15:07:33 +09:00
|
|
|
# The list of include directories where source files can #include headers
|
|
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
2022-11-04 08:12:31 +09:00
|
|
|
# These are prepended to LINUXINCLUDE.
|
|
|
|
linux_includes = [
|
2022-10-22 12:19:28 +09:00
|
|
|
"arch/arm64/include",
|
|
|
|
"arch/arm64/include/uapi",
|
2022-10-29 08:55:44 +09:00
|
|
|
"include",
|
|
|
|
"include/uapi",
|
|
|
|
],
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-11-23 07:32:14 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_allowlist_arm",
|
|
|
|
hdrs = [
|
|
|
|
":all_headers_allowlist_arm_globs",
|
|
|
|
":all_headers_allowlist_common_globs",
|
|
|
|
],
|
|
|
|
# The list of include directories where source files can #include headers
|
|
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
|
|
# These are prepended to LINUXINCLUDE.
|
|
|
|
linux_includes = [
|
|
|
|
"arch/arm/include",
|
|
|
|
"arch/arm/include/uapi",
|
|
|
|
"include",
|
|
|
|
"include/uapi",
|
|
|
|
],
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-12-09 06:20:51 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_allowlist_riscv64",
|
|
|
|
hdrs = [
|
|
|
|
":all_headers_allowlist_common_globs",
|
|
|
|
":all_headers_allowlist_riscv64_globs",
|
|
|
|
],
|
|
|
|
# The list of include directories where source files can #include headers
|
|
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
|
|
|
# These are prepended to LINUXINCLUDE.
|
|
|
|
linux_includes = [
|
|
|
|
"arch/riscv/include",
|
|
|
|
"arch/riscv/include/uapi",
|
|
|
|
"include",
|
|
|
|
"include/uapi",
|
|
|
|
],
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-10-29 08:55:44 +09:00
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_allowlist_x86_64",
|
|
|
|
hdrs = [
|
|
|
|
":all_headers_allowlist_common_globs",
|
|
|
|
":all_headers_allowlist_x86_64_globs",
|
|
|
|
],
|
|
|
|
# The list of include directories where source files can #include headers
|
|
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
2022-11-04 08:12:31 +09:00
|
|
|
# These are prepended to LINUXINCLUDE.
|
|
|
|
linux_includes = [
|
2022-10-22 15:07:21 +09:00
|
|
|
"arch/x86/include",
|
|
|
|
"arch/x86/include/uapi",
|
2022-10-22 12:19:28 +09:00
|
|
|
"include",
|
|
|
|
"include/uapi",
|
|
|
|
],
|
2022-10-12 15:07:33 +09:00
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
|
|
|
# List of DDK headers allowlist that are glob()-ed to avoid changes of BUILD
|
|
|
|
# file when the list of files changes. All headers in these directories
|
|
|
|
# are safe to use.
|
2022-10-29 08:55:44 +09:00
|
|
|
# These are separate filegroup targets so the all_headers_allowlist_* are
|
|
|
|
# more friendly to batch BUILD file update tools like buildozer.
|
|
|
|
|
2022-12-09 06:20:51 +09:00
|
|
|
# globs() for arm64 only
|
|
|
|
filegroup(
|
|
|
|
name = "all_headers_allowlist_aarch64_globs",
|
|
|
|
srcs = glob(["arch/arm64/include/**/*.h"]),
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-11-23 07:32:14 +09:00
|
|
|
# globs() for arm only
|
|
|
|
filegroup(
|
|
|
|
name = "all_headers_allowlist_arm_globs",
|
|
|
|
srcs = glob(["arch/arm/include/**/*.h"]),
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
2022-12-09 06:20:51 +09:00
|
|
|
# globs() for riscv64 only
|
2022-10-29 08:55:44 +09:00
|
|
|
filegroup(
|
2022-12-09 06:20:51 +09:00
|
|
|
name = "all_headers_allowlist_riscv64_globs",
|
|
|
|
srcs = glob(["arch/riscv/include/**/*.h"]),
|
2022-10-29 08:55:44 +09:00
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
|
|
|
# globs() for x86 only
|
|
|
|
filegroup(
|
|
|
|
name = "all_headers_allowlist_x86_64_globs",
|
|
|
|
srcs = glob(["arch/x86/include/**/*.h"]),
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
|
|
|
# globs() for all architectures
|
2022-10-12 15:07:33 +09:00
|
|
|
filegroup(
|
2022-10-29 08:55:44 +09:00
|
|
|
name = "all_headers_allowlist_common_globs",
|
|
|
|
srcs = glob(["include/**/*.h"]),
|
2022-10-12 15:07:33 +09:00
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|
|
|
|
|
|
|
|
# DDK headers unsafe list. This is the list of all headers and include
|
|
|
|
# directories that may be used during migration from kernel_module's, but
|
|
|
|
# should be avoided in general.
|
|
|
|
# Use with caution; items may:
|
|
|
|
# - be removed without notice
|
|
|
|
# - be moved into all_headers
|
|
|
|
ddk_headers(
|
|
|
|
name = "all_headers_unsafe",
|
2022-10-22 15:07:21 +09:00
|
|
|
hdrs = [
|
|
|
|
"drivers/gpu/drm/virtio/virtgpu_trace.h",
|
|
|
|
],
|
2022-10-12 15:07:33 +09:00
|
|
|
# The list of include directories where source files can #include headers
|
|
|
|
# from. In other words, these are the `-I` option to the C compiler.
|
2022-11-04 08:12:31 +09:00
|
|
|
# Unsafe include directories are appended to ccflags-y.
|
2022-10-12 15:07:33 +09:00
|
|
|
includes = [],
|
|
|
|
visibility = ["//visibility:private"],
|
|
|
|
)
|