On 16 May 2016 at 16:35, Paolo Bonzini <pbonz...@redhat.com> wrote: > This series removes usage of NEED_CPU_H from several central > include files in QEMU, most notably hw/hw.h and qemu-common.h. > Definitions conditional on NEED_CPU_H remain only in disas/disas.h, > exec/gdbstub.h, exec/helper-head.h and exec/log.h.
> I compiled this on x64 Linux (all patches) and 32-bit ARM > Linux, and I will compile it on Win32 before sending a pull > request. I would appreciate people compile-testing it on s390 > and PPC. The changes are available in the git repository at > git://github.com/bonzini/qemu.git, branch need-cpu-h (SHA1 for the top > commit is b65f2d57b126883367fb81d54f383352b24029b1). This branch has a merge conflict against current master; I tried the obvious resolution but it was wrong. (I tried a merge because it's the easiest way for me to run a build test.) Anyway, build results for just your branch: ppc64 (this is the ppc64be host in the GCC compile farm if you have an account there): /home/pm215/qemu/hw/intc/xics_kvm.c: In function ‘icp_get_kvm_state’: /home/pm215/qemu/hw/intc/xics_kvm.c:54:12: error: variable ‘reg’ has initializer but incomplete type struct kvm_one_reg reg = { ^ /home/pm215/qemu/hw/intc/xics_kvm.c:55:9: error: unknown field ‘id’ specified in initializer .id = KVM_REG_PPC_ICP_STATE, ^ /home/pm215/qemu/hw/intc/xics_kvm.c:55:15: error: ‘KVM_REG_PPC_ICP_STATE’ undeclared (first use in this function) .id = KVM_REG_PPC_ICP_STATE, ^ etc -- looks like missing a kvm include somewhere. x86-64 Linux host build: /home/petmay01/linaro/qemu-for-merges/xen-hvm.c: In function ‘xen_ram_alloc’: /home/petmay01/linaro/qemu-for-merges/xen-hvm.c:260:22: error: ‘TARGET_PAGE_BITS’ undeclared (first use in this function) nr_pfn = size >> TARGET_PAGE_BITS; ^ /home/petmay01/linaro/qemu-for-merges/xen-hvm.c:260:22: note: each undeclared identifier is reported only once for each function it appears in /home/petmay01/linaro/qemu-for-merges/xen-hvm.c: In function ‘get_physmapping’: /home/petmay01/linaro/qemu-for-merges/xen-hvm.c:280:19: error: ‘TARGET_PAGE_MASK’ undeclared (first use in this function) start_addr &= TARGET_PAGE_MASK; ^ /home/petmay01/linaro/qemu-for-merges/xen-hvm.c: In function ‘xen_phys_offset_to_gaddr’: /home/petmay01/linaro/qemu-for-merges/xen-hvm.c:293:32: error: ‘TARGET_PAGE_MASK’ undeclared (first use in this function) hwaddr addr = start_addr & TARGET_PAGE_MASK; ^ etc. (I guess your test machine doesn't have the relevant xen headers installed.) (My build scripts don't use -k, so they stop at the first failing compilation unit, give or take the use of make -j.) Built OK for OSX, 64-bit ARM, 32-bit ARM. thanks -- PMM