aboutsummaryrefslogtreecommitdiffstats
path: root/executor/kvm.h
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-09-10 12:18:15 +0200
committerAlexander Potapenko <glider@google.com>2024-09-11 06:36:15 +0000
commitef862d49a99969e5139cddfd317b9883cdd36a14 (patch)
tree677880b3215489be0f7bda9c6750a26c6c1ada0a /executor/kvm.h
parent8ab55d0eede313b6ecc94ec419a490bbe92d27de (diff)
executor: arm64: reserve a dedicated dirty page region
To ease fuzzing the dirty ring, explicitly reserve two pages with the KVM_MEM_LOG_DIRTY_PAGES flag at known address.
Diffstat (limited to 'executor/kvm.h')
-rw-r--r--executor/kvm.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/executor/kvm.h b/executor/kvm.h
index 32fda309d..47348e3d4 100644
--- a/executor/kvm.h
+++ b/executor/kvm.h
@@ -78,11 +78,13 @@
// GICv3 distributor/redistributor addresses.
#define ARM64_ADDR_GICD_BASE 0x08000000
-#define ARM64_ADDR_GICR_BASE 0x080A0000
+#define ARM64_ADDR_GICR_BASE 0x080a0000
// Write to this page to trigger a page fault and stop KVM_RUN.
#define ARM64_ADDR_EXIT 0xdddd0000
// Dedicated address within the exit page for the uexit command.
#define ARM64_ADDR_UEXIT (ARM64_ADDR_EXIT + 256)
+// Two writable pages with KVM_MEM_LOG_DIRTY_PAGES explicitly set.
+#define ARM64_ADDR_DIRTY_PAGES 0xdddd1000
#define ARM64_ADDR_USER_CODE 0xeeee0000
#define ARM64_ADDR_EXECUTOR_CODE 0xeeee8000
#define ARM64_ADDR_SCRATCH_CODE 0xeeef0000