Commit Graph

30 Commits

Author SHA1 Message Date
Will McVicker
7919cae0a9 ANDROID: Support disabling symbol trimming
Allow disabling symbol trimming on the command line when running
build.sh. This allows us to make GKI builds without trimming and without
modifying the build config. The main use case is when we want to update
the symbol list in a mixed build system.

Bug: 186549137
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I16d1c348270b4dbb378f009857286acd7b6d8aa3
2021-04-28 23:52:33 +00:00
Jaehyoung Choi
e16264e625 ANDROID: Add initial Exynos symbol list
Add initial symbol list for Exynos in android/abi_gki_aarch64_exynos.

Bug: 183447175

Leaf changes summary: 194 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 182 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 12 Added variables
Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info

182 Added functions:

  [A] 'function void __bitmap_complement(unsigned long int*, const unsigned long int*, unsigned int)'
  [A] 'function void __bitmap_or(unsigned long int*, const unsigned long int*, const unsigned long int*, unsigned int)'
  [A] 'function void __bitmap_xor(unsigned long int*, const unsigned long int*, const unsigned long int*, unsigned int)'
  [A] 'function clk_hw* __clk_hw_register_gate(device*, device_node*, const char*, const char*, const clk_hw*, const clk_parent_data*, unsigned long int, void*, u8, u8, spinlock_t*)'
  [A] 'function int __devm_irq_alloc_descs(device*, int, unsigned int, unsigned int, int, module*, const irq_affinity_desc*)'
  [A] 'function void __irq_set_handler(unsigned int, irq_flow_handler_t, int, const char*)'
  [A] 'function int __platform_register_drivers(platform_driver* const*, unsigned int, module*)'
  [A] 'function void __rb_erase_color(rb_node*, rb_root*, void (rb_node*, rb_node*)*)'
  [A] 'function void __rb_insert_augmented(rb_node*, rb_root*, void (rb_node*, rb_node*)*)'
  [A] 'function int __scsi_execute(scsi_device*, const unsigned char*, int, void*, unsigned int, unsigned char*, scsi_sense_hdr*, int, int, u64, req_flags_t, int*)'
  [A] 'function void clk_hw_unregister_gate(clk_hw*)'
  [A] 'function int dapm_pinctrl_event(snd_soc_dapm_widget*, snd_kcontrol*, int)'
  [A] 'function int dapm_regulator_event(snd_soc_dapm_widget*, snd_kcontrol*, int)'
  [A] 'function void devfreq_monitor_resume(devfreq*)'
  [A] 'function void devfreq_monitor_start(devfreq*)'
  [A] 'function void devfreq_monitor_stop(devfreq*)'
  [A] 'function void devfreq_monitor_suspend(devfreq*)'
  [A] 'function void devfreq_update_interval(devfreq*, unsigned int*)'
  [A] 'function ssize_t device_show_bool(device*, device_attribute*, char*)'
  [A] 'function ssize_t device_store_bool(device*, device_attribute*, const char*, size_t)'
  [A] 'function int devm_devfreq_register_notifier(device*, devfreq*, notifier_block*, unsigned int)'
  [A] 'function void devm_devfreq_unregister_notifier(device*, devfreq*, notifier_block*, unsigned int)'
  [A] 'function int devm_hwrng_register(device*, hwrng*)'
  [A] 'function dma_buf_attachment* dma_buf_dynamic_attach(dma_buf*, device*, const dma_buf_attach_ops*, void*)'
  [A] 'function void dma_buf_move_notify(dma_buf*)'
  [A] 'function int dma_buf_pin(dma_buf_attachment*)'
  [A] 'function void dma_buf_unpin(dma_buf_attachment*)'
  [A] 'function dma_fence* dma_fence_get_stub()'
  [A] 'function long int dma_fence_wait_any_timeout(dma_fence**, uint32_t, bool, long int, uint32_t*)'
  [A] 'function u64 dma_get_required_mask(device*)'
  [A] 'function int dma_resv_get_fences_rcu(dma_resv*, dma_fence**, unsigned int*, dma_fence***)'
  [A] 'function int down_read_killable(rw_semaphore*)'
  [A] 'function int down_read_trylock(rw_semaphore*)'
  [A] 'function void drm_connector_attach_dp_subconnector_property(drm_connector*)'
  [A] 'function int drm_crtc_helper_set_config(drm_mode_set*, drm_modeset_acquire_ctx*)'
  [A] 'function bool drm_crtc_helper_set_mode(drm_crtc*, drm_display_mode*, int, int, drm_framebuffer*)'
  [A] 'function int drm_crtc_init(drm_device*, drm_crtc*, const drm_crtc_funcs*)'
  [A] 'function u64 drm_crtc_vblank_count(drm_crtc*)'
  [A] 'function void drm_dp_aux_init(drm_dp_aux*)'
  [A] 'function void drm_dp_set_subconnector_property(drm_connector*, drm_connector_status, const u8*, const u8*)'
  [A] 'function int drm_edid_header_is_valid(const u8*)'
  [A] 'function int drm_edid_to_sad(edid*, cea_sad**)'
  [A] 'function int drm_edid_to_speaker_allocation(edid*, u8**)'
  [A] 'function void drm_framebuffer_cleanup(drm_framebuffer*)'
  [A] 'function int drm_helper_connector_dpms(drm_connector*, int)'
  [A] 'function void drm_helper_disable_unused_functions(drm_device*)'
  [A] 'function int drm_helper_force_disable_all(drm_device*)'
  [A] 'function void drm_helper_resume_force_mode(drm_device*)'
  [A] 'function bool drm_is_current_master(drm_file*)'
  [A] 'function bool drm_kms_helper_is_poll_worker()'
  [A] 'function int drm_mode_create_scaling_mode_property(drm_device*)'
  [A] 'function int drm_mode_crtc_set_gamma_size(drm_crtc*, int)'
  [A] 'function bool drm_need_swiotlb(int)'
  [A] 'function int drm_syncobj_create(drm_syncobj**, uint32_t, dma_fence*)'
  [A] 'function int drm_syncobj_get_fd(drm_syncobj*, int*)'
  [A] 'function int drm_syncobj_get_handle(drm_file*, drm_syncobj*, u32*)'
  [A] 'function int drm_vma_node_allow(drm_vma_offset_node*, drm_file*)'
  [A] 'function bool drm_vma_node_is_allowed(drm_vma_offset_node*, drm_file*)'
  [A] 'function void drm_vma_node_revoke(drm_vma_offset_node*, drm_file*)'
  [A] 'function void* dw_pcie_own_conf_map_bus(pci_bus*, unsigned int, int)'
  [A] 'function file* get_task_exe_file(task_struct*)'
  [A] 'function int i2c_bit_add_bus(i2c_adapter*)'
  [A] 'function s32 i2c_smbus_read_i2c_block_data(const i2c_client*, u8, u8, u8*)'
  [A] 'function s32 i2c_smbus_write_i2c_block_data(const i2c_client*, u8, u8, const u8*)'
  [A] 'function s32 i2c_smbus_write_word_data(const i2c_client*, u8, u16)'
  [A] 'function int irq_domain_xlate_onetwocell(irq_domain*, device_node*, const u32*, unsigned int, unsigned long int*, unsigned int*)'
  [A] 'function int irq_set_chip(unsigned int, irq_chip*)'
  [A] 'function int irq_set_handler_data(unsigned int, void*)'
  [A] 'function u64 jiffies_64_to_clock_t(u64)'
  [A] 'function void ksys_sync_helper()'
  [A] 'function int mmu_interval_notifier_insert(mmu_interval_notifier*, mm_struct*, unsigned long int, unsigned long int, const mmu_interval_notifier_ops*)'
  [A] 'function void mmu_interval_notifier_remove(mmu_interval_notifier*)'
  [A] 'function unsigned long int mmu_interval_read_begin(mmu_interval_notifier*)'
  [A] 'function void mmu_notifier_synchronize()'
  [A] 'function pwm_device* of_pwm_xlate_with_flags(pwm_chip*, const of_phandle_args*)'
  [A] 'function void orderly_poweroff(bool)'
  [A] 'function void pci_assign_unassigned_bus_resources(pci_bus*)'
  [A] 'function resource* pci_bus_resource_n(const pci_bus*, int)'
  [A] 'function int pci_enable_atomic_ops_to_root(pci_dev*, u32)'
  [A] 'function int pci_generic_config_read(pci_bus*, unsigned int, int, int, u32*)'
  [A] 'function int pci_generic_config_write(pci_bus*, unsigned int, int, int, u32)'
  [A] 'function pci_dev* pci_get_domain_bus_and_slot(int, unsigned int, unsigned int)'
  [A] 'function void* pci_map_rom(pci_dev*, size_t*)'
  [A] 'function int pci_msix_vec_count(pci_dev*)'
  [A] 'function void pci_release_resource(pci_dev*, int)'
  [A] 'function int pci_resize_resource(pci_dev*, int, int)'
  [A] 'function void pci_unmap_rom(pci_dev*, void*)'
  [A] 'function u32 pcie_bandwidth_available(pci_dev*, pci_dev**, pci_bus_speed*, pcie_link_width*)'
  [A] 'function int pcie_get_mps(pci_dev*)'
  [A] 'function pci_bus_speed pcie_get_speed_cap(pci_dev*)'
  [A] 'function long int pin_user_pages(unsigned long int, unsigned long int, unsigned int, page**, vm_area_struct**)'
  [A] 'function u64 pm_runtime_autosuspend_expiration(device*)'
  [A] 'function int power_supply_is_system_supplied()'
  [A] 'function bool printk_timed_ratelimit(unsigned long int*, unsigned int)'
  [A] 'function void proc_set_size(proc_dir_entry*, loff_t)'
  [A] 'function proc_dir_entry* proc_symlink(const char*, proc_dir_entry*, const char*)'
  [A] 'function void* pwm_get_chip_data(pwm_device*)'
  [A] 'function int pwm_set_chip_data(pwm_device*, void*)'
  [A] 'function int radix_tree_tagged(const xarray*, unsigned int)'
  [A] 'function rb_node* rb_first_postorder(const rb_root*)'
  [A] 'function rb_node* rb_next_postorder(const rb_node*)'
  [A] 'function reciprocal_value reciprocal_value(u32)'
  [A] 'function void refresh_frequency_limits(cpufreq_policy*)'
  [A] 'function void release_pages(page**, int)'
  [A] 'function void scsi_print_sense_hdr(const scsi_device*, const char*, const scsi_sense_hdr*)'
  [A] 'function int sg_nents_for_len(scatterlist*, u64)'
  [A] 'function void smp_call_function_many(const cpumask*, smp_call_func_t, void*, bool)'
  [A] 'function int snd_hwdep_new(snd_card*, char*, int, snd_hwdep**)'
  [A] 'function void snd_pcm_lib_preallocate_free_for_all(snd_pcm*)'
  [A] 'function unsigned int snd_pcm_rate_range_to_bits(unsigned int, unsigned int)'
  [A] 'function int snd_soc_bytes_info_ext(snd_kcontrol*, snd_ctl_elem_info*)'
  [A] 'function void snd_soc_component_async_complete(snd_soc_component*)'
  [A] 'function int snd_soc_component_update_bits_async(snd_soc_component*, unsigned int, unsigned int, unsigned int)'
  [A] 'function int snd_soc_dai_set_bclk_ratio(snd_soc_dai*, unsigned int)'
  [A] 'function int snd_soc_dapm_enable_pin(snd_soc_dapm_context*, const char*)'
  [A] 'function snd_soc_dapm_widget* snd_soc_dapm_new_control(snd_soc_dapm_context*, const snd_soc_dapm_widget*)'
  [A] 'function int snd_soc_dapm_weak_routes(snd_soc_dapm_context*, const snd_soc_dapm_route*, int)'
  [A] 'function snd_soc_dai* snd_soc_find_dai(const snd_soc_dai_link_component*)'
  [A] 'function int snd_soc_get_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)'
  [A] 'function int snd_soc_info_xr_sx(snd_kcontrol*, snd_ctl_elem_info*)'
  [A] 'function void snd_soc_of_put_dai_link_codecs(snd_soc_dai_link*)'
  [A] 'function int snd_soc_params_to_bclk(snd_pcm_hw_params*)'
  [A] 'function int snd_soc_put_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)'
  [A] 'function int snd_vendor_set_ops(snd_usb_audio_vendor_ops*)'
  [A] 'function unsigned long int swiotlb_nr_tbl()'
  [A] 'function rq* task_rq_lock(task_struct*, rq_flags*)'
  [A] 'function void ttm_bo_bulk_move_lru_tail(ttm_lru_bulk_move*)'
  [A] 'function int ttm_bo_device_init(ttm_bo_device*, ttm_bo_driver*, address_space*, drm_vma_offset_manager*, bool)'
  [A] 'function int ttm_bo_device_release(ttm_bo_device*)'
  [A] 'function size_t ttm_bo_dma_acc_size(ttm_bo_device*, unsigned long int, unsigned int)'
  [A] 'function int ttm_bo_evict_mm(ttm_bo_device*, unsigned int)'
  [A] 'function bool ttm_bo_eviction_valuable(ttm_buffer_object*, const ttm_place*)'
  [A] 'function int ttm_bo_init_reserved(ttm_bo_device*, ttm_buffer_object*, unsigned long int, ttm_bo_type, ttm_placement*, uint32_t, ttm_operation_ctx*, size_t, sg_table*, dma_resv*, void (ttm_buffer_object*)*)'
  [A] 'function int ttm_bo_kmap(ttm_buffer_object*, unsigned long int, unsigned long int, ttm_bo_kmap_obj*)'
  [A] 'function void ttm_bo_kunmap(ttm_bo_kmap_obj*)'
  [A] 'function int ttm_bo_lock_delayed_workqueue(ttm_bo_device*)'
  [A] 'function int ttm_bo_mem_space(ttm_buffer_object*, ttm_placement*, ttm_resource*, ttm_operation_ctx*)'
  [A] 'function int ttm_bo_mmap(file*, vm_area_struct*, ttm_bo_device*)'
  [A] 'function int ttm_bo_mmap_obj(vm_area_struct*, ttm_buffer_object*)'
  [A] 'function int ttm_bo_move_accel_cleanup(ttm_buffer_object*, dma_fence*, bool, bool, ttm_resource*)'
  [A] 'function int ttm_bo_move_memcpy(ttm_buffer_object*, ttm_operation_ctx*, ttm_resource*)'
  [A] 'function void ttm_bo_move_to_lru_tail(ttm_buffer_object*, ttm_lru_bulk_move*)'
  [A] 'function int ttm_bo_move_ttm(ttm_buffer_object*, ttm_operation_ctx*, ttm_resource*)'
  [A] 'function void ttm_bo_put(ttm_buffer_object*)'
  [A] 'function void ttm_bo_unlock_delayed_workqueue(ttm_bo_device*, int)'
  [A] 'function int ttm_bo_validate(ttm_buffer_object*, ttm_placement*, ttm_operation_ctx*)'
  [A] 'function int ttm_dma_page_alloc_debugfs(seq_file*, void*)'
  [A] 'function int ttm_dma_populate(ttm_dma_tt*, device*, ttm_operation_ctx*)'
  [A] 'function void ttm_dma_tt_fini(ttm_dma_tt*)'
  [A] 'function void ttm_dma_unpopulate(ttm_dma_tt*, device*)'
  [A] 'function void ttm_eu_backoff_reservation(ww_acquire_ctx*, list_head*)'
  [A] 'function void ttm_eu_fence_buffer_objects(ww_acquire_ctx*, list_head*, dma_fence*)'
  [A] 'function int ttm_eu_reserve_buffers(ww_acquire_ctx*, list_head*, bool, list_head*)'
  [A] 'function int ttm_page_alloc_debugfs(seq_file*, void*)'
  [A] 'function int ttm_populate_and_map_pages(device*, ttm_dma_tt*, ttm_operation_ctx*)'
  [A] 'function int ttm_range_man_fini(ttm_bo_device*, unsigned int)'
  [A] 'function int ttm_range_man_init(ttm_bo_device*, unsigned int, bool, unsigned long int)'
  [A] 'function void ttm_resource_free(ttm_buffer_object*, ttm_resource*)'
  [A] 'function int ttm_resource_manager_force_list_clean(ttm_bo_device*, ttm_resource_manager*)'
  [A] 'function void ttm_resource_manager_init(ttm_resource_manager*, unsigned long int)'
  [A] 'function int ttm_sg_tt_init(ttm_dma_tt*, ttm_buffer_object*, uint32_t)'
  [A] 'function void ttm_tt_destroy_common(ttm_bo_device*, ttm_tt*)'
  [A] 'function int ttm_tt_populate(ttm_bo_device*, ttm_tt*, ttm_operation_ctx*)'
  [A] 'function int ttm_tt_set_placement_caching(ttm_tt*, uint32_t)'
  [A] 'function void ttm_unmap_and_unpopulate_pages(device*, ttm_dma_tt*)'
  [A] 'function int usb_choose_configuration(usb_device*)'
  [A] 'function void usb_enable_autosuspend(usb_device*)'
  [A] 'function int v4l2_ctrl_handler_setup(v4l2_ctrl_handler*)'
  [A] 'function int v4l2_m2m_dqbuf(file*, v4l2_m2m_ctx*, v4l2_buffer*)'
  [A] 'function int v4l2_m2m_mmap(file*, v4l2_m2m_ctx*, vm_area_struct*)'
  [A] 'function __poll_t v4l2_m2m_poll(file*, v4l2_m2m_ctx*, poll_table_struct*)'
  [A] 'function int v4l2_m2m_reqbufs(file*, v4l2_m2m_ctx*, v4l2_requestbuffers*)'
  [A] 'function int v4l2_m2m_streamoff(file*, v4l2_m2m_ctx*, v4l2_buf_type)'
  [A] 'function int v4l2_m2m_streamon(file*, v4l2_m2m_ctx*, v4l2_buf_type)'
  [A] 'function void v4l2_m2m_try_schedule(v4l2_m2m_ctx*)'
  [A] 'function void v4l_bound_align_image(u32*, unsigned int, unsigned int, unsigned int, u32*, unsigned int, unsigned int, unsigned int, unsigned int)'
  [A] 'function int xhci_add_endpoint(usb_hcd*, usb_device*, usb_host_endpoint*)'
  [A] 'function int xhci_address_device(usb_hcd*, usb_device*)'
  [A] 'function int xhci_check_trb_in_td_math(xhci_hcd*)'
  [A] 'function void xhci_initialize_ring_info(xhci_ring*, unsigned int)'
  [A] 'function void xhci_link_segments(xhci_segment*, xhci_segment*, xhci_ring_type, bool)'
  [A] 'function void xhci_segment_free(xhci_hcd*, xhci_segment*)'

12 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_cpu_cgroup_can_attach'
  [A] 'tracepoint __tracepoint_android_rvh_sched_rebalance_domains'
  [A] 'tracepoint __tracepoint_android_rvh_select_fallback_rq'
  [A] 'tracepoint __tracepoint_android_vh_gic_v3_set_affinity'
  [A] 'tracepoint __tracepoint_hrtimer_expire_entry'
  [A] 'tracepoint __tracepoint_hrtimer_expire_exit'
  [A] 'tracepoint __tracepoint_ipi_exit'
  [A] 'tracepoint __tracepoint_irq_handler_exit'
  [A] 'tracepoint __tracepoint_workqueue_execute_end'
  [A] 'tracepoint __tracepoint_workqueue_execute_start'
  [A] 'const kernel_param_ops param_ops_hexint'
  [A] 'ttm_bo_global ttm_bo_glob'

1 Added function symbol not referenced by debug info:

  [A] __arm_smccc_hvc

Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Change-Id: I9d080a945208edff18bbe7e8981da54425270c4a
2021-04-19 22:36:10 +00:00
J. Avila
23e7d05d56 ANDROID: GKI: Add support for a GKI_DEFCONFIG_FRAGMENT
To provide more fleixbility in debugging GKI builds, create a mechanism
for adding an optional file which may override some of the build vars,
such as POST_DEFCONFIG_CMDS.

Bug: 171343315
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I9f4a7bad2c19bcdb3b494c97d7c1eea5c7f311ba
2021-04-16 18:12:42 +00:00
J. Avila
308e49bc5f ANDROID: Make KMI_SYMBOL_LIST_STRICT_MODE overrideable
For development purposes, it can be useful to disable strict symbol list
checking, but this value is currently always being set to 1 in the arm64
config. Allow for this value to be overridden, with the default of being
enabled.

Bug: 184667897
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: Ie6295a2cb9d89b30e2242e2d55639a2c4882a897
2021-04-15 22:05:12 +00:00
Will McVicker
750af2afbe ANDROID: GKI: Add generic aarch64 symbol list
Useful set of generic aarch64 symbols for GKI.

Bug: 182844240
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I9fcefdb83e2fc1c65d0f768146e859286140a5ce
2021-04-13 23:27:58 +00:00
Saravana Kannan
b73c7360d9 ANDROID: Add a new core symbol list
Commonly used symbols.

Bug: 184889384
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: I678308e8f212e75f55f6ae97cb23e3df3f2ec45d
2021-04-09 21:09:08 -07:00
J. Avila
c51e9f8bf8 ANDROID: Add Image.lz4 to arm64 GKI outputs
Partners may want Image.lz4, so generate it as part of aarch64 builds.

Bug: 184667897
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I434287c881eb5cc906ff205e82866ede14014528
2021-04-07 15:35:28 +00:00
Matthias Maennich
d6aa6f9c68 ANDROID: Enforce KMI stability
This declares ABI/KMI stability for the gki aarch64 config.

Bug: 134674532
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I2e35c1281ee66ef22d4fce0fcce1269e827f8594
Bug: 183615388
Signed-off-by: Todd Kjos <tkjos@google.com>
2021-03-26 08:51:48 -07:00
Todd Kjos
822a31b72e ANDROID: enable options prior to enforcing KMI
Turn on KMI_SYMBOL_LIST_STRICT_MODE and TRIM_NONLISTED_KMI=1
to match the other KMI branches

Bug: 183615388
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I11a1d4bf093827ffaa6741d010513d6e8b4ff0b2
2021-03-26 08:51:48 -07:00
John Stultz
795028f7e7 ANDROID: Add hikey960 build infrastructure file
Adds build.config.hikey960 and android/abi_gki_aarch64_hikey960 files

Signed-off-by: John Stultz <john.stultz@linaro.org>
Bug: 146450171
Change-Id: Ice445cf09780b16059e5e4ef624ac30e300c6500
2021-02-18 23:59:34 +00:00
Elliot Berman
00f1d5d229 ANDROID: Add initial QCOM symbol list
Add initial symbol list for QCOM in android/abi_gki_aarch64_qcom.

Bug: 176974005
Change-Id: I3b79c9738b8eff86b95e61b3a8775ef0e51fae3a
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2021-01-19 20:35:54 +00:00
Greg Kroah-Hartman
1f7c7b74e3 ANDROID: GKI: provide initial snapshot for android12-5.10 .xml
We have to start somewhere, so add initial abi_gki_aarch64.xml file
for the current snapshot with a limited set of symbols.

Note, these symbols have not been reviewed yet, it just gives us a base
to work off of, as now the infrastructure allows for building and
managing the .xml file properly.

Bug: 177417361
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic9d9aeead1f017409644810f50528be2d165bae6
2021-01-15 07:35:56 +00:00
Ram Muthiah
f2684370d3 ANDROID: GKI: Disable symbol stripping
Temporary workaround to enable arm64 gki devices to boot.

Virtual devices failed to boot with 5.10 ARM64 GKI because symbol
stripping has removed tracepoint symbols pertaining to xdp which are
included in the symbol allowlist.

klog excerpt for this error.
init: Loading module /lib/modules/virtio_net.ko with args ""
virtio_net: disagrees about version of symbol __traceiter_xdp_exception
virtio_net: Unknown symbol __traceiter_xdp_exception (err -22)
virtio_net: disagrees about version of symbol __tracepoint_xdp_exception
virtio_net: Unknown symbol __tracepoint_xdp_exception (err -22)
init: Failed to insmod '/lib/modules/virtio_net.ko' with args ''
init: LoadWithAliases was unable to load virtio_net
init: Failed to load kernel modules

Bug: 176831960
Test: Treehugger
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: If5b6fd12ce1c783966ff4ed0a8bc141d077c71a3
2021-01-07 19:39:38 +00:00
Ram Muthiah
e7579f4acd ANDROID: renamed virtual device symbol list
Formerly cuttlefish and goldfish had separate symbol lists.
The defconfigs and symbol lists were unified recently. However, the
symbol lists should conform to this naming convention.

Generated with
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh;
BUILD_CONFIG= \
common-modules/virtual-device/build.config.virtual_device.aarch64 \
build/build.sh;
build/abi/extract_symbols out/android12-5.10/dist/ \
--whitelist common/android/abi_gki_aarch64_virtual_device

Test: Treehugger
Bug: 176831960
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: I21755fbd3e9ab6319fdf4fcd06e501d722fb7242
2021-01-06 21:26:57 +00:00
Matthias Maennich
3106314066 ANDROID: add initial symbol list for cuttlefish
Generated with:

BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.aarch64 build/build_abi.sh -s

Bug: 175534863
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I7841f2a2298bc1ddae8039006f8cddf374ff0f19
2020-12-16 11:36:20 +00:00
Matthias Maennich
895a2f809a ANDROID: add initial symbol list for db845c
Generated with:
  BUILD_CONFIG=common/build.config.db845c build/build_abi.sh -s

Bug: 175534863
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I51a1981556da3439618dfc5ad40e8927a53434ec
2020-12-16 11:36:20 +00:00
Matthias Maennich
33a674bd42 ANDROID: create initial symbol lists for android12-5.10
Bug: 175534863
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I99bb33802b001bbe9e0adb96b52ba81b9df3b30b
2020-12-16 11:36:20 +00:00
Matthias Maennich
da5e68a82d ANDROID: disable BTF generation
This is to allow LTO on this branch which currently is incompatible with
pahole's BTF extraction mechanism.

Bug: 168714651
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I8eb00db99fa97674155e47cf5f1e01ff651375ba
2020-12-15 09:42:07 +00:00
Matthias Maennich
ee9e175152 ANDROID: Enable generation of BTF type information
Enable building vmlinux.btf (in addition to vmlinux). The original
binaries are not affected.

Bug: 157508131
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I37e95edacf2df62d5b9680296e797a1e0949bfb3
2020-11-02 09:39:41 +00:00
Will McVicker
67a1d5d3be ANDROID: drop KERNEL_DIR setting in build.config.common
And replace many references of ${ROOT_DIR}/common with
${ROOT_DIR}/${KERNEL_DIR}, which makes it a lot easier
to branch off of ACK and update the KERNEL_DIR.

The variable of KERNEL_DIR will be set in build/_setup_env.sh
to the directory of the build config file by default if it's
not set explicitly in the build config file or in environment.

Test: build test with following configs
        common/build.config.gki.aarch64
        common/build.config.db845c
        common/build.config.hikey960
        cuttlefish-modules/build.config.cuttlefish.aarch64

Bug: 162785964
Change-Id: I790ac0ded10bd790484f14c6f93d53e06c38b830
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
(cherry picked from commit 931718fa65fe5e34d143250c048f591a7d74e5f8)
[elavila: resolve conflicts]
Signed-off-by: J. Avila <elavila@google.com>
2020-08-31 15:20:37 +00:00
Matthias Maennich
e139341e41 ANDROID: Remove ABI Monitoring on android-mainline
We stabilized the ABI tooling on the GKI branches by now. There is no
need anymore to keep the ABI Monitoring alive on this branch. It rather
causes friction as the ABI changes all the time and the purpose of
battletesting the tooling is not as valid anymore as before.
(Also, the representation diffs slowly blow up the repository.)

Bug: 111449103
Change-Id: I86f0baf48f2f183f25aa63e1f560e8b767e7e03f
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-01-27 13:53:52 +00:00
Matthias Maennich
ac049f22f1 ANDROID: add initial ABI whitelist for android-mainline
Bug: 145692847
Change-Id: I52e4b9b6bc025a86eb4f75bc7643a69b1e5c0d93
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-12-18 12:57:43 +00:00
Matthias Maennich
6e792fdbdf ANDROID: refactor build.config files to remove duplication
The build.config.* files largely contain duplicate information by their
nature. Reorganize them reduce duplication and to allow adding new
configurations without copying the definitions again.

Bug: 140224784
Change-Id: I6a3810a125b0ed48591690ca33bb5c02be58218a
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-08-30 14:55:29 +01:00
Ram Muthiah
2dae5b0e71 Adding GKI Ramdisk to gki config
Test: Treehugger
Bug: 132629930
Change-Id: I3773d828cea4ab0ea8cfaef8a533a5ae925f037c
Signed-of-by: Ram Muthiah <rammuthiah@google.com>
2019-08-14 18:19:21 +00:00
Matthias Maennich
cf045d8837 ANDROID: build configs: switch prebuilt path location
Move to a kernel specific prebuilt path.

Bug: 135922132
Change-Id: I8755f8f0154eecc86ad598be7a7811e9d8f068ed
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-07-23 15:15:32 +01:00
Matthias Maennich
d5458786d8 ANDROID: gki/cuttlefish defconfigs: use prebuilt build-tools
Rather than relying on the hosts build tools, use a set of prebuilt
build-tools. These are tools like awk, cat, cp, hostname, python, rm,
sed, etc.

Bug: 135922132
Change-Id: Ie6b0bd208c684c9f153eb2f0bfac4712e02e8e05
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-06-24 18:10:19 +01:00
Matthias Maennich
31835ae1d7 ANDROID: ABI out: Use the extension .xml rather then .out
Bug: 133501930
Change-Id: I7ddae7a56593389b0ab13ff765d4e7329ecf5f8d
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-29 10:10:14 +01:00
Matthias Maennich
553049f81c ANDROID: Initial abi_gki_aarch64 definition
abi_gki_aarch64.out contains the ABI definition corresponding to the
current sources and the configuration referred to in
build.config.gki.aarch64.

As part of the build.sh tooling it will be copied over into the
distribution for further inspection / analysis. See
https://android-review.googlesource.com/970737 for details on that
process.

This is the initial version of this definition to allow implementation
of workflows around it. It is not considered stable at this point. It is
expected that it will break with significant changes from either
upstream or with changes implemented specific for this tree. Automated
validation is supposed to catch differences between this definition and
the actual binary before they are introduced into the tree. At a later
stage this validation should be part of build.sh itself.

Bug: 133501930
Change-Id: I815940ee13037ad450547e0ab0786e37f0b83d9b
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-28 12:38:16 +01:00
Alistair Strachan
bd2c781b52 ANDROID: Move from clang r349610 to r353983c.
Bug: 120439617
Bug: 132097678
Test: make ARCH=arm64 cuttlefish_defconfig && make ARCH=arm64
Test: make ARCH=x86_64 x86_64_cuttlefish_defconfig && make ARCH=x86_64
Change-Id: If5542a39e36fb4de6dd4b4135a22e188f752dd84
Signed-off-by: Alistair Strachan <astrachan@google.com>
2019-05-14 17:23:57 -07:00
Matthias Maennich
4543809cd7 ANDROID: Expose gki_defconfig to build.config
With this in place, the gki_defconfig can be build with build.sh
machinery.

Bug: 132113225
Change-Id: I4c623a866cd41aa4587e4fab1c4e5254f6680542
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-14 17:23:56 -07:00