File indexing completed on 2025-05-11 08:23:51
0001
0002
0003
0004
0005 #include <rtems/mips/iregdef.h>
0006 #include <rtems/mips/idtcpu.h>
0007
0008 #define FRAME(name,frm_reg,offset,ret_reg) \
0009 .globl name; \
0010 .ent name; \
0011 name:; \
0012 .frame frm_reg,offset,ret_reg
0013
0014 #define ENDFRAME(name) \
0015 .end name
0016
0017 #define PROM_LINK(name,entry) \
0018 .globl name; \
0019 .ent name; \
0020 name: la $2,+entry; \
0021 j $2; \
0022 .end name
0023
0024 #define PROM_ENTRY(x) (0xbfc00000+((x)*8))
0025
0026 #define PROM_RESET PROM_ENTRY(0)
0027 #define PROM_NOT_IMP PROM_ENTRY(1)
0028 #define PROM_RESTART PROM_ENTRY(2)
0029 #define PROM_REINIT PROM_ENTRY(3)
0030 #define PROM_GETCHAR PROM_ENTRY(11)
0031 #define PROM_PUTCHAR PROM_ENTRY(12)
0032 #define PROM_SHOWCHAR PROM_ENTRY(13)
0033 #define PROM_PRINTF PROM_ENTRY(16)
0034 #define PROM_RETURN PROM_ENTRY(17)
0035
0036 #define PROM_RGETS PROM_ENTRY(25)
0037 #define PROM_FLUSHCACHE PROM_ENTRY(28)
0038 #define PROM_CLEARCACHE PROM_ENTRY(29)
0039 #define PROM_SETJMP PROM_ENTRY(30)
0040 #define PROM_LONGJMP PROM_ENTRY(31)
0041
0042 .text
0043
0044 PROM_LINK(idtsim_putchar, PROM_PUTCHAR)
0045 PROM_LINK(idtsim_getchar, PROM_GETCHAR)
0046 PROM_LINK(idtsim_showchar, PROM_SHOWCHAR)
0047 PROM_LINK(idtsim__exit, PROM_RETURN)
0048 PROM_LINK(idtsim_reinit, PROM_REINIT)
0049 PROM_LINK(idtsim_restart, PROM_RESTART)
0050 PROM_LINK(idtsim_reset, PROM_RESET)
0051 PROM_LINK(idtsim_promexit, PROM_RETURN)
0052 PROM_LINK(idtsim_setjmp, PROM_SETJMP)
0053 PROM_LINK(idtsim_longjmp, PROM_LONGJMP)
0054
0055 FRAME(idtsim_init_sbrk,sp,0,ra)
0056 j ra
0057 ENDFRAME(idtsim_init_sbrk)
0058
0059 FRAME(idtsim_init_file,sp,0,ra)
0060 j ra
0061 ENDFRAME(idtsim_init_file)
0062