From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
xuelian.guo@intel.com, qemu-devel@nongnu.org,
Robert Hoo <robert.hu@linux.intel.com>
Subject: Re: [Qemu-devel] [PATCH] i386: Don't print warning if phys-bits was set automatically
Date: Wed, 12 Jun 2019 09:58:36 +0100 [thread overview]
Message-ID: <20190612085834.GA2691@work-vm> (raw)
In-Reply-To: <20190611205420.20286-1-ehabkost@redhat.com>
* Eduardo Habkost (ehabkost@redhat.com) wrote:
> If cpu->host_phys_bits_limit is set, QEMU will make
> cpu->phys_bits be lower than host_phys_bits on some cases. This
> triggers a warning that was supposed to be printed only if
> phys-bits was explicitly set in the command-line.
>
> Reorder the code so the value of cpu->phys_bits is validated
> before the cpu->host_phys_bits handling. This will avoid
> unexpected warnings when cpu->host_phys_bits_limit is set.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
I think that's OK; note I think that means you can trigger an erroneous
warning in the case where the user does something odd like:
phys_bits=50,host_phys_bits=true
so you print the warning and *then* set phys_bits = host_phys_bits.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> target/i386/cpu.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 7e5b545005..1327e4901a 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -5269,15 +5269,6 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
> uint32_t host_phys_bits = x86_host_phys_bits();
> static bool warned;
>
> - if (cpu->host_phys_bits) {
> - /* The user asked for us to use the host physical bits */
> - cpu->phys_bits = host_phys_bits;
> - if (cpu->host_phys_bits_limit &&
> - cpu->phys_bits > cpu->host_phys_bits_limit) {
> - cpu->phys_bits = cpu->host_phys_bits_limit;
> - }
> - }
> -
> /* Print a warning if the user set it to a value that's not the
> * host value.
> */
> @@ -5289,6 +5280,15 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
> warned = true;
> }
>
> + if (cpu->host_phys_bits) {
> + /* The user asked for us to use the host physical bits */
> + cpu->phys_bits = host_phys_bits;
> + if (cpu->host_phys_bits_limit &&
> + cpu->phys_bits > cpu->host_phys_bits_limit) {
> + cpu->phys_bits = cpu->host_phys_bits_limit;
> + }
> + }
> +
> if (cpu->phys_bits &&
> (cpu->phys_bits > TARGET_PHYS_ADDR_SPACE_BITS ||
> cpu->phys_bits < 32)) {
> --
> 2.18.0.rc1.1.g3f1ff2140
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
prev parent reply other threads:[~2019-06-12 9:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-11 20:54 [Qemu-devel] [PATCH] i386: Don't print warning if phys-bits was set automatically Eduardo Habkost
2019-06-12 8:58 ` Dr. David Alan Gilbert [this message]
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=20190612085834.GA2691@work-vm \
--to=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=robert.hu@linux.intel.com \
--cc=xuelian.guo@intel.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 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.