diff --git a/src/hulk/cpu.d b/src/hulk/cpu.d index ec51941..f39aec6 100644 --- a/src/hulk/cpu.d +++ b/src/hulk/cpu.d @@ -216,6 +216,14 @@ void write_cr4(ulong v) __asm("mov $0, %cr4", "r", v); } +ulong read_rflags() +{ + return __asm!ulong(` + pushf + mov (%rsp), %rax + add $$8, %rsp`, "={rax}"); +} + ulong rdmsr(uint msr) { return __asm!ulong(`