This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[XenPPC] Re: [Xen-devel] [patch] [3/3] dom0_ops explicitly sized types

On Fri, 2006-05-26 at 15:28 +0100, Ian Campbell wrote:
> On Fri, 2006-05-26 at 16:32 +0300, Muli Ben-Yehuda wrote:
> > > I assume you're referring specifically to the privcmd structure change,
> > > which is the only Linux-specific part of the patch. The privcmd
> > > structure is shared between userspace and the kernel. Since "u64" is a
> > > kernel type, we need to use "uint64_t", which has meaning in
> > > userspace.
> > 
> > Oh well, I didn't realize it was shared with userspace... sorry for
> > the false alarm.
> I think Linus' opinion[0] is that kernel headers which are shared with
> userspace cannot assume that stdint.h has been included so you need to
> use __u64 and friends.
> Ian.
> [0] http://www.ussg.iu.edu/hypermail/linux/kernel/0412.1/1456.html.
> There's been plenty of other traffic in lkml about it too.

There certainly has been plenty of traffic, but I have seen no clear
statements (other than "THIS IS BAD" with little explanation). In fact
there was just a thread about it this month
(http://www.ussg.iu.edu/hypermail/linux/kernel/0605.0/0146.html), and I
still don't understand the objections.

If you use __u64, you'd need to include some header defining what __u64
is, so you're requiring another header anyways. You might as well use
the standard stdint.h rather than inventing your own.

Hollis Blanchard
IBM Linux Technology Center

Xen-ppc-devel mailing list