On Sun, May 26, 2013 at 03:49:53PM -0500, Anthony Liguori wrote: > Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > > > Il 26/05/2013 22:02, Michael S. Tsirkin ha scritto: > >> > My fault. I should have looked at linux/types.h (actually asm-generic/). > >> > >> Not really, __uX appear in the headers that were posted. > > Which is a problem because this is a reserved namespace in C99. > > >> What I'm saying is - a chance of a conflict is very remote, > >> if it happens it's a build failure so easy to debug. > > > > I'm sure that others will complain, :) but you can go ahead. > > I think we should clean up the virtio headers in the kernel first. > Seems like a good thing to do given the standardization effort too. > There are lots of headers in uapi that use the C99 int types I found 4: $ grep -l uint include/uapi/linux/*h include/uapi/linux/dm-log-userspace.h include/uapi/linux/fuse.h include/uapi/linux/jffs2.h include/uapi/linux/pps.h include/uapi/linux/rds.h include/uapi/linux/sctp.h That's not really lots. > so there > doesn't seem to be a reason they couldn't be used in virtio. fuse.h > even has a: > > #ifdef __KERNEL__ > #include <linux/types.h> > #else > #include <stdint.h> > #endif > > Which seems like a reasonable thing to do. In kernel, we really want to use things like endian-ness checks (and, we really should have them in userspace too!). So we want __le32 and other kernel goodies like that. stdint.h won't cut it. > The only other kernel dependency is linux/if_ether.h to define > ETH_ALEN. But it seems completely reasonable to define a > VIRTIO_NET_MAC_ALEN or something like that. Ugh. Not really reasonable IMO. We also use ETH_P_IP in code, would like to get rid of redefining that too. But we can have our own linux/if_ether.h for non-linux hosts, just with a couple of macros like that, it's not a big deal. > This would make the virtio headers completely stand alone and includable > in userspace (without violating C99). > > Perhaps it's even worth moving the headers from uapi/linux to > uapi/virtio. Rusty, what do you think? > > Regards, > > Anhtony Liguori > > > > > Paolo _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization