thermosphere: add hypervisor timer code

This commit is contained in:
TuxSH 2020-01-09 19:24:05 +00:00
parent 3d3a9925b9
commit 1eb60a2a52
10 changed files with 169 additions and 17 deletions

View file

@ -428,12 +428,12 @@
#define GET_SYSREG(r) ({\
u64 __val; \
asm volatile("mrs %0, " STRINGIZE(r) : "=r" (__val)); \
asm volatile("mrs %0, " STRINGIZE(r) : "=r" (__val)); \
__val; \
})
#define SET_SYSREG(reg, val) do { u64 temp_reg = (val); __asm__ __volatile__ ("msr " #reg ", %0" :: "r"(temp_reg) : "memory"); } while(false)
#define SET_SYSREG_IMM(reg, imm) do { __asm__ __volatile__ ("msr " #reg ", %0" :: "I"(imm) : "memory"); } while(false)
#define SET_SYSREG(reg, val) do { u64 temp_reg = (val); __asm__ __volatile__ ("msr " STRINGIZE(reg) ", %0" :: "r"(temp_reg) : "memory"); } while(false)
#define SET_SYSREG_IMM(reg, imm) do { __asm__ __volatile__ ("msr " STRINGIZE(reg) ", %0" :: "I"(imm) : "memory"); } while(false)
#define SYSREG_OP1_AARCH32_AUTO 0
#define SYSREG_OP1_AARCH64_EL1 0