semantic: 0.209 other: 0.208 device: 0.093 debug: 0.061 vnc: 0.060 network: 0.055 performance: 0.050 graphic: 0.047 permissions: 0.045 files: 0.042 socket: 0.039 PID: 0.037 boot: 0.033 KVM: 0.020 debug: 0.175 files: 0.162 other: 0.134 device: 0.106 PID: 0.059 semantic: 0.057 network: 0.051 boot: 0.049 performance: 0.042 vnc: 0.037 KVM: 0.034 socket: 0.033 graphic: 0.032 permissions: 0.028 ARM: HCR.TVM traps are not implemented On AARCH64, setting HCR.TVM to 1 is supposed to trap all writes to CTLR_EL1, TTBR0_EL1, TTBR1_EL1, TCR_EL1, ESR_EL1, FAR_EL1, AFSR0_EL1, AFSR1_EL1, MAIR_EL1, AMAIR_EL1, and CONTEXTIDR_EL1. However, it currently has no effect (QEMU emulator version 4.1.1). It is also likely that TRVM will not trap, but, I didn't verify this. Yes to both. Patch posted: https://lists.nongnu.org/archive/html/qemu-devel/2020-02/msg04401.html If you could help testing, that would be appreciated. Thank you for the patch! I am happy to test this for you. I will apply the patch/compile/test and get back to you. I tested in AArch64 mode and it worked for me. Looking at the patch, we might be missing trapping for "TTBCR"in AA32 though. Oops. Thanks for the review. Posted v2 with ttbcr included. Thank you! I also tested AArch32 and the code works. Ship it! Fixed here: https://git.qemu.org/?p=qemu.git;a=commitdiff;h=84929218512c