10 uintptr_t getStackPointer()
const {
13 void setStackPointer(uintptr_t value) {
16 uintptr_t getInstructionPointer()
const {
19 void setInstructionPointer(uintptr_t value) {
22 uintptr_t getBasePointer()
const {
25 void setBasePointer(uintptr_t value) {
29 size_t getRegisterCount()
const {
32 processor_register_t getRegister(
size_t index)
const;
33 void setRegister(
size_t index, uintptr_t value);
34 const char* getRegisterName(
size_t index)
const;
35 size_t getRegisterSize(
size_t)
const {
36 return sizeof(uint32_t);
39 bool kernelMode()
const {
40 return (cpsr & 0x1f) != 0x10;
42 size_t getInterruptNumber()
const {
45 uintptr_t getErrorCode()
const {
48 uint32_t getFlags()
const {
51 void setFlags(uint32_t value) {
62 uint32_t faultAddress;
69 size_t getSyscallService()
const {
70 return svcNumber ? (r[7] >> 16) & 0xffff : 0;
72 size_t getSyscallNumber()
const {
73 return svcNumber ? r[7] & 0xffff : r[7];
75 uintptr_t getSyscallParameter(
size_t index)
const {
76 return index < 6 ? r[index] : (index < 13 ? r[index - 6] : 0);
78 void setSyscallReturnValue(uintptr_t value) {
81 void setSyscallErrno(uintptr_t value) {
98 for (
size_t i = 0; i < 13; ++i) {
107 uintptr_t getStackPointer()
const {
110 void setStackPointer(uintptr_t value) {
113 uintptr_t getInstructionPointer()
const {
116 void setInstructionPointer(uintptr_t value) {
119 uintptr_t getBasePointer()
const {
122 void setBasePointer(uintptr_t value) {