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
next prev parent 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 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.