OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [sim/] [i960/] [i960-sim.h] - Rev 1765

Compare with Previous | Blame | View Log

#ifndef I960_SIM_H
#define I960_SIM_H
 
/* gdb register numbers */
/* Copied from gdb/config/i960/tc-i960.h.  */
#define PCW_REGNUM 32   /* process control word */
#define ACW_REGNUM 33   /* arithmetic control word */
#define TCW_REGNUM 34   /* trace control word */
#define IP_REGNUM  35   /* instruction pointer */
#define FP0_REGNUM 36   /* First floating point register */
/* Some registers have more than one name */
#define PC_REGNUM  IP_REGNUM    /* GDB refers to ip as the Program Counter */
 
SI a_i960_h_gr_get (SIM_CPU *, UINT);
void a_i960_h_gr_set (SIM_CPU *, UINT, SI);
IADDR a_i960_h_pc_get (SIM_CPU *);
void a_i960_h_pc_set (SIM_CPU *, IADDR);

#define GETTWI GETTSI
#define SETTWI SETTSI

/* Exception, Interrupt, and Trap addresses */
/* ??? Hack for traps.c.  */
#define EIT_TRAP_BASE_ADDR	0x40
 
/* Special purpose traps.  */
/* ??? Hack for traps.c.  */
#define TRAP_SYSCALL	0
#define TRAP_BREAKPOINT	1
 
/* Cache Purge Control (only exists on early versions of chips) */
/* ??? Hack for devices.c.  */
#define MSPR_ADDR 0xfffffff7
#define MSPR_PURGE 1
 
/* Cache Control Register */
/* ??? Hack for devices.c.  */
#define MCCR_ADDR 0xffffffff
#define MCCR_CP 0x80
 
/* Start address and length of all device support.  */
/* ??? Hack for sim-if.c.  */
#define I960_DEVICE_ADDR	0xff000000
#define I960_DEVICE_LEN		0x00ffffff
 
/* sim_core_attach device argument.  */
/* ??? Hack for sim-if.c.  */
extern device i960_devices;
 
/* FIXME: Temporary, until device support ready.  */
/* ??? Hack for devices.c.  */
struct _device { int foo; };
 
#endif I960_SIM_H
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.