Initial creation of sourceware repository
[external/binutils.git] / sim / i960 / i960-sim.h
1 #ifndef I960_SIM_H
2 #define I960_SIM_H
3
4 /* gdb register numbers */
5 /* Copied from gdb/config/i960/tc-i960.h.  */
6 #define PCW_REGNUM 32   /* process control word */
7 #define ACW_REGNUM 33   /* arithmetic control word */
8 #define TCW_REGNUM 34   /* trace control word */
9 #define IP_REGNUM  35   /* instruction pointer */
10 #define FP0_REGNUM 36   /* First floating point register */
11 /* Some registers have more than one name */
12 #define PC_REGNUM  IP_REGNUM    /* GDB refers to ip as the Program Counter */
13 \f
14 #define GETTWI GETTSI
15 #define SETTWI SETTSI
16 \f
17 /* Exception, Interrupt, and Trap addresses */
18 /* ??? Hack for traps.c.  */
19 #define EIT_TRAP_BASE_ADDR      0x40
20
21 /* Special purpose traps.  */
22 /* ??? Hack for traps.c.  */
23 #define TRAP_SYSCALL    0
24 #define TRAP_BREAKPOINT 1
25
26 /* Cache Purge Control (only exists on early versions of chips) */
27 /* ??? Hack for devices.c.  */
28 #define MSPR_ADDR 0xfffffff7
29 #define MSPR_PURGE 1
30
31 /* Cache Control Register */
32 /* ??? Hack for devices.c.  */
33 #define MCCR_ADDR 0xffffffff
34 #define MCCR_CP 0x80
35
36 /* Start address and length of all device support.  */
37 /* ??? Hack for sim-if.c.  */
38 #define I960_DEVICE_ADDR        0xff000000
39 #define I960_DEVICE_LEN         0x00ffffff
40
41 /* sim_core_attach device argument.  */
42 /* ??? Hack for sim-if.c.  */
43 extern device i960_devices;
44
45 /* FIXME: Temporary, until device support ready.  */
46 /* ??? Hack for devices.c.  */
47 struct _device { int foo; };
48
49 #endif I960_SIM_H