xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Egger <Christoph.Egger@amd.com>
To: Eddie Dong <eddie.dong@intel.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Tim.Deegan@citrix.com" <Tim.Deegan@citrix.com>
Subject: Re: [PATCH 01 of 20] pre-cleanup1: Extend	nhvm_vmcx_guest_intercepts_trap to include errcode to
Date: Thu, 9 Jun 2011 11:46:14 +0200	[thread overview]
Message-ID: <4DF09666.2010001@amd.com> (raw)
In-Reply-To: <722771a2d429bbf5ab15.1307607906@nest-wsm.los-vmm.org>


Acked-by: Christoph Egger <Christoph.Egger@amd.com>

On 06/09/11 10:25, Eddie Dong wrote:
> # HG changeset patch
> # User Eddie Dong<eddie.dong@intel.com>
> # Date 1307607849 -28800
> # Node ID 722771a2d429bbf5ab15e2979c0aa767a97caabe
> # Parent  0c446850d85e654dfde039a0a1a5acd4e6b3c278
> pre-cleanup1: Extend nhvm_vmcx_guest_intercepts_trap to include errcode to
> assist decision of TRAP_page_fault in VMX.
>
> Signed-off-by: Qing He<qing.he@intel.com>
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
>
> diff -r 0c446850d85e -r 722771a2d429 xen/arch/x86/hvm/hvm.c
> --- a/xen/arch/x86/hvm/hvm.c	Wed May 11 12:58:04 2011 +0100
> +++ b/xen/arch/x86/hvm/hvm.c	Thu Jun 09 16:24:09 2011 +0800
> @@ -1152,7 +1152,7 @@ void hvm_inject_exception(unsigned int t
>           return;
>       }
>
> -    if ( nhvm_vmcx_guest_intercepts_trap(v, trapnr) )
> +    if ( nhvm_vmcx_guest_intercepts_trap(v, trapnr, errcode) )
>       {
>           enum nestedhvm_vmexits nsret;
>
> @@ -4175,10 +4175,10 @@ uint32_t nhvm_vcpu_asid(struct vcpu *v)
>       return -EOPNOTSUPP;
>   }
>
> -int nhvm_vmcx_guest_intercepts_trap(struct vcpu *v, unsigned int trap)
> +int nhvm_vmcx_guest_intercepts_trap(struct vcpu *v, unsigned int trap, int errcode)
>   {
>       if (hvm_funcs.nhvm_vmcx_guest_intercepts_trap)
> -        return hvm_funcs.nhvm_vmcx_guest_intercepts_trap(v, trap);
> +        return hvm_funcs.nhvm_vmcx_guest_intercepts_trap(v, trap, errcode);
>       return -EOPNOTSUPP;
>   }
>
> diff -r 0c446850d85e -r 722771a2d429 xen/arch/x86/hvm/svm/nestedsvm.c
> --- a/xen/arch/x86/hvm/svm/nestedsvm.c	Wed May 11 12:58:04 2011 +0100
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c	Thu Jun 09 16:24:09 2011 +0800
> @@ -895,7 +895,7 @@ nsvm_vmcb_guest_intercepts_exitcode(stru
>   }
>
>   int
> -nsvm_vmcb_guest_intercepts_trap(struct vcpu *v, unsigned int trapnr)
> +nsvm_vmcb_guest_intercepts_trap(struct vcpu *v, unsigned int trapnr, int errcode)
>   {
>       return nsvm_vmcb_guest_intercepts_exitcode(v,
>           guest_cpu_user_regs(), VMEXIT_EXCEPTION_DE + trapnr);
> diff -r 0c446850d85e -r 722771a2d429 xen/include/asm-x86/hvm/hvm.h
> --- a/xen/include/asm-x86/hvm/hvm.h	Wed May 11 12:58:04 2011 +0100
> +++ b/xen/include/asm-x86/hvm/hvm.h	Thu Jun 09 16:24:09 2011 +0800
> @@ -164,7 +164,8 @@ struct hvm_function_table {
>       uint64_t (*nhvm_vcpu_guestcr3)(struct vcpu *v);
>       uint64_t (*nhvm_vcpu_hostcr3)(struct vcpu *v);
>       uint32_t (*nhvm_vcpu_asid)(struct vcpu *v);
> -    int (*nhvm_vmcx_guest_intercepts_trap)(struct vcpu *v, unsigned int trapnr);
> +    int (*nhvm_vmcx_guest_intercepts_trap)(struct vcpu *v,
> +                               unsigned int trapnr, int errcode);
>
>       bool_t (*nhvm_vmcx_hap_enabled)(struct vcpu *v);
>
> @@ -443,7 +444,8 @@ uint64_t nhvm_vcpu_hostcr3(struct vcpu *
>   uint32_t nhvm_vcpu_asid(struct vcpu *v);
>
>   /* returns true, when l1 guest intercepts the specified trap */
> -int nhvm_vmcx_guest_intercepts_trap(struct vcpu *v, unsigned int trapnr);
> +int nhvm_vmcx_guest_intercepts_trap(struct vcpu *v,
> +                                    unsigned int trapnr, int errcode);
>
>   /* returns true when l1 guest wants to use hap to run l2 guest */
>   bool_t nhvm_vmcx_hap_enabled(struct vcpu *v);
> diff -r 0c446850d85e -r 722771a2d429 xen/include/asm-x86/hvm/svm/nestedsvm.h
> --- a/xen/include/asm-x86/hvm/svm/nestedsvm.h	Wed May 11 12:58:04 2011 +0100
> +++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h	Thu Jun 09 16:24:09 2011 +0800
> @@ -114,7 +114,8 @@ uint64_t nsvm_vcpu_hostcr3(struct vcpu *
>   uint32_t nsvm_vcpu_asid(struct vcpu *v);
>   int nsvm_vmcb_guest_intercepts_exitcode(struct vcpu *v,
>       struct cpu_user_regs *regs, uint64_t exitcode);
> -int nsvm_vmcb_guest_intercepts_trap(struct vcpu *v, unsigned int trapnr);
> +int nsvm_vmcb_guest_intercepts_trap(struct vcpu *v, unsigned int trapnr,
> +                                    int errcode);
>   bool_t nsvm_vmcb_hap_enabled(struct vcpu *v);
>   enum hvm_intblk nsvm_intr_blocked(struct vcpu *v);
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

  reply	other threads:[~2011-06-09  9:46 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-09  8:25 [PATCH 00 of 20] Rebased Nested VMX v2 Eddie Dong
2011-06-09  8:25 ` [PATCH 01 of 20] pre-cleanup1: Extend nhvm_vmcx_guest_intercepts_trap to include errcode to Eddie Dong
2011-06-09  9:46   ` Christoph Egger [this message]
2011-06-09  8:25 ` [PATCH 02 of 20] pre-cleanup2: Move IDT_VECTORING processing code out of intr_assist Eddie Dong
2011-06-09  8:25 ` [PATCH 03 of 20] Add data structure for nestedvmx Eddie Dong
2011-06-09  8:25 ` [PATCH 04 of 20] Add APIs for nestedhvm_ops Eddie Dong
2011-07-08  7:42   ` vickywill
2011-07-08  7:43     ` vickywill
2011-06-09  8:25 ` [PATCH 05 of 20] Emulation of guest VMXON/OFF instruction Eddie Dong
2011-06-09  8:25 ` [PATCH 06 of 20] Define structure and access APIs for virtual VMCS Eddie Dong
2011-06-09  8:25 ` [PATCH 07 of 20] Emulation of guest vmptrld Eddie Dong
2011-06-09  8:25 ` [PATCH 08 of 20] Emulation of guest VMPTRST Eddie Dong
2011-06-09  8:25 ` [PATCH 09 of 20] Emulation of guest VMCLEAR Eddie Dong
2011-06-09  8:25 ` [PATCH 10 of 20] Emulation of guest VMWRITE Eddie Dong
2011-06-09  8:25 ` [PATCH 11 of 20] Emulation of guest VMREAD Eddie Dong
2011-06-09  8:25 ` [PATCH 12 of 20] Add APIs to switch n1/n2 VMCS Eddie Dong
2011-06-09  8:25 ` [PATCH 13 of 20] Emulation of VMRESUME/VMLAUNCH Eddie Dong
2011-06-09  8:25 ` [PATCH 14 of 20] Extend VMCS control fields for n2 guest Eddie Dong
2011-06-09  8:25 ` [PATCH 15 of 20] Switch shadow/virtual VMCS between n1/n2 guests Eddie Dong
2011-06-09  8:25 ` [PATCH 16 of 20] interrupt/exception handling for n2 guest Eddie Dong
2011-06-09  8:25 ` [PATCH 17 of 20] VM exit handler of n2-guest Eddie Dong
2011-06-09  8:25 ` [PATCH 18 of 20] Lazy FPU for n2 guest Eddie Dong
2011-06-09  8:25 ` [PATCH 19 of 20] Add VMXE bits in virtual CR4 Eddie Dong
2011-06-09  8:25 ` [PATCH 20 of 20] n2 MSR handling and capability exposure Eddie Dong
2011-06-13  8:27   ` Tim Deegan
2011-06-14  2:29     ` Dong, Eddie
2011-06-15 12:45       ` Tim Deegan
2011-06-20  6:31         ` Jeroen Groenewegen van der Weyden
2011-06-30 14:14           ` Jeroen Groenewegen van der Weyden
2011-07-01  9:01             ` Tim Deegan
2011-07-01  9:54               ` Christoph Egger
2011-07-01 10:11                 ` Jeroen Groenewegen van der Weyden
2011-07-04  8:58                   ` Tim Deegan
2011-07-04  9:58                     ` Jeroen Groenewegen van der Weyden
2011-07-08  7:12                     ` Jeroen Groenewegen van der Weyden
2011-07-18 15:41                       ` Dong, Eddie
2011-07-19 13:59                         ` Jeroen Groenewegen van der Weyden
2011-07-20 13:44                           ` Dong, Eddie
2011-07-20 14:12                             ` Jeroen Groenewegen van der Weyden
2011-07-25 14:08                               ` Tim Deegan
2011-07-25 16:16                                 ` Tim Deegan
2011-07-26  7:15                                   ` Jeroen Groenewegen van der Weyden
2011-07-26 10:00                                     ` Tim Deegan
2011-07-26 10:11                                       ` Tim Deegan
2011-07-26 10:46                                         ` Jeroen Groenewegen van der Weyden
2011-07-26 11:42                                           ` Tim Deegan
2011-07-26 13:33                                             ` Jeroen Groenewegen van der Weyden
2011-07-26 14:21                                               ` Tim Deegan
2011-07-26 15:25                                                 ` Jeroen Groenewegen van der Weyden
2011-07-26 15:48                                                   ` Tim Deegan
2011-07-26 16:00                                                     ` Jeroen Groenewegen van der Weyden
2011-07-26 16:08                                                       ` Tim Deegan
2011-07-26 11:05                                       ` Jeroen Groenewegen van der Weyden
2011-06-09 10:13 ` [PATCH 00 of 20] Rebased Nested VMX v2 Christoph Egger
2011-06-13  9:24   ` Tim Deegan
2011-06-14  3:01     ` Dong, Eddie
2011-06-14  9:01       ` Tim Deegan
2011-06-14  7:43     ` Christoph Egger
2011-06-14 14:08       ` Dong, Eddie
  -- strict thread matches above, loose matches on Subject: below --
2011-06-02  8:57 [PATCH 00 of 20] NestedVMX support Eddie Dong
2011-06-02  8:57 ` [PATCH 01 of 20] pre-cleanup1: Extend nhvm_vmcx_guest_intercepts_trap to include errcode to Eddie Dong

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=4DF09666.2010001@amd.com \
    --to=christoph.egger@amd.com \
    --cc=Tim.Deegan@citrix.com \
    --cc=eddie.dong@intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).