All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.