From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH 3/4] tools/xen-cpuid: Use automatically generated feature names
Date: Tue, 14 May 2024 15:30:27 +0100 [thread overview]
Message-ID: <86aa4550-c183-416b-83fc-044a0836341a@citrix.com> (raw)
In-Reply-To: <ZkN0wXbVu-sbCNdf@macbook>
On 14/05/2024 3:27 pm, Roger Pau Monné wrote:
> On Tue, May 14, 2024 at 02:05:10PM +0100, Andrew Cooper wrote:
>> On 14/05/2024 8:53 am, Roger Pau Monné wrote:
>>> On Fri, May 10, 2024 at 11:40:01PM +0100, Andrew Cooper wrote:
>>>> diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
>>>> index 6ee835b22949..2f34694e9c57 100644
>>>> --- a/tools/misc/xen-cpuid.c
>>>> +++ b/tools/misc/xen-cpuid.c
>>>> @@ -291,6 +292,9 @@ static const struct {
>>>>
>>>> #define COL_ALIGN "24"
>>>>
>>>> +static const char *const feature_names[(FEATURESET_NR_ENTRIES + 1) << 5] =
>>>> + INIT_FEATURE_VAL_TO_NAME;
>>> I've also considered this when doing the original patch, but it seemed
>>> worse to force each user of INIT_FEATURE_VAL_TO_NAME to have to
>>> correctly size the array. I would also use '* 32', as it's IMO
>>> clearer and already used below when accessing the array. I'm fine
>>> if we want to go this way, but the extra Python code to add a last
>>> array entry if required didn't seem that much TBH.
>> I was looking to avoid the other BUILD_BUG_ON()'s, and in particular
>> bringing in known_features just for a build time check.
>>
>> Given that there's only one instance right now, and no obvious other
>> usecase, I'd say this is better. In terms of just xen-cpuid.c, it's
>> clearly correct whereas leaving it implicitly to
>> INIT_FEATURE_VAL_TO_NAME is not.
> If you dislike my original attempt at doing this, what about casting
> the literal array initializer created by gen-cpuid.py, so that the
> result ends up looking like:
>
> #define INIT_FEATURE_NAME_ARRAY (const char *[(FEATURESET_NR_ENTRIES + 1) * 32]) { \
> ...
>
> Would that be better?
That will trigger -Wvla, I think.
~Andrew
next prev parent reply other threads:[~2024-05-14 14:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-10 22:39 [PATCH v3 0/4] x86/xen-cpuid: Use automagically generated names Andrew Cooper
2024-05-10 22:39 ` [PATCH 1/4] x86/gen-cpuid: Minor cleanup Andrew Cooper
2024-05-14 7:14 ` Roger Pau Monné
2024-05-20 14:17 ` Andrew Cooper
2024-05-10 22:40 ` [PATCH 2/4] tools/xen-cpuid: Rename decodes[] to leaf_info[] Andrew Cooper
2024-05-14 7:14 ` Roger Pau Monné
2024-05-10 22:40 ` [PATCH 3/4] tools/xen-cpuid: Use automatically generated feature names Andrew Cooper
2024-05-14 7:53 ` Roger Pau Monné
2024-05-14 13:05 ` Jan Beulich
2024-05-14 13:05 ` Andrew Cooper
2024-05-14 14:27 ` Roger Pau Monné
2024-05-14 14:30 ` Andrew Cooper [this message]
2024-05-20 14:33 ` [PATCH v3.5 " Andrew Cooper
2024-05-20 15:07 ` Roger Pau Monné
2024-05-20 15:20 ` Andrew Cooper
2024-05-20 16:29 ` Roger Pau Monné
2024-05-20 17:37 ` Andrew Cooper
2024-05-10 22:40 ` [PATCH 4/4] tools/xen-cpuid: Drop old names Andrew Cooper
2024-05-14 7:53 ` Roger Pau Monné
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=86aa4550-c183-416b-83fc-044a0836341a@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).