qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [patch 3/3] kvm: allow qemu to set EPT identity mapping


From: Avi Kivity
Subject: [Qemu-devel] Re: [patch 3/3] kvm: allow qemu to set EPT identity mapping address
Date: Thu, 11 Mar 2010 10:42:51 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100301 Fedora/3.0.3-1.fc12 Thunderbird/3.0.3

On 03/09/2010 03:53 AM, Marcelo Tosatti wrote:
From: Sheng Yang<address@hidden>

If we use larger BIOS image than current 256KB, we would need move reserved
TSS and EPT identity mapping pages. Currently TSS support this, but not
EPT.

Signed-off-by: Marcelo Tosatti<address@hidden>

Index: qemu-kvm/target-i386/kvm.c
===================================================================
--- qemu-kvm.orig/target-i386/kvm.c
+++ qemu-kvm/target-i386/kvm.c
@@ -341,6 +341,24 @@ static int kvm_has_msr_star(CPUState *en
      return 0;
  }

+static int kvm_init_identity_map_page(KVMState *s)
+{
+#ifdef KVM_CAP_SET_IDENTITY_MAP_ADDR
+    int ret;
+    uint64_t addr = 0xfffbc000;
+
+    if (!kvm_check_extension(s, KVM_CAP_SET_IDENTITY_MAP_ADDR))
+        return 0;

{ braces }

+
+    ret = kvm_vm_ioctl(s, KVM_SET_IDENTITY_MAP_ADDR,&addr);
+    if (ret<  0) {
+        fprintf(stderr, "kvm_set_identity_map_addr: %s\n", strerror(ret));
+        return ret;
+    }
+#endif
+    return 0;
+}
+
  int kvm_arch_init(KVMState *s, int smp_cpus)
  {
      int ret;
@@ -368,7 +386,11 @@ int kvm_arch_init(KVMState *s, int smp_c
          perror("e820_add_entry() table is full");
          exit(1);
      }
-    return kvm_vm_ioctl(s, KVM_SET_TSS_ADDR, 0xfffbd000);
+    ret = kvm_vm_ioctl(s, KVM_SET_TSS_ADDR, 0xfffbd000);
+    if (ret<  0)
+        return ret;

{ }

+
+    return kvm_init_identity_map_page(s);
  }

  static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs)


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to address@hidden
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
error compiling committee.c: too many arguments to function





reply via email to

[Prev in Thread] Current Thread [Next in Thread]