On 11 February 2015 at 02:50, Chen, Tiejun <address@hidden> wrote:
On 2015/2/11 10:03, Peter Maydell wrote:
The linux-headers/ directory contains header files which can only
validly be included if the host we're compiling on is Linux. Some
of them will cause compile failures on OSX or Windows if they
are in the include path. The idea of this patch is that the
standard-headers/ directory has "sanitized" header files which
have had the linux-specific types and includes stripped out.
So if we take the route this patch proposes we do need two
directories.
This confounds me since for instance, one of goals based on this patch is,
it exposes those Virtio devices ID definition to hw/virtio, instead of my
original patch, right? So without this sort of standard-hearders, how can we
compile virtio? Or you mean we still keep those original stuff in
include/hw/virtio*, but somehow update them once we execute that script
manually.
I'm confused about why you're confused. We have two basic
approaches we can take:
(1) What we do at the moment. There are headers defining the virtio
interface in include/hw/virtio, and these are basically manually
created and updated as necessary.
(2) What this patch is proposing. The headers defining virtio are
automatically copied into standard-headers/ and fixed up to make
them work with QEMU on all the hosts we support. This happens when
this script is run by a developer to update QEMU's headers based
on some new upstream kernel.