diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2016-11-14 06:55:10 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2016-11-14 06:55:10 +0100 |
| commit | 112238483a2df647d2f482e26d972b70bbd7c34e (patch) | |
| tree | 30d6fb2f88ffd709c2834096b4bd8c1c147f039b /sys | |
| parent | b4dffbd5bed3193aed9fc5f89dc163c22c9514d2 (diff) | |
sys: initialize kvm guest memory
Need much more complex support,
but this is a starting point.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kvm.txt | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/sys/kvm.txt b/sys/kvm.txt index 81bfda2d6..2f5650925 100644 --- a/sys/kvm.txt +++ b/sys/kvm.txt @@ -126,7 +126,7 @@ kvm_guest_debug_flags = KVM_GUESTDBG_ENABLE, KVM_GUESTDBG_SINGLESTEP, KVM_GUESTD kvm_chip_id = KVM_IRQCHIP_PIC_MASTER, KVM_IRQCHIP_PIC_SLAVE, KVM_IRQCHIP_IOAPIC kvm_mem_slots = 0, 1, 2, 3, 4, 5, 509, 510, 511, 10000, 65536, 65537, 65538, 65539, 65540, 66047, 66048, 66049 -kvm_guest_addrs = 0x1000, 0x8000, 0xf000, 0x100000, 0x10000 +kvm_guest_addrs = 0, 1, 2, 4, 0x1000, 0x8000, 0xf000, 0x100000, 0x10000 kvm_guest_addr_size = 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x100000 kvm_x86_tss_addr = 0xffffffffffffd000 kvm_x86_selector_type = 0, 1 @@ -334,8 +334,10 @@ kvm_userspace_memory_region { slot flags[kvm_mem_slots, int32] flags flags[kvm_mem_region_flags, int32] paddr flags[kvm_guest_addrs, int64] - size len[addr, int64] - addr vma +#TODO: this should be len of addr, but it also must be multiple of page size +# there is currently to way to make kvm_guest_memory_region multiple of page size + size const[4096, int64] + addr ptr[in, kvm_guest_memory_region] } kvm_vcpu_events { @@ -605,3 +607,15 @@ kvm_coalesced_mmio_zone { size flags[kvm_guest_addr_size, int32] pad const[0, int32] } + +# This struct contains things that make sense to copy into guest. +#TODO: add page tables. +kvm_guest_memory_region [ + blob array[int8] + gdt array[kvm_gdt_entry] +] [varlen] + +#TODO: detail this struct +kvm_gdt_entry { + val int64 +} |
