qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] pc-bios/s390-ccw: Get rid of the the __u* types


From: Christian Borntraeger
Subject: Re: [PATCH] pc-bios/s390-ccw: Get rid of the the __u* types
Date: Wed, 28 Jun 2023 10:35:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0



Am 28.06.23 um 10:32 schrieb Thomas Huth:
On 27/06/2023 14.19, Christian Borntraeger wrote:


Am 27.06.23 um 13:41 schrieb Thomas Huth:
Using types starting with double underscores should be avoided since these
names are marked as reserved by the C standard. The corresponding Linux

In general I think this change is fine, but this is kind of interesting, as
/usr/include/linux/types.h does have __u64 and friends. In fact there is
__u64 but not u64 in /usr/include.

And yes a google search for double underscore  has

The use of two underscores (` __ ') in identifiers is reserved for the
compiler's internal use according to the ANSI-C standard. Underscores
(` _ ') are often used in names of library functions (such as " _main
" and " _exit "). In order to avoid collisions, do not begin an
identifier with an underscore.

kernel header file has also been changed accordingly a long time ago:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/drivers/s390/cio/cio.h?id=cd6b4f27b9bb2a

but IIRC from a kernel perspective u64 is for kernel internal uint64_t
and __u64 is for uapi, e.g. see
https://lkml.indiana.edu/hypermail/linux/kernel/1401.2/02851.html

So in essence we (QEMU/s390-ccw) have to decide what to use for our
internal purposes. And yes, u64 and this patch is certainly ok. But
we might need to change the patch description

Ok, agreed, the patch description could be better. Maybe just something like 
this:

"
The types starting with double underscores have likely been introduced into the 
s390-ccw bios to be able to re-use structs from the Linux kernel in the past, 
but the corresponding structs in cio.h have been changed there a long time ago 
already to not use the variants with the double underscores anymore:


https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/drivers/s390/cio/cio.h?id=cd6b4f27b9bb2a

So it would be good to replace these in the s390-ccw bios now, too.

Yes, looks good.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]