1
0
Files
irix-657m-src/stand/arcs/IP32prom/debugcard/include/asm_support.h
2022-09-29 17:59:04 +03:00

117 lines
3.7 KiB
C

/*
* -------------------------------------------------------------
* $Revision: 1.1 $
* $Date: 1997/08/18 20:41:10 $
* -------------------------------------------------------------
* define the asm_support function prototype.
*/
#if defined(BIGSTACKFRAME)
/*
* DebugCARD stack frame, a bigger register save area and more outargs and
* local args.
*/
#define framesize 256
#define inargs 256
#define frameoffset 64 /* allow 8 doubleword. */
#define localargs 248 /* sp+framesize-0x08, max 8 dwords */
#define regsave 184 /* sp+framesize-(8*8)-0x8, 20 regs */
#define outargs 24 /* sp+framesize-(4*8)-(20*8)-0x8 */
#else /* allow 4 extra integer registers */
/*
* DebugCARD stack frame, a smaller register save area and less outargs and
* local args.
*/
#define framesize 176
#define inargs 176
#define frameoffset 32 /* allow 4 doubleword. */
#define localargs 168 /* sp+framesize-0x08, max 4 dwords */
#define regsave 136 /* sp+framesize-(4*8)-0x8, 16 regs */
#define outargs 8 /* sp+framesize-(4*8)-(16*8)-0x8 */
#endif /* allow 2 extra integer registers */
/*
* DebugCARD globalparms
* gp: globalparm.
* gp + 0x00: Reserved and uninitialized.
* gp + 0x04: prinary cache size / 2.
* gp + 0x08: global interrupt flag
* gp + 0x0c: user interrupt handler address.
* gp + 0x10: Interrupt Count.
* gp + 0x14: Saved stack pointer.
* gp + 0x18: user specified interrupt flag.
* gp + 0x1c: The LOWPROM address toggled flag.
* gp + 0x20: Flash callback functioncode.
* gp + 0x24: Reserved and uninitialized.
* gp + 0x28: Reserved and uninitialized.
* gp + 0x2c: Reserved and uninitialized.
* gp + 0x30: Reserved and uninitialized.
* gp + 0x34: Reserved and uninitialized.
* gp + 0x38: Reserved and uninitialized.
* gp + 0x3c: Reserved and uninitialized.
*/
#define PCACHESET 0x04
#define GLOBALINTR 0x08
#define USERINTR 0x0c
#define INTRCOUNT 0x10
#define SAVED_SP 0x14
#define USRINTRFLG 0x18
#define LowPROMFlag 0x1c
/*
* Interrupt handlers related defines.
*/
#define INTR_INDICATOR 0xdeadbeef
/*
* Some functions will be used by C programs.
*/
#if defined(_LANGUAGE_C)
extern void bevON (uint32_t, uint32_t) ;
extern void bevOFF (uint32_t, uint32_t) ;
extern int enablelow (uint32_t, uint32_t) ;
extern int disablelow (uint32_t, uint32_t) ;
extern void _jump2Flash (uint32_t, uint32_t) ;
extern void regist_interrupt(uint32_t*) ;
extern void IP32LED_ON (int) ;
extern void IP32LED_OFF (int) ;
#endif
#if defined(_LANGUAGE_ASSEMBLY)
.extern regist_interrupt 0
#endif
/*
* -------------------------------------------------------------
*
* $Log: asm_support.h,v $
* Revision 1.1 1997/08/18 20:41:10 philw
* updated file from bonsai/patch2039 tree
*
* Revision 1.4 1996/10/31 21:51:05 kuang
* Bring Bonsai IP32 debugcard up to the level of IP32 debugcard v2.4 on Pulpwood
*
* Revision 1.4 1996/10/04 20:09:04 kuang
* Fixed some general problem in the diagmenu area
*
* Revision 1.3 1996/04/04 23:10:58 kuang
* Added more diagnostic supports
*
* Revision 1.2 1996/03/25 22:17:15 kuang
* These should fix the PHYS_TO_K1 problem
*
* Revision 1.1 1995/11/15 00:41:20 kuang
* initial checkin
*
* Revision 1.1 1995/11/14 22:48:02 kuang
* Initial revision
*
* -------------------------------------------------------------
*/
/* END OF FILE */