All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arun Sharma <arun.sharma@intel.com>
To: Ian Pratt <Ian.Pratt@cl.cam.ac.uk>,
	Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: [PATCH][6/10] Enable vmxassist for 64 bit.
Date: Wed, 29 Jun 2005 22:51:52 -0700	[thread overview]
Message-ID: <20050630055152.GA7411@intel.com> (raw)

Enable vmxassist for 64 bit.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>

diff -r 18df82c3dcc7 -r 3c25261fef1c xen/include/public/vmx_assist.h
--- a/xen/include/public/vmx_assist.h	Thu Jun 30 04:15:49 2005
+++ b/xen/include/public/vmx_assist.h	Thu Jun 30 04:18:49 2005
@@ -51,47 +51,47 @@
  * World switch state
  */
 typedef struct vmx_assist_context {
-	unsigned long		eip;		/* execution pointer */
-	unsigned long		esp;		/* stack point */
-	unsigned long		eflags;		/* flags register */
-	unsigned long		cr0;
-	unsigned long		cr3;		/* page table directory */
-	unsigned long		cr4;
-	unsigned long		idtr_limit;	/* idt */
-	unsigned long		idtr_base;
-	unsigned long		gdtr_limit;	/* gdt */
-	unsigned long		gdtr_base;
-	unsigned long		cs_sel;		/* cs selector */
-	unsigned long		cs_limit;
-	unsigned long		cs_base;
+	u32		eip;		/* execution pointer */
+	u32		esp;		/* stack point */
+	u32		eflags;		/* flags register */
+	u32		cr0;
+	u32		cr3;		/* page table directory */
+	u32		cr4;
+	u32		idtr_limit;	/* idt */
+	u32		idtr_base;
+	u32		gdtr_limit;	/* gdt */
+	u32		gdtr_base;
+	u32		cs_sel;		/* cs selector */
+	u32		cs_limit;
+	u32		cs_base;
 	union vmcs_arbytes	cs_arbytes;
-	unsigned long		ds_sel;		/* ds selector */
-	unsigned long		ds_limit;
-	unsigned long		ds_base;
+	u32		ds_sel;		/* ds selector */
+	u32		ds_limit;
+	u32		ds_base;
 	union vmcs_arbytes	ds_arbytes;
-	unsigned long		es_sel;		/* es selector */
-	unsigned long		es_limit;
-	unsigned long		es_base;
+	u32		es_sel;		/* es selector */
+	u32		es_limit;
+	u32		es_base;
 	union vmcs_arbytes	es_arbytes;
-	unsigned long		ss_sel;		/* ss selector */
-	unsigned long		ss_limit;
-	unsigned long		ss_base;
+	u32		ss_sel;		/* ss selector */
+	u32		ss_limit;
+	u32		ss_base;
 	union vmcs_arbytes	ss_arbytes;
-	unsigned long		fs_sel;		/* fs selector */
-	unsigned long		fs_limit;
-	unsigned long		fs_base;
+	u32		fs_sel;		/* fs selector */
+	u32		fs_limit;
+	u32		fs_base;
 	union vmcs_arbytes	fs_arbytes;
-	unsigned long		gs_sel;		/* gs selector */
-	unsigned long		gs_limit;
-	unsigned long		gs_base;
+	u32		gs_sel;		/* gs selector */
+	u32		gs_limit;
+	u32		gs_base;
 	union vmcs_arbytes	gs_arbytes;
-	unsigned long		tr_sel;		/* task selector */
-	unsigned long		tr_limit;
-	unsigned long		tr_base;
+	u32		tr_sel;		/* task selector */
+	u32		tr_limit;
+	u32		tr_base;
 	union vmcs_arbytes	tr_arbytes;
-	unsigned long		ldtr_sel;	/* ldtr selector */
-	unsigned long		ldtr_limit;
-	unsigned long		ldtr_base;
+	u32		ldtr_sel;	/* ldtr selector */
+	u32		ldtr_limit;
+	u32		ldtr_base;
 	union vmcs_arbytes	ldtr_arbytes;
 } vmx_assist_context_t;
 
diff -r 18df82c3dcc7 -r 3c25261fef1c xen/arch/x86/vmx.c
--- a/xen/arch/x86/vmx.c	Thu Jun 30 04:15:49 2005
+++ b/xen/arch/x86/vmx.c	Thu Jun 30 04:18:49 2005
@@ -581,7 +581,7 @@
 	 */
 	mfn = phys_to_machine_mapping(c->cr3 >> PAGE_SHIFT);
 	if (mfn != pagetable_get_pfn(d->arch.guest_table)) {
-	    printk("Invalid CR3 value=%lx", c->cr3);
+	    printk("Invalid CR3 value=%x", c->cr3);
 	    domain_crash_synchronous();
 	    return 0;
 	}
@@ -591,9 +591,9 @@
 	 * If different, make a shadow. Check if the PDBR is valid
 	 * first.
 	 */
-	VMX_DBG_LOG(DBG_LEVEL_VMMU, "CR3 c->cr3 = %lx", c->cr3);
+	VMX_DBG_LOG(DBG_LEVEL_VMMU, "CR3 c->cr3 = %x", c->cr3);
 	if ((c->cr3 >> PAGE_SHIFT) > d->domain->max_pages) {
-	    printk("Invalid CR3 value=%lx", c->cr3);
+	    printk("Invalid CR3 value=%x", c->cr3);
 	    domain_crash_synchronous(); 
 	    return 0;
 	}
@@ -604,7 +604,7 @@
 	 * arch.shadow_table should now hold the next CR3 for shadow
 	 */
 	d->arch.arch_vmx.cpu_cr3 = c->cr3;
-	VMX_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %lx", c->cr3);
+	VMX_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %x", c->cr3);
 	__vmwrite(GUEST_CR3, pagetable_get_paddr(d->arch.shadow_table));
     }
 
@@ -669,7 +669,8 @@
 vmx_assist(struct vcpu *d, int mode)
 {
     struct vmx_assist_context c;
-    unsigned long magic, cp;
+    u32 magic;
+    unsigned long cp;
 
     /* make sure vmxassist exists (this is not an error) */
     if (!vmx_copy(&magic, VMXASSIST_MAGIC_OFFSET, sizeof(magic), COPY_IN))
diff -r 18df82c3dcc7 -r 3c25261fef1c tools/firmware/vmxassist/util.c
--- a/tools/firmware/vmxassist/util.c	Thu Jun 30 04:15:49 2005
+++ b/tools/firmware/vmxassist/util.c	Thu Jun 30 04:18:49 2005
@@ -18,7 +18,7 @@
  * Place - Suite 330, Boston, MA 02111-1307 USA.
  */
 #include <stdarg.h>
-#include <public/vmx_assist.h>
+#include <vm86.h>
 
 #include "util.h"
 #include "machine.h"
diff -r 18df82c3dcc7 -r 3c25261fef1c tools/firmware/vmxassist/gen.c
--- a/tools/firmware/vmxassist/gen.c	Thu Jun 30 04:15:49 2005
+++ b/tools/firmware/vmxassist/gen.c	Thu Jun 30 04:18:49 2005
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <stddef.h>
 #include <stdlib.h>
-#include <public/vmx_assist.h>
+#include <vm86.h>
 
 int
 main()
diff -r 18df82c3dcc7 -r 3c25261fef1c tools/firmware/vmxassist/vm86.h
--- a/tools/firmware/vmxassist/vm86.h	Thu Jun 30 04:15:49 2005
+++ b/tools/firmware/vmxassist/vm86.h	Thu Jun 30 04:18:49 2005
@@ -19,6 +19,19 @@
  */
 #ifndef __VM86_H__
 #define __VM86_H__
+
+#ifndef __ASSEMBLY__
+#include <stdint.h>
+
+typedef uint8_t            u8;
+typedef uint16_t           u16;
+typedef uint32_t           u32;
+typedef uint64_t           u64;
+typedef int8_t             s8;
+typedef int16_t            s16;
+typedef int32_t            s32;
+typedef int64_t            s64;
+#endif
 
 #include <public/vmx_assist.h>

                 reply	other threads:[~2005-06-30  5:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050630055152.GA7411@intel.com \
    --to=arun.sharma@intel.com \
    --cc=Ian.Pratt@cl.cam.ac.uk \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.