2#ifndef ARM_SEMIHOSTING_H_
3#define ARM_SEMIHOSTING_H_
45#define AngelSWI_ARM 0x123456
49#define AngelSWI AngelSWI_ARM
52#if defined(__ARM_ARCH_7M__) \
53 || defined(__ARM_ARCH_7EM__) \
54 || defined(__ARM_ARCH_6M__)
55#define AngelSWIInsn "bkpt"
56#define AngelSWIAsm bkpt
58#define AngelSWIInsn "swi"
59#define AngelSWIAsm swi
62#if defined(OS_DEBUG_SEMIHOSTING_FAULTS)
67#define AngelSWITestFault "setend be"
68#define AngelSWITestFaultOpCode (0xB658)
73call_host (
int reason,
void*
arg)
80#if defined(OS_DEBUG_SEMIHOSTING_FAULTS)
81 " " AngelSWITestFault
" \n"
89 :
"r0",
"r1",
"r2",
"r3",
"ip",
"lr",
"memory",
"cc"
106report_exception (
int reason)
@ SEMIHOSTING_SYS_TICKFREQ
@ ADP_Stopped_RunTimeError
@ SEMIHOSTING_ReportException
@ SEMIHOSTING_SYS_ISERROR
@ SEMIHOSTING_SYS_GET_CMDLINE
@ ADP_Stopped_ApplicationExit
@ SEMIHOSTING_SYS_HEAPINFO
@ SEMIHOSTING_SYS_ELAPSED
static int __attribute__((always_inline)) call_host(int reason