97 lines
3.8 KiB
YAML
97 lines
3.8 KiB
YAML
# Size of extra stack frame needed by exception context switch.
|
|
exception_frame_size: 64
|
|
# Add some missing calls.
|
|
add:
|
|
# usb_ep_event: grep ep_._evt -A 1 build/hammer/RW/ec.RW.smap
|
|
usb_reset[chip/stm32/usb.c:370]:
|
|
- hid_touchpad_event
|
|
- hid_keyboard_event
|
|
- usb_update_ep_event
|
|
- i2c_usb__ep_event
|
|
usb_interrupt_handle_wake[chip/stm32/usb.c:608]:
|
|
- hid_touchpad_event
|
|
- hid_keyboard_event
|
|
- usb_update_ep_event
|
|
- i2c_usb__ep_event
|
|
# usb_ep_tx/rx: grep ep_._[rt]x -B 1 -A 1 build/hammer/RW/ec.RW.smap
|
|
usb_interrupt[chip/stm32/usb.c:640]:
|
|
- ep0_rx
|
|
- hid_keyboard_rx
|
|
- usb_update_ep_rx
|
|
- i2c_usb__ep_rx
|
|
- ep0_tx
|
|
- hid_touchpad_tx
|
|
- hid_keyboard_tx
|
|
- usb_update_ep_tx
|
|
- i2c_usb__ep_tx
|
|
# usb_interface_request
|
|
ep0_tx[chip/stm32/usb.c:337]:
|
|
- hid_touchpad_iface_request
|
|
- hid_keyboard_iface_request
|
|
ep0_rx[chip/stm32/usb.c:193]:
|
|
- hid_touchpad_iface_request
|
|
- hid_keyboard_iface_request
|
|
# Queue functions
|
|
queue_advance_tail[common/queue.c:116]:
|
|
- queue_add_direct
|
|
queue_add_memcpy[common/queue.c:152]:
|
|
- memcpy
|
|
queue_add_memcpy[common/queue.c:157]:
|
|
- memcpy
|
|
queue_read_safe.lto_priv.98[common/queue.c:174]:
|
|
- memcpy
|
|
queue_read_safe.lto_priv.98[common/queue.c:179]:
|
|
- memcpy
|
|
queue_advance_head[common/queue.c:105]:
|
|
- queue_remove_direct
|
|
queue_add_direct[common/queue_policies.c:18]:
|
|
- usb_i2c_written
|
|
- usb_written
|
|
- update_out_handler
|
|
queue_remove_direct[common/queue_policies.c:27]:
|
|
- usb_read
|
|
vfnprintf:
|
|
# This covers all the addchar in vfnprintf, but stackanalyzer does not
|
|
# realize that...
|
|
- __tx_char
|
|
# gpio_interrupt[chip/stm32/gpio.c:146]:
|
|
# TODO: All GPIO interrupt handlers should follow here
|
|
handle_command[common/console.c:248]:
|
|
- { name: __cmds, stride: 16, offset: 4 }
|
|
hook_task[common/hooks.c:197]:
|
|
- { name: __deferred_funcs, stride: 4, offset: 0 }
|
|
- { name: __hooks_second, stride: 8, offset: 0 }
|
|
- { name: __hooks_tick, stride: 8, offset: 0 }
|
|
# Note: This assumes worse case, where all hook functions can be called from
|
|
# any hook_notify call
|
|
hook_notify[common/hooks.c:127]:
|
|
- { name: __hooks_pre_freq_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_freq_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_pre_init, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_resume, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_startup, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_suspend, stride: 8, offset: 0 }
|
|
- { name: __hooks_sysjump, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_shutdown, stride: 8, offset: 0 }
|
|
- { name: __hooks_ac_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_battery_soc_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_chipset_reset, stride: 8, offset: 0 }
|
|
- { name: __hooks_lid_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_pwrbtn_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_tablet_mode_change, stride: 8, offset: 0 }
|
|
- { name: __hooks_usb_change, stride: 8, offset: 0 }
|
|
jump_to_image.lto_priv.135[common/system.c:568]:
|
|
- None
|
|
irq_4_handler[core/cortex-m0/init.S:165]:
|
|
- exception_panic
|
|
remove:
|
|
- panic_assert_fail
|
|
- [queue_add_direct, update_out_handler, [queue_add_unit, queue_add_memcpy], queue_add_direct, update_out_handler]
|
|
# set_touchpad_report/keyboard_state_changed add elements to a queue, but
|
|
# _not_ the queue that would call update_out handler
|
|
- [ touchpad_task, queue_add_unit, queue_add_direct, update_out_handler]
|
|
- [ keyboard_scan_task, queue_add_unit, queue_add_direct, update_out_handler]
|
|
# keyboard_raw_drive_column can't recurse more than once
|
|
- [keyboard_raw_drive_column, keyboard_raw_drive_column, keyboard_raw_drive_column]
|
|
- [system_common_shutdown, system_run_image_copy, jump_to_image.lto_priv.135, hook_notify, system_common_shutdown]
|