Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/mips32/include/istate.h

    r598f90e r63f8966  
    3636#define LIBC_mips32__ISTATE_H_
    3737
    38 #include <arch/istate.h>
     38#include <sys/types.h>
     39
     40/** Interrupt context.
     41 *
     42 * This is a copy of the kernel definition with which it must be kept in sync.
     43 */
     44typedef struct istate {
     45        uint32_t at;
     46        uint32_t v0;
     47        uint32_t v1;
     48        uint32_t a0;
     49        uint32_t a1;
     50        uint32_t a2;
     51        uint32_t a3;
     52        uint32_t t0;
     53        uint32_t t1;
     54        uint32_t t2;
     55        uint32_t t3;
     56        uint32_t t4;
     57        uint32_t t5;
     58        uint32_t t6;
     59        uint32_t t7;
     60        uint32_t t8;
     61        uint32_t t9;
     62        uint32_t gp;
     63        uint32_t sp;
     64        uint32_t ra;
     65
     66        uint32_t lo;
     67        uint32_t hi;
     68
     69        uint32_t status; /* cp0_status */
     70        uint32_t epc; /* cp0_epc */
     71        uint32_t k1; /* We use it as thread-local pointer */
     72} istate_t;
     73
     74static inline uintptr_t istate_get_pc(istate_t *istate)
     75{
     76        return istate->epc;
     77}
     78
     79static inline uintptr_t istate_get_fp(istate_t *istate)
     80{
     81        /* TODO */
     82        return 0;
     83}
    3984
    4085#endif
Note: See TracChangeset for help on using the changeset viewer.