|
|
|
@ -15,20 +15,16 @@ |
|
|
|
along with this program; if not, write to the Free Software |
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
|
|
|
|
|
|
|
/***************************************************************************\
|
|
|
|
* Define the initial layout of memory * |
|
|
|
\***************************************************************************/ |
|
|
|
/* Define the initial layout of memory. */ |
|
|
|
|
|
|
|
#define ADDRSUPERSTACK 0x800L /* supervisor stack space */ |
|
|
|
#define ADDRUSERSTACK 0x80000L /* default user stack start */ |
|
|
|
#define ADDRSOFTVECTORS 0x840L /* soft vectors are here */ |
|
|
|
#define ADDRCMDLINE 0xf00L /* command line is here after a SWI GetEnv */ |
|
|
|
#define ADDRSOFHANDLERS 0xad0L /* address and workspace for installed handlers */ |
|
|
|
#define SOFTVECTORCODE 0xb80L /* default handlers */ |
|
|
|
#define ADDRSUPERSTACK 0x800L /* Supervisor stack space. */ |
|
|
|
#define ADDRUSERSTACK 0x80000L/* Default user stack start. */ |
|
|
|
#define ADDRSOFTVECTORS 0x840L /* Soft vectors are here. */ |
|
|
|
#define ADDRCMDLINE 0xf00L /* Command line is here after a SWI GetEnv. */ |
|
|
|
#define ADDRSOFHANDLERS 0xad0L /* Address and workspace for installed handlers. */ |
|
|
|
#define SOFTVECTORCODE 0xb80L /* Default handlers. */ |
|
|
|
|
|
|
|
/***************************************************************************\
|
|
|
|
* SWI numbers * |
|
|
|
\***************************************************************************/ |
|
|
|
/* SWI numbers. */ |
|
|
|
|
|
|
|
#define SWI_WriteC 0x0 |
|
|
|
#define SWI_Write0 0x2 |
|
|
|
@ -56,40 +52,41 @@ |
|
|
|
#define SWI_InstallHandler 0x70 |
|
|
|
#define SWI_GenerateError 0x71 |
|
|
|
|
|
|
|
#define SWI_Breakpoint 0x180000 /* see gdb's tm-arm.h */ |
|
|
|
#define SWI_Breakpoint 0x180000 /* See gdb's tm-arm.h */ |
|
|
|
|
|
|
|
#define AngelSWI_ARM 0x123456 |
|
|
|
#define AngelSWI_Thumb 0xAB |
|
|
|
|
|
|
|
/* The reason codes: */ |
|
|
|
#define AngelSWI_Reason_Open (0x01) |
|
|
|
#define AngelSWI_Reason_Close (0x02) |
|
|
|
#define AngelSWI_Reason_WriteC (0x03) |
|
|
|
#define AngelSWI_Reason_Write0 (0x04) |
|
|
|
#define AngelSWI_Reason_Write (0x05) |
|
|
|
#define AngelSWI_Reason_Read (0x06) |
|
|
|
#define AngelSWI_Reason_ReadC (0x07) |
|
|
|
#define AngelSWI_Reason_IsTTY (0x09) |
|
|
|
#define AngelSWI_Reason_Seek (0x0A) |
|
|
|
#define AngelSWI_Reason_FLen (0x0C) |
|
|
|
#define AngelSWI_Reason_TmpNam (0x0D) |
|
|
|
#define AngelSWI_Reason_Remove (0x0E) |
|
|
|
#define AngelSWI_Reason_Rename (0x0F) |
|
|
|
#define AngelSWI_Reason_Clock (0x10) |
|
|
|
#define AngelSWI_Reason_Time (0x11) |
|
|
|
#define AngelSWI_Reason_System (0x12) |
|
|
|
#define AngelSWI_Reason_Errno (0x13) |
|
|
|
#define AngelSWI_Reason_GetCmdLine (0x15) |
|
|
|
#define AngelSWI_Reason_HeapInfo (0x16) |
|
|
|
#define AngelSWI_Reason_EnterSVC (0x17) |
|
|
|
#define AngelSWI_Reason_ReportException (0x18) |
|
|
|
/* The reason codes: */ |
|
|
|
#define AngelSWI_Reason_Open 0x01 |
|
|
|
#define AngelSWI_Reason_Close 0x02 |
|
|
|
#define AngelSWI_Reason_WriteC 0x03 |
|
|
|
#define AngelSWI_Reason_Write0 0x04 |
|
|
|
#define AngelSWI_Reason_Write 0x05 |
|
|
|
#define AngelSWI_Reason_Read 0x06 |
|
|
|
#define AngelSWI_Reason_ReadC 0x07 |
|
|
|
#define AngelSWI_Reason_IsTTY 0x09 |
|
|
|
#define AngelSWI_Reason_Seek 0x0A |
|
|
|
#define AngelSWI_Reason_FLen 0x0C |
|
|
|
#define AngelSWI_Reason_TmpNam 0x0D |
|
|
|
#define AngelSWI_Reason_Remove 0x0E |
|
|
|
#define AngelSWI_Reason_Rename 0x0F |
|
|
|
#define AngelSWI_Reason_Clock 0x10 |
|
|
|
#define AngelSWI_Reason_Time 0x11 |
|
|
|
#define AngelSWI_Reason_System 0x12 |
|
|
|
#define AngelSWI_Reason_Errno 0x13 |
|
|
|
#define AngelSWI_Reason_GetCmdLine 0x15 |
|
|
|
#define AngelSWI_Reason_HeapInfo 0x16 |
|
|
|
#define AngelSWI_Reason_EnterSVC 0x17 |
|
|
|
#define AngelSWI_Reason_ReportException 0x18 |
|
|
|
#define ADP_Stopped_ApplicationExit ((2 << 16) + 38) |
|
|
|
#define ADP_Stopped_RunTimeError ((2 << 16) + 34) |
|
|
|
#define ADP_Stopped_RunTimeError ((2 << 16) + 35) |
|
|
|
|
|
|
|
#define FPESTART 0x2000L |
|
|
|
#define FPEEND 0x8000L |
|
|
|
#define FPEOLDVECT FPESTART + 0x100L + 8L * 16L + 4L /* stack + 8 regs + fpsr */ |
|
|
|
#define FPENEWVECT(addr) 0xea000000L + ((addr) >> 2) - 3L /* branch from 4 to 0x2400 */ |
|
|
|
/* Floating Point Emulator address space. */ |
|
|
|
#define FPESTART 0x2000L |
|
|
|
#define FPEEND 0x8000L |
|
|
|
#define FPEOLDVECT FPESTART + 0x100L + 8L * 16L + 4L /* Stack + 8 regs + fpsr. */ |
|
|
|
#define FPENEWVECT(addr) 0xea000000L + ((addr) >> 2) - 3L /* Branch from 4 to 0x2400. */ |
|
|
|
|
|
|
|
extern unsigned long fpecode[]; |
|
|
|
extern unsigned long fpesize; |
|
|
|
|