All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Richard Henderson <rth@twiddle.net>, qemu-devel@nongnu.org
Cc: ehabkost@redhat.com
Subject: Re: [Qemu-devel] [PATCH 05/14] target-i386: Enable control registers for MPX
Date: Thu, 9 Jul 2015 15:18:53 +0200	[thread overview]
Message-ID: <559E74BD.8050503@redhat.com> (raw)
In-Reply-To: <1436429849-18052-6-git-send-email-rth@twiddle.net>



On 09/07/2015 10:17, Richard Henderson wrote:
> 
> +void cpu_sync_bndcs_hf(CPUX86State *env)

s/hf/hflags/ :)

> +{
> +    uint32_t hflags = env->hflags;
> +    uint32_t bndcsr;
> +
> +    if ((hflags & HF_CPL_MASK) == 3) {
> +        bndcsr = env->bndcs_regs.cfgu;
> +    } else {
> +        bndcsr = env->msr_bndcfgs;
> +    }
> +
> +    if ((hflags & HF_OSXSAVE_MASK)
> +        && (env->xcr0 & XSTATE_BNDCSR)
> +        && (bndcsr & BNDCFG_ENABLE)) {
> +        hflags |= HF_MPX_EN_MASK;
> +    } else {
> +        hflags &= ~HF_MPX_EN_MASK;
> +    }
> +
> +    if (bndcsr & BNDCFG_BNDPRESERVE) {
> +        hflags |= HF_MPX_PR_MASK;
> +    } else {
> +        hflags &= ~HF_MPX_PR_MASK;
> +    }
> +
> +    env->hflags = hflags;
> +}

> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index f057982..27ae029 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -2186,6 +2186,11 @@ int kvm_arch_get_registers(CPUState *cs)
>      if (ret < 0) {
>          return ret;
>      }
> +
> +    /* ??? HFLAGS may be out of sync if any of the above error out.
> +       But there seems little point in recomputing this multiple times.  */
> +    cpu_sync_bndcs_hf(&cpu->env);

Why aren't you just using a goto, like

    if (ret < 0) {
        goto out;
    }
    ret = 0;
out:
    cpu_sync_bndcs_hf(&cpu->env);
    return ret;

>      return 0;

  parent reply	other threads:[~2015-07-09 13:19 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-09  8:17 [Qemu-devel] [PATCH 00/14] target-i386: Implement MPX extension Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 01/14] target-i386: Split fxsave/fxrstor implementation Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 02/14] target-i386: Rearrange processing of 0F 01 Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 03/14] target-i386: Add XSAVE extension Richard Henderson
2015-07-09 13:16   ` Paolo Bonzini
2015-07-09  8:17 ` [Qemu-devel] [PATCH 04/14] target-i386: Implement XSAVEOPT Richard Henderson
2015-07-09 13:06   ` Paolo Bonzini
2015-07-10  7:00     ` Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 05/14] target-i386: Enable control registers for MPX Richard Henderson
2015-07-09 13:12   ` Paolo Bonzini
2015-07-09 13:18   ` Paolo Bonzini [this message]
2015-07-10  7:44     ` Richard Henderson
2016-02-09 13:28   ` Paolo Bonzini
2016-02-09 15:50     ` Eric Blake
2016-02-09 15:50       ` Paolo Bonzini
2016-02-09 19:08     ` Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 06/14] target-i386: Perform set/reset_inhibit_irq inline Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 07/14] target-i386: Split up gen_lea_modrm Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 08/14] target-i386: Implement BNDMK Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 09/14] target-i386: Implement BNDMOV Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 10/14] target-i386: Implement BNDCL, BNDCU, BNDCN Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 11/14] target-i386: Update BNDSTATUS for exceptions raised by BOUND Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 12/14] target-i386: Implement BNDLDX, BNDSTX Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 13/14] target-i386: Clear bndregs during legacy near jumps Richard Henderson
2015-07-09  8:17 ` [Qemu-devel] [PATCH 14/14] target-i386: Enable XCR0 features for user-mode Richard Henderson
2015-07-09 13:15   ` Paolo Bonzini
2015-07-10  7:24     ` Richard Henderson
2015-07-10  9:36       ` Paolo Bonzini
2015-11-17 17:43 ` [Qemu-devel] [PATCH 00/14] target-i386: Implement MPX extension Paolo Bonzini
2015-11-18  9:43   ` Richard Henderson
2015-11-18 10:13     ` Paolo Bonzini

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=559E74BD.8050503@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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.