thermosphere: forgot compiler barrier in get_sysreg

This commit is contained in:
TuxSH 2020-02-01 22:05:26 +00:00
parent 316166d8de
commit 95ea2f4f95

View file

@ -446,9 +446,9 @@
#define ENCODE_SYSREG_ISS(name) EVAL(ENCODE_SYSREG_FIELDS_ISS CAT(TUP_, name)) #define ENCODE_SYSREG_ISS(name) EVAL(ENCODE_SYSREG_FIELDS_ISS CAT(TUP_, name))
#define GET_SYSREG(r) ({\ #define GET_SYSREG(r) ({\
u64 __val; \ u64 __val; \
asm volatile("mrs %0, " STRINGIZE(r) : "=r" (__val)); \ __asm__ __volatile__("mrs %0, " STRINGIZE(r) : "=r" (__val) :: "memory"); \
__val; \ __val; \
}) })
#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(reg, val) do { u64 temp_reg = (val); __asm__ __volatile__ ("msr " STRINGIZE(reg) ", %0" :: "r"(temp_reg) : "memory"); } while(false)