android_kernel_samsung_sm8650/BUILD.bazel

628 lines
22 KiB
Python
Raw Normal View History

# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 The Android Open Source Project
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")
package(
default_visibility = [
"//visibility:public",
],
)
_GKI_AARCH64_MAKE_GOALS = [
"Image",
"Image.lz4",
"Image.gz",
"modules",
]
_GKI_RISCV64_MAKE_GOALS = [
"Image",
"Image.lz4",
"Image.gz",
"modules",
]
_GKI_X86_64_MAKE_GOALS = [
"bzImage",
"modules",
]
filegroup(
name = "aarch64_additional_kmi_symbol_lists",
srcs = [
# keep sorted
"android/abi_gki_aarch64_db845c",
"android/abi_gki_aarch64_exynos",
"android/abi_gki_aarch64_galaxy",
"android/abi_gki_aarch64_imx",
"android/abi_gki_aarch64_mtk",
"android/abi_gki_aarch64_oplus",
"android/abi_gki_aarch64_pixel",
"android/abi_gki_aarch64_qcom",
"android/abi_gki_aarch64_virtual_device",
"android/abi_gki_aarch64_vivo",
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",
],
visibility = ["//visibility:public"],
)
define_common_kernels(target_configs = {
"kernel_aarch64": {
"kmi_symbol_list_strict_mode": True,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"kmi_symbol_list": "android/abi_gki_aarch64",
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
"protected_modules_list": "android/gki_aarch64_protected_modules",
"make_goals": _GKI_AARCH64_MAKE_GOALS,
},
"kernel_aarch64_16k": {
"kmi_symbol_list_strict_mode": False,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"make_goals": _GKI_AARCH64_MAKE_GOALS,
},
"kernel_aarch64_debug": {
"kmi_symbol_list_strict_mode": False,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"kmi_symbol_list": "android/abi_gki_aarch64",
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
"protected_modules_list": "android/gki_aarch64_protected_modules",
"make_goals": _GKI_AARCH64_MAKE_GOALS,
},
"kernel_riscv64": {
"kmi_symbol_list_strict_mode": False,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"make_goals": _GKI_RISCV64_MAKE_GOALS,
},
"kernel_x86_64": {
"kmi_symbol_list_strict_mode": False,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
"protected_modules_list": "android/gki_x86_64_protected_modules",
"make_goals": _GKI_X86_64_MAKE_GOALS,
},
"kernel_x86_64_debug": {
"kmi_symbol_list_strict_mode": False,
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
"protected_modules_list": "android/gki_x86_64_protected_modules",
"make_goals": _GKI_X86_64_MAKE_GOALS,
},
})
define_db845c(
name = "db845c",
outs = [
"arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
"arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
"arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
],
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",
make_goals = [
"modules",
"qcom/sdm845-db845c.dtb",
"qcom/qrb5165-rb5.dtb",
"qcom/sm8450-qrd.dtb",
],
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",
"drivers/clk/qcom/gcc-sm8450.ko",
"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",
"drivers/dma/qcom/gpi.ko",
"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",
"drivers/gpu/drm/display/drm_display_helper.ko",
"drivers/gpu/drm/display/drm_dp_aux_bus.ko",
"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",
"drivers/interconnect/qcom/qnoc-sm8450.ko",
"drivers/iommu/arm/arm-smmu/arm_smmu.ko",
"drivers/irqchip/qcom-pdc.ko",
"drivers/leds/rgb/leds-qcom-lpg.ko",
"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",
"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",
"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",
"drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko",
"drivers/pinctrl/qcom/pinctrl-sm8450.ko",
"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",
"drivers/ufs/host/ufs_qcom.ko",
"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/mac80211/mac80211.ko",
"net/qrtr/qrtr.ko",
"net/qrtr/qrtr-mhi.ko",
"net/qrtr/qrtr-smd.ko",
"net/qrtr/qrtr-tun.ko",
"net/wireless/cfg80211.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",
"sound/soc/qcom/snd-soc-qcom-sdw.ko",
"sound/soc/qcom/snd-soc-sdm845.ko",
"sound/soc/qcom/snd-soc-sm8250.ko",
],
)
# 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",
make_goals = [
"Image",
"modules",
"rk3399-rock-pi-4b.dtb",
],
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,
)
ANDROID: fips140: add kernel crypto module 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>
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,
)
# 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.
# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig
kernel_build(
name = "kernel_aarch64_allmodconfig",
# 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"],
)
# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig
kernel_build(
name = "kernel_x86_64_allmodconfig",
# 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"],
)
# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig
kernel_build(
name = "kernel_arm_allmodconfig",
# 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"],
)
# DDK Headers
# All headers. These are the public targets for DDK modules to use.
alias(
name = "all_headers",
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"],
)
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"],
)
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"],
)
ddk_headers(
name = "all_headers_x86_64",
hdrs = [":all_headers_allowlist_x86_64"] + select({
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
)
# Implementation details for DDK headers. The targets below cannot be directly
# depended on by DDK modules.
# DDK headers allowlist. This is the list of all headers and include
# directories that are safe to use in DDK modules.
ddk_headers(
name = "all_headers_allowlist_aarch64",
hdrs = [
":all_headers_allowlist_aarch64_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/arm64/include",
"arch/arm64/include/uapi",
"include",
"include/uapi",
],
visibility = ["//visibility:private"],
)
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"],
)
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"],
)
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.
# These are prepended to LINUXINCLUDE.
linux_includes = [
"arch/x86/include",
"arch/x86/include/uapi",
"include",
"include/uapi",
],
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.
# These are separate filegroup targets so the all_headers_allowlist_* are
# more friendly to batch BUILD file update tools like buildozer.
# globs() for arm64 only
filegroup(
name = "all_headers_allowlist_aarch64_globs",
srcs = glob(["arch/arm64/include/**/*.h"]),
visibility = ["//visibility:private"],
)
# globs() for arm only
filegroup(
name = "all_headers_allowlist_arm_globs",
srcs = glob(["arch/arm/include/**/*.h"]),
visibility = ["//visibility:private"],
)
# globs() for riscv64 only
filegroup(
name = "all_headers_allowlist_riscv64_globs",
srcs = glob(["arch/riscv/include/**/*.h"]),
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
filegroup(
name = "all_headers_allowlist_common_globs",
srcs = glob(["include/**/*.h"]),
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",
hdrs = [
"drivers/gpu/drm/virtio/virtgpu_trace.h",
],
# The list of include directories where source files can #include headers
# from. In other words, these are the `-I` option to the C compiler.
# Unsafe include directories are appended to ccflags-y.
includes = [],
visibility = ["//visibility:private"],
)