From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: elena.ufimtseva@oracle.com, xen-devel@lists.xen.org
Cc: keir@xen.org, jbeulich@suse.com, tim@xen.org,
Aravind.Gopalakrishnan@amd.com, suravee.suthikulpanit@amd.com,
Mukesh Rathor <mukesh.rathor@oracle.com>,
roger.pau@citrix.com
Subject: Re: [PATCH 1/6] pvh: domu construct vmcb 64 bit mode start
Date: Mon, 22 Jun 2015 15:00:16 -0400 [thread overview]
Message-ID: <55885B40.8000609@oracle.com> (raw)
In-Reply-To: <1434991058-6585-2-git-send-email-elena.ufimtseva@oracle.com>
On 06/22/2015 12:37 PM, elena.ufimtseva@oracle.com wrote:
> From: Elena Ufimtseva <elena.ufimtseva@oracle.com>
>
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> ---
All of these changes are common with Intel so we should be able to move
them up to common layer. (For CS attributes the 32-bit patches that I
posted earlier provide set_mode op).
-boris
> xen/arch/x86/hvm/svm/vmcb.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
> index 6339d2a..70a6588 100644
> --- a/xen/arch/x86/hvm/svm/vmcb.c
> +++ b/xen/arch/x86/hvm/svm/vmcb.c
> @@ -162,7 +162,12 @@ static int construct_vmcb(struct vcpu *v)
> vmcb->ds.attr.bytes = 0xc93;
> vmcb->fs.attr.bytes = 0xc93;
> vmcb->gs.attr.bytes = 0xc93;
> - vmcb->cs.attr.bytes = 0xc9b; /* exec/read, accessed */
> +
> + if ( is_pvh_vcpu(v) )
> + /* CS.L == 1, exec, read/write, accessed. PVH 32bitfixme. */
> + vmcb->cs.attr.bytes = 0xa9b;
> + else
> + vmcb->cs.attr.bytes = 0xc9b; /* exec/read, accessed */
>
> /* Guest IDT. */
> vmcb->idtr.base = 0;
> @@ -184,12 +189,17 @@ static int construct_vmcb(struct vcpu *v)
> vmcb->tr.limit = 0xff;
>
> v->arch.hvm_vcpu.guest_cr[0] = X86_CR0_PE | X86_CR0_ET;
> + /* PVH domains start in paging mode */
> + if ( is_pvh_vcpu(v) )
> + v->arch.hvm_vcpu.guest_cr[0] |= X86_CR0_PG;
> hvm_update_guest_cr(v, 0);
>
> - v->arch.hvm_vcpu.guest_cr[4] = 0;
> + v->arch.hvm_vcpu.guest_cr[4] = is_pvh_vcpu(v) ? X86_CR4_PAE : 0;
> hvm_update_guest_cr(v, 4);
>
> - paging_update_paging_modes(v);
> + /* For pvh, paging mode is updated by arch_set_info_guest(). */
> + if ( is_hvm_vcpu(v) )
> + paging_update_paging_modes(v);
>
> vmcb->_exception_intercepts =
> HVM_TRAP_MASK
next prev parent reply other threads:[~2015-06-22 19:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-22 16:37 [PATCH 0/6] AMD-PVH: DomU support elena.ufimtseva
2015-06-22 16:37 ` [PATCH 1/6] pvh: domu construct vmcb 64 bit mode start elena.ufimtseva
2015-06-22 19:00 ` Boris Ostrovsky [this message]
2015-06-23 12:02 ` Jan Beulich
2015-06-24 20:15 ` Elena Ufimtseva
2015-06-25 8:06 ` Jan Beulich
2015-06-24 20:18 ` Elena Ufimtseva
2015-06-22 16:37 ` [PATCH 2/6] AMD-PVH: cpuid intercept elena.ufimtseva
2015-06-23 12:09 ` Jan Beulich
2015-06-22 16:37 ` [PATCH 3/6] AMD-PVH: call hvm_emulate_one instead of handle_mmio elena.ufimtseva
2015-06-22 19:29 ` Boris Ostrovsky
2015-06-23 12:12 ` Jan Beulich
2015-06-22 16:37 ` [PATCH 4/6] AMD-PVH: Do not get/set vlapic TPR elena.ufimtseva
2015-06-23 12:17 ` Jan Beulich
2015-06-22 16:37 ` [PATCH 5/6] AMD-PVH: Support TSC_MODE_NEVER_EMULATE for PVH elena.ufimtseva
2015-06-22 17:12 ` Konrad Rzeszutek Wilk
2015-06-23 12:23 ` Jan Beulich
2015-06-22 16:37 ` [PATCH 6/6] AMD-PVH: enable pvh if requirements met elena.ufimtseva
2015-06-23 12:30 ` Jan Beulich
2015-06-24 2:34 ` Boris Ostrovsky
2015-06-24 7:49 ` Jan Beulich
2015-06-24 18:24 ` Andrew Cooper
2015-06-24 20:26 ` Elena Ufimtseva
2015-06-24 21:41 ` Mukesh Rathor
2015-06-25 14:11 ` Elena Ufimtseva
2015-06-23 11:58 ` [PATCH 0/6] AMD-PVH: DomU support Jan Beulich
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=55885B40.8000609@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=Aravind.Gopalakrishnan@amd.com \
--cc=elena.ufimtseva@oracle.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=mukesh.rathor@oracle.com \
--cc=roger.pau@citrix.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
/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.