diff options
| author | Alexander Potapenko <glider@google.com> | 2026-01-23 18:08:33 +0100 |
|---|---|---|
| committer | Alexander Potapenko <glider@google.com> | 2026-01-26 09:30:24 +0000 |
| commit | 4589df0fc1eb4bcb09ee65d33c34136a1372bdb2 (patch) | |
| tree | e826ff6ced09de6110222dd7d81a0084496b5150 /executor/kvm.h | |
| parent | ef506c965c182fd79dbaf25d23ca017dd7fc4177 (diff) | |
executor: introduce global state page for SYZOS
Reserve a dedicated 4KB page at X86_SYZOS_ADDR_GLOBALS (0x17F000) to
store global state shared across the SYZOS L1 guest environment.
This region is required to store the state of the guest-side memory
allocator (specifically the allocation offset and total size of the
unused heap), enabling thread-safe dynamic memory allocation for nested
L2 page tables.
Diffstat (limited to 'executor/kvm.h')
| -rw-r--r-- | executor/kvm.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/executor/kvm.h b/executor/kvm.h index f377887a6..b0630c161 100644 --- a/executor/kvm.h +++ b/executor/kvm.h @@ -76,6 +76,9 @@ // Base offset for the area containing the 4 L2 VM slots. #define X86_SYZOS_L1_VCPU_OFFSET_L2_VMS_AREA 0x1000 +// Global state page (Allocator offsets, etc). +#define X86_SYZOS_ADDR_GLOBALS 0x17F000 + // Separated Page Table Pool in high memory. // Located above L2 VCPU regions. #define X86_SYZOS_ADDR_PT_POOL 0x180000 |
