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 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).