#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <ctype.h>
#include <unistd.h>
#include <limits.h>
#include "dbg_msg.h"
#include "jt_arm.h"
#include "jt_mmu.h"
#include "arm_gdbstub.h"
#include "arm_sfa_cmdseq.h"
#include "arm_gdbstub_break.h"
#define THREAD_EXTRAINFO_STR_BUFF_LEN 20 |
Referenced by gdb_osabi_threadExtraInfo().
static int armOsabiMultiThreading | ( | struct reg_set * | raw_regs | ) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), error_exit_code, symbolTableHead::firstEntry, gdbLookupArmInstr(), jtag_arm_mmu_check_high_vectors(), reg_set::Regs::name, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, reg_set::Regs::Name::sp, cmdCallStack::store, SYM_MULTI_THREAD_ACTIVE, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by gdb_osabi_thread_id_setup().
static int armOsabiGetMinimalThreadId | ( | void | ) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), symbolTableHead::firstEntry, symbolTableEntry::nextSymbol, ReleaseAllCmdDataStores(), cmdCallStack::retVal, cmdCallStack::store, SYM_MINIMAL_THREAD_ID, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by gdb_osabi_thread_id_setup().
static int armOsabiGetCurrentTid | ( | struct reg_set * | raw_regs | ) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), symbolTableHead::firstEntry, reg_set::Regs::name, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, reg_set::Regs::Name::sp, cmdCallStack::store, SYM_GET_CURRENT_THREAD_ID, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by gdb_osabi_thread_id_setup().
static int armOsabiGetSavedRegSet | ( | struct reg_set * | raw_regs, | |
int | tid, | |||
struct reg_set * | store_reg_set | |||
) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, reg_set::CPSR, CPU_CPSR_FLAG_FAKE_CORTEX_M3, CPU_CPSR_FLAG_IRQ_DISABEL, CPU_CPSR_FLAG_THUMB, CPU_CPSR_MODE_ABORT, CPU_CPSR_MODE_FIQ, CPU_CPSR_MODE_IRQ, CPU_CPSR_MODE_IRQ_26, CPU_CPSR_MODE_SVC, CPU_CPSR_MODE_SVC_26, CPU_CPSR_MODE_USER, doCmdSequence(), error_exit_code, reg_set::ext, symbolTableHead::firstEntry, reg_set::Regs::name, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, reg_set::Regs::r, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, reg_set::Regs::Name::sp, cmdCallStack::store, SYM_GET_SAVED_REGSET, symbolTable, symbolTableEntry::usage, reg_set::RegExt::v7m, symbolTableEntry::valid, and reg_set::RegExt::RegV7mExt::xPSR.
Referenced by gdb_osabi_get_saved_register_set().
static int armOsabiThreadAlive | ( | struct reg_set * | raw_regs, | |
int | tid, | |||
int * | alive | |||
) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), symbolTableHead::firstEntry, reg_set::Regs::name, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, reg_set::Regs::Name::sp, cmdCallStack::store, SYM_IS_TID_ALIVE, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by gdb_osabi_thead_alive().
static int armOsabiGetTLSAddr | ( | struct reg_set * | raw_regs, | |
int | tid, | |||
unsigned | offset | |||
) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), symbolTableHead::firstEntry, reg_set::Regs::name, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, reg_set::Regs::Name::sp, cmdCallStack::store, SYM_GET_TLS_ADDR, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by gdb_osabi_getTLSAddr().
static int armOsabiThreadInfo | ( | struct reg_set * | raw_regs, | |
int | iteratorCnt, | |||
unsigned * | offset, | |||
unsigned | event[], | |||
struct threadInfo * | threadInfo | |||
) | [static] |
References symbolTableEntry::addr, AllocCmdDataStore(), cmdCallStack::arg, doCmdSequence(), symbolTableHead::firstEntry, reg_set::Regs::name, threadInfo::nameAddr, symbolTableEntry::nextSymbol, reg_set::Regs::Name::pc, threadInfo::prio, threadInfo::real_tid, reg_set::regs, ReleaseAllCmdDataStores(), cmdCallStack::retVal, threadInfo::simpleState, reg_set::Regs::Name::sp, threadInfo::sprioAddr, threadInfo::stateAddr, cmdCallStack::store, SYM_GET_THREAD_INFO, symbolTable, symbolTableEntry::usage, and symbolTableEntry::valid.
Referenced by armOsabiFetchThreadInfo().
static char* armOsabiAllocTargetStringBuffer | ( | uint32_t | targetAddr | ) | [static] |
References gdb_read_mem().
Referenced by armOsabiFetchThreadInfo().
static void armOsabiFetchThreadInfo | ( | struct reg_set * | raw_regs | ) | [static] |
References armOsabiAllocTargetStringBuffer(), armOsabiThreadInfo(), threadInfo::name, threadInfo::nameAddr, threadInfo::nextThreadInfo, threadInfo::real_tid, threadInfo::simpleState, threadInfo::sprio, threadInfo::sprioAddr, threadInfo::state, and threadInfo::stateAddr.
Referenced by gdb_osabi_thead_alive(), gdb_osabi_threadExtraInfo(), and gdb_osabi_threadList().
void gdb_osabi_thread_id_setup | ( | struct reg_set * | raw_regs | ) |
References armOsabiGetCurrentTid(), armOsabiGetMinimalThreadId(), armOsabiMultiThreading(), error_exit_code, threadInfo::name, activ_threads::nextActiveThread, saved_reg_sets::nextSet, threadInfo::nextThreadInfo, tlsAddresses::nextTlsAddr, threadInfo::sprio, and threadInfo::state.
Referenced by gdb_handle_exception().
References armOsabiGetSavedRegSet(), local_reg_set, saved_reg_sets::nextSet, saved_reg_sets::regSet, and saved_reg_sets::tid.
Referenced by gdb_handle_exception().
int gdb_osabi_thead_alive | ( | struct reg_set * | raw_regs, | |
int | tid | |||
) |
unsigned gdb_osabi_getTLSAddr | ( | struct reg_set * | raw_regs, | |
int | tid, | |||
unsigned | offset | |||
) |
References tlsAddresses::addr, armOsabiGetTLSAddr(), tlsAddresses::nextTlsAddr, tlsAddresses::offset, and tlsAddresses::tid.
Referenced by gdb_query_getTLSAddr().
int gdb_osabi_threadExtraInfo | ( | struct reg_set * | raw_regs, | |
int | tid, | |||
char ** | name, | |||
char ** | state, | |||
char ** | prio | |||
) |
int gdb_osabi_threadList | ( | struct reg_set * | raw_regs, | |
int | start, | |||
int * | tid | |||
) |
References armOsabiFetchThreadInfo(), threadInfo::nextThreadInfo, threadInfo::real_tid, and threadInfo::simpleState.
Referenced by gdb_query_threadInfo().
struct osabi_state osabi_state [static] |
struct reg_set default_reg_set local_reg_set [static] |
Referenced by gdb_osabi_get_saved_register_set().