GDB (xrefs)
|
Private Types | |
enum | fpu_state { NOTHING_SPECIAL , LIVE_FP_REGISTERS , NO_FP_REGISTERS } |
Private Member Functions | |
ptid_t | active_task (int cpu) |
bool | task_is_currently_active (ptid_t ptid) |
bool | runtime_initialized () |
int | get_thread_base_cpu (ptid_t ptid) |
ptid_t | get_base_thread_from_ravenscar_task (ptid_t ptid) |
void | add_thread (struct ada_task_info *task) |
void | set_base_thread_from_ravenscar_task (ptid_t ptid) |
fpu_state | get_fpu_state (struct regcache *regcache, const ravenscar_arch_ops *arch_ops) |
Private Attributes | |
ptid_t | m_base_ptid |
std::unordered_map< ULONGEST, int > | m_cpu_map |
Additional Inherited Members | |
![]() | |
virtual gdb::array_view< const_gdb_byte > virtual thread_info_to_thread_handle(struct thread_info *) TARGET_DEFAULT_RETURN(gdb voi | stop )(ptid_t) TARGET_DEFAULT_IGNORE() |
Definition at line 78 of file ravenscar-thread.c.
|
private |
Enumerator | |
---|---|
NOTHING_SPECIAL | |
LIVE_FP_REGISTERS | |
NO_FP_REGISTERS |
Definition at line 171 of file ravenscar-thread.c.
|
inline |
Definition at line 80 of file ravenscar-thread.c.
|
private |
Definition at line 483 of file ravenscar-thread.c.
References get_running_thread_id(), and m_base_ptid.
Referenced by add_active_thread(), runtime_initialized(), and task_is_currently_active().
thread_info * ravenscar_thread_target::add_active_thread | ( | ) |
Definition at line 292 of file ravenscar-thread.c.
References active_task(), add_thread(), as_process_stratum_target(), target_ops::beneath(), process_stratum_target::find_thread(), get_thread_base_cpu(), is_ravenscar_task(), m_base_ptid, m_cpu_map, and runtime_initialized().
Referenced by ravenscar_inferior_created(), and wait().
|
private |
Definition at line 453 of file ravenscar-thread.c.
References add_thread(), ada_task_info::base_cpu, current_inferior(), m_cpu_map, and ada_task_info::ptid.
Referenced by add_active_thread(), add_thread(), and update_thread_list().
|
inlineoverridevirtual |
Reimplemented from target_ops.
Definition at line 137 of file ravenscar-thread.c.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 842 of file ravenscar-thread.c.
References target_ops::beneath(), target_ops::core_of_thread(), inferior_ptid, and set_base_thread_from_ravenscar_task().
|
inlineoverridevirtual |
Reimplemented from target_ops.
Definition at line 123 of file ravenscar-thread.c.
References as_process_stratum_target(), target_ops::beneath(), target_ops::enable_btrace(), process_stratum_target::find_thread(), get_base_thread_from_ravenscar_task(), and thread_info::ptid.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 677 of file ravenscar-thread.c.
References reg_buffer::arch(), target_ops::beneath(), ravenscar_arch_ops::fetch_register(), target_ops::fetch_registers(), gdbarch_num_regs(), gdbarch_ravenscar_ops(), get_base_thread_from_ravenscar_task(), get_fpu_state(), ravenscar_arch_ops::is_fp_register(), is_ravenscar_task(), LIVE_FP_REGISTERS, NO_FP_REGISTERS, NOTHING_SPECIAL, regcache::ptid(), regnum, runtime_initialized(), and task_is_currently_active().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 896 of file ravenscar-thread.c.
References m_base_ptid.
|
private |
Definition at line 276 of file ravenscar-thread.c.
References get_thread_base_cpu(), and is_ravenscar_task().
Referenced by enable_btrace(), fetch_registers(), prepare_to_store(), set_base_thread_from_ravenscar_task(), store_registers(), and xfer_partial().
|
private |
Definition at line 635 of file ravenscar-thread.c.
References builtin_type::builtin_data_ptr, builtin_type(), ravenscar_arch_ops::get_fpu_context_offset(), get_thread_base_cpu(), ravenscar_arch_ops::get_v_init_offset(), LIVE_FP_REGISTERS, lookup_minimal_symbol(), lookup_pointer_type(), bound_minimal_symbol::minsym, NO_FP_REGISTERS, NOTHING_SPECIAL, ravenscar_arch_ops::on_demand_fp(), regcache::ptid(), read_memory(), target_gdbarch(), bound_minimal_symbol::value_address(), value_as_long(), value_from_pointer(), value_ind(), and value_ptradd().
Referenced by fetch_registers(), and store_registers().
|
private |
Definition at line 222 of file ravenscar-thread.c.
References ada_get_task_info_from_ptid(), ada_task_info::base_cpu, is_ravenscar_task(), and m_cpu_map.
Referenced by add_active_thread(), get_base_thread_from_ravenscar_task(), get_fpu_state(), and task_is_currently_active().
|
inlineoverridevirtual |
Implements target_ops.
Definition at line 85 of file ravenscar-thread.c.
References ravenscar_target_info.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 831 of file ravenscar-thread.c.
References target_ops::beneath(), current_inferior(), m_base_ptid, target_ops::mourn_inferior(), and inferior::unpush_target().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 501 of file ravenscar-thread.c.
References target_ops::beneath(), is_ravenscar_task(), and target_ops::pid_to_str().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 769 of file ravenscar-thread.c.
References target_ops::beneath(), get_base_thread_from_ravenscar_task(), is_ravenscar_task(), target_ops::prepare_to_store(), regcache::ptid(), runtime_initialized(), and task_is_currently_active().
|
override |
Definition at line 401 of file ravenscar-thread.c.
References target_ops::beneath(), inferior_ptid, m_base_ptid, and target_ops::resume().
|
private |
Definition at line 369 of file ravenscar-thread.c.
References active_task().
Referenced by add_active_thread(), fetch_registers(), prepare_to_store(), store_registers(), and wait().
|
inlineprivate |
Definition at line 159 of file ravenscar-thread.c.
References as_process_stratum_target(), target_ops::beneath(), process_stratum_target::find_thread(), get_base_thread_from_ravenscar_task(), and switch_to_thread().
Referenced by core_of_thread(), stopped_by_hw_breakpoint(), stopped_by_sw_breakpoint(), stopped_by_watchpoint(), and stopped_data_address().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 803 of file ravenscar-thread.c.
References target_ops::beneath(), inferior_ptid, set_base_thread_from_ravenscar_task(), and target_ops::stopped_by_hw_breakpoint().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 793 of file ravenscar-thread.c.
References target_ops::beneath(), inferior_ptid, set_base_thread_from_ravenscar_task(), and target_ops::stopped_by_sw_breakpoint().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 813 of file ravenscar-thread.c.
References target_ops::beneath(), inferior_ptid, set_base_thread_from_ravenscar_task(), and target_ops::stopped_by_watchpoint().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 823 of file ravenscar-thread.c.
References target_ops::beneath(), inferior_ptid, set_base_thread_from_ravenscar_task(), and target_ops::stopped_data_address().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 723 of file ravenscar-thread.c.
References reg_buffer::arch(), target_ops::beneath(), gdbarch_num_regs(), gdbarch_ravenscar_ops(), get_base_thread_from_ravenscar_task(), get_fpu_state(), ravenscar_arch_ops::is_fp_register(), is_ravenscar_task(), LIVE_FP_REGISTERS, NO_FP_REGISTERS, NOTHING_SPECIAL, regcache::ptid(), regnum, runtime_initialized(), ravenscar_arch_ops::store_register(), target_ops::store_registers(), and task_is_currently_active().
|
inlineoverridevirtual |
|
private |
Definition at line 262 of file ravenscar-thread.c.
References active_task(), and get_thread_base_cpu().
Referenced by fetch_registers(), prepare_to_store(), and store_registers().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 494 of file ravenscar-thread.c.
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 463 of file ravenscar-thread.c.
References add_thread(), inferior_ptid, iterate_over_live_ada_tasks(), and m_base_ptid.
Referenced by wait().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 418 of file ravenscar-thread.c.
References add_active_thread(), as_process_stratum_target(), target_ops::beneath(), m_base_ptid, thread_info::ptid, runtime_initialized(), status, TARGET_WAITKIND_EXITED, TARGET_WAITKIND_SIGNALLED, update_thread_list(), and target_ops::wait().
|
overridevirtual |
Reimplemented from target_ops.
Definition at line 852 of file ravenscar-thread.c.
References target_ops::beneath(), get_base_thread_from_ravenscar_task(), inferior_ptid, and target_ops::xfer_partial().
|
private |
Definition at line 149 of file ravenscar-thread.c.
Referenced by active_task(), add_active_thread(), get_ada_task_ptid(), mourn_inferior(), resume(), update_thread_list(), and wait().
|
private |
Definition at line 197 of file ravenscar-thread.c.
Referenced by add_active_thread(), add_thread(), and get_thread_base_cpu().