All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org,  xieyongji@bytedance.com,
	 kwolf@redhat.com, hreitz@redhat.com,  Coiby.Xu@gmail.com,
	 pbonzini@redhat.com, berrange@redhat.com,  eduardo@habkost.net,
	mark.cave-ayland@ilande.co.uk,  michael.roth@amd.com,
	kkostiuk@redhat.com,  qemu-block@nongnu.org
Subject: Re: [PATCH v2 5/7] target/i386/cpu: Improve errors for out of bounds property values
Date: Thu, 10 Oct 2024 21:25:57 +0200	[thread overview]
Message-ID: <878quvg3p6.fsf@pond.sub.org> (raw)
In-Reply-To: <eed14342-3b79-450c-a617-533d3256a241@linaro.org> ("Philippe Mathieu-Daudé"'s message of "Thu, 10 Oct 2024 14:38:15 -0300")

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> On 10/10/24 12:01, Markus Armbruster wrote:
>> The error message for a "stepping" value that is out of bounds is a
>> bit odd:
>>      $ qemu-system-x86_64 -cpu qemu64,stepping=16
>>      qemu-system-x86_64: can't apply global qemu64-x86_64-cpu.stepping=16: Property .stepping doesn't take value 16 (minimum: 0, maximum: 15)
>> The "can't apply global" part is an unfortunate artifact of -cpu's
>> implementation.  Left for another day.
>> The remainder feels overly verbose.  Change it to
>>      qemu64-x86_64-cpu: can't apply global qemu64-x86_64-cpu.stepping=16: parameter 'stepping' can be at most 15
>> Likewise for "family", "model", and "tsc-frequency".
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>   target/i386/cpu.c | 20 +++++++++-----------
>>   1 file changed, 9 insertions(+), 11 deletions(-)
>
>
>> @@ -5623,16 +5622,15 @@ static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, const char *name,
>>                                      void *opaque, Error **errp)
>>   {
>>       X86CPU *cpu = X86_CPU(obj);
>> -    const int64_t min = 0;
>>       const int64_t max = INT64_MAX;
>>       int64_t value;
>>         if (!visit_type_int(v, name, &value, errp)) {
>>           return;
>>       }
>> -    if (value < min || value > max) {
>> -        error_setg(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, "",
>> -                   name ? name : "null", value, min, max);
>> +    if (value < 0 || value > max) {
>> +        error_setg(errp, "parameter '%s' can be at most %" PRId64,
>> +                   name ? name : "null", max);
>
> Confusing:
>
>     qemu64-x86_64-cpu: can't apply global qemu64-x86_64-cpu.stepping=-1: parameter 'stepping' can be at most 15

For better or worse, visit_type_uint64() with the string input visitor
parses -1 modulo 2^64, i.e. as 2^64-1, just like strtoul() & friends.

>>           return;
>>       }
>>   



  reply	other threads:[~2024-10-10 19:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-10 15:01 [PATCH v2 0/7] error: Eliminate QERR_PROPERTY_VALUE_OUT_OF_RANGE Markus Armbruster
2024-10-10 15:01 ` [PATCH v2 1/7] error: Drop superfluous #include "qapi/qmp/qerror.h" Markus Armbruster
2024-10-10 15:01 ` [PATCH v2 2/7] block: Improve errors about block sizes Markus Armbruster
2024-10-10 15:01 ` [PATCH v2 3/7] block: Adjust check_block_size() signature Markus Armbruster
2024-10-10 16:38   ` Philippe Mathieu-Daudé
2024-10-10 15:01 ` [PATCH v2 4/7] target/i386/cpu: Avoid mixing signed and unsigned in property setters Markus Armbruster
2024-10-11 12:23   ` Igor Mammedov
2024-10-10 15:01 ` [PATCH v2 5/7] target/i386/cpu: Improve errors for out of bounds property values Markus Armbruster
2024-10-10 17:38   ` Philippe Mathieu-Daudé
2024-10-10 19:25     ` Markus Armbruster [this message]
2024-10-11 15:11       ` Philippe Mathieu-Daudé
2024-10-15  4:45         ` Markus Armbruster
2024-10-11 12:24   ` Igor Mammedov
2024-10-10 15:01 ` [PATCH v2 6/7] hw/intc/openpic: " Markus Armbruster
2024-10-10 17:40   ` Philippe Mathieu-Daudé
2024-10-17  6:21     ` Markus Armbruster
2024-10-10 15:01 ` [PATCH v2 7/7] qerror: QERR_PROPERTY_VALUE_OUT_OF_RANGE is no longer used, drop Markus Armbruster
2024-10-10 17:41   ` Philippe Mathieu-Daudé

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=878quvg3p6.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=Coiby.Xu@gmail.com \
    --cc=berrange@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=hreitz@redhat.com \
    --cc=kkostiuk@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=michael.roth@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=xieyongji@bytedance.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.