direct-io.hg

changeset 4585:98554eb54a58

bitkeeper revision 1.1333 (42662dd7ZAAvK_ZarFhk1lamxPIQdg)

[PATCH] x86-64-eax.patch

vmx_vmcs.c:
fix inline asms for x86-64

Signed-Off-By: Benjamin Liu <benjamin.liu@intel.com>
Signed-Off-By: Arun Sharma <arun.sharma@intel.com>
author arun.sharma@intel.com[kaf24]
date Wed Apr 20 10:24:23 2005 +0000 (2005-04-20)
parents 7d4cb393933f
children 5c732392ad8c
files xen/arch/x86/vmx_vmcs.c
line diff
     1.1 --- a/xen/arch/x86/vmx_vmcs.c	Wed Apr 20 10:23:43 2005 +0000
     1.2 +++ b/xen/arch/x86/vmx_vmcs.c	Wed Apr 20 10:24:23 2005 +0000
     1.3 @@ -187,7 +187,7 @@ void vmx_do_launch(struct exec_domain *e
     1.4  
     1.5      vmx_setup_platform(ed, ec);
     1.6  
     1.7 -    __asm__ __volatile__ ("sgdt  (%%eax) \n" :: "a"(&desc) : "memory");
     1.8 +    __asm__ __volatile__ ("sgdt  (%0) \n" :: "a"(&desc) : "memory");
     1.9      host_env.gdtr_limit = desc.size;
    1.10      host_env.gdtr_base = desc.address;
    1.11  
    1.12 @@ -197,7 +197,7 @@ void vmx_do_launch(struct exec_domain *e
    1.13      error |= __vmwrite(GUEST_LDTR_BASE, 0);
    1.14      error |= __vmwrite(GUEST_LDTR_LIMIT, 0);
    1.15          
    1.16 -    __asm__ __volatile__ ("str  (%%eax) \n" :: "a"(&tr) : "memory");
    1.17 +    __asm__ __volatile__ ("str  (%0) \n" :: "a"(&tr) : "memory");
    1.18      host_env.tr_selector = tr;
    1.19      host_env.tr_limit = sizeof(struct tss_struct);
    1.20      host_env.tr_base = (unsigned long) &init_tss[cpu];
    1.21 @@ -358,7 +358,7 @@ static inline int construct_vmcs_host(st
    1.22      error |= __vmwrite(HOST_GS_BASE, host_env->ds_base);
    1.23  
    1.24  /* Debug */
    1.25 -    __asm__ __volatile__ ("sidt  (%%eax) \n" :: "a"(&desc) : "memory");
    1.26 +    __asm__ __volatile__ ("sidt  (%0) \n" :: "a"(&desc) : "memory");
    1.27      host_env->idtr_limit = desc.size;
    1.28      host_env->idtr_base = desc.address;
    1.29      error |= __vmwrite(HOST_IDTR_BASE, host_env->idtr_base);