Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:51

0001 /*
0002  *  lnklib.S
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