From a554be1738d019e4b5d5b0b0ee9aac6b6ac302a6 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Mon, 23 Jan 2023 20:38:36 +0100 Subject: Use 16-bit realmode assembly for guests (!) --- test/kvm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'test/kvm.c') diff --git a/test/kvm.c b/test/kvm.c index 5b7aa12..91ab839 100644 --- a/test/kvm.c +++ b/test/kvm.c @@ -220,10 +220,14 @@ kvm_init_memory(struct kvm *kvm, size_t ramsize, kvm->mem = mmap(NULL, kvm->memsize, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); if (!kvm->mem) err(1, "mmap kvm->mem"); - memset(kvm->mem, 0, kvm->memsize); + /* nop slide oob to detect errors quickly */ + memset(kvm->mem, 0x90, kvm->memsize); assert(code_stop - code_start <= kvm->memsize); memcpy(kvm->mem, code_start, code_stop - code_start); + printf("KVM Memory:\n"); + hexdump(code_start, code_stop - code_start); + memset(®ion, 0, sizeof(region)); region.slot = 0; region.memory_size = kvm->memsize; @@ -272,7 +276,6 @@ kvm_init_regs(struct kvm *kvm) regs.rip = 0; regs.rsp = kvm->memsize - 8; regs.rbp = kvm->memsize - 8; - regs.rflags = 0x2; ret = ioctl(kvm->vcpufd, KVM_SET_REGS, ®s); if (ret == -1) err(1, "KVM_SET_REGS"); } -- cgit v1.2.3-71-gd317