From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Cc: Xen-devel@lists.xensource.com, tim@xen.org, keir.xen@gmail.com,
JBeulich@suse.com
Subject: Re: [V1 PATCH 01/11] PVH dom0: set eflags resvd bit #1
Date: Tue, 12 Nov 2013 11:19:41 -0500 [thread overview]
Message-ID: <20131112161941.GF11354@phenom.dumpdata.com> (raw)
In-Reply-To: <1383960215-22444-2-git-send-email-mukesh.rathor@oracle.com>
On Fri, Nov 08, 2013 at 05:23:26PM -0800, Mukesh Rathor wrote:
> In this patch the eflags resv bit #1 is set in vmx_vmenter_helper. If
> the bit is not set, the vmlaunch/resume will fail with guest state
> invalid.
What does 'MBS' stand for? Somehow I assumed you would call
it RSV????
>
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
> ---
> xen/arch/x86/domain.c | 2 --
> xen/arch/x86/hvm/hvm.c | 7 ++-----
> xen/arch/x86/hvm/vmx/vmx.c | 2 +-
> xen/include/asm-x86/processor.h | 1 +
> 4 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 0736a4b..e9ab6c8 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -732,8 +732,6 @@ int arch_set_info_guest(
> for ( i = 0; i < ARRAY_SIZE(v->arch.debugreg); ++i )
> v->arch.debugreg[i] = c(debugreg[i]);
>
> - v->arch.user_regs.eflags |= 2;
> -
> if ( !is_pv_vcpu(v) )
> {
> hvm_set_info_guest(v);
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 61b5d8e..0d7ab44 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -952,7 +952,7 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
> v->arch.user_regs.edi = ctxt.rdi;
> v->arch.user_regs.esp = ctxt.rsp;
> v->arch.user_regs.eip = ctxt.rip;
> - v->arch.user_regs.eflags = ctxt.rflags | 2;
> + v->arch.user_regs.eflags = ctxt.rflags | X86_EFLAGS_MBS;
> v->arch.user_regs.r8 = ctxt.r8;
> v->arch.user_regs.r9 = ctxt.r9;
> v->arch.user_regs.r10 = ctxt.r10;
> @@ -1133,7 +1133,6 @@ static int pvh_vcpu_initialise(struct vcpu *v)
> (unsigned long)v);
>
> v->arch.hvm_vcpu.hcall_64bit = 1; /* PVH 32bitfixme. */
> - v->arch.user_regs.eflags = 2;
> v->arch.hvm_vcpu.inject_trap.vector = -1;
>
> if ( (rc = hvm_vcpu_cacheattr_init(v)) != 0 )
> @@ -1218,8 +1217,6 @@ int hvm_vcpu_initialise(struct vcpu *v)
> (void(*)(unsigned long))hvm_assert_evtchn_irq,
> (unsigned long)v);
>
> - v->arch.user_regs.eflags = 2;
> -
> if ( v->vcpu_id == 0 )
> {
> /* NB. All these really belong in hvm_domain_initialise(). */
> @@ -3619,7 +3616,7 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip)
>
> v->arch.vgc_flags = VGCF_online;
> memset(&v->arch.user_regs, 0, sizeof(v->arch.user_regs));
> - v->arch.user_regs.eflags = 2;
> + v->arch.user_regs.eflags = X86_EFLAGS_MBS;
> v->arch.user_regs.edx = 0x00000f00;
> v->arch.user_regs.eip = ip;
> memset(&v->arch.debugreg, 0, sizeof(v->arch.debugreg));
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index e93fd98..1f39220 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3033,7 +3033,7 @@ void vmx_vmenter_helper(const struct cpu_user_regs *regs)
>
> __vmwrite(GUEST_RIP, regs->rip);
> __vmwrite(GUEST_RSP, regs->rsp);
> - __vmwrite(GUEST_RFLAGS, regs->rflags);
> + __vmwrite(GUEST_RFLAGS, regs->rflags | X86_EFLAGS_MBS);
> }
>
> /*
> diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
> index 551036d..73a3202 100644
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -35,6 +35,7 @@
> * EFLAGS bits
> */
> #define X86_EFLAGS_CF 0x00000001 /* Carry Flag */
> +#define X86_EFLAGS_MBS 0x00000002 /* Resvd bit */
> #define X86_EFLAGS_PF 0x00000004 /* Parity Flag */
> #define X86_EFLAGS_AF 0x00000010 /* Auxillary carry Flag */
> #define X86_EFLAGS_ZF 0x00000040 /* Zero Flag */
> --
> 1.7.2.3
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2013-11-12 16:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-09 1:23 [V1 PATCH 0/11]: PVH dom0 Mukesh Rathor
2013-11-09 1:23 ` [V1 PATCH 01/11] PVH dom0: set eflags resvd bit #1 Mukesh Rathor
2013-11-12 16:19 ` Konrad Rzeszutek Wilk [this message]
2013-11-12 16:24 ` Jan Beulich
2013-11-12 16:31 ` Konrad Rzeszutek Wilk
2013-11-09 1:23 ` [V1 PATCH 02/11] PVH dom0: Allow physdevops for PVH dom0 Mukesh Rathor
2013-11-09 1:23 ` [V1 PATCH 03/11] PVH dom0: iommu related changes Mukesh Rathor
2013-11-12 16:08 ` Jan Beulich
2013-11-15 1:43 ` Mukesh Rathor
2013-11-15 7:36 ` Jan Beulich
2013-11-09 1:23 ` [V1 PATCH 04/11] PVH dom0: create update_memory_mapping() function Mukesh Rathor
2013-11-12 16:12 ` Jan Beulich
2013-11-15 1:59 ` Mukesh Rathor
2013-11-15 7:38 ` Jan Beulich
2013-11-09 1:23 ` [V1 PATCH 05/11] PVH dom0: move some pv specific code to static functions Mukesh Rathor
2013-11-09 1:23 ` [V1 PATCH 06/11] PVH dom0: construct_dom0 changes Mukesh Rathor
2013-11-12 16:13 ` Konrad Rzeszutek Wilk
2013-11-15 2:21 ` Mukesh Rathor
2013-11-15 7:59 ` Jan Beulich
2013-11-12 16:35 ` Jan Beulich
2013-11-15 2:34 ` Mukesh Rathor
2013-11-15 7:40 ` Jan Beulich
2013-11-09 1:23 ` [V1 PATCH 07/11] PVH dom0: implement XENMEM_add_to_physmap_range for x86 Mukesh Rathor
2013-11-12 16:46 ` Jan Beulich
2013-11-09 1:23 ` [V1 PATCH 08/11] PVH dom0: Introduce p2m_map_foreign Mukesh Rathor
2013-11-12 16:16 ` Konrad Rzeszutek Wilk
2013-11-09 1:23 ` [V1 PATCH 09/11] PVH dom0: Add and remove foreign pages Mukesh Rathor
2013-11-12 16:58 ` Jan Beulich
2013-11-09 1:23 ` [V1 PATCH 10/11] PVH dom0: add opt_dom0pvh to setup.c Mukesh Rathor
2013-11-12 16:18 ` Konrad Rzeszutek Wilk
2013-11-14 11:38 ` [V1 PATCH 0/11]: PVH dom0 Roger Pau Monné
2013-11-14 22:42 ` Mukesh Rathor
2013-11-15 7:55 ` 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=20131112161941.GF11354@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=JBeulich@suse.com \
--cc=Xen-devel@lists.xensource.com \
--cc=keir.xen@gmail.com \
--cc=mukesh.rathor@oracle.com \
--cc=tim@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.