265,41 → 265,41 |
return v; |
} |
|
/** Read Trap Base Address register. |
/** Read Trap Program Counter register. |
* |
* @return Current value in TBA. |
* @return Current value in TPC. |
*/ |
static inline uint64_t tba_read(void) |
static inline uint64_t tpc_read(void) |
{ |
uint64_t v; |
|
__asm__ volatile ("rdpr %%tba, %0\n" : "=r" (v)); |
__asm__ volatile ("rdpr %%tpc, %0\n" : "=r" (v)); |
|
return v; |
} |
|
/** Read Trap Program Counter register. |
/** Read Trap Level register. |
* |
* @return Current value in TPC. |
* @return Current value in TL. |
*/ |
static inline uint64_t tpc_read(void) |
static inline uint64_t tl_read(void) |
{ |
uint64_t v; |
|
__asm__ volatile ("rdpr %%tpc, %0\n" : "=r" (v)); |
__asm__ volatile ("rdpr %%tl, %0\n" : "=r" (v)); |
|
return v; |
} |
|
/** Read Trap Level register. |
/** Read Trap Base Address register. |
* |
* @return Current value in TL. |
* @return Current value in TBA. |
*/ |
static inline uint64_t tl_read(void) |
static inline uint64_t tba_read(void) |
{ |
uint64_t v; |
|
__asm__ volatile ("rdpr %%tl, %0\n" : "=r" (v)); |
__asm__ volatile ("rdpr %%tba, %0\n" : "=r" (v)); |
|
return v; |
} |