All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
@ 2016-06-24 14:19 Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers Markus Armbruster
                   ` (5 more replies)
  0 siblings, 6 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

Some time ago, we discussed rules for headers, and these were
generally liked:

1. Have a carefully curated header that's included everywhere first.  We
   got that already thanks to Peter: osdep.h.

2. Headers should normally include everything they need beyond osdep.h.
   If exceptions are needed for some reason, they must be documented in
   the header.  If all that's needed from a header is typedefs, put
   those into qemu/typedefs.h instead of including the header.

3. Cyclic inclusion is forbidden.

Message-ID: <87h9g8j57d.fsf@blackfin.pond.sub.org>
http://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg03345.html

Trouble is we're not exactly close to obeying 2.  This series
demonstrates a possible path towards obeying it: enforce it in "make
check", except for known-bad headers [PATCH 2].  We start with a large
list of known-bad headers, then whittle it down.  Some sample
whittling in PATCH 4+5.

Questions and known issues:

* Makefile.target adds several -I depending on CONFIG_LINUX,
  CONFIG_LINUX_USER, TARGET_BASE_ARCH, TARGET_ABI_DIR, ARCH,
  CONFIG_BSD_USER, HOST_VARIANT_DIR.  Headers that are only included
  by .c files compiled with these extra flags may need to be tested
  with these extra flags.  How?

* Likewise for the -Itests added by Makefile.include, and other -I
  elsewhere.

* Should we exclude certain directories wholesale instead of
  plastering them with FIXME comments?

* We may need additional magic comments in addition to /* FIXME Does
  not pass make check-headers, yet! */ and /* FIXME Does not pass make
  check-headers with CONFIG_WIN32, yet! */, such as /* NOTE: not
  expected to pass make check-headers */.

Number of headers that fail out of all headers, per directory, with
perfect directories omitted:

   6    9 audio
   3    5 block
   2    4 bsd-user
   2    2 bsd-user/i386
   2    2 bsd-user/sparc
   2    2 bsd-user/sparc64
   2    2 bsd-user/x86_64
   6    6 disas/libvixl/vixl
   6    6 disas/libvixl/vixl/a64
   2    2 fpu
   2    6 hw/9pfs
   3    8 hw/audio
   2    2 hw/block
   1    1 hw/cris
  10   14 hw/display
   1    3 hw/i386
   1    3 hw/ide
   3    3 hw/lm32
   1    1 hw/microblaze
   5   10 hw/net
   5    7 hw/net/rocker
   1    4 hw/ppc
   3    5 hw/s390x
   2    6 hw/scsi
   2    3 hw/tpm
   2    7 hw/usb
   1    1 hw/xtensa
   1    6 include
   1   13 include/block
  16   28 include/exec
   2    2 include/exec/user
   1   23 include/hw
   2   13 include/hw/acpi
   7   23 include/hw/arm
   1    3 include/hw/block
   2   10 include/hw/char
   1    2 include/hw/cris
   3    6 include/hw/i2c
   3    9 include/hw/i386
   1    3 include/hw/input
   1   10 include/hw/intc
   1    6 include/hw/isa
   1    1 include/hw/kvm
   2    4 include/hw/mips
   3   19 include/hw/misc
   1    4 include/hw/net
   1    4 include/hw/nvram
   2   16 include/hw/pci
   1    6 include/hw/pci-host
   6   10 include/hw/ppc
   1    3 include/hw/sparc
   1    3 include/hw/ssi
   3   14 include/hw/timer
   3   14 include/hw/virtio
   1    5 include/libdecnumber
   1    8 include/migration
   1    3 include/monitor
   2   59 include/qemu
   9   31 include/sysemu
   7   11 include/ui
   1    3 linux-headers/asm-arm64
   1    3 linux-headers/asm-mips
   1    4 linux-headers/asm-powerpc
   6   10 linux-user
   4    6 linux-user/aarch64
   5    6 linux-user/alpha
   5    6 linux-user/arm
   2    3 linux-user/arm/nwfpe
   4    6 linux-user/cris
   5    6 linux-user/i386
   5    6 linux-user/m68k
   4    6 linux-user/microblaze
   5    6 linux-user/mips
   6    6 linux-user/mips64
   5    6 linux-user/openrisc
   6    6 linux-user/ppc
   5    6 linux-user/s390x
   4    6 linux-user/sh4
   5    6 linux-user/sparc
   5    6 linux-user/sparc64
   4    6 linux-user/tilegx
   5    6 linux-user/unicore32
   5    6 linux-user/x86_64
   1    1 pc-bios/optionrom
   7    8 pc-bios/s390-ccw
   2    4 qga
   2    2 qga/vss-win32
   1    1 replay
   1    1 scripts
  15   21 slirp
   2    3 target-alpha
   8   11 target-arm
   3    7 target-cris
   9   10 target-i386
   2    3 target-lm32
   2    3 target-m68k
   3    5 target-microblaze
   5    5 target-mips
   4    4 target-moxie
   3    3 target-openrisc
   8    8 target-ppc
   2    3 target-s390x
   2    3 target-sh4
   3    3 target-sparc
   2    4 target-tilegx
   4    5 target-tricore
   2    3 target-unicore32
   3    4 target-xtensa
   6    6 tcg
   1    1 tcg/mips
   1    4 tests
   2    2 tests/multiboot
   3    3 tests/tcg
   2    2 tests/tcg/cris
   1    1 tests/tcg/mips/mips64-dsp
   1    1 tests/tcg/mips/mips64-dspr2
   4    7 trace
  12   20 ui
-----------------------------------------------
 394 1034 total (including perfect directories)

v2:
* PATCH 2:
  - Use fixed-format FIXME comments in headers instead of a blacklist
    in the makefile [Paolo]
  - Make target check-source [Peter]
  - Special-case CONFIG_WIN32
* PATCH 3:
  - replaced by an unrelated one that makes actual sense (I hope)

Markus Armbruster (5):
  Use #include "..." exactly for our own headers
  tests: New make target check-source
  tests: Make check-block a phony target
  include: Move typedef qemu_irq to qemu/typedefs.h
  include: Include exec/hwaddr.h where hwaddr is used

 audio/audio_int.h                         |  3 +++
 audio/audio_template.h                    |  2 ++
 audio/audio_win_int.h                     |  2 ++
 audio/dsound_template.h                   |  3 +++
 audio/mixeng_template.h                   |  2 ++
 audio/rate_template.h                     |  2 ++
 block/iscsi.c                             |  1 -
 block/qcow2.h                             |  2 ++
 block/raw-aio.h                           |  3 +++
 block/vhdx.h                              |  2 ++
 bsd-user/i386/target_signal.h             |  2 ++
 bsd-user/i386/target_syscall.h            |  2 ++
 bsd-user/qemu.h                           |  3 +++
 bsd-user/sparc/target_signal.h            |  2 ++
 bsd-user/sparc/target_syscall.h           |  2 ++
 bsd-user/sparc64/target_signal.h          |  2 ++
 bsd-user/sparc64/target_syscall.h         |  2 ++
 bsd-user/syscall_defs.h                   |  2 ++
 bsd-user/x86_64/target_signal.h           |  2 ++
 bsd-user/x86_64/target_syscall.h          |  2 ++
 contrib/ivshmem-client/ivshmem-client.h   |  2 ++
 contrib/ivshmem-server/ivshmem-server.h   |  2 ++
 crypto/pbkdf-gcrypt.c                     |  2 +-
 crypto/pbkdf-nettle.c                     |  2 +-
 disas/libvixl/vixl/a64/assembler-a64.h    |  2 ++
 disas/libvixl/vixl/a64/constants-a64.h    |  2 ++
 disas/libvixl/vixl/a64/cpu-a64.h          |  2 ++
 disas/libvixl/vixl/a64/decoder-a64.h      |  2 ++
 disas/libvixl/vixl/a64/disasm-a64.h       |  2 ++
 disas/libvixl/vixl/a64/instructions-a64.h |  2 ++
 disas/libvixl/vixl/code-buffer.h          |  2 ++
 disas/libvixl/vixl/compiler-intrinsics.h  |  2 ++
 disas/libvixl/vixl/globals.h              |  2 ++
 disas/libvixl/vixl/invalset.h             |  2 ++
 disas/libvixl/vixl/platform.h             |  2 ++
 disas/libvixl/vixl/utils.h                |  2 ++
 exec.c                                    |  2 +-
 fpu/softfloat-macros.h                    |  2 ++
 fpu/softfloat-specialize.h                |  2 ++
 fsdev/file-op-9p.h                        |  3 +++
 fsdev/qemu-fsdev.h                        |  3 +++
 hw/9pfs/9p-proxy.h                        |  3 +++
 hw/9pfs/9p-synth.h                        |  3 +++
 hw/9pfs/9p-xattr.h                        |  3 +++
 hw/9pfs/9p.h                              |  2 ++
 hw/9pfs/coth.h                            |  2 ++
 hw/9pfs/virtio-9p.h                       |  2 ++
 hw/audio/fmopl.h                          |  2 ++
 hw/audio/hda-codec-common.h               |  2 ++
 hw/audio/lm4549.h                         |  3 +++
 hw/block/nvme.h                           |  2 ++
 hw/block/xen_blkif.h                      |  2 ++
 hw/cris/boot.h                            |  4 ++++
 hw/display/cirrus_vga_rop.h               |  2 ++
 hw/display/cirrus_vga_rop2.h              |  2 ++
 hw/display/milkymist-vgafb_template.h     |  2 ++
 hw/display/omap_lcd_template.h            |  2 ++
 hw/display/pl110_template.h               |  2 ++
 hw/display/pxa2xx_template.h              |  2 ++
 hw/display/qxl.h                          |  2 ++
 hw/display/sm501_template.h               |  2 ++
 hw/display/tc6393xb_template.h            |  2 ++
 hw/display/vga-helpers.h                  |  2 ++
 hw/display/vga_int.h                      |  3 +++
 hw/i386/intel_iommu_internal.h            |  6 ++++--
 hw/ide/ahci.h                             |  2 ++
 hw/lm32/lm32.h                            |  2 ++
 hw/lm32/lm32_hwsetup.h                    |  2 ++
 hw/lm32/milkymist-hw.h                    |  2 ++
 hw/microblaze/boot.h                      |  2 ++
 hw/net/e1000e_core.h                      |  9 +++++++++
 hw/net/e1000x_common.h                    |  2 ++
 hw/net/ne2000.h                           |  2 ++
 hw/net/pcnet.h                            |  2 ++
 hw/net/rocker/rocker_desc.h               |  2 ++
 hw/net/rocker/rocker_fp.h                 |  2 ++
 hw/net/rocker/rocker_of_dpa.h             |  2 ++
 hw/net/rocker/rocker_tlv.h                |  2 ++
 hw/net/rocker/rocker_world.h              |  2 ++
 hw/net/vmware_utils.h                     |  3 +++
 hw/ppc/ppc405.h                           |  2 ++
 hw/s390x/ipl.h                            |  2 ++
 hw/s390x/s390-pci-inst.h                  |  2 ++
 hw/s390x/s390-virtio.h                    |  2 ++
 hw/scsi/mptsas.h                          |  3 +++
 hw/scsi/viosrp.h                          |  3 +++
 hw/scsi/virtio-scsi-dataplane.c           |  2 +-
 hw/scsi/virtio-scsi.c                     |  2 +-
 hw/tpm/tpm_int.h                          |  3 +++
 hw/tpm/tpm_tis.h                          |  3 +++
 hw/usb/desc.h                             |  2 ++
 hw/usb/quirks.h                           |  2 ++
 hw/vfio/pci.h                             |  3 +++
 hw/xen/xen_pt.h                           |  2 ++
 hw/xenpv/xen_domainbuild.h                |  2 ++
 hw/xtensa/bootparam.h                     |  2 ++
 include/block/write-threshold.h           |  3 +++
 include/disas/disas.h                     |  1 +
 include/exec/cpu-all.h                    |  3 +++
 include/exec/cpu-defs.h                   |  3 +++
 include/exec/cpu_ldst.h                   |  2 ++
 include/exec/cpu_ldst_template.h          |  2 ++
 include/exec/cpu_ldst_useronly_template.h |  2 ++
 include/exec/cputlb.h                     |  3 +++
 include/exec/exec-all.h                   |  2 ++
 include/exec/gen-icount.h                 |  2 ++
 include/exec/helper-gen.h                 |  2 ++
 include/exec/helper-proto.h               |  2 ++
 include/exec/helper-tcg.h                 |  2 ++
 include/exec/ioport.h                     |  2 ++
 include/exec/memory-internal.h            |  2 ++
 include/exec/ram_addr.h                   |  2 ++
 include/exec/softmmu-semi.h               |  3 +++
 include/exec/tb-hash.h                    |  2 ++
 include/exec/user/abitypes.h              |  2 ++
 include/exec/user/thunk.h                 |  3 +++
 include/hw/acpi/piix4.h                   |  2 ++
 include/hw/acpi/tco.h                     |  3 +++
 include/hw/arm/allwinner-a10.h            |  2 ++
 include/hw/arm/bcm2836.h                  |  2 ++
 include/hw/arm/digic.h                    |  2 ++
 include/hw/arm/fsl-imx25.h                |  2 ++
 include/hw/arm/fsl-imx31.h                |  2 ++
 include/hw/arm/fsl-imx6.h                 |  2 ++
 include/hw/arm/sharpsl.h                  |  3 +++
 include/hw/arm/xlnx-zynqmp.h              |  2 ++
 include/hw/block/fdc.h                    |  1 +
 include/hw/block/flash.h                  |  2 ++
 include/hw/char/escc.h                    |  2 ++
 include/hw/char/pl011.h                   |  4 ++++
 include/hw/char/xilinx_uartlite.h         |  4 ++++
 include/hw/cris/etraxfs.h                 |  2 ++
 include/hw/cris/etraxfs_dma.h             |  2 ++
 include/hw/elf_ops.h                      |  2 ++
 include/hw/empty_slot.h                   |  2 ++
 include/hw/i2c/aspeed_i2c.h               |  3 +++
 include/hw/i2c/i2c-ddc.h                  |  2 ++
 include/hw/i2c/pm_smbus.h                 |  2 ++
 include/hw/i386/apic_internal.h           |  3 +++
 include/hw/i386/intel_iommu.h             |  6 ++++--
 include/hw/i386/ioapic_internal.h         |  2 ++
 include/hw/input/hid.h                    |  2 ++
 include/hw/intc/allwinner-a10-pic.h       |  2 ++
 include/hw/irq.h                          |  2 --
 include/hw/isa/i8257.h                    |  2 ++
 include/hw/kvm/clock.h                    |  2 ++
 include/hw/mips/bios.h                    |  2 ++
 include/hw/mips/cpudevs.h                 |  2 ++
 include/hw/misc/mips_cmgcr.h              |  3 +++
 include/hw/misc/mips_cpc.h                |  2 ++
 include/hw/misc/mips_itu.h                |  2 ++
 include/hw/net/allwinner_emac.h           |  3 +++
 include/hw/nvram/openbios_firmware_abi.h  |  2 ++
 include/hw/pci-host/apb.h                 |  1 +
 include/hw/pci-host/spapr.h               |  3 +++
 include/hw/pci/pci_bus.h                  |  2 ++
 include/hw/pci/pcie_aer.h                 |  2 ++
 include/hw/ppc/ppc.h                      |  2 ++
 include/hw/ppc/ppc4xx.h                   |  2 ++
 include/hw/ppc/spapr.h                    |  2 ++
 include/hw/ppc/spapr_cpu_core.h           |  3 +++
 include/hw/ppc/spapr_drc.h                |  3 +++
 include/hw/ppc/spapr_vio.h                |  2 ++
 include/hw/ppc/xics.h                     |  3 +++
 include/hw/sparc/grlib.h                  |  2 ++
 include/hw/sparc/sparc32_dma.h            |  2 ++
 include/hw/ssi/xilinx_spips.h             |  2 ++
 include/hw/timer/allwinner-a10-pit.h      |  2 ++
 include/hw/timer/aspeed_timer.h           |  3 +++
 include/hw/timer/i8254_internal.h         |  2 ++
 include/hw/timer/m48t59.h                 |  1 +
 include/hw/virtio/virtio-access.h         |  3 +++
 include/hw/virtio/virtio-input.h          |  2 ++
 include/hw/virtio/virtio-rng.h            |  2 ++
 include/hw/xen/xen_backend.h              |  2 ++
 include/hw/xen/xen_common.h               |  2 ++
 include/libdecnumber/decNumberLocal.h     |  2 ++
 include/migration/cpu.h                   |  3 +++
 include/monitor/hmp-target.h              |  3 +++
 include/qemu/compatfd.h                   |  2 ++
 include/qemu/ratelimit.h                  |  2 ++
 include/qemu/thread-win32.h               |  2 ++
 include/qemu/typedefs.h                   |  4 +---
 include/qemu/xattr.h                      |  3 +++
 include/sysemu/balloon.h                  |  2 ++
 include/sysemu/cpus.h                     |  2 ++
 include/sysemu/dump.h                     |  2 ++
 include/sysemu/iothread.h                 |  2 ++
 include/sysemu/kvm_int.h                  |  2 ++
 include/sysemu/memory_mapping.h           |  2 ++
 include/sysemu/os-posix.h                 |  2 ++
 include/sysemu/os-win32.h                 |  2 ++
 include/sysemu/seccomp.h                  |  3 +++
 include/sysemu/tpm.h                      |  3 +++
 include/sysemu/xen-mapcache.h             |  3 +++
 include/trace-tcg.h                       |  2 ++
 include/ui/egl-context.h                  |  2 ++
 include/ui/egl-helpers.h                  |  2 ++
 include/ui/gtk.h                          |  2 ++
 include/ui/input.h                        |  2 ++
 include/ui/pixel_ops.h                    |  2 ++
 include/ui/sdl2.h                         |  2 ++
 include/ui/shader.h                       |  2 ++
 include/ui/spice-display.h                |  2 ++
 linux-headers/asm-arm/kvm.h               |  2 ++
 linux-headers/asm-arm/kvm_para.h          |  2 ++
 linux-headers/asm-arm64/kvm.h             |  2 ++
 linux-headers/asm-arm64/kvm_para.h        |  2 ++
 linux-headers/asm-arm64/unistd.h          |  2 ++
 linux-headers/asm-mips/kvm.h              |  2 ++
 linux-headers/asm-mips/unistd.h           |  3 +++
 linux-headers/asm-powerpc/kvm.h           |  2 ++
 linux-headers/asm-powerpc/kvm_para.h      |  2 ++
 linux-headers/asm-s390/kvm.h              |  2 ++
 linux-headers/asm-x86/kvm.h               |  2 ++
 linux-headers/asm-x86/kvm_para.h          |  2 ++
 linux-headers/asm-x86/unistd.h            |  2 ++
 linux-headers/linux/kvm.h                 |  2 ++
 linux-headers/linux/kvm_para.h            |  2 ++
 linux-headers/linux/userfaultfd.h         |  2 ++
 linux-headers/linux/vfio.h                |  3 +++
 linux-headers/linux/vhost.h               |  2 ++
 linux-user/aarch64/target_cpu.h           |  3 +++
 linux-user/aarch64/target_signal.h        |  2 ++
 linux-user/aarch64/target_structs.h       |  3 +++
 linux-user/aarch64/termbits.h             |  2 ++
 linux-user/alpha/target_cpu.h             |  3 +++
 linux-user/alpha/target_signal.h          |  2 ++
 linux-user/alpha/target_structs.h         |  3 +++
 linux-user/alpha/target_syscall.h         |  2 ++
 linux-user/alpha/termbits.h               |  2 ++
 linux-user/arm/nwfpe/fpa11.h              |  2 ++
 linux-user/arm/nwfpe/fpopcode.h           |  2 ++
 linux-user/arm/target_cpu.h               |  3 +++
 linux-user/arm/target_signal.h            |  2 ++
 linux-user/arm/target_structs.h           |  3 +++
 linux-user/arm/target_syscall.h           |  2 ++
 linux-user/arm/termbits.h                 |  2 ++
 linux-user/cris/target_cpu.h              |  3 +++
 linux-user/cris/target_signal.h           |  2 ++
 linux-user/cris/target_structs.h          |  3 +++
 linux-user/cris/termbits.h                |  2 ++
 linux-user/flat.h                         |  2 ++
 linux-user/flatload.c                     |  2 +-
 linux-user/host/x86_64/hostdep.h          |  2 ++
 linux-user/i386/target_cpu.h              |  2 ++
 linux-user/i386/target_signal.h           |  2 ++
 linux-user/i386/target_structs.h          |  3 +++
 linux-user/i386/target_syscall.h          |  2 ++
 linux-user/i386/termbits.h                |  2 ++
 linux-user/ioctls.h                       |  2 ++
 linux-user/linux_loop.h                   |  3 +++
 linux-user/m68k/target_cpu.h              |  2 ++
 linux-user/m68k/target_signal.h           |  2 ++
 linux-user/m68k/target_structs.h          |  3 +++
 linux-user/m68k/target_syscall.h          |  2 ++
 linux-user/m68k/termbits.h                |  2 ++
 linux-user/microblaze/target_cpu.h        |  3 +++
 linux-user/microblaze/target_signal.h     |  2 ++
 linux-user/microblaze/target_structs.h    |  3 +++
 linux-user/microblaze/termbits.h          |  2 ++
 linux-user/mips/target_cpu.h              |  3 +++
 linux-user/mips/target_signal.h           |  2 ++
 linux-user/mips/target_structs.h          |  3 +++
 linux-user/mips/target_syscall.h          |  2 ++
 linux-user/mips/termbits.h                |  2 ++
 linux-user/mips64/syscall_nr.h            |  2 ++
 linux-user/mips64/target_cpu.h            |  3 +++
 linux-user/mips64/target_signal.h         |  2 ++
 linux-user/mips64/target_structs.h        |  2 ++
 linux-user/mips64/target_syscall.h        |  2 ++
 linux-user/mips64/termbits.h              |  2 ++
 linux-user/openrisc/target_cpu.h          |  2 ++
 linux-user/openrisc/target_signal.h       |  2 ++
 linux-user/openrisc/target_structs.h      |  3 +++
 linux-user/openrisc/target_syscall.h      |  2 ++
 linux-user/openrisc/termbits.h            |  2 ++
 linux-user/ppc/syscall_nr.h               |  3 +++
 linux-user/ppc/target_cpu.h               |  3 +++
 linux-user/ppc/target_signal.h            |  2 ++
 linux-user/ppc/target_structs.h           |  3 +++
 linux-user/ppc/target_syscall.h           |  2 ++
 linux-user/ppc/termbits.h                 |  2 ++
 linux-user/qemu.h                         |  2 ++
 linux-user/s390x/target_cpu.h             |  3 +++
 linux-user/s390x/target_signal.h          |  2 ++
 linux-user/s390x/target_structs.h         |  3 +++
 linux-user/s390x/target_syscall.h         |  2 ++
 linux-user/s390x/termbits.h               |  2 ++
 linux-user/sh4/target_cpu.h               |  3 +++
 linux-user/sh4/target_signal.h            |  2 ++
 linux-user/sh4/target_structs.h           |  3 +++
 linux-user/sh4/termbits.h                 |  2 ++
 linux-user/socket.h                       |  1 +
 linux-user/sparc/target_cpu.h             |  3 +++
 linux-user/sparc/target_signal.h          |  2 ++
 linux-user/sparc/target_structs.h         |  3 +++
 linux-user/sparc/target_syscall.h         |  2 ++
 linux-user/sparc/termbits.h               |  2 ++
 linux-user/sparc64/target_cpu.h           |  2 ++
 linux-user/sparc64/target_signal.h        |  2 ++
 linux-user/sparc64/target_structs.h       |  3 +++
 linux-user/sparc64/target_syscall.h       |  2 ++
 linux-user/sparc64/termbits.h             |  2 ++
 linux-user/syscall_defs.h                 |  2 ++
 linux-user/syscall_types.h                |  2 ++
 linux-user/tilegx/target_cpu.h            |  3 +++
 linux-user/tilegx/target_signal.h         |  2 ++
 linux-user/tilegx/target_structs.h        |  3 +++
 linux-user/tilegx/target_syscall.h        |  2 ++
 linux-user/uname.h                        |  2 ++
 linux-user/unicore32/target_cpu.h         |  3 +++
 linux-user/unicore32/target_signal.h      |  3 +++
 linux-user/unicore32/target_structs.h     |  3 +++
 linux-user/unicore32/target_syscall.h     |  3 +++
 linux-user/unicore32/termbits.h           |  3 +++
 linux-user/x86_64/target_cpu.h            |  2 ++
 linux-user/x86_64/target_signal.h         |  2 ++
 linux-user/x86_64/target_structs.h        |  3 +++
 linux-user/x86_64/target_syscall.h        |  2 ++
 linux-user/x86_64/termbits.h              |  2 ++
 monitor.c                                 |  2 +-
 pc-bios/optionrom/optionrom.h             |  2 ++
 pc-bios/s390-ccw/bootmap.h                |  3 +++
 pc-bios/s390-ccw/cio.h                    |  2 ++
 pc-bios/s390-ccw/iplb.h                   |  2 ++
 pc-bios/s390-ccw/s390-ccw.h               |  2 ++
 pc-bios/s390-ccw/scsi.h                   |  2 ++
 pc-bios/s390-ccw/virtio-scsi.h            |  2 ++
 pc-bios/s390-ccw/virtio.h                 |  2 ++
 qemu-options-wrapper.h                    |  1 +
 qga/guest-agent-core.h                    |  3 +++
 qga/service-win32.h                       |  3 +++
 qga/vss-win32/requester.h                 |  2 ++
 qga/vss-win32/vss-common.h                |  2 ++
 replay/replay-internal.h                  |  2 ++
 scripts/cocci-macro-file.h                |  2 ++
 scripts/tracetool/format/tcg_h.py         |  2 ++
 slirp/bootp.c                             |  2 +-
 slirp/bootp.h                             |  3 +++
 slirp/cksum.c                             |  2 +-
 slirp/if.c                                |  2 +-
 slirp/ip.h                                |  2 ++
 slirp/ip6_icmp.h                          |  2 ++
 slirp/ip_icmp.h                           |  2 ++
 slirp/ip_input.c                          |  2 +-
 slirp/ip_output.c                         |  2 +-
 slirp/main.h                              |  3 +++
 slirp/mbuf.c                              |  2 +-
 slirp/mbuf.h                              |  2 ++
 slirp/misc.c                              |  5 ++---
 slirp/misc.h                              |  2 ++
 slirp/sbuf.c                              |  4 ++--
 slirp/sbuf.h                              |  2 ++
 slirp/socket.c                            |  2 +-
 slirp/socket.h                            |  2 ++
 slirp/tcp.h                               |  2 ++
 slirp/tcp_input.c                         |  2 +-
 slirp/tcp_output.c                        |  2 +-
 slirp/tcp_subr.c                          |  2 +-
 slirp/tcp_timer.c                         |  2 +-
 slirp/tcp_timer.h                         |  2 ++
 slirp/tcp_var.h                           |  2 ++
 slirp/tcpip.h                             |  2 ++
 slirp/tftp.c                              |  2 +-
 slirp/tftp.h                              |  3 +++
 slirp/udp.c                               |  2 +-
 slirp/udp.h                               |  2 ++
 softmmu_template.h                        |  3 +++
 target-alpha/cpu.h                        |  2 ++
 target-alpha/helper.h                     |  2 ++
 target-arm/arm-powerctl.c                 |  4 ++--
 target-arm/arm_ldst.h                     |  2 ++
 target-arm/cpu.h                          |  3 +++
 target-arm/helper-a64.h                   |  3 +++
 target-arm/helper.h                       |  2 ++
 target-arm/internals.h                    |  2 ++
 target-arm/kvm_arm.h                      |  2 ++
 target-arm/op_addsub.h                    |  2 ++
 target-arm/psci.c                         |  8 ++++----
 target-arm/translate.h                    |  2 ++
 target-cris/cpu.h                         |  3 +++
 target-cris/helper.h                      |  2 ++
 target-cris/mmu.h                         |  2 ++
 target-i386/cc_helper_template.h          |  2 ++
 target-i386/cpu-qom.h                     |  3 +++
 target-i386/cpu.h                         |  3 +++
 target-i386/helper.h                      |  2 ++
 target-i386/hyperv.h                      |  2 ++
 target-i386/kvm_i386.h                    |  2 ++
 target-i386/ops_sse.h                     |  2 ++
 target-i386/ops_sse_header.h              |  3 +++
 target-i386/shift_helper_template.h       |  2 ++
 target-lm32/cpu.h                         |  2 ++
 target-lm32/helper.h                      |  2 ++
 target-m68k/cpu.h                         |  3 +++
 target-m68k/helper.h                      |  2 ++
 target-microblaze/cpu.h                   |  3 +++
 target-microblaze/helper.h                |  2 ++
 target-microblaze/mmu.h                   |  2 ++
 target-mips/cpu-qom.h                     |  3 +++
 target-mips/cpu.h                         |  2 ++
 target-mips/helper.h                      |  2 ++
 target-mips/kvm_mips.h                    |  4 +++-
 target-mips/mips-defs.h                   |  2 ++
 target-moxie/cpu.h                        |  3 +++
 target-moxie/helper.h                     |  2 ++
 target-moxie/machine.h                    |  2 ++
 target-moxie/mmu.h                        |  2 ++
 target-openrisc/cpu.h                     |  2 ++
 target-openrisc/exception.h               |  2 ++
 target-openrisc/helper.h                  |  2 ++
 target-ppc/cpu-models.h                   |  3 +++
 target-ppc/cpu-qom.h                      |  3 +++
 target-ppc/cpu.h                          |  3 +++
 target-ppc/helper.h                       |  2 ++
 target-ppc/helper_regs.h                  |  2 ++
 target-ppc/kvm_ppc.h                      |  2 ++
 target-ppc/mmu-hash32.h                   |  4 ++++
 target-ppc/mmu-hash64.h                   |  2 ++
 target-ppc/translate_init.c               |  2 +-
 target-s390x/cpu.h                        |  5 ++++-
 target-s390x/helper.h                     |  2 ++
 target-sh4/cpu.h                          |  3 +++
 target-sh4/helper.h                       |  2 ++
 target-sparc/cpu-qom.h                    |  3 +++
 target-sparc/cpu.h                        |  2 ++
 target-sparc/helper.h                     |  2 ++
 target-tilegx/cpu.h                       |  3 +++
 target-tilegx/helper.h                    |  2 ++
 target-tricore/cpu.h                      |  3 +++
 target-tricore/helper.h                   |  2 ++
 target-tricore/tricore-defs.h             |  2 ++
 target-tricore/tricore-opcodes.h          |  2 ++
 target-unicore32/cpu.h                    |  3 +++
 target-unicore32/helper.h                 |  2 ++
 target-unicore32/softmmu.c                |  2 +-
 target-xtensa/cpu.h                       |  2 ++
 target-xtensa/helper.h                    |  2 ++
 target-xtensa/overlay_tool.h              |  2 ++
 tcg/mips/tcg-target.h                     |  3 +++
 tcg/tcg-be-ldst.h                         |  2 ++
 tcg/tcg-be-null.h                         |  2 ++
 tcg/tcg-op.h                              |  2 ++
 tcg/tcg-opc.h                             |  2 ++
 tcg/tcg-runtime.h                         |  2 ++
 tcg/tcg.h                                 |  2 ++
 tests/Makefile.include                    | 27 +++++++++++++++++++++++++--
 tests/crypto-tls-x509-helpers.h           |  2 ++
 tests/multiboot/libc.h                    |  2 ++
 tests/multiboot/multiboot.h               |  2 ++
 tests/postcopy-test.c                     |  3 +--
 tests/tcg/cris/crisutils.h                |  2 ++
 tests/tcg/cris/sys.h                      |  2 ++
 tests/tcg/mips/mips64-dsp/io.h            |  2 ++
 tests/tcg/mips/mips64-dspr2/io.h          |  2 ++
 tests/tcg/test-i386-muldiv.h              |  1 +
 tests/tcg/test-i386-shift.h               |  1 +
 tests/tcg/test-i386.h                     |  1 +
 tests/vhost-user-bridge.c                 |  2 --
 tests/vhost-user-test.c                   |  2 +-
 trace/control-internal.h                  |  2 ++
 trace/mem-internal.h                      |  2 ++
 trace/mem.h                               |  2 ++
 trace/simple.h                            |  2 ++
 translate-all.h                           |  3 +++
 ui/curses_keys.h                          |  2 ++
 ui/sdl2-keymap.h                          |  1 +
 ui/sdl_keysym.h                           |  1 +
 ui/sdl_zoom.h                             |  2 ++
 ui/sdl_zoom_template.h                    |  2 ++
 ui/vgafont.h                              |  2 ++
 ui/vnc-auth-sasl.h                        |  2 ++
 ui/vnc-auth-vencrypt.h                    |  2 ++
 ui/vnc-enc-hextile-template.h             |  2 ++
 ui/vnc-jobs.h                             |  2 ++
 ui/vnc-ws.h                               |  2 ++
 ui/vnc_keysym.h                           |  1 +
 util/mmap-alloc.c                         |  3 ++-
 util/oslib-posix.c                        |  2 +-
 480 files changed, 1068 insertions(+), 54 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
@ 2016-06-24 14:19 ` Markus Armbruster
  2016-06-24 14:54   ` Eric Blake
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source Markus Armbruster
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
 block/iscsi.c                   | 1 -
 crypto/pbkdf-gcrypt.c           | 2 +-
 crypto/pbkdf-nettle.c           | 2 +-
 exec.c                          | 2 +-
 hw/scsi/virtio-scsi-dataplane.c | 2 +-
 hw/scsi/virtio-scsi.c           | 2 +-
 linux-user/flatload.c           | 2 +-
 monitor.c                       | 2 +-
 slirp/bootp.c                   | 2 +-
 slirp/cksum.c                   | 2 +-
 slirp/if.c                      | 2 +-
 slirp/ip_input.c                | 2 +-
 slirp/ip_output.c               | 2 +-
 slirp/mbuf.c                    | 2 +-
 slirp/misc.c                    | 5 ++---
 slirp/sbuf.c                    | 4 ++--
 slirp/socket.c                  | 2 +-
 slirp/tcp_input.c               | 2 +-
 slirp/tcp_output.c              | 2 +-
 slirp/tcp_subr.c                | 2 +-
 slirp/tcp_timer.c               | 2 +-
 slirp/tftp.c                    | 2 +-
 slirp/udp.c                     | 2 +-
 target-arm/arm-powerctl.c       | 4 ++--
 target-arm/psci.c               | 8 ++++----
 target-ppc/translate_init.c     | 2 +-
 target-s390x/cpu.h              | 2 +-
 target-unicore32/softmmu.c      | 2 +-
 tests/postcopy-test.c           | 3 +--
 tests/vhost-user-bridge.c       | 2 --
 tests/vhost-user-test.c         | 2 +-
 util/mmap-alloc.c               | 3 ++-
 util/oslib-posix.c              | 2 +-
 33 files changed, 38 insertions(+), 42 deletions(-)

diff --git a/block/iscsi.c b/block/iscsi.c
index 7e78ade..74f084ca 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -46,7 +46,6 @@
 
 #ifdef __linux__
 #include <scsi/sg.h>
-#include <block/scsi.h>
 #endif
 
 typedef struct IscsiLun {
diff --git a/crypto/pbkdf-gcrypt.c b/crypto/pbkdf-gcrypt.c
index 997b311..34af3a9 100644
--- a/crypto/pbkdf-gcrypt.c
+++ b/crypto/pbkdf-gcrypt.c
@@ -19,9 +19,9 @@
  */
 
 #include "qemu/osdep.h"
+#include <gcrypt.h>
 #include "qapi/error.h"
 #include "crypto/pbkdf.h"
-#include "gcrypt.h"
 
 bool qcrypto_pbkdf2_supports(QCryptoHashAlgorithm hash)
 {
diff --git a/crypto/pbkdf-nettle.c b/crypto/pbkdf-nettle.c
index db9fc15..d681a60 100644
--- a/crypto/pbkdf-nettle.c
+++ b/crypto/pbkdf-nettle.c
@@ -19,9 +19,9 @@
  */
 
 #include "qemu/osdep.h"
+#include <nettle/pbkdf2.h>
 #include "qapi/error.h"
 #include "crypto/pbkdf.h"
-#include "nettle/pbkdf2.h"
 
 
 bool qcrypto_pbkdf2_supports(QCryptoHashAlgorithm hash)
diff --git a/exec.c b/exec.c
index 0122ef7..011babd 100644
--- a/exec.c
+++ b/exec.c
@@ -36,7 +36,7 @@
 #include "qemu/config-file.h"
 #include "qemu/error-report.h"
 #if defined(CONFIG_USER_ONLY)
-#include <qemu.h>
+#include "qemu.h"
 #else /* !CONFIG_USER_ONLY */
 #include "hw/hw.h"
 #include "exec/memory.h"
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index 1a49f1e..64c263f 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -16,7 +16,7 @@
 #include "qemu/error-report.h"
 #include "sysemu/block-backend.h"
 #include <hw/scsi/scsi.h>
-#include <block/scsi.h>
+#include "block/scsi.h"
 #include <hw/virtio/virtio-bus.h>
 #include "hw/virtio/virtio-access.h"
 
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 71d09d3..a41f3e9 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -21,7 +21,7 @@
 #include "qemu/iov.h"
 #include "sysemu/block-backend.h"
 #include <hw/scsi/scsi.h>
-#include <block/scsi.h>
+#include "block/scsi.h"
 #include <hw/virtio/virtio-bus.h>
 #include "hw/virtio/virtio-access.h"
 
diff --git a/linux-user/flatload.c b/linux-user/flatload.c
index 48ad1c5..42d1079 100644
--- a/linux-user/flatload.c
+++ b/linux-user/flatload.c
@@ -37,7 +37,7 @@
 
 #include "qemu.h"
 #include "flat.h"
-#include <target_flat.h>
+#include "target_flat.h"
 
 //#define DEBUG
 
diff --git a/monitor.c b/monitor.c
index 6f960f1..6770c8c 100644
--- a/monitor.c
+++ b/monitor.c
@@ -62,7 +62,7 @@
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/json-streamer.h"
 #include "qapi/qmp/json-parser.h"
-#include <qom/object_interfaces.h>
+#include "qom/object_interfaces.h"
 #include "cpu.h"
 #include "trace.h"
 #include "trace/control.h"
diff --git a/slirp/bootp.c b/slirp/bootp.c
index 7b3232b..5a4646c 100644
--- a/slirp/bootp.c
+++ b/slirp/bootp.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 #if defined(_WIN32)
 /* Windows ntohl() returns an u_long value.
diff --git a/slirp/cksum.c b/slirp/cksum.c
index 2ad0e65..6d73abf 100644
--- a/slirp/cksum.c
+++ b/slirp/cksum.c
@@ -31,7 +31,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 /*
  * Checksum routine for Internet Protocol family headers (Portable Version).
diff --git a/slirp/if.c b/slirp/if.c
index 9b02180..51ae0d0 100644
--- a/slirp/if.c
+++ b/slirp/if.c
@@ -6,7 +6,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "qemu/timer.h"
 
 static void
diff --git a/slirp/ip_input.c b/slirp/ip_input.c
index 34fba2b..348e1dc 100644
--- a/slirp/ip_input.c
+++ b/slirp/ip_input.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "ip_icmp.h"
 
 static struct ip *ip_reass(Slirp *slirp, struct ip *ip, struct ipq *fp);
diff --git a/slirp/ip_output.c b/slirp/ip_output.c
index 0d6b3b8..db403f0 100644
--- a/slirp/ip_output.c
+++ b/slirp/ip_output.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 /* Number of packets queued before we start sending
  * (to prevent allocing too many mbufs) */
diff --git a/slirp/mbuf.c b/slirp/mbuf.c
index d136988..7eddc21 100644
--- a/slirp/mbuf.c
+++ b/slirp/mbuf.c
@@ -16,7 +16,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 #define MBUF_THRESH 30
 
diff --git a/slirp/misc.c b/slirp/misc.c
index 1a0ea1b..88e9d94 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -6,9 +6,8 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
-#include <libslirp.h>
-
+#include "slirp.h"
+#include "libslirp.h"
 #include "monitor/monitor.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
diff --git a/slirp/sbuf.c b/slirp/sbuf.c
index dd4cb8c..10119d3 100644
--- a/slirp/sbuf.c
+++ b/slirp/sbuf.c
@@ -6,8 +6,8 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
-#include <qemu/main-loop.h>
+#include "slirp.h"
+#include "qemu/main-loop.h"
 
 static void sbappendsb(struct sbuf *sb, struct mbuf *m);
 
diff --git a/slirp/socket.c b/slirp/socket.c
index b336586..2b53cd7 100644
--- a/slirp/socket.c
+++ b/slirp/socket.c
@@ -7,7 +7,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "ip_icmp.h"
 #ifdef __sun__
 #include <sys/filio.h>
diff --git a/slirp/tcp_input.c b/slirp/tcp_input.c
index e2b5d4e..c5063a9 100644
--- a/slirp/tcp_input.c
+++ b/slirp/tcp_input.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "ip_icmp.h"
 
 #define	TCPREXMTTHRESH 3
diff --git a/slirp/tcp_output.c b/slirp/tcp_output.c
index 99b0a9b..819db27 100644
--- a/slirp/tcp_output.c
+++ b/slirp/tcp_output.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 static const u_char  tcp_outflags[TCP_NSTATES] = {
 	TH_RST|TH_ACK, 0,      TH_SYN,        TH_SYN|TH_ACK,
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 6b9fef2..ed16e18 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 /* patchable/settable parameters for tcp */
 /* Don't do rfc1323 performance enhancements */
diff --git a/slirp/tcp_timer.c b/slirp/tcp_timer.c
index 8f5dd77..f9060c7 100644
--- a/slirp/tcp_timer.c
+++ b/slirp/tcp_timer.c
@@ -31,7 +31,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 
 static struct tcpcb *tcp_timers(register struct tcpcb *tp, int timer);
 
diff --git a/slirp/tftp.c b/slirp/tftp.c
index 12b5ff6..8de3bc0 100644
--- a/slirp/tftp.c
+++ b/slirp/tftp.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "qemu-common.h"
 #include "qemu/cutils.h"
 
diff --git a/slirp/udp.c b/slirp/udp.c
index 247024f..93d7224 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -39,7 +39,7 @@
  */
 
 #include "qemu/osdep.h"
-#include <slirp.h>
+#include "slirp.h"
 #include "ip_icmp.h"
 
 static uint8_t udp_tos(struct socket *so);
diff --git a/target-arm/arm-powerctl.c b/target-arm/arm-powerctl.c
index d452230..6519d52 100644
--- a/target-arm/arm-powerctl.c
+++ b/target-arm/arm-powerctl.c
@@ -9,8 +9,8 @@
  */
 
 #include "qemu/osdep.h"
-#include <cpu.h>
-#include <cpu-qom.h>
+#include "cpu.h"
+#include "cpu-qom.h"
 #include "internals.h"
 #include "arm-powerctl.h"
 #include "qemu/log.h"
diff --git a/target-arm/psci.c b/target-arm/psci.c
index 4db9b8c..14316eb 100644
--- a/target-arm/psci.c
+++ b/target-arm/psci.c
@@ -16,10 +16,10 @@
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
-#include <cpu.h>
-#include <exec/helper-proto.h>
-#include <kvm-consts.h>
-#include <sysemu/sysemu.h>
+#include "cpu.h"
+#include "exec/helper-proto.h"
+#include "kvm-consts.h"
+#include "sysemu/sysemu.h"
 #include "internals.h"
 #include "arm-powerctl.h"
 #include "exec/exec-all.h"
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index ca894ff..49c0728 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -21,7 +21,7 @@
 #include "qemu/osdep.h"
 #include "disas/bfd.h"
 #include "exec/gdbstub.h"
-#include <sysemu/kvm.h>
+#include "sysemu/kvm.h"
 #include "kvm_ppc.h"
 #include "sysemu/arch_init.h"
 #include "sysemu/cpus.h"
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index bd6b2e5..c7cc4e1 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -219,7 +219,7 @@ int s390_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
 void s390_cpu_gdb_init(CPUState *cs);
 void s390x_cpu_debug_excp_handler(CPUState *cs);
 
-#include <sysemu/kvm.h>
+#include "sysemu/kvm.h"
 
 /* distinguish between 24 bit and 31 bit addressing */
 #define HIGH_ORDER_BIT 0x80000000
diff --git a/target-unicore32/softmmu.c b/target-unicore32/softmmu.c
index a34026a..e7152e7 100644
--- a/target-unicore32/softmmu.c
+++ b/target-unicore32/softmmu.c
@@ -13,7 +13,7 @@
 #endif
 
 #include "qemu/osdep.h"
-#include <cpu.h>
+#include "cpu.h"
 #include "exec/exec-all.h"
 
 #undef DEBUG_UC32
diff --git a/tests/postcopy-test.c b/tests/postcopy-test.c
index 35d5180..16465ab 100644
--- a/tests/postcopy-test.c
+++ b/tests/postcopy-test.c
@@ -15,11 +15,10 @@
 #include "libqtest.h"
 #include "qemu/option.h"
 #include "qemu/range.h"
+#include "qemu/sockets.h"
 #include "sysemu/char.h"
 #include "sysemu/sysemu.h"
 
-#include <qemu/sockets.h>
-
 const unsigned start_address = 1024 * 1024;
 const unsigned end_address = 100 * 1024 * 1024;
 bool got_stop;
diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c
index 45fa2b6..775e031 100644
--- a/tests/vhost-user-bridge.c
+++ b/tests/vhost-user-bridge.c
@@ -36,8 +36,6 @@
 #include <sys/eventfd.h>
 #include <arpa/inet.h>
 #include <netdb.h>
-#include <qemu/osdep.h>
-
 #include <linux/vhost.h>
 
 #include "qemu/atomic.h"
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 8b2164b..71e7f42 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -13,12 +13,12 @@
 #include "libqtest.h"
 #include "qemu/option.h"
 #include "qemu/range.h"
+#include "qemu/sockets.h"
 #include "sysemu/char.h"
 #include "sysemu/sysemu.h"
 
 #include <linux/vhost.h>
 #include <sys/vfs.h>
-#include <qemu/sockets.h>
 
 /* GLIB version compatibility flags */
 #if !GLIB_CHECK_VERSION(2, 26, 0)
diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
index 629d97a..5a85aa3 100644
--- a/util/mmap-alloc.c
+++ b/util/mmap-alloc.c
@@ -9,8 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or
  * later.  See the COPYING file in the top-level directory.
  */
+
 #include "qemu/osdep.h"
-#include <qemu/mmap-alloc.h>
+#include "qemu/mmap-alloc.h"
 
 #define HUGETLBFS_MAGIC       0x958458f6
 
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index e2e1d4d..d8e5dcf 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -48,7 +48,7 @@
 #include <sys/sysctl.h>
 #endif
 
-#include <qemu/mmap-alloc.h>
+#include "qemu/mmap-alloc.h"
 
 int qemu_get_thread_id(void)
 {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers Markus Armbruster
@ 2016-06-24 14:19 ` Markus Armbruster
  2016-06-24 14:23   ` Peter Maydell
  2016-06-30  6:30   ` [Qemu-devel] [PATCH RFC] fixup! " Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target Markus Armbruster
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

For now, this tests just a bit of header sanity: for each header
"FOO.h", test whether

	#include "qemu/osdep.h"
	#include "FOO.h"
	#include "FOO.h"

compiles.  A large number of headers don't pass this test, by design
or by accident.  These are all excluded for now.  Excluded headers
contain a comment

    /* FIXME Does not pass make check-headers, yet! */

Many headers fail the test only with CONFIG_WIN32.  These contain a
comment

    /* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */

Add make target check-excluded-headers to help with examining how they
fail.

These tests work only in a git tree, with git installed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 audio/audio_int.h                         |  3 +++
 audio/audio_template.h                    |  2 ++
 audio/audio_win_int.h                     |  2 ++
 audio/dsound_template.h                   |  3 +++
 audio/mixeng_template.h                   |  2 ++
 audio/rate_template.h                     |  2 ++
 block/qcow2.h                             |  2 ++
 block/raw-aio.h                           |  3 +++
 block/vhdx.h                              |  2 ++
 bsd-user/i386/target_signal.h             |  2 ++
 bsd-user/i386/target_syscall.h            |  2 ++
 bsd-user/qemu.h                           |  3 +++
 bsd-user/sparc/target_signal.h            |  2 ++
 bsd-user/sparc/target_syscall.h           |  2 ++
 bsd-user/sparc64/target_signal.h          |  2 ++
 bsd-user/sparc64/target_syscall.h         |  2 ++
 bsd-user/syscall_defs.h                   |  2 ++
 bsd-user/x86_64/target_signal.h           |  2 ++
 bsd-user/x86_64/target_syscall.h          |  2 ++
 contrib/ivshmem-client/ivshmem-client.h   |  2 ++
 contrib/ivshmem-server/ivshmem-server.h   |  2 ++
 disas/libvixl/vixl/a64/assembler-a64.h    |  2 ++
 disas/libvixl/vixl/a64/constants-a64.h    |  2 ++
 disas/libvixl/vixl/a64/cpu-a64.h          |  2 ++
 disas/libvixl/vixl/a64/decoder-a64.h      |  2 ++
 disas/libvixl/vixl/a64/disasm-a64.h       |  2 ++
 disas/libvixl/vixl/a64/instructions-a64.h |  2 ++
 disas/libvixl/vixl/code-buffer.h          |  2 ++
 disas/libvixl/vixl/compiler-intrinsics.h  |  2 ++
 disas/libvixl/vixl/globals.h              |  2 ++
 disas/libvixl/vixl/invalset.h             |  2 ++
 disas/libvixl/vixl/platform.h             |  2 ++
 disas/libvixl/vixl/utils.h                |  2 ++
 fpu/softfloat-macros.h                    |  2 ++
 fpu/softfloat-specialize.h                |  2 ++
 fsdev/file-op-9p.h                        |  3 +++
 fsdev/qemu-fsdev.h                        |  3 +++
 hw/9pfs/9p-proxy.h                        |  3 +++
 hw/9pfs/9p-synth.h                        |  3 +++
 hw/9pfs/9p-xattr.h                        |  3 +++
 hw/9pfs/9p.h                              |  2 ++
 hw/9pfs/coth.h                            |  2 ++
 hw/9pfs/virtio-9p.h                       |  2 ++
 hw/audio/fmopl.h                          |  2 ++
 hw/audio/hda-codec-common.h               |  2 ++
 hw/audio/lm4549.h                         |  2 ++
 hw/block/nvme.h                           |  2 ++
 hw/block/xen_blkif.h                      |  2 ++
 hw/cris/boot.h                            |  2 ++
 hw/display/cirrus_vga_rop.h               |  2 ++
 hw/display/cirrus_vga_rop2.h              |  2 ++
 hw/display/milkymist-vgafb_template.h     |  2 ++
 hw/display/omap_lcd_template.h            |  2 ++
 hw/display/pl110_template.h               |  2 ++
 hw/display/pxa2xx_template.h              |  2 ++
 hw/display/qxl.h                          |  2 ++
 hw/display/sm501_template.h               |  2 ++
 hw/display/tc6393xb_template.h            |  2 ++
 hw/display/vga-helpers.h                  |  2 ++
 hw/display/vga_int.h                      |  3 +++
 hw/i386/intel_iommu_internal.h            |  6 ++++--
 hw/ide/ahci.h                             |  2 ++
 hw/lm32/lm32.h                            |  2 ++
 hw/lm32/lm32_hwsetup.h                    |  2 ++
 hw/lm32/milkymist-hw.h                    |  2 ++
 hw/microblaze/boot.h                      |  2 ++
 hw/net/e1000e_core.h                      |  2 ++
 hw/net/e1000x_common.h                    |  2 ++
 hw/net/ne2000.h                           |  2 ++
 hw/net/pcnet.h                            |  2 ++
 hw/net/rocker/rocker_desc.h               |  2 ++
 hw/net/rocker/rocker_fp.h                 |  2 ++
 hw/net/rocker/rocker_of_dpa.h             |  2 ++
 hw/net/rocker/rocker_tlv.h                |  2 ++
 hw/net/rocker/rocker_world.h              |  2 ++
 hw/net/vmware_utils.h                     |  2 ++
 hw/ppc/ppc405.h                           |  2 ++
 hw/s390x/ipl.h                            |  2 ++
 hw/s390x/s390-pci-inst.h                  |  2 ++
 hw/s390x/s390-virtio.h                    |  2 ++
 hw/scsi/mptsas.h                          |  2 ++
 hw/scsi/viosrp.h                          |  3 +++
 hw/tpm/tpm_int.h                          |  3 +++
 hw/tpm/tpm_tis.h                          |  3 +++
 hw/usb/desc.h                             |  2 ++
 hw/usb/quirks.h                           |  2 ++
 hw/vfio/pci.h                             |  3 +++
 hw/xen/xen_pt.h                           |  2 ++
 hw/xenpv/xen_domainbuild.h                |  2 ++
 hw/xtensa/bootparam.h                     |  2 ++
 include/block/write-threshold.h           |  3 +++
 include/disas/disas.h                     |  2 ++
 include/exec/cpu-all.h                    |  3 +++
 include/exec/cpu-defs.h                   |  3 +++
 include/exec/cpu_ldst.h                   |  2 ++
 include/exec/cpu_ldst_template.h          |  2 ++
 include/exec/cpu_ldst_useronly_template.h |  2 ++
 include/exec/cputlb.h                     |  3 +++
 include/exec/exec-all.h                   |  2 ++
 include/exec/gen-icount.h                 |  2 ++
 include/exec/helper-gen.h                 |  2 ++
 include/exec/helper-proto.h               |  2 ++
 include/exec/helper-tcg.h                 |  2 ++
 include/exec/ioport.h                     |  2 ++
 include/exec/memory-internal.h            |  2 ++
 include/exec/ram_addr.h                   |  2 ++
 include/exec/softmmu-semi.h               |  3 +++
 include/exec/tb-hash.h                    |  2 ++
 include/exec/user/abitypes.h              |  2 ++
 include/exec/user/thunk.h                 |  3 +++
 include/hw/acpi/piix4.h                   |  2 ++
 include/hw/acpi/tco.h                     |  3 +++
 include/hw/arm/allwinner-a10.h            |  2 ++
 include/hw/arm/bcm2836.h                  |  2 ++
 include/hw/arm/digic.h                    |  2 ++
 include/hw/arm/fsl-imx25.h                |  2 ++
 include/hw/arm/fsl-imx31.h                |  2 ++
 include/hw/arm/fsl-imx6.h                 |  2 ++
 include/hw/arm/sharpsl.h                  |  3 +++
 include/hw/arm/xlnx-zynqmp.h              |  2 ++
 include/hw/block/fdc.h                    |  2 ++
 include/hw/block/flash.h                  |  2 ++
 include/hw/char/escc.h                    |  2 ++
 include/hw/char/pl011.h                   |  2 ++
 include/hw/char/xilinx_uartlite.h         |  2 ++
 include/hw/cris/etraxfs.h                 |  2 ++
 include/hw/cris/etraxfs_dma.h             |  2 ++
 include/hw/elf_ops.h                      |  2 ++
 include/hw/empty_slot.h                   |  2 ++
 include/hw/i2c/aspeed_i2c.h               |  3 +++
 include/hw/i2c/i2c-ddc.h                  |  2 ++
 include/hw/i2c/pm_smbus.h                 |  2 ++
 include/hw/i386/apic_internal.h           |  3 +++
 include/hw/i386/intel_iommu.h             |  6 ++++--
 include/hw/i386/ioapic_internal.h         |  2 ++
 include/hw/input/hid.h                    |  2 ++
 include/hw/intc/allwinner-a10-pic.h       |  2 ++
 include/hw/isa/i8257.h                    |  2 ++
 include/hw/isa/vt82c686.h                 |  2 ++
 include/hw/kvm/clock.h                    |  2 ++
 include/hw/mips/bios.h                    |  2 ++
 include/hw/mips/cpudevs.h                 |  2 ++
 include/hw/mips/mips.h                    |  2 ++
 include/hw/misc/mips_cmgcr.h              |  2 ++
 include/hw/misc/mips_cpc.h                |  2 ++
 include/hw/misc/mips_itu.h                |  2 ++
 include/hw/net/allwinner_emac.h           |  3 +++
 include/hw/nvram/openbios_firmware_abi.h  |  2 ++
 include/hw/pci-host/apb.h                 |  2 ++
 include/hw/pci-host/spapr.h               |  3 +++
 include/hw/pci/pci_bus.h                  |  2 ++
 include/hw/pci/pcie_aer.h                 |  2 ++
 include/hw/ppc/ppc.h                      |  2 ++
 include/hw/ppc/ppc4xx.h                   |  2 ++
 include/hw/ppc/spapr.h                    |  2 ++
 include/hw/ppc/spapr_cpu_core.h           |  3 +++
 include/hw/ppc/spapr_drc.h                |  3 +++
 include/hw/ppc/spapr_vio.h                |  2 ++
 include/hw/ppc/xics.h                     |  3 +++
 include/hw/sparc/grlib.h                  |  2 ++
 include/hw/sparc/sparc32_dma.h            |  2 ++
 include/hw/ssi/xilinx_spips.h             |  2 ++
 include/hw/timer/allwinner-a10-pit.h      |  2 ++
 include/hw/timer/aspeed_timer.h           |  3 +++
 include/hw/timer/i8254_internal.h         |  2 ++
 include/hw/timer/m48t59.h                 |  2 ++
 include/hw/virtio/virtio-access.h         |  3 +++
 include/hw/virtio/virtio-input.h          |  2 ++
 include/hw/virtio/virtio-rng.h            |  2 ++
 include/hw/xen/xen_backend.h              |  2 ++
 include/hw/xen/xen_common.h               |  2 ++
 include/libdecnumber/decNumberLocal.h     |  2 ++
 include/migration/cpu.h                   |  3 +++
 include/monitor/hmp-target.h              |  3 +++
 include/qemu/compatfd.h                   |  2 ++
 include/qemu/ratelimit.h                  |  2 ++
 include/qemu/thread-win32.h               |  2 ++
 include/qemu/xattr.h                      |  3 +++
 include/sysemu/balloon.h                  |  2 ++
 include/sysemu/cpus.h                     |  2 ++
 include/sysemu/dump.h                     |  2 ++
 include/sysemu/iothread.h                 |  2 ++
 include/sysemu/kvm_int.h                  |  2 ++
 include/sysemu/memory_mapping.h           |  2 ++
 include/sysemu/os-posix.h                 |  2 ++
 include/sysemu/os-win32.h                 |  2 ++
 include/sysemu/seccomp.h                  |  3 +++
 include/sysemu/tpm.h                      |  3 +++
 include/sysemu/xen-mapcache.h             |  2 ++
 include/trace-tcg.h                       |  2 ++
 include/ui/egl-context.h                  |  2 ++
 include/ui/egl-helpers.h                  |  2 ++
 include/ui/gtk.h                          |  2 ++
 include/ui/input.h                        |  2 ++
 include/ui/pixel_ops.h                    |  2 ++
 include/ui/sdl2.h                         |  2 ++
 include/ui/shader.h                       |  2 ++
 include/ui/spice-display.h                |  2 ++
 linux-headers/asm-arm/kvm.h               |  2 ++
 linux-headers/asm-arm/kvm_para.h          |  2 ++
 linux-headers/asm-arm64/kvm.h             |  2 ++
 linux-headers/asm-arm64/kvm_para.h        |  2 ++
 linux-headers/asm-arm64/unistd.h          |  2 ++
 linux-headers/asm-mips/kvm.h              |  2 ++
 linux-headers/asm-mips/unistd.h           |  3 +++
 linux-headers/asm-powerpc/kvm.h           |  2 ++
 linux-headers/asm-powerpc/kvm_para.h      |  2 ++
 linux-headers/asm-s390/kvm.h              |  2 ++
 linux-headers/asm-x86/kvm.h               |  2 ++
 linux-headers/asm-x86/kvm_para.h          |  2 ++
 linux-headers/asm-x86/unistd.h            |  2 ++
 linux-headers/linux/kvm.h                 |  2 ++
 linux-headers/linux/kvm_para.h            |  2 ++
 linux-headers/linux/userfaultfd.h         |  2 ++
 linux-headers/linux/vfio.h                |  3 +++
 linux-headers/linux/vhost.h               |  2 ++
 linux-user/aarch64/target_cpu.h           |  3 +++
 linux-user/aarch64/target_signal.h        |  2 ++
 linux-user/aarch64/target_structs.h       |  3 +++
 linux-user/aarch64/termbits.h             |  2 ++
 linux-user/alpha/target_cpu.h             |  3 +++
 linux-user/alpha/target_signal.h          |  2 ++
 linux-user/alpha/target_structs.h         |  3 +++
 linux-user/alpha/target_syscall.h         |  2 ++
 linux-user/alpha/termbits.h               |  2 ++
 linux-user/arm/nwfpe/fpa11.h              |  2 ++
 linux-user/arm/nwfpe/fpopcode.h           |  2 ++
 linux-user/arm/target_cpu.h               |  3 +++
 linux-user/arm/target_signal.h            |  2 ++
 linux-user/arm/target_structs.h           |  3 +++
 linux-user/arm/target_syscall.h           |  2 ++
 linux-user/arm/termbits.h                 |  2 ++
 linux-user/cris/target_cpu.h              |  3 +++
 linux-user/cris/target_signal.h           |  2 ++
 linux-user/cris/target_structs.h          |  3 +++
 linux-user/cris/termbits.h                |  2 ++
 linux-user/flat.h                         |  2 ++
 linux-user/host/x86_64/hostdep.h          |  2 ++
 linux-user/i386/target_cpu.h              |  2 ++
 linux-user/i386/target_signal.h           |  2 ++
 linux-user/i386/target_structs.h          |  3 +++
 linux-user/i386/target_syscall.h          |  2 ++
 linux-user/i386/termbits.h                |  2 ++
 linux-user/ioctls.h                       |  2 ++
 linux-user/linux_loop.h                   |  3 +++
 linux-user/m68k/target_cpu.h              |  2 ++
 linux-user/m68k/target_signal.h           |  2 ++
 linux-user/m68k/target_structs.h          |  3 +++
 linux-user/m68k/target_syscall.h          |  2 ++
 linux-user/m68k/termbits.h                |  2 ++
 linux-user/microblaze/target_cpu.h        |  3 +++
 linux-user/microblaze/target_signal.h     |  2 ++
 linux-user/microblaze/target_structs.h    |  3 +++
 linux-user/microblaze/termbits.h          |  2 ++
 linux-user/mips/target_cpu.h              |  3 +++
 linux-user/mips/target_signal.h           |  2 ++
 linux-user/mips/target_structs.h          |  3 +++
 linux-user/mips/target_syscall.h          |  2 ++
 linux-user/mips/termbits.h                |  2 ++
 linux-user/mips64/syscall_nr.h            |  2 ++
 linux-user/mips64/target_cpu.h            |  3 +++
 linux-user/mips64/target_signal.h         |  2 ++
 linux-user/mips64/target_structs.h        |  2 ++
 linux-user/mips64/target_syscall.h        |  2 ++
 linux-user/mips64/termbits.h              |  2 ++
 linux-user/openrisc/target_cpu.h          |  2 ++
 linux-user/openrisc/target_signal.h       |  2 ++
 linux-user/openrisc/target_structs.h      |  3 +++
 linux-user/openrisc/target_syscall.h      |  2 ++
 linux-user/openrisc/termbits.h            |  2 ++
 linux-user/ppc/syscall_nr.h               |  3 +++
 linux-user/ppc/target_cpu.h               |  3 +++
 linux-user/ppc/target_signal.h            |  2 ++
 linux-user/ppc/target_structs.h           |  3 +++
 linux-user/ppc/target_syscall.h           |  2 ++
 linux-user/ppc/termbits.h                 |  2 ++
 linux-user/qemu.h                         |  2 ++
 linux-user/s390x/target_cpu.h             |  3 +++
 linux-user/s390x/target_signal.h          |  2 ++
 linux-user/s390x/target_structs.h         |  3 +++
 linux-user/s390x/target_syscall.h         |  2 ++
 linux-user/s390x/termbits.h               |  2 ++
 linux-user/sh4/target_cpu.h               |  3 +++
 linux-user/sh4/target_signal.h            |  2 ++
 linux-user/sh4/target_structs.h           |  3 +++
 linux-user/sh4/termbits.h                 |  2 ++
 linux-user/socket.h                       |  1 +
 linux-user/sparc/target_cpu.h             |  3 +++
 linux-user/sparc/target_signal.h          |  2 ++
 linux-user/sparc/target_structs.h         |  3 +++
 linux-user/sparc/target_syscall.h         |  2 ++
 linux-user/sparc/termbits.h               |  2 ++
 linux-user/sparc64/target_cpu.h           |  2 ++
 linux-user/sparc64/target_signal.h        |  2 ++
 linux-user/sparc64/target_structs.h       |  3 +++
 linux-user/sparc64/target_syscall.h       |  2 ++
 linux-user/sparc64/termbits.h             |  2 ++
 linux-user/syscall_defs.h                 |  2 ++
 linux-user/syscall_types.h                |  2 ++
 linux-user/tilegx/target_cpu.h            |  3 +++
 linux-user/tilegx/target_signal.h         |  2 ++
 linux-user/tilegx/target_structs.h        |  3 +++
 linux-user/tilegx/target_syscall.h        |  2 ++
 linux-user/uname.h                        |  2 ++
 linux-user/unicore32/target_cpu.h         |  3 +++
 linux-user/unicore32/target_signal.h      |  3 +++
 linux-user/unicore32/target_structs.h     |  3 +++
 linux-user/unicore32/target_syscall.h     |  3 +++
 linux-user/unicore32/termbits.h           |  3 +++
 linux-user/x86_64/target_cpu.h            |  2 ++
 linux-user/x86_64/target_signal.h         |  2 ++
 linux-user/x86_64/target_structs.h        |  3 +++
 linux-user/x86_64/target_syscall.h        |  2 ++
 linux-user/x86_64/termbits.h              |  2 ++
 pc-bios/optionrom/optionrom.h             |  2 ++
 pc-bios/s390-ccw/bootmap.h                |  3 +++
 pc-bios/s390-ccw/cio.h                    |  2 ++
 pc-bios/s390-ccw/iplb.h                   |  2 ++
 pc-bios/s390-ccw/s390-ccw.h               |  2 ++
 pc-bios/s390-ccw/scsi.h                   |  2 ++
 pc-bios/s390-ccw/virtio-scsi.h            |  2 ++
 pc-bios/s390-ccw/virtio.h                 |  2 ++
 qemu-options-wrapper.h                    |  1 +
 qga/guest-agent-core.h                    |  3 +++
 qga/service-win32.h                       |  3 +++
 qga/vss-win32/requester.h                 |  2 ++
 qga/vss-win32/vss-common.h                |  2 ++
 replay/replay-internal.h                  |  2 ++
 scripts/cocci-macro-file.h                |  2 ++
 scripts/tracetool/format/tcg_h.py         |  2 ++
 slirp/bootp.h                             |  3 +++
 slirp/ip.h                                |  2 ++
 slirp/ip6_icmp.h                          |  2 ++
 slirp/ip_icmp.h                           |  2 ++
 slirp/main.h                              |  3 +++
 slirp/mbuf.h                              |  2 ++
 slirp/misc.h                              |  2 ++
 slirp/sbuf.h                              |  2 ++
 slirp/socket.h                            |  2 ++
 slirp/tcp.h                               |  2 ++
 slirp/tcp_timer.h                         |  2 ++
 slirp/tcp_var.h                           |  2 ++
 slirp/tcpip.h                             |  2 ++
 slirp/tftp.h                              |  3 +++
 slirp/udp.h                               |  2 ++
 softmmu_template.h                        |  3 +++
 target-alpha/cpu.h                        |  2 ++
 target-alpha/helper.h                     |  2 ++
 target-arm/arm_ldst.h                     |  2 ++
 target-arm/cpu.h                          |  3 +++
 target-arm/helper-a64.h                   |  3 +++
 target-arm/helper.h                       |  2 ++
 target-arm/internals.h                    |  2 ++
 target-arm/kvm_arm.h                      |  2 ++
 target-arm/op_addsub.h                    |  2 ++
 target-arm/translate.h                    |  2 ++
 target-cris/cpu.h                         |  3 +++
 target-cris/helper.h                      |  2 ++
 target-cris/mmu.h                         |  2 ++
 target-i386/cc_helper_template.h          |  2 ++
 target-i386/cpu-qom.h                     |  3 +++
 target-i386/cpu.h                         |  3 +++
 target-i386/helper.h                      |  2 ++
 target-i386/hyperv.h                      |  2 ++
 target-i386/kvm_i386.h                    |  2 ++
 target-i386/ops_sse.h                     |  2 ++
 target-i386/ops_sse_header.h              |  3 +++
 target-i386/shift_helper_template.h       |  2 ++
 target-lm32/cpu.h                         |  2 ++
 target-lm32/helper.h                      |  2 ++
 target-m68k/cpu.h                         |  3 +++
 target-m68k/helper.h                      |  2 ++
 target-microblaze/cpu.h                   |  3 +++
 target-microblaze/helper.h                |  2 ++
 target-microblaze/mmu.h                   |  2 ++
 target-mips/cpu-qom.h                     |  3 +++
 target-mips/cpu.h                         |  2 ++
 target-mips/helper.h                      |  2 ++
 target-mips/kvm_mips.h                    |  4 +++-
 target-mips/mips-defs.h                   |  2 ++
 target-moxie/cpu.h                        |  3 +++
 target-moxie/helper.h                     |  2 ++
 target-moxie/machine.h                    |  2 ++
 target-moxie/mmu.h                        |  2 ++
 target-openrisc/cpu.h                     |  2 ++
 target-openrisc/exception.h               |  2 ++
 target-openrisc/helper.h                  |  2 ++
 target-ppc/cpu-models.h                   |  3 +++
 target-ppc/cpu-qom.h                      |  3 +++
 target-ppc/cpu.h                          |  3 +++
 target-ppc/helper.h                       |  2 ++
 target-ppc/helper_regs.h                  |  2 ++
 target-ppc/kvm_ppc.h                      |  2 ++
 target-ppc/mmu-hash32.h                   |  2 ++
 target-ppc/mmu-hash64.h                   |  2 ++
 target-s390x/cpu.h                        |  3 +++
 target-s390x/helper.h                     |  2 ++
 target-sh4/cpu.h                          |  3 +++
 target-sh4/helper.h                       |  2 ++
 target-sparc/cpu-qom.h                    |  3 +++
 target-sparc/cpu.h                        |  2 ++
 target-sparc/helper.h                     |  2 ++
 target-tilegx/cpu.h                       |  3 +++
 target-tilegx/helper.h                    |  2 ++
 target-tricore/cpu.h                      |  3 +++
 target-tricore/helper.h                   |  2 ++
 target-tricore/tricore-defs.h             |  2 ++
 target-tricore/tricore-opcodes.h          |  2 ++
 target-unicore32/cpu.h                    |  3 +++
 target-unicore32/helper.h                 |  2 ++
 target-xtensa/cpu.h                       |  2 ++
 target-xtensa/helper.h                    |  2 ++
 target-xtensa/overlay_tool.h              |  2 ++
 tcg/mips/tcg-target.h                     |  3 +++
 tcg/tcg-be-ldst.h                         |  2 ++
 tcg/tcg-be-null.h                         |  2 ++
 tcg/tcg-op.h                              |  2 ++
 tcg/tcg-opc.h                             |  2 ++
 tcg/tcg-runtime.h                         |  2 ++
 tcg/tcg.h                                 |  2 ++
 tests/Makefile.include                    | 27 +++++++++++++++++++++++++--
 tests/crypto-tls-x509-helpers.h           |  2 ++
 tests/multiboot/libc.h                    |  2 ++
 tests/multiboot/multiboot.h               |  2 ++
 tests/tcg/cris/crisutils.h                |  2 ++
 tests/tcg/cris/sys.h                      |  2 ++
 tests/tcg/mips/mips64-dsp/io.h            |  2 ++
 tests/tcg/mips/mips64-dspr2/io.h          |  2 ++
 tests/tcg/test-i386-muldiv.h              |  1 +
 tests/tcg/test-i386-shift.h               |  1 +
 tests/tcg/test-i386.h                     |  1 +
 trace/control-internal.h                  |  2 ++
 trace/mem-internal.h                      |  2 ++
 trace/mem.h                               |  2 ++
 trace/simple.h                            |  2 ++
 translate-all.h                           |  3 +++
 ui/curses_keys.h                          |  2 ++
 ui/sdl2-keymap.h                          |  1 +
 ui/sdl_keysym.h                           |  1 +
 ui/sdl_zoom.h                             |  2 ++
 ui/sdl_zoom_template.h                    |  2 ++
 ui/vgafont.h                              |  2 ++
 ui/vnc-auth-sasl.h                        |  2 ++
 ui/vnc-auth-vencrypt.h                    |  2 ++
 ui/vnc-enc-hextile-template.h             |  2 ++
 ui/vnc-jobs.h                             |  2 ++
 ui/vnc-ws.h                               |  2 ++
 ui/vnc_keysym.h                           |  1 +
 448 files changed, 1017 insertions(+), 7 deletions(-)

diff --git a/audio/audio_int.h b/audio/audio_int.h
index 566df5e..9054747 100644
--- a/audio/audio_int.h
+++ b/audio/audio_int.h
@@ -21,6 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_AUDIO_INT_H
 #define QEMU_AUDIO_INT_H
 
diff --git a/audio/audio_template.h b/audio/audio_template.h
index 99b27b2..7a518cc 100644
--- a/audio/audio_template.h
+++ b/audio/audio_template.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef DAC
 #define NAME "playback"
 #define HWBUF hw->mix_buf
diff --git a/audio/audio_win_int.h b/audio/audio_win_int.h
index fa5b3cb..5716458 100644
--- a/audio/audio_win_int.h
+++ b/audio/audio_win_int.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef AUDIO_WIN_INT_H
 #define AUDIO_WIN_INT_H
 
diff --git a/audio/dsound_template.h b/audio/dsound_template.h
index b439f33..a6c78ad 100644
--- a/audio/dsound_template.h
+++ b/audio/dsound_template.h
@@ -21,6 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef DSBTYPE_IN
 #define NAME "capture buffer"
 #define NAME2 "DirectSoundCapture"
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index 77cc89b..7db272d 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * Tusen tack till Mike Nordell
  * dec++'ified by Dscho
diff --git a/audio/rate_template.h b/audio/rate_template.h
index bd4b1c7..625775a 100644
--- a/audio/rate_template.h
+++ b/audio/rate_template.h
@@ -23,6 +23,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * Processed signed long samples from ibuf to obuf.
  * Return number of samples processed.
diff --git a/block/qcow2.h b/block/qcow2.h
index b36a7bf..b45d47e 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef BLOCK_QCOW2_H
 #define BLOCK_QCOW2_H
 
diff --git a/block/raw-aio.h b/block/raw-aio.h
index a4cdbbf..63bc12d 100644
--- a/block/raw-aio.h
+++ b/block/raw-aio.h
@@ -12,6 +12,9 @@
  * Contributions after 2012-01-13 are licensed under the terms of the
  * GNU GPL, version 2 or (at your option) any later version.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_RAW_AIO_H
 #define QEMU_RAW_AIO_H
 
diff --git a/block/vhdx.h b/block/vhdx.h
index 7003ab7..a72559c 100644
--- a/block/vhdx.h
+++ b/block/vhdx.h
@@ -15,6 +15,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef BLOCK_VHDX_H
 #define BLOCK_VHDX_H
 
diff --git a/bsd-user/i386/target_signal.h b/bsd-user/i386/target_signal.h
index 2ef36d1..5505f2e 100644
--- a/bsd-user/i386/target_signal.h
+++ b/bsd-user/i386/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/bsd-user/i386/target_syscall.h b/bsd-user/i386/target_syscall.h
index 82d1c58..00f011c 100644
--- a/bsd-user/i386/target_syscall.h
+++ b/bsd-user/i386/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 53163b8..e1496fc 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -14,6 +14,9 @@
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_H
 #define QEMU_H
 
diff --git a/bsd-user/sparc/target_signal.h b/bsd-user/sparc/target_signal.h
index 5b2abba..15ead76 100644
--- a/bsd-user/sparc/target_signal.h
+++ b/bsd-user/sparc/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/bsd-user/sparc/target_syscall.h b/bsd-user/sparc/target_syscall.h
index c7eec6b..1929857 100644
--- a/bsd-user/sparc/target_syscall.h
+++ b/bsd-user/sparc/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/bsd-user/sparc64/target_signal.h b/bsd-user/sparc64/target_signal.h
index 5b2abba..15ead76 100644
--- a/bsd-user/sparc64/target_signal.h
+++ b/bsd-user/sparc64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/bsd-user/sparc64/target_syscall.h b/bsd-user/sparc64/target_syscall.h
index 2f06100..c7c4a13 100644
--- a/bsd-user/sparc64/target_syscall.h
+++ b/bsd-user/sparc64/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h
index 207ddee..c27339c 100644
--- a/bsd-user/syscall_defs.h
+++ b/bsd-user/syscall_defs.h
@@ -1,6 +1,8 @@
 /*      $OpenBSD: signal.h,v 1.19 2006/01/08 14:20:16 millert Exp $     */
 /*      $NetBSD: signal.h,v 1.21 1996/02/09 18:25:32 christos Exp $     */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * Copyright (c) 1982, 1986, 1989, 1991, 1993
  *      The Regents of the University of California.  All rights reserved.
diff --git a/bsd-user/x86_64/target_signal.h b/bsd-user/x86_64/target_signal.h
index 659cd40..7abab10 100644
--- a/bsd-user/x86_64/target_signal.h
+++ b/bsd-user/x86_64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/bsd-user/x86_64/target_syscall.h b/bsd-user/x86_64/target_syscall.h
index 85a9766..beda4dd 100644
--- a/bsd-user/x86_64/target_syscall.h
+++ b/bsd-user/x86_64/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/contrib/ivshmem-client/ivshmem-client.h b/contrib/ivshmem-client/ivshmem-client.h
index 54cde17..3101f34 100644
--- a/contrib/ivshmem-client/ivshmem-client.h
+++ b/contrib/ivshmem-client/ivshmem-client.h
@@ -6,6 +6,8 @@
  * top-level directory.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _IVSHMEM_CLIENT_H_
 #define _IVSHMEM_CLIENT_H_
 
diff --git a/contrib/ivshmem-server/ivshmem-server.h b/contrib/ivshmem-server/ivshmem-server.h
index d37ca85..9097a79 100644
--- a/contrib/ivshmem-server/ivshmem-server.h
+++ b/contrib/ivshmem-server/ivshmem-server.h
@@ -6,6 +6,8 @@
  * top-level directory.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _IVSHMEM_SERVER_H_
 #define _IVSHMEM_SERVER_H_
 
diff --git a/disas/libvixl/vixl/a64/assembler-a64.h b/disas/libvixl/vixl/a64/assembler-a64.h
index fda5ccc..7f7a509 100644
--- a/disas/libvixl/vixl/a64/assembler-a64.h
+++ b/disas/libvixl/vixl/a64/assembler-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_A64_ASSEMBLER_A64_H_
 #define VIXL_A64_ASSEMBLER_A64_H_
 
diff --git a/disas/libvixl/vixl/a64/constants-a64.h b/disas/libvixl/vixl/a64/constants-a64.h
index 2caa73a..e6c35df 100644
--- a/disas/libvixl/vixl/a64/constants-a64.h
+++ b/disas/libvixl/vixl/a64/constants-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_A64_CONSTANTS_A64_H_
 #define VIXL_A64_CONSTANTS_A64_H_
 
diff --git a/disas/libvixl/vixl/a64/cpu-a64.h b/disas/libvixl/vixl/a64/cpu-a64.h
index cdf09a6..23ec6a7 100644
--- a/disas/libvixl/vixl/a64/cpu-a64.h
+++ b/disas/libvixl/vixl/a64/cpu-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_CPU_A64_H
 #define VIXL_CPU_A64_H
 
diff --git a/disas/libvixl/vixl/a64/decoder-a64.h b/disas/libvixl/vixl/a64/decoder-a64.h
index b3f04f6..d95c5e0 100644
--- a/disas/libvixl/vixl/a64/decoder-a64.h
+++ b/disas/libvixl/vixl/a64/decoder-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_A64_DECODER_A64_H_
 #define VIXL_A64_DECODER_A64_H_
 
diff --git a/disas/libvixl/vixl/a64/disasm-a64.h b/disas/libvixl/vixl/a64/disasm-a64.h
index 930df6e..50c4602 100644
--- a/disas/libvixl/vixl/a64/disasm-a64.h
+++ b/disas/libvixl/vixl/a64/disasm-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_A64_DISASM_A64_H
 #define VIXL_A64_DISASM_A64_H
 
diff --git a/disas/libvixl/vixl/a64/instructions-a64.h b/disas/libvixl/vixl/a64/instructions-a64.h
index 7e0dbae..9d2b21a 100644
--- a/disas/libvixl/vixl/a64/instructions-a64.h
+++ b/disas/libvixl/vixl/a64/instructions-a64.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_A64_INSTRUCTIONS_A64_H_
 #define VIXL_A64_INSTRUCTIONS_A64_H_
 
diff --git a/disas/libvixl/vixl/code-buffer.h b/disas/libvixl/vixl/code-buffer.h
index f93ebb6..87cb235 100644
--- a/disas/libvixl/vixl/code-buffer.h
+++ b/disas/libvixl/vixl/code-buffer.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_CODE_BUFFER_H
 #define VIXL_CODE_BUFFER_H
 
diff --git a/disas/libvixl/vixl/compiler-intrinsics.h b/disas/libvixl/vixl/compiler-intrinsics.h
index 9431bed..5a9c429 100644
--- a/disas/libvixl/vixl/compiler-intrinsics.h
+++ b/disas/libvixl/vixl/compiler-intrinsics.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 
 #ifndef VIXL_COMPILER_INTRINSICS_H
 #define VIXL_COMPILER_INTRINSICS_H
diff --git a/disas/libvixl/vixl/globals.h b/disas/libvixl/vixl/globals.h
index 61dc9f7..ca57106 100644
--- a/disas/libvixl/vixl/globals.h
+++ b/disas/libvixl/vixl/globals.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_GLOBALS_H
 #define VIXL_GLOBALS_H
 
diff --git a/disas/libvixl/vixl/invalset.h b/disas/libvixl/vixl/invalset.h
index ffdc023..822516c 100644
--- a/disas/libvixl/vixl/invalset.h
+++ b/disas/libvixl/vixl/invalset.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_INVALSET_H_
 #define VIXL_INVALSET_H_
 
diff --git a/disas/libvixl/vixl/platform.h b/disas/libvixl/vixl/platform.h
index ab588f0..228ac86 100644
--- a/disas/libvixl/vixl/platform.h
+++ b/disas/libvixl/vixl/platform.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef PLATFORM_H
 #define PLATFORM_H
 
diff --git a/disas/libvixl/vixl/utils.h b/disas/libvixl/vixl/utils.h
index 5ab134e..077c123 100644
--- a/disas/libvixl/vixl/utils.h
+++ b/disas/libvixl/vixl/utils.h
@@ -24,6 +24,8 @@
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIXL_UTILS_H
 #define VIXL_UTILS_H
 
diff --git a/fpu/softfloat-macros.h b/fpu/softfloat-macros.h
index 9cc6158..06fce52 100644
--- a/fpu/softfloat-macros.h
+++ b/fpu/softfloat-macros.h
@@ -15,6 +15,8 @@
  * indicated otherwise.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
 ===============================================================================
 This C source fragment is part of the SoftFloat IEC/IEEE Floating-point
diff --git a/fpu/softfloat-specialize.h b/fpu/softfloat-specialize.h
index a4cbdad..e66c934 100644
--- a/fpu/softfloat-specialize.h
+++ b/fpu/softfloat-specialize.h
@@ -15,6 +15,8 @@
  * indicated otherwise.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
 ===============================================================================
 This C source fragment is part of the SoftFloat IEC/IEEE Floating-point
diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h
index 5561494..ff9eaed 100644
--- a/fsdev/file-op-9p.h
+++ b/fsdev/file-op-9p.h
@@ -10,6 +10,9 @@
  * the COPYING file in the top-level directory.
  *
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _FILEOP_H
 #define _FILEOP_H
 #include <dirent.h>
diff --git a/fsdev/qemu-fsdev.h b/fsdev/qemu-fsdev.h
index 29c9622..7cbbb78 100644
--- a/fsdev/qemu-fsdev.h
+++ b/fsdev/qemu-fsdev.h
@@ -10,6 +10,9 @@
  * the COPYING file in the top-level directory.
  *
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_FSDEV_H
 #define QEMU_FSDEV_H
 #include "qemu/option.h"
diff --git a/hw/9pfs/9p-proxy.h b/hw/9pfs/9p-proxy.h
index ba9ca20..5097f1a 100644
--- a/hw/9pfs/9p-proxy.h
+++ b/hw/9pfs/9p-proxy.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2.  See
  * the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _QEMU_9P_PROXY_H
 #define _QEMU_9P_PROXY_H
 
diff --git a/hw/9pfs/9p-synth.h b/hw/9pfs/9p-synth.h
index 7c8441b..d4eceb4 100644
--- a/hw/9pfs/9p-synth.h
+++ b/hw/9pfs/9p-synth.h
@@ -10,6 +10,9 @@
  * the COPYING file in the top-level directory.
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_9PFS_SYNTH_H
 #define HW_9PFS_SYNTH_H 1
 
diff --git a/hw/9pfs/9p-xattr.h b/hw/9pfs/9p-xattr.h
index 4d39a20..7e79426 100644
--- a/hw/9pfs/9p-xattr.h
+++ b/hw/9pfs/9p-xattr.h
@@ -10,6 +10,9 @@
  * the COPYING file in the top-level directory.
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_9P_XATTR_H
 #define _QEMU_9P_XATTR_H
 
diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h
index d2030fd..6887137 100644
--- a/hw/9pfs/9p.h
+++ b/hw/9pfs/9p.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _QEMU_9P_H
 #define _QEMU_9P_H
 
diff --git a/hw/9pfs/coth.h b/hw/9pfs/coth.h
index 5b02a63..b9b245e 100644
--- a/hw/9pfs/coth.h
+++ b/hw/9pfs/coth.h
@@ -12,6 +12,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _QEMU_9P_COTH_H
 #define _QEMU_9P_COTH_H
 
diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
index 7f6d885..4973db1 100644
--- a/hw/9pfs/virtio-9p.h
+++ b/hw/9pfs/virtio-9p.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _QEMU_VIRTIO_9P_H
 #define _QEMU_VIRTIO_9P_H
 
diff --git a/hw/audio/fmopl.h b/hw/audio/fmopl.h
index 24ba5f4..6ccc78a 100644
--- a/hw/audio/fmopl.h
+++ b/hw/audio/fmopl.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __FMOPL_H_
 #define __FMOPL_H_
 
diff --git a/hw/audio/hda-codec-common.h b/hw/audio/hda-codec-common.h
index b4fdb51..6e05901 100644
--- a/hw/audio/hda-codec-common.h
+++ b/hw/audio/hda-codec-common.h
@@ -20,6 +20,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * HDA codec descriptions
  */
diff --git a/hw/audio/lm4549.h b/hw/audio/lm4549.h
index 812a7a4..503c8e9 100644
--- a/hw/audio/lm4549.h
+++ b/hw/audio/lm4549.h
@@ -9,6 +9,8 @@
  * *****************************************************************
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_LM4549_H
 #define HW_LM4549_H
 
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 8fb0c10..f33acd4 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_NVME_H
 #define HW_NVME_H
 #include "qemu/cutils.h"
diff --git a/hw/block/xen_blkif.h b/hw/block/xen_blkif.h
index e3b133b..2dcd38a 100644
--- a/hw/block/xen_blkif.h
+++ b/hw/block/xen_blkif.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __XEN_BLKIF_H__
 #define __XEN_BLKIF_H__
 
diff --git a/hw/cris/boot.h b/hw/cris/boot.h
index c4d3fa6..2aa4355 100644
--- a/hw/cris/boot.h
+++ b/hw/cris/boot.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _CRIS_BOOT_H
 #define HW_CRIS_BOOT_H 1
 
diff --git a/hw/display/cirrus_vga_rop.h b/hw/display/cirrus_vga_rop.h
index 0925a00..f73a6a0 100644
--- a/hw/display/cirrus_vga_rop.h
+++ b/hw/display/cirrus_vga_rop.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 static inline void glue(rop_8_,ROP_NAME)(uint8_t *dst, uint8_t src)
 {
     *dst = ROP_FN(*dst, src);
diff --git a/hw/display/cirrus_vga_rop2.h b/hw/display/cirrus_vga_rop2.h
index d28bcc6..559554b 100644
--- a/hw/display/cirrus_vga_rop2.h
+++ b/hw/display/cirrus_vga_rop2.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if DEPTH == 8
 #define PUTPIXEL()    ROP_OP(&d[0], col)
 #elif DEPTH == 16
diff --git a/hw/display/milkymist-vgafb_template.h b/hw/display/milkymist-vgafb_template.h
index 4883780..45ebdff 100644
--- a/hw/display/milkymist-vgafb_template.h
+++ b/hw/display/milkymist-vgafb_template.h
@@ -18,6 +18,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if BITS == 8
 #define COPY_PIXEL(to, r, g, b)                    \
     do {                                           \
diff --git a/hw/display/omap_lcd_template.h b/hw/display/omap_lcd_template.h
index 1025ff3..bca61d2 100644
--- a/hw/display/omap_lcd_template.h
+++ b/hw/display/omap_lcd_template.h
@@ -27,6 +27,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if DEPTH == 32
 # define BPP 4
 # define PIXEL_TYPE uint32_t
diff --git a/hw/display/pl110_template.h b/hw/display/pl110_template.h
index 36ba791..79dc292 100644
--- a/hw/display/pl110_template.h
+++ b/hw/display/pl110_template.h
@@ -9,6 +9,8 @@
  * Framebuffer format conversion routines.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef ORDER
 
 #if BITS == 8
diff --git a/hw/display/pxa2xx_template.h b/hw/display/pxa2xx_template.h
index c64eebc..fef72eb 100644
--- a/hw/display/pxa2xx_template.h
+++ b/hw/display/pxa2xx_template.h
@@ -9,6 +9,8 @@
  * Framebuffer format conversion routines.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 # define SKIP_PIXEL(to)		to += deststep
 #if BITS == 8
 # define COPY_PIXEL(to, from)  do { *to = from; SKIP_PIXEL(to); } while (0)
diff --git a/hw/display/qxl.h b/hw/display/qxl.h
index 2ddf065..9fb6f81 100644
--- a/hw/display/qxl.h
+++ b/hw/display/qxl.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef HW_QXL_H
 #define HW_QXL_H 1
 
diff --git a/hw/display/sm501_template.h b/hw/display/sm501_template.h
index f33e499..b583a69 100644
--- a/hw/display/sm501_template.h
+++ b/hw/display/sm501_template.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if DEPTH == 8
 #define BPP 1
 #define PIXEL_TYPE uint8_t
diff --git a/hw/display/tc6393xb_template.h b/hw/display/tc6393xb_template.h
index 78629c0..927282c 100644
--- a/hw/display/tc6393xb_template.h
+++ b/hw/display/tc6393xb_template.h
@@ -21,6 +21,8 @@
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if BITS == 8
 # define SET_PIXEL(addr, color)  (*(uint8_t *)addr = color)
 #elif BITS == 15 || BITS == 16
diff --git a/hw/display/vga-helpers.h b/hw/display/vga-helpers.h
index 94f6de2..101491d 100644
--- a/hw/display/vga-helpers.h
+++ b/hw/display/vga-helpers.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 static inline void vga_draw_glyph_line(uint8_t *d, uint32_t font_data,
                                        uint32_t xorcol, uint32_t bgcol)
 {
diff --git a/hw/display/vga_int.h b/hw/display/vga_int.h
index 3ce5544..81b35f5 100644
--- a/hw/display/vga_int.h
+++ b/hw/display/vga_int.h
@@ -21,6 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_VGA_INT_H
 #define HW_VGA_INT_H 1
 
diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h
index e5f514c..303b922 100644
--- a/hw/i386/intel_iommu_internal.h
+++ b/hw/i386/intel_iommu_internal.h
@@ -9,12 +9,12 @@
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
-
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
-
+ *
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  *
@@ -25,6 +25,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_I386_INTEL_IOMMU_INTERNAL_H
 #define HW_I386_INTEL_IOMMU_INTERNAL_H
 #include "hw/i386/intel_iommu.h"
diff --git a/hw/ide/ahci.h b/hw/ide/ahci.h
index bc777ed..17a3e6f 100644
--- a/hw/ide/ahci.h
+++ b/hw/ide/ahci.h
@@ -21,6 +21,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_IDE_AHCI_H
 #define HW_IDE_AHCI_H
 
diff --git a/hw/lm32/lm32.h b/hw/lm32/lm32.h
index e338bfe..3991c39 100644
--- a/hw/lm32/lm32.h
+++ b/hw/lm32/lm32.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_LM32_H
 #define HW_LM32_H 1
 
diff --git a/hw/lm32/lm32_hwsetup.h b/hw/lm32/lm32_hwsetup.h
index b71e6ea..feaa3ce 100644
--- a/hw/lm32/lm32_hwsetup.h
+++ b/hw/lm32/lm32_hwsetup.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * These are helper functions for creating the hardware description blob used
  * in the Theobroma's uClinux port.
diff --git a/hw/lm32/milkymist-hw.h b/hw/lm32/milkymist-hw.h
index eb6a3a2..0ca3b61 100644
--- a/hw/lm32/milkymist-hw.h
+++ b/hw/lm32/milkymist-hw.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_HW_MILKYMIST_H
 #define QEMU_HW_MILKYMIST_H
 
diff --git a/hw/microblaze/boot.h b/hw/microblaze/boot.h
index 0eb7f8e..3c29eb3 100644
--- a/hw/microblaze/boot.h
+++ b/hw/microblaze/boot.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __MICROBLAZE_BOOT__
 #define __MICROBLAZE_BOOT__
 
diff --git a/hw/net/e1000e_core.h b/hw/net/e1000e_core.h
index 5f413a9..fcc1ca2 100644
--- a/hw/net/e1000e_core.h
+++ b/hw/net/e1000e_core.h
@@ -33,6 +33,8 @@
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define E1000E_PHY_PAGE_SIZE    (0x20)
 #define E1000E_PHY_PAGES        (0x07)
 #define E1000E_MAC_SIZE         (0x8000)
diff --git a/hw/net/e1000x_common.h b/hw/net/e1000x_common.h
index 21bf28e..d81a8ee 100644
--- a/hw/net/e1000x_common.h
+++ b/hw/net/e1000x_common.h
@@ -22,6 +22,8 @@
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "e1000_regs.h"
 
 #define defreg(x)   x = (E1000_##x >> 2)
diff --git a/hw/net/ne2000.h b/hw/net/ne2000.h
index d022b28..72b602f 100644
--- a/hw/net/ne2000.h
+++ b/hw/net/ne2000.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_NE2000_H
 #define HW_NE2000_H 1
 
diff --git a/hw/net/pcnet.h b/hw/net/pcnet.h
index dec8de8..012e2ea 100644
--- a/hw/net/pcnet.h
+++ b/hw/net/pcnet.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_PCNET_H
 #define HW_PCNET_H 1
 
diff --git a/hw/net/rocker/rocker_desc.h b/hw/net/rocker/rocker_desc.h
index d4041f5..f0a0032 100644
--- a/hw/net/rocker/rocker_desc.h
+++ b/hw/net/rocker/rocker_desc.h
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 
 #ifndef _ROCKER_DESC_H_
 #define _ROCKER_DESC_H_
diff --git a/hw/net/rocker/rocker_fp.h b/hw/net/rocker/rocker_fp.h
index 04592bb..5aed927 100644
--- a/hw/net/rocker/rocker_fp.h
+++ b/hw/net/rocker/rocker_fp.h
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ROCKER_FP_H_
 #define _ROCKER_FP_H_
 
diff --git a/hw/net/rocker/rocker_of_dpa.h b/hw/net/rocker/rocker_of_dpa.h
index f3f6d77..8a46b88 100644
--- a/hw/net/rocker/rocker_of_dpa.h
+++ b/hw/net/rocker/rocker_of_dpa.h
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ROCKER_OF_DPA_H_
 #define _ROCKER_OF_DPA_H_
 
diff --git a/hw/net/rocker/rocker_tlv.h b/hw/net/rocker/rocker_tlv.h
index e3c4ab6..3e6a0e8 100644
--- a/hw/net/rocker/rocker_tlv.h
+++ b/hw/net/rocker/rocker_tlv.h
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ROCKER_TLV_H_
 #define _ROCKER_TLV_H_
 
diff --git a/hw/net/rocker/rocker_world.h b/hw/net/rocker/rocker_world.h
index 58ade47..84fcf1b 100644
--- a/hw/net/rocker/rocker_world.h
+++ b/hw/net/rocker/rocker_world.h
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ROCKER_WORLD_H_
 #define _ROCKER_WORLD_H_
 
diff --git a/hw/net/vmware_utils.h b/hw/net/vmware_utils.h
index c0dbb2f..a4834f5 100644
--- a/hw/net/vmware_utils.h
+++ b/hw/net/vmware_utils.h
@@ -14,6 +14,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VMWARE_UTILS_H
 #define VMWARE_UTILS_H
 
diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h
index 1c5f04f..1d91fad 100644
--- a/hw/ppc/ppc405.h
+++ b/hw/ppc/ppc405.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(PPC_405_H)
 #define PPC_405_H
 
diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index 9aa4d94..cbc9fdf 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -9,6 +9,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_S390_IPL_H
 #define HW_S390_IPL_H
 
diff --git a/hw/s390x/s390-pci-inst.h b/hw/s390x/s390-pci-inst.h
index b084f23..32eee3c 100644
--- a/hw/s390x/s390-pci-inst.h
+++ b/hw/s390x/s390-pci-inst.h
@@ -11,6 +11,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_S390_PCI_INST_H
 #define HW_S390_PCI_INST_H
 
diff --git a/hw/s390x/s390-virtio.h b/hw/s390x/s390-virtio.h
index ffd014c..15507f3 100644
--- a/hw/s390x/s390-virtio.h
+++ b/hw/s390x/s390-virtio.h
@@ -9,6 +9,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_S390_VIRTIO_H
 #define HW_S390_VIRTIO_H 1
 
diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
index 595f81f..b1b138d 100644
--- a/hw/scsi/mptsas.h
+++ b/hw/scsi/mptsas.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MPTSAS_H
 #define MPTSAS_H
 
diff --git a/hw/scsi/viosrp.h b/hw/scsi/viosrp.h
index d8e365d..05fe773 100644
--- a/hw/scsi/viosrp.h
+++ b/hw/scsi/viosrp.h
@@ -31,6 +31,9 @@
 /* of Linux and other operating systems (AIX, OS/400) that talk this protocol*/
 /* between logical partitions                                                */
 /*****************************************************************************/
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef PPC_VIOSRP_H
 #define PPC_VIOSRP_H
 
diff --git a/hw/tpm/tpm_int.h b/hw/tpm/tpm_int.h
index f2f285b..d5d1ece 100644
--- a/hw/tpm/tpm_int.h
+++ b/hw/tpm/tpm_int.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TPM_TPM_INT_H
 #define TPM_TPM_INT_H
 
diff --git a/hw/tpm/tpm_tis.h b/hw/tpm/tpm_tis.h
index a1df41f..e9ddc17 100644
--- a/hw/tpm/tpm_tis.h
+++ b/hw/tpm/tpm_tis.h
@@ -14,6 +14,9 @@
  * http://www.trustedcomputinggroup.org
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TPM_TPM_TIS_H
 #define TPM_TPM_TIS_H
 
diff --git a/hw/usb/desc.h b/hw/usb/desc.h
index 4d81c68..b6663f3 100644
--- a/hw/usb/desc.h
+++ b/hw/usb/desc.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_HW_USB_DESC_H
 #define QEMU_HW_USB_DESC_H
 
diff --git a/hw/usb/quirks.h b/hw/usb/quirks.h
index 8dc6065..4ee6210 100644
--- a/hw/usb/quirks.h
+++ b/hw/usb/quirks.h
@@ -12,6 +12,8 @@
  * (at your option) any later version.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* 1 on 1 copy of linux/drivers/usb/serial/ftdi_sio_ids.h */
 #include "quirks-ftdi-ids.h"
 /* 1 on 1 copy of linux/drivers/usb/serial/pl2303.h */
diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h
index b3eb0d8..7cb0d1b 100644
--- a/hw/vfio/pci.h
+++ b/hw/vfio/pci.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2.  See
  * the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef HW_VFIO_VFIO_PCI_H
 #define HW_VFIO_VFIO_PCI_H
 
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index c2f8e1f..e787188 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef XEN_PT_H
 #define XEN_PT_H
 
diff --git a/hw/xenpv/xen_domainbuild.h b/hw/xenpv/xen_domainbuild.h
index 29a91ea..547aee6 100644
--- a/hw/xenpv/xen_domainbuild.h
+++ b/hw/xenpv/xen_domainbuild.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_HW_XEN_DOMAINBUILD_H
 #define QEMU_HW_XEN_DOMAINBUILD_H 1
 
diff --git a/hw/xtensa/bootparam.h b/hw/xtensa/bootparam.h
index 955f4e8..27c0017 100644
--- a/hw/xtensa/bootparam.h
+++ b/hw/xtensa/bootparam.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_XTENSA_BOOTPARAM
 #define HW_XTENSA_BOOTPARAM
 
diff --git a/include/block/write-threshold.h b/include/block/write-threshold.h
index 234d219..b2cfd11 100644
--- a/include/block/write-threshold.h
+++ b/include/block/write-threshold.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU LGPL, version 2 or later.
  * See the COPYING.LIB file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef BLOCK_WRITE_THRESHOLD_H
 #define BLOCK_WRITE_THRESHOLD_H
 
diff --git a/include/disas/disas.h b/include/disas/disas.h
index 4930d78..b665558 100644
--- a/include/disas/disas.h
+++ b/include/disas/disas.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_DISAS_H
 #define _QEMU_DISAS_H
 
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 9f38edf..6fe5157 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_ALL_H
 #define CPU_ALL_H
 
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 5f4e303..9e33e84 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_DEFS_H
 #define CPU_DEFS_H
 
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
index b573df5..103d015 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -16,6 +16,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * Generate inline load/store functions for all MMU modes (typically
  * at least _user and _kernel) as well as _data versions, for all data
diff --git a/include/exec/cpu_ldst_template.h b/include/exec/cpu_ldst_template.h
index eaf69a1..ac7d5c8 100644
--- a/include/exec/cpu_ldst_template.h
+++ b/include/exec/cpu_ldst_template.h
@@ -24,6 +24,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(SOFTMMU_CODE_ACCESS)
 #include "trace.h"
 #endif
diff --git a/include/exec/cpu_ldst_useronly_template.h b/include/exec/cpu_ldst_useronly_template.h
index b1378bf..e41aae9 100644
--- a/include/exec/cpu_ldst_useronly_template.h
+++ b/include/exec/cpu_ldst_useronly_template.h
@@ -23,6 +23,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(CODE_ACCESS)
 #include "trace.h"
 #endif
diff --git a/include/exec/cputlb.h b/include/exec/cputlb.h
index d454c00..4115c06 100644
--- a/include/exec/cputlb.h
+++ b/include/exec/cputlb.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPUTLB_H
 #define CPUTLB_H
 
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index c1f59fa..80a3ef1 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _EXEC_ALL_H_
 #define _EXEC_ALL_H_
 
diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
index a011324..7982eb3 100644
--- a/include/exec/gen-icount.h
+++ b/include/exec/gen-icount.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef GEN_ICOUNT_H
 #define GEN_ICOUNT_H 1
 
diff --git a/include/exec/helper-gen.h b/include/exec/helper-gen.h
index 0d0da3a..ccbfc11 100644
--- a/include/exec/helper-gen.h
+++ b/include/exec/helper-gen.h
@@ -1,6 +1,8 @@
 /* Helper file for declaring TCG helper functions.
    This one expands generation functions for tcg opcodes.  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HELPER_GEN_H
 #define HELPER_GEN_H 1
 
diff --git a/include/exec/helper-proto.h b/include/exec/helper-proto.h
index effdd43..9cad3d4 100644
--- a/include/exec/helper-proto.h
+++ b/include/exec/helper-proto.h
@@ -1,6 +1,8 @@
 /* Helper file for declaring TCG helper functions.
    This one expands prototypes for the helper functions.  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HELPER_PROTO_H
 #define HELPER_PROTO_H 1
 
diff --git a/include/exec/helper-tcg.h b/include/exec/helper-tcg.h
index 79fa3c8..86bc83c 100644
--- a/include/exec/helper-tcg.h
+++ b/include/exec/helper-tcg.h
@@ -1,6 +1,8 @@
 /* Helper file for declaring TCG helper functions.
    This one defines data structures private to tcg.c.  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HELPER_TCG_H
 #define HELPER_TCG_H 1
 
diff --git a/include/exec/ioport.h b/include/exec/ioport.h
index a298b89..51cf14e 100644
--- a/include/exec/ioport.h
+++ b/include/exec/ioport.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /**************************************************************************
  * IO ports API
  */
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index fb467ac..68497f0 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * This header is for use by exec.c and memory.c ONLY.  Do not include it.
  * The functions declared here will be removed soon.
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 2a9465d..9c74007 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * This header is for use by exec.c and memory.c ONLY.  Do not include it.
  * The functions declared here will be removed soon.
diff --git a/include/exec/softmmu-semi.h b/include/exec/softmmu-semi.h
index 3a58c3f..1426038 100644
--- a/include/exec/softmmu-semi.h
+++ b/include/exec/softmmu-semi.h
@@ -6,6 +6,9 @@
  *
  * This code is licensed under the GPL
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SOFTMMU_SEMI_H
 #define SOFTMMU_SEMI_H 1
 
diff --git a/include/exec/tb-hash.h b/include/exec/tb-hash.h
index 1d0200b..4988809 100644
--- a/include/exec/tb-hash.h
+++ b/include/exec/tb-hash.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef EXEC_TB_HASH
 #define EXEC_TB_HASH
 
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 80eedac..4c61626 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_TYPES_H
 #define QEMU_TYPES_H
 #include "cpu.h"
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
index f19ef4b..700da95 100644
--- a/include/exec/user/thunk.h
+++ b/include/exec/user/thunk.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef THUNK_H
 #define THUNK_H
 
diff --git a/include/hw/acpi/piix4.h b/include/hw/acpi/piix4.h
index 26c2370..ee60a31 100644
--- a/include/hw/acpi/piix4.h
+++ b/include/hw/acpi/piix4.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_ACPI_PIIX4_H
 #define HW_ACPI_PIIX4_H
 
diff --git a/include/hw/acpi/tco.h b/include/hw/acpi/tco.h
index 52ad767..d7ff814 100644
--- a/include/hw/acpi/tco.h
+++ b/include/hw/acpi/tco.h
@@ -6,6 +6,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_ACPI_TCO_H
 #define HW_ACPI_TCO_H
 
diff --git a/include/hw/arm/allwinner-a10.h b/include/hw/arm/allwinner-a10.h
index 6b32a99..cfd9137 100644
--- a/include/hw/arm/allwinner-a10.h
+++ b/include/hw/arm/allwinner-a10.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef ALLWINNER_H_
 
 #include "qemu-common.h"
diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h
index 76de199..62ef648 100644
--- a/include/hw/arm/bcm2836.h
+++ b/include/hw/arm/bcm2836.h
@@ -8,6 +8,8 @@
  * This code is licensed under the GNU GPLv2 and later.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef BCM2836_H
 #define BCM2836_H
 
diff --git a/include/hw/arm/digic.h b/include/hw/arm/digic.h
index 63785ba..2a58574 100644
--- a/include/hw/arm/digic.h
+++ b/include/hw/arm/digic.h
@@ -15,6 +15,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_ARM_DIGIC_H
 #define HW_ARM_DIGIC_H
 
diff --git a/include/hw/arm/fsl-imx25.h b/include/hw/arm/fsl-imx25.h
index d0e8e9d..2795700 100644
--- a/include/hw/arm/fsl-imx25.h
+++ b/include/hw/arm/fsl-imx25.h
@@ -14,6 +14,8 @@
  * for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef FSL_IMX25_H
 #define FSL_IMX25_H
 
diff --git a/include/hw/arm/fsl-imx31.h b/include/hw/arm/fsl-imx31.h
index d408abb..fb77d94 100644
--- a/include/hw/arm/fsl-imx31.h
+++ b/include/hw/arm/fsl-imx31.h
@@ -14,6 +14,8 @@
  * for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef FSL_IMX31_H
 #define FSL_IMX31_H
 
diff --git a/include/hw/arm/fsl-imx6.h b/include/hw/arm/fsl-imx6.h
index ec6c509..5b3f7ec 100644
--- a/include/hw/arm/fsl-imx6.h
+++ b/include/hw/arm/fsl-imx6.h
@@ -14,6 +14,8 @@
  * for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef FSL_IMX6_H
 #define FSL_IMX6_H
 
diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h
index 13981a6..a899cbd 100644
--- a/include/hw/arm/sharpsl.h
+++ b/include/hw/arm/sharpsl.h
@@ -3,6 +3,9 @@
  *
  * This file is licensed under the GNU GPL.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_SHARPSL_H
 #define QEMU_SHARPSL_H
 
diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h
index c2931bf..4eefeaf 100644
--- a/include/hw/arm/xlnx-zynqmp.h
+++ b/include/hw/arm/xlnx-zynqmp.h
@@ -15,6 +15,8 @@
  * for more details.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef XLNX_ZYNQMP_H
 
 #include "qemu-common.h"
diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
index 1749dab..3e9013b 100644
--- a/include/hw/block/fdc.h
+++ b/include/hw/block/fdc.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_FDC_H
 #define HW_FDC_H
 
diff --git a/include/hw/block/flash.h b/include/hw/block/flash.h
index 50ccbbc..c67b073 100644
--- a/include/hw/block/flash.h
+++ b/include/hw/block/flash.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_FLASH_H
 #define HW_FLASH_H 1
 
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index 2742d70..99c6a68 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_ESCC_H
 #define HW_ESCC_H 1
 
diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h
index 93bd7ee..da127ba 100644
--- a/include/hw/char/pl011.h
+++ b/include/hw/char/pl011.h
@@ -12,6 +12,8 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef PL011_UART_H
 #define PL011_UART_H
 
diff --git a/include/hw/char/xilinx_uartlite.h b/include/hw/char/xilinx_uartlite.h
index 8b4fc54..7652174 100644
--- a/include/hw/char/xilinx_uartlite.h
+++ b/include/hw/char/xilinx_uartlite.h
@@ -12,6 +12,8 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef XILINX_UARTLITE_H
 #define XILINX_UARTLITE_H
 
diff --git a/include/hw/cris/etraxfs.h b/include/hw/cris/etraxfs.h
index eb66418..3e4a877 100644
--- a/include/hw/cris/etraxfs.h
+++ b/include/hw/cris/etraxfs.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_EXTRAXFS_H
 #define HW_EXTRAXFS_H 1
 
diff --git a/include/hw/cris/etraxfs_dma.h b/include/hw/cris/etraxfs_dma.h
index 38104a6..185d50f 100644
--- a/include/hw/cris/etraxfs_dma.h
+++ b/include/hw/cris/etraxfs_dma.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_ETRAXFS_DMA_H
 #define HW_ETRAXFS_DMA_H 1
 
diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h
index f510e7e..ed6b02b 100644
--- a/include/hw/elf_ops.h
+++ b/include/hw/elf_ops.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 static void glue(bswap_ehdr, SZ)(struct elfhdr *ehdr)
 {
     bswap16s(&ehdr->e_type);			/* Object file type */
diff --git a/include/hw/empty_slot.h b/include/hw/empty_slot.h
index 6079602..e148923 100644
--- a/include/hw/empty_slot.h
+++ b/include/hw/empty_slot.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_EMPTY_SLOT_H
 #define HW_EMPTY_SLOT_H 1
 
diff --git a/include/hw/i2c/aspeed_i2c.h b/include/hw/i2c/aspeed_i2c.h
index f9020ac..ee215ff 100644
--- a/include/hw/i2c/aspeed_i2c.h
+++ b/include/hw/i2c/aspeed_i2c.h
@@ -17,6 +17,9 @@
  *  with this program; if not, write to the Free Software Foundation, Inc.,
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef ASPEED_I2C_H
 #define ASPEED_I2C_H
 
diff --git a/include/hw/i2c/i2c-ddc.h b/include/hw/i2c/i2c-ddc.h
index cb8e62d..d2469b2 100644
--- a/include/hw/i2c/i2c-ddc.h
+++ b/include/hw/i2c/i2c-ddc.h
@@ -16,6 +16,8 @@
  *  with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef I2C_DDC
 #define I2C_DDC
 
diff --git a/include/hw/i2c/pm_smbus.h b/include/hw/i2c/pm_smbus.h
index 926603f..48995ca 100644
--- a/include/hw/i2c/pm_smbus.h
+++ b/include/hw/i2c/pm_smbus.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef PM_SMBUS_H
 #define PM_SMBUS_H
 
diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_internal.h
index 74fe935..441a620 100644
--- a/include/hw/i386/apic_internal.h
+++ b/include/hw/i386/apic_internal.h
@@ -17,6 +17,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_APIC_INTERNAL_H
 #define QEMU_APIC_INTERNAL_H
 
diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h
index b024ffa..dfa08c0 100644
--- a/include/hw/i386/intel_iommu.h
+++ b/include/hw/i386/intel_iommu.h
@@ -9,16 +9,18 @@
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
-
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
-
+ *
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef INTEL_IOMMU_H
 #define INTEL_IOMMU_H
 #include "hw/qdev.h"
diff --git a/include/hw/i386/ioapic_internal.h b/include/hw/i386/ioapic_internal.h
index cab9e67..acf171f 100644
--- a/include/hw/i386/ioapic_internal.h
+++ b/include/hw/i386/ioapic_internal.h
@@ -19,6 +19,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_IOAPIC_INTERNAL_H
 #define QEMU_IOAPIC_INTERNAL_H
 
diff --git a/include/hw/input/hid.h b/include/hw/input/hid.h
index 2127c7c..aec0435 100644
--- a/include/hw/input/hid.h
+++ b/include/hw/input/hid.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_HID_H
 #define QEMU_HID_H
 
diff --git a/include/hw/intc/allwinner-a10-pic.h b/include/hw/intc/allwinner-a10-pic.h
index 5721b2e..355c301 100644
--- a/include/hw/intc/allwinner-a10-pic.h
+++ b/include/hw/intc/allwinner-a10-pic.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef AW_A10_PIC_H
 #define AW_A10_PIC_H
 
diff --git a/include/hw/isa/i8257.h b/include/hw/isa/i8257.h
index 8c44d36..b4f983a 100644
--- a/include/hw/isa/i8257.h
+++ b/include/hw/isa/i8257.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_I8257_H
 #define HW_I8257_H
 
diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h
index 471b5e9..ddc8405 100644
--- a/include/hw/isa/vt82c686.h
+++ b/include/hw/isa/vt82c686.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_VT82C686_H
 #define HW_VT82C686_H
 
diff --git a/include/hw/kvm/clock.h b/include/hw/kvm/clock.h
index 252ea13..b6f2147 100644
--- a/include/hw/kvm/clock.h
+++ b/include/hw/kvm/clock.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef CONFIG_KVM
 
 void kvmclock_create(void);
diff --git a/include/hw/mips/bios.h b/include/hw/mips/bios.h
index b4b88ac..85396e8 100644
--- a/include/hw/mips/bios.h
+++ b/include/hw/mips/bios.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "cpu.h"
 
 #define BIOS_SIZE (4 * 1024 * 1024)
diff --git a/include/hw/mips/cpudevs.h b/include/hw/mips/cpudevs.h
index 8673daa..a04ef08 100644
--- a/include/hw/mips/cpudevs.h
+++ b/include/hw/mips/cpudevs.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_MIPS_CPUDEVS_H
 #define HW_MIPS_CPUDEVS_H
 
diff --git a/include/hw/mips/mips.h b/include/hw/mips/mips.h
index e0065ce..8f5608b 100644
--- a/include/hw/mips/mips.h
+++ b/include/hw/mips/mips.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_MIPS_H
 #define HW_MIPS_H
 /* Definitions for mips board emulation.  */
diff --git a/include/hw/misc/mips_cmgcr.h b/include/hw/misc/mips_cmgcr.h
index cc60eef..504a2b2 100644
--- a/include/hw/misc/mips_cmgcr.h
+++ b/include/hw/misc/mips_cmgcr.h
@@ -7,6 +7,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _MIPS_GCR_H
 #define _MIPS_GCR_H
 
diff --git a/include/hw/misc/mips_cpc.h b/include/hw/misc/mips_cpc.h
index 72c834e..86d2705 100644
--- a/include/hw/misc/mips_cpc.h
+++ b/include/hw/misc/mips_cpc.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MIPS_CPC_H
 #define MIPS_CPC_H
 
diff --git a/include/hw/misc/mips_itu.h b/include/hw/misc/mips_itu.h
index b3a4532..96d7193 100644
--- a/include/hw/misc/mips_itu.h
+++ b/include/hw/misc/mips_itu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MIPS_ITU_H
 #define MIPS_ITU_H
 
diff --git a/include/hw/net/allwinner_emac.h b/include/hw/net/allwinner_emac.h
index 9f21aa7..2a668a6 100644
--- a/include/hw/net/allwinner_emac.h
+++ b/include/hw/net/allwinner_emac.h
@@ -19,6 +19,9 @@
  * GNU General Public License for more details.
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef AW_EMAC_H
 #define AW_EMAC_H
 
diff --git a/include/hw/nvram/openbios_firmware_abi.h b/include/hw/nvram/openbios_firmware_abi.h
index c66ee22..89dfd5e 100644
--- a/include/hw/nvram/openbios_firmware_abi.h
+++ b/include/hw/nvram/openbios_firmware_abi.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef FIRMWARE_ABI_H
 #define FIRMWARE_ABI_H
 
diff --git a/include/hw/pci-host/apb.h b/include/hw/pci-host/apb.h
index 736db61..b076064 100644
--- a/include/hw/pci-host/apb.h
+++ b/include/hw/pci-host/apb.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef APB_PCI_H
 #define APB_PCI_H
 
diff --git a/include/hw/pci-host/spapr.h b/include/hw/pci-host/spapr.h
index 7848366..e09331c 100644
--- a/include/hw/pci-host/spapr.h
+++ b/include/hw/pci-host/spapr.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__HW_SPAPR_H__)
 #error Please include spapr.h before this file!
 #endif
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 403fec6..daf32b3 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_PCI_BUS_H
 #define QEMU_PCI_BUS_H
 
diff --git a/include/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.h
index c2ee4e2..d39a7bd 100644
--- a/include/hw/pci/pcie_aer.h
+++ b/include/hw/pci/pcie_aer.h
@@ -18,6 +18,8 @@
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_PCIE_AER_H
 #define QEMU_PCIE_AER_H
 
diff --git a/include/hw/ppc/ppc.h b/include/hw/ppc/ppc.h
index 5617dc4..4692564 100644
--- a/include/hw/ppc/ppc.h
+++ b/include/hw/ppc/ppc.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_PPC_H
 #define HW_PPC_H 1
 
diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h
index 91d84ba..b02f58a 100644
--- a/include/hw/ppc/ppc4xx.h
+++ b/include/hw/ppc/ppc4xx.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(PPC_4XX_H)
 #define PPC_4XX_H
 
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index e1f8274..c252948 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__HW_SPAPR_H__)
 #define __HW_SPAPR_H__
 
diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h
index 1c9b319..05cea70 100644
--- a/include/hw/ppc/spapr_cpu_core.h
+++ b/include/hw/ppc/spapr_cpu_core.h
@@ -6,6 +6,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HW_SPAPR_CPU_CORE_H
 #define HW_SPAPR_CPU_CORE_H
 
diff --git a/include/hw/ppc/spapr_drc.h b/include/hw/ppc/spapr_drc.h
index 08e8411..7243f44 100644
--- a/include/hw/ppc/spapr_drc.h
+++ b/include/hw/ppc/spapr_drc.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #if !defined(__HW_SPAPR_DRC_H__)
 #define __HW_SPAPR_DRC_H__
 
diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h
index 5f8b042..2351975 100644
--- a/include/hw/ppc/spapr_vio.h
+++ b/include/hw/ppc/spapr_vio.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _HW_SPAPR_VIO_H
 #define _HW_SPAPR_VIO_H
 /*
diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h
index 9091054..2f78cc4 100644
--- a/include/hw/ppc/xics.h
+++ b/include/hw/ppc/xics.h
@@ -24,6 +24,9 @@
  * THE SOFTWARE.
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__XICS_H__)
 #define __XICS_H__
 
diff --git a/include/hw/sparc/grlib.h b/include/hw/sparc/grlib.h
index 9a0db7b..869aa96 100644
--- a/include/hw/sparc/grlib.h
+++ b/include/hw/sparc/grlib.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _GRLIB_H_
 #define _GRLIB_H_
 
diff --git a/include/hw/sparc/sparc32_dma.h b/include/hw/sparc/sparc32_dma.h
index 9497b13..844a659 100644
--- a/include/hw/sparc/sparc32_dma.h
+++ b/include/hw/sparc/sparc32_dma.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SPARC32_DMA_H
 #define SPARC32_DMA_H
 
diff --git a/include/hw/ssi/xilinx_spips.h b/include/hw/ssi/xilinx_spips.h
index dbb9eef..0a64691 100644
--- a/include/hw/ssi/xilinx_spips.h
+++ b/include/hw/ssi/xilinx_spips.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef XLNX_SPIPS_H
 #define XLNX_SPIPS_H
 
diff --git a/include/hw/timer/allwinner-a10-pit.h b/include/hw/timer/allwinner-a10-pit.h
index 770bdc0..f3f7c08 100644
--- a/include/hw/timer/allwinner-a10-pit.h
+++ b/include/hw/timer/allwinner-a10-pit.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef AW_A10_PIT_H
 #define AW_A10_PIT_H
 
diff --git a/include/hw/timer/aspeed_timer.h b/include/hw/timer/aspeed_timer.h
index bd6c1a7..50f9deb 100644
--- a/include/hw/timer/aspeed_timer.h
+++ b/include/hw/timer/aspeed_timer.h
@@ -19,6 +19,9 @@
  *  with this program; if not, write to the Free Software Foundation, Inc.,
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef ASPEED_TIMER_H
 #define ASPEED_TIMER_H
 
diff --git a/include/hw/timer/i8254_internal.h b/include/hw/timer/i8254_internal.h
index 61a1bfb..fbc5edc 100644
--- a/include/hw/timer/i8254_internal.h
+++ b/include/hw/timer/i8254_internal.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_I8254_INTERNAL_H
 #define QEMU_I8254_INTERNAL_H
 
diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h
index 3367923..e541e52 100644
--- a/include/hw/timer/m48t59.h
+++ b/include/hw/timer/m48t59.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef NVRAM_H
 #define NVRAM_H
 
diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-access.h
index 4b28038..bb45420 100644
--- a/include/hw/virtio/virtio-access.h
+++ b/include/hw/virtio/virtio-access.h
@@ -12,6 +12,9 @@
  * (at your option) any later version.
  *
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_VIRTIO_ACCESS_H
 #define _QEMU_VIRTIO_ACCESS_H
 #include "hw/virtio/virtio.h"
diff --git a/include/hw/virtio/virtio-input.h b/include/hw/virtio/virtio-input.h
index bddbd4b..c082241 100644
--- a/include/hw/virtio/virtio-input.h
+++ b/include/hw/virtio/virtio-input.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_VIRTIO_INPUT_H
 #define _QEMU_VIRTIO_INPUT_H
 
diff --git a/include/hw/virtio/virtio-rng.h b/include/hw/virtio/virtio-rng.h
index 2bc1ee5..c204481 100644
--- a/include/hw/virtio/virtio-rng.h
+++ b/include/hw/virtio/virtio-rng.h
@@ -9,6 +9,8 @@
  * top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_VIRTIO_RNG_H
 #define _QEMU_VIRTIO_RNG_H
 
diff --git a/include/hw/xen/xen_backend.h b/include/hw/xen/xen_backend.h
index 6e18a46..032eb45 100644
--- a/include/hw/xen/xen_backend.h
+++ b/include/hw/xen/xen_backend.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_HW_XEN_BACKEND_H
 #define QEMU_HW_XEN_BACKEND_H 1
 
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 5eabf37..329f117 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_HW_XEN_COMMON_H
 #define QEMU_HW_XEN_COMMON_H 1
 
diff --git a/include/libdecnumber/decNumberLocal.h b/include/libdecnumber/decNumberLocal.h
index 94fb512..3609c1a 100644
--- a/include/libdecnumber/decNumberLocal.h
+++ b/include/libdecnumber/decNumberLocal.h
@@ -28,6 +28,8 @@
    Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* ------------------------------------------------------------------ */
 /* decNumber package local type, tuning, and macro definitions	      */
 /* ------------------------------------------------------------------ */
diff --git a/include/migration/cpu.h b/include/migration/cpu.h
index f3abbab..41d26c9 100644
--- a/include/migration/cpu.h
+++ b/include/migration/cpu.h
@@ -1,4 +1,7 @@
 /* Declarations for use for CPU state serialization.  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MIGRATION_CPU_H
 #define MIGRATION_CPU_H
 
diff --git a/include/monitor/hmp-target.h b/include/monitor/hmp-target.h
index bc2c9c0..1b4cf31 100644
--- a/include/monitor/hmp-target.h
+++ b/include/monitor/hmp-target.h
@@ -21,6 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MONITOR_COMMON_H
 #define MONITOR_COMMON_H
 
diff --git a/include/qemu/compatfd.h b/include/qemu/compatfd.h
index aa12ee9..8fceea4 100644
--- a/include/qemu/compatfd.h
+++ b/include/qemu/compatfd.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_COMPATFD_H
 #define QEMU_COMPATFD_H
 
diff --git a/include/qemu/ratelimit.h b/include/qemu/ratelimit.h
index d413a4a..eb8ac2d 100644
--- a/include/qemu/ratelimit.h
+++ b/include/qemu/ratelimit.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_RATELIMIT_H
 #define QEMU_RATELIMIT_H 1
 
diff --git a/include/qemu/thread-win32.h b/include/qemu/thread-win32.h
index 385ff5f..5092c48 100644
--- a/include/qemu/thread-win32.h
+++ b/include/qemu/thread-win32.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __QEMU_THREAD_WIN32_H
 #define __QEMU_THREAD_WIN32_H 1
 #include "windows.h"
diff --git a/include/qemu/xattr.h b/include/qemu/xattr.h
index 83cf98c..31da484 100644
--- a/include/qemu/xattr.h
+++ b/include/qemu/xattr.h
@@ -10,6 +10,9 @@
  * later version.  See the COPYING file in the top-level directory.
  *
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_XATTR_H
 #define QEMU_XATTR_H
 
diff --git a/include/sysemu/balloon.h b/include/sysemu/balloon.h
index 3f976b4..a250768 100644
--- a/include/sysemu/balloon.h
+++ b/include/sysemu/balloon.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _QEMU_BALLOON_H
 #define _QEMU_BALLOON_H
 
diff --git a/include/sysemu/cpus.h b/include/sysemu/cpus.h
index fe992a8..128eaf8 100644
--- a/include/sysemu/cpus.h
+++ b/include/sysemu/cpus.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_CPUS_H
 #define QEMU_CPUS_H
 
diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h
index ef931be..a9368b5 100644
--- a/include/sysemu/dump.h
+++ b/include/sysemu/dump.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef DUMP_H
 #define DUMP_H
 
diff --git a/include/sysemu/iothread.h b/include/sysemu/iothread.h
index 2eefea1..9d110f2 100644
--- a/include/sysemu/iothread.h
+++ b/include/sysemu/iothread.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef IOTHREAD_H
 #define IOTHREAD_H
 
diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h
index 888557a..a1a562e 100644
--- a/include/sysemu/kvm_int.h
+++ b/include/sysemu/kvm_int.h
@@ -6,6 +6,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_KVM_INT_H
 #define QEMU_KVM_INT_H
 
diff --git a/include/sysemu/memory_mapping.h b/include/sysemu/memory_mapping.h
index 706152d..97f0afa 100644
--- a/include/sysemu/memory_mapping.h
+++ b/include/sysemu/memory_mapping.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MEMORY_MAPPING_H
 #define MEMORY_MAPPING_H
 
diff --git a/include/sysemu/os-posix.h b/include/sysemu/os-posix.h
index 9c7dfdf..1aefc70 100644
--- a/include/sysemu/os-posix.h
+++ b/include/sysemu/os-posix.h
@@ -23,6 +23,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_OS_POSIX_H
 #define QEMU_OS_POSIX_H
 
diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index 17aad3b..383b114 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -23,6 +23,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_OS_WIN32_H
 #define QEMU_OS_WIN32_H
 
diff --git a/include/sysemu/seccomp.h b/include/sysemu/seccomp.h
index cfc0600..11c17b2 100644
--- a/include/sysemu/seccomp.h
+++ b/include/sysemu/seccomp.h
@@ -12,6 +12,9 @@
  * Contributions after 2012-01-13 are licensed under the terms of the
  * GNU GPL, version 2 or (at your option) any later version.
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_SECCOMP_H
 #define QEMU_SECCOMP_H
 
diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h
index c8afa17..8161b3c 100644
--- a/include/sysemu/tpm.h
+++ b/include/sysemu/tpm.h
@@ -9,6 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_TPM_H
 #define QEMU_TPM_H
 
diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index c849489..6e5f98a 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -6,6 +6,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef XEN_MAPCACHE_H
 #define XEN_MAPCACHE_H
 
diff --git a/include/trace-tcg.h b/include/trace-tcg.h
index 6f6bdbb..548c974 100644
--- a/include/trace-tcg.h
+++ b/include/trace-tcg.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRACE_TCG_H
 #define TRACE_TCG_H
 
diff --git a/include/ui/egl-context.h b/include/ui/egl-context.h
index f004ce1..db9c225 100644
--- a/include/ui/egl-context.h
+++ b/include/ui/egl-context.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef EGL_CONTEXT_H
 #define EGL_CONTEXT_H
 
diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h
index 03fcf4b..fbc03a8 100644
--- a/include/ui/egl-helpers.h
+++ b/include/ui/egl-helpers.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef EGL_HELPERS_H
 #define EGL_HELPERS_H
 
diff --git a/include/ui/gtk.h b/include/ui/gtk.h
index 2bf60f3..c9bff4f 100644
--- a/include/ui/gtk.h
+++ b/include/ui/gtk.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef UI_GTK_H
 #define UI_GTK_H
 
diff --git a/include/ui/input.h b/include/ui/input.h
index 102d8a3..855affe 100644
--- a/include/ui/input.h
+++ b/include/ui/input.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef INPUT_H
 #define INPUT_H
 
diff --git a/include/ui/pixel_ops.h b/include/ui/pixel_ops.h
index d390adf..18d5e18 100644
--- a/include/ui/pixel_ops.h
+++ b/include/ui/pixel_ops.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 static inline unsigned int rgb_to_pixel8(unsigned int r, unsigned int g,
                                          unsigned int b)
 {
diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h
index 3f0b57b..a1a441a 100644
--- a/include/ui/sdl2.h
+++ b/include/ui/sdl2.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SDL2_H
 #define SDL2_H
 
diff --git a/include/ui/shader.h b/include/ui/shader.h
index f7d8618..d8a5145 100644
--- a/include/ui/shader.h
+++ b/include/ui/shader.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_SHADER_H
 #define QEMU_SHADER_H
 
diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
index 568b64a..ff13d99 100644
--- a/include/ui/spice-display.h
+++ b/include/ui/spice-display.h
@@ -15,6 +15,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #include <spice/ipc_ring.h>
 #include <spice/enums.h>
 #include <spice/qxl_dev.h>
diff --git a/linux-headers/asm-arm/kvm.h b/linux-headers/asm-arm/kvm.h
index c98e4dc..e5147f1 100644
--- a/linux-headers/asm-arm/kvm.h
+++ b/linux-headers/asm-arm/kvm.h
@@ -16,6 +16,8 @@
  * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __ARM_KVM_H__
 #define __ARM_KVM_H__
 
diff --git a/linux-headers/asm-arm/kvm_para.h b/linux-headers/asm-arm/kvm_para.h
index 14fab8f..c424618 100644
--- a/linux-headers/asm-arm/kvm_para.h
+++ b/linux-headers/asm-arm/kvm_para.h
@@ -1 +1,3 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #include <asm-generic/kvm_para.h>
diff --git a/linux-headers/asm-arm64/kvm.h b/linux-headers/asm-arm64/kvm.h
index 7d82d1f..e95df78 100644
--- a/linux-headers/asm-arm64/kvm.h
+++ b/linux-headers/asm-arm64/kvm.h
@@ -19,6 +19,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __ARM_KVM_H__
 #define __ARM_KVM_H__
 
diff --git a/linux-headers/asm-arm64/kvm_para.h b/linux-headers/asm-arm64/kvm_para.h
index 14fab8f..c424618 100644
--- a/linux-headers/asm-arm64/kvm_para.h
+++ b/linux-headers/asm-arm64/kvm_para.h
@@ -1 +1,3 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #include <asm-generic/kvm_para.h>
diff --git a/linux-headers/asm-arm64/unistd.h b/linux-headers/asm-arm64/unistd.h
index 043d17a..5da368b 100644
--- a/linux-headers/asm-arm64/unistd.h
+++ b/linux-headers/asm-arm64/unistd.h
@@ -14,6 +14,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #define __ARCH_WANT_RENAMEAT
 
 #include <asm-generic/unistd.h>
diff --git a/linux-headers/asm-mips/kvm.h b/linux-headers/asm-mips/kvm.h
index 6985eb5..4f15d33 100644
--- a/linux-headers/asm-mips/kvm.h
+++ b/linux-headers/asm-mips/kvm.h
@@ -8,6 +8,8 @@
  * Authors: Sanjay Lal <sanjayl@kymasys.com>
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __LINUX_KVM_MIPS_H
 #define __LINUX_KVM_MIPS_H
 
diff --git a/linux-headers/asm-mips/unistd.h b/linux-headers/asm-mips/unistd.h
index 2a20209..9af4d4f 100644
--- a/linux-headers/asm-mips/unistd.h
+++ b/linux-headers/asm-mips/unistd.h
@@ -9,6 +9,9 @@
  * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
  * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ASM_UNISTD_H
 #define _ASM_UNISTD_H
 
diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h
index c93cf35..d0e3f75 100644
--- a/linux-headers/asm-powerpc/kvm.h
+++ b/linux-headers/asm-powerpc/kvm.h
@@ -17,6 +17,8 @@
  * Authors: Hollis Blanchard <hollisb@us.ibm.com>
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __LINUX_KVM_POWERPC_H
 #define __LINUX_KVM_POWERPC_H
 
diff --git a/linux-headers/asm-powerpc/kvm_para.h b/linux-headers/asm-powerpc/kvm_para.h
index 2abcc46..7e48ebf 100644
--- a/linux-headers/asm-powerpc/kvm_para.h
+++ b/linux-headers/asm-powerpc/kvm_para.h
@@ -17,6 +17,8 @@
  * Authors: Hollis Blanchard <hollisb@us.ibm.com>
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __POWERPC_KVM_PARA_H__
 #define __POWERPC_KVM_PARA_H__
 
diff --git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
index 09ae5dc..c271f92 100644
--- a/linux-headers/asm-s390/kvm.h
+++ b/linux-headers/asm-s390/kvm.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __LINUX_KVM_S390_H
 #define __LINUX_KVM_S390_H
 /*
diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
index 739c0c5..d3a7f1d 100644
--- a/linux-headers/asm-x86/kvm.h
+++ b/linux-headers/asm-x86/kvm.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _ASM_X86_KVM_H
 #define _ASM_X86_KVM_H
 
diff --git a/linux-headers/asm-x86/kvm_para.h b/linux-headers/asm-x86/kvm_para.h
index e41c5c1..f14bb8b 100644
--- a/linux-headers/asm-x86/kvm_para.h
+++ b/linux-headers/asm-x86/kvm_para.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _ASM_X86_KVM_PARA_H
 #define _ASM_X86_KVM_PARA_H
 
diff --git a/linux-headers/asm-x86/unistd.h b/linux-headers/asm-x86/unistd.h
index 1f99b12..ea1d455 100644
--- a/linux-headers/asm-x86/unistd.h
+++ b/linux-headers/asm-x86/unistd.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _ASM_X86_UNISTD_H
 #define _ASM_X86_UNISTD_H
 
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index e60e21b..5d5ed21 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __LINUX_KVM_H
 #define __LINUX_KVM_H
 
diff --git a/linux-headers/linux/kvm_para.h b/linux-headers/linux/kvm_para.h
index e61661e..51f87fb 100644
--- a/linux-headers/linux/kvm_para.h
+++ b/linux-headers/linux/kvm_para.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef __LINUX_KVM_PARA_H
 #define __LINUX_KVM_PARA_H
 
diff --git a/linux-headers/linux/userfaultfd.h b/linux-headers/linux/userfaultfd.h
index 19e8453..01dd4ce 100644
--- a/linux-headers/linux/userfaultfd.h
+++ b/linux-headers/linux/userfaultfd.h
@@ -6,6 +6,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _LINUX_USERFAULTFD_H
 #define _LINUX_USERFAULTFD_H
 
diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index 759b850..e9873bf 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -8,6 +8,9 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef VFIO_H
 #define VFIO_H
 
diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h
index 571294c..9c04cf0 100644
--- a/linux-headers/linux/vhost.h
+++ b/linux-headers/linux/vhost.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _LINUX_VHOST_H
 #define _LINUX_VHOST_H
 /* Userspace interface for in-kernel virtio accelerators. */
diff --git a/linux-user/aarch64/target_cpu.h b/linux-user/aarch64/target_cpu.h
index b5593dc..ec4c7e5 100644
--- a/linux-user/aarch64/target_cpu.h
+++ b/linux-user/aarch64/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/aarch64/target_signal.h b/linux-user/aarch64/target_signal.h
index e8c677d..ba601a4 100644
--- a/linux-user/aarch64/target_signal.h
+++ b/linux-user/aarch64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/aarch64/target_structs.h b/linux-user/aarch64/target_structs.h
index 21c1f2c..73f67af 100644
--- a/linux-user/aarch64/target_structs.h
+++ b/linux-user/aarch64/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/aarch64/termbits.h b/linux-user/aarch64/termbits.h
index b64ba97..766e909 100644
--- a/linux-user/aarch64/termbits.h
+++ b/linux-user/aarch64/termbits.h
@@ -1,6 +1,8 @@
 /* from asm/termbits.h */
 /* NOTE: exactly the same as i386 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/alpha/target_cpu.h b/linux-user/alpha/target_cpu.h
index 4256245..38ea84b 100644
--- a/linux-user/alpha/target_cpu.h
+++ b/linux-user/alpha/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/alpha/target_signal.h b/linux-user/alpha/target_signal.h
index 4c78319..f7d465a 100644
--- a/linux-user/alpha/target_signal.h
+++ b/linux-user/alpha/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/alpha/target_structs.h b/linux-user/alpha/target_structs.h
index 50e7708..8b34071 100644
--- a/linux-user/alpha/target_structs.h
+++ b/linux-user/alpha/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_syscall.h
index 3db4b16..8f61197 100644
--- a/linux-user/alpha/target_syscall.h
+++ b/linux-user/alpha/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/alpha/termbits.h b/linux-user/alpha/termbits.h
index 6406b6a..ef255ca 100644
--- a/linux-user/alpha/termbits.h
+++ b/linux-user/alpha/termbits.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 typedef unsigned char	target_cc_t;
 typedef unsigned int	target_speed_t;
 typedef unsigned int	target_tcflag_t;
diff --git a/linux-user/arm/nwfpe/fpa11.h b/linux-user/arm/nwfpe/fpa11.h
index 0b07284..de7448e 100644
--- a/linux-user/arm/nwfpe/fpa11.h
+++ b/linux-user/arm/nwfpe/fpa11.h
@@ -18,6 +18,8 @@
     along with this program; if not, see <http://www.gnu.org/licenses/>.
 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __FPA11_H__
 #define __FPA11_H__
 
diff --git a/linux-user/arm/nwfpe/fpopcode.h b/linux-user/arm/nwfpe/fpopcode.h
index 1b1137f..53eaa0b 100644
--- a/linux-user/arm/nwfpe/fpopcode.h
+++ b/linux-user/arm/nwfpe/fpopcode.h
@@ -18,6 +18,8 @@
     along with this program; if not, see <http://www.gnu.org/licenses/>.
 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __FPOPCODE_H__
 #define __FPOPCODE_H__
 
diff --git a/linux-user/arm/target_cpu.h b/linux-user/arm/target_cpu.h
index 6832262..79dface 100644
--- a/linux-user/arm/target_cpu.h
+++ b/linux-user/arm/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/arm/target_signal.h b/linux-user/arm/target_signal.h
index fb31f4c..09b42db 100644
--- a/linux-user/arm/target_signal.h
+++ b/linux-user/arm/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/arm/target_structs.h b/linux-user/arm/target_structs.h
index f3c85d4..75a37da 100644
--- a/linux-user/arm/target_structs.h
+++ b/linux-user/arm/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/arm/target_syscall.h b/linux-user/arm/target_syscall.h
index 11077b7..fee57c7 100644
--- a/linux-user/arm/target_syscall.h
+++ b/linux-user/arm/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/arm/termbits.h b/linux-user/arm/termbits.h
index 7772df1..e917098 100644
--- a/linux-user/arm/termbits.h
+++ b/linux-user/arm/termbits.h
@@ -1,6 +1,8 @@
 /* from asm/termbits.h */
 /* NOTE: exactly the same as i386 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/cris/target_cpu.h b/linux-user/cris/target_cpu.h
index 4d787e5..c31a125 100644
--- a/linux-user/cris/target_cpu.h
+++ b/linux-user/cris/target_cpu.h
@@ -17,6 +17,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/cris/target_signal.h b/linux-user/cris/target_signal.h
index e0f1382..a3a5c8f 100644
--- a/linux-user/cris/target_signal.h
+++ b/linux-user/cris/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/cris/target_structs.h b/linux-user/cris/target_structs.h
index e4a1ffb..bfe4ebc 100644
--- a/linux-user/cris/target_structs.h
+++ b/linux-user/cris/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/cris/termbits.h b/linux-user/cris/termbits.h
index fc82ca0..5aab429 100644
--- a/linux-user/cris/termbits.h
+++ b/linux-user/cris/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/flat.h b/linux-user/flat.h
index 6f2d0c4..473fa61 100644
--- a/linux-user/flat.h
+++ b/linux-user/flat.h
@@ -7,6 +7,8 @@
  * support uClinux flat-format executables.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define	FLAT_VERSION			0x00000004L
 
 #ifdef CONFIG_BINFMT_SHARED_FLAT
diff --git a/linux-user/host/x86_64/hostdep.h b/linux-user/host/x86_64/hostdep.h
index 9dfbf3a..f8cc678 100644
--- a/linux-user/host/x86_64/hostdep.h
+++ b/linux-user/host/x86_64/hostdep.h
@@ -9,6 +9,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef QEMU_HOSTDEP_H
 #define QEMU_HOSTDEP_H
 
diff --git a/linux-user/i386/target_cpu.h b/linux-user/i386/target_cpu.h
index 58f8645..146f552 100644
--- a/linux-user/i386/target_cpu.h
+++ b/linux-user/i386/target_cpu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/i386/target_signal.h b/linux-user/i386/target_signal.h
index 9baf7fb..4019982 100644
--- a/linux-user/i386/target_signal.h
+++ b/linux-user/i386/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/i386/target_structs.h b/linux-user/i386/target_structs.h
index 65f535e..326bb9c 100644
--- a/linux-user/i386/target_structs.h
+++ b/linux-user/i386/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/i386/target_syscall.h b/linux-user/i386/target_syscall.h
index 0ac84dc..aa4817d 100644
--- a/linux-user/i386/target_syscall.h
+++ b/linux-user/i386/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/i386/termbits.h b/linux-user/i386/termbits.h
index e051a3a..c9c6bf9 100644
--- a/linux-user/i386/termbits.h
+++ b/linux-user/i386/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index e672655..a2f5125 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -1,5 +1,7 @@
      /* emulated ioctl list */
 
+/* FIXME Does not pass make check-headers, yet! */
+
      IOCTL(TCGETS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios)))
      IOCTL(TCSETS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios)))
      IOCTL(TCSETSF, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios)))
diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h
index 8974caa..29f4310 100644
--- a/linux-user/linux_loop.h
+++ b/linux-user/linux_loop.h
@@ -1,4 +1,7 @@
 /* Copied from 2.6.25 kernel headers to avoid problems on older hosts.  */
+
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef _LINUX_LOOP_H
 #define _LINUX_LOOP_H
 
diff --git a/linux-user/m68k/target_cpu.h b/linux-user/m68k/target_cpu.h
index bb4d3fa..675693d 100644
--- a/linux-user/m68k/target_cpu.h
+++ b/linux-user/m68k/target_cpu.h
@@ -18,6 +18,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/m68k/target_signal.h b/linux-user/m68k/target_signal.h
index 9deaa89..b644fb6 100644
--- a/linux-user/m68k/target_signal.h
+++ b/linux-user/m68k/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/m68k/target_structs.h b/linux-user/m68k/target_structs.h
index de257c9..b44527e 100644
--- a/linux-user/m68k/target_structs.h
+++ b/linux-user/m68k/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/m68k/target_syscall.h b/linux-user/m68k/target_syscall.h
index 97a4cc0..38764c8 100644
--- a/linux-user/m68k/target_syscall.h
+++ b/linux-user/m68k/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/m68k/termbits.h b/linux-user/m68k/termbits.h
index f7982fb..f054faf 100644
--- a/linux-user/m68k/termbits.h
+++ b/linux-user/m68k/termbits.h
@@ -1,6 +1,8 @@
 /* from asm/termbits.h */
 /* NOTE: exactly the same as i386 */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/microblaze/target_cpu.h b/linux-user/microblaze/target_cpu.h
index c6386ea..ee608e5 100644
--- a/linux-user/microblaze/target_cpu.h
+++ b/linux-user/microblaze/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/microblaze/target_signal.h b/linux-user/microblaze/target_signal.h
index acdf3b5..c19cd2d 100644
--- a/linux-user/microblaze/target_signal.h
+++ b/linux-user/microblaze/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/microblaze/target_structs.h b/linux-user/microblaze/target_structs.h
index 325e2f6..0175dbe 100644
--- a/linux-user/microblaze/target_structs.h
+++ b/linux-user/microblaze/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/microblaze/termbits.h b/linux-user/microblaze/termbits.h
index fc82ca0..5aab429 100644
--- a/linux-user/microblaze/termbits.h
+++ b/linux-user/microblaze/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/mips/target_cpu.h b/linux-user/mips/target_cpu.h
index 19b8855..bfb4ed5 100644
--- a/linux-user/mips/target_cpu.h
+++ b/linux-user/mips/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/mips/target_signal.h b/linux-user/mips/target_signal.h
index 460cc9f..39c4a10 100644
--- a/linux-user/mips/target_signal.h
+++ b/linux-user/mips/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/mips/target_structs.h b/linux-user/mips/target_structs.h
index 16021e8..915300c 100644
--- a/linux-user/mips/target_structs.h
+++ b/linux-user/mips/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/mips/target_syscall.h b/linux-user/mips/target_syscall.h
index e8e305c..4b28249 100644
--- a/linux-user/mips/target_syscall.h
+++ b/linux-user/mips/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/mips/termbits.h b/linux-user/mips/termbits.h
index d3a6cf8..ff3e91d 100644
--- a/linux-user/mips/termbits.h
+++ b/linux-user/mips/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 23
 
 struct target_termios {
diff --git a/linux-user/mips64/syscall_nr.h b/linux-user/mips64/syscall_nr.h
index 746cc26..968722c 100644
--- a/linux-user/mips64/syscall_nr.h
+++ b/linux-user/mips64/syscall_nr.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef TARGET_ABI32
 /*
  * Linux N32 syscalls are in the range from 6000 to 6999.
diff --git a/linux-user/mips64/target_cpu.h b/linux-user/mips64/target_cpu.h
index f16991b..147298d 100644
--- a/linux-user/mips64/target_cpu.h
+++ b/linux-user/mips64/target_cpu.h
@@ -16,4 +16,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "../mips/target_cpu.h"
diff --git a/linux-user/mips64/target_signal.h b/linux-user/mips64/target_signal.h
index a2dc514..69e1aca 100644
--- a/linux-user/mips64/target_signal.h
+++ b/linux-user/mips64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/mips64/target_structs.h b/linux-user/mips64/target_structs.h
index a4f619e..7fe2baa 100644
--- a/linux-user/mips64/target_structs.h
+++ b/linux-user/mips64/target_structs.h
@@ -1,2 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "../mips/target_structs.h"
 
diff --git a/linux-user/mips64/target_syscall.h b/linux-user/mips64/target_syscall.h
index 5789e86..a66495f 100644
--- a/linux-user/mips64/target_syscall.h
+++ b/linux-user/mips64/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/mips64/termbits.h b/linux-user/mips64/termbits.h
index d3a6cf8..ff3e91d 100644
--- a/linux-user/mips64/termbits.h
+++ b/linux-user/mips64/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 23
 
 struct target_termios {
diff --git a/linux-user/openrisc/target_cpu.h b/linux-user/openrisc/target_cpu.h
index 32a46ac..d09b2f6 100644
--- a/linux-user/openrisc/target_cpu.h
+++ b/linux-user/openrisc/target_cpu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/openrisc/target_signal.h b/linux-user/openrisc/target_signal.h
index f600501..b5e9c76 100644
--- a/linux-user/openrisc/target_signal.h
+++ b/linux-user/openrisc/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/openrisc/target_structs.h b/linux-user/openrisc/target_structs.h
index f4d560f..ea5211a 100644
--- a/linux-user/openrisc/target_structs.h
+++ b/linux-user/openrisc/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/openrisc/target_syscall.h b/linux-user/openrisc/target_syscall.h
index 19aeffc..a9f29a7 100644
--- a/linux-user/openrisc/target_syscall.h
+++ b/linux-user/openrisc/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/openrisc/termbits.h b/linux-user/openrisc/termbits.h
index 373af77..59a2e3a 100644
--- a/linux-user/openrisc/termbits.h
+++ b/linux-user/openrisc/termbits.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 typedef unsigned char   target_openrisc_cc;        /*cc_t*/
 typedef unsigned int    target_openrisc_speed;     /*speed_t*/
 typedef unsigned int    target_openrisc_tcflag;    /*tcflag_t*/
diff --git a/linux-user/ppc/syscall_nr.h b/linux-user/ppc/syscall_nr.h
index 46ed8a6..6046548 100644
--- a/linux-user/ppc/syscall_nr.h
+++ b/linux-user/ppc/syscall_nr.h
@@ -1,6 +1,9 @@
 /*
  * This file contains the system call numbers.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NR_restart_syscall          0
 #define TARGET_NR_exit                     1
 #define TARGET_NR_fork                     2
diff --git a/linux-user/ppc/target_cpu.h b/linux-user/ppc/target_cpu.h
index 26f4ba2..9033745 100644
--- a/linux-user/ppc/target_cpu.h
+++ b/linux-user/ppc/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/ppc/target_signal.h b/linux-user/ppc/target_signal.h
index 4f01dd4..b6dd0e7 100644
--- a/linux-user/ppc/target_signal.h
+++ b/linux-user/ppc/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/ppc/target_structs.h b/linux-user/ppc/target_structs.h
index 2b87613..5bb5739 100644
--- a/linux-user/ppc/target_structs.h
+++ b/linux-user/ppc/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/ppc/target_syscall.h b/linux-user/ppc/target_syscall.h
index 7ca83c2..4d10e67 100644
--- a/linux-user/ppc/target_syscall.h
+++ b/linux-user/ppc/target_syscall.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/ppc/termbits.h b/linux-user/ppc/termbits.h
index 73e7151..a3fddf6 100644
--- a/linux-user/ppc/termbits.h
+++ b/linux-user/ppc/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 56f29c3..d39b1ad 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_H
 #define QEMU_H
 
diff --git a/linux-user/s390x/target_cpu.h b/linux-user/s390x/target_cpu.h
index f10abe8..c2f8d87 100644
--- a/linux-user/s390x/target_cpu.h
+++ b/linux-user/s390x/target_cpu.h
@@ -19,6 +19,9 @@
  * You should have received a copy of the GNU (Lesser) General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/s390x/target_signal.h b/linux-user/s390x/target_signal.h
index a6fb287..c175f77 100644
--- a/linux-user/s390x/target_signal.h
+++ b/linux-user/s390x/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/s390x/target_structs.h b/linux-user/s390x/target_structs.h
index 6b6f5b5..bead180 100644
--- a/linux-user/s390x/target_structs.h
+++ b/linux-user/s390x/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/s390x/target_syscall.h b/linux-user/s390x/target_syscall.h
index 02061ef..d0fa323 100644
--- a/linux-user/s390x/target_syscall.h
+++ b/linux-user/s390x/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/s390x/termbits.h b/linux-user/s390x/termbits.h
index 2a78a05..9beb484 100644
--- a/linux-user/s390x/termbits.h
+++ b/linux-user/s390x/termbits.h
@@ -6,6 +6,8 @@
  *  Derived from "include/asm-i386/termbits.h"
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 struct target_termios {
     unsigned int c_iflag;		/* input mode flags */
diff --git a/linux-user/sh4/target_cpu.h b/linux-user/sh4/target_cpu.h
index 141856f..3e0f903 100644
--- a/linux-user/sh4/target_cpu.h
+++ b/linux-user/sh4/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/sh4/target_signal.h b/linux-user/sh4/target_signal.h
index f9911aa..d2b58ec 100644
--- a/linux-user/sh4/target_signal.h
+++ b/linux-user/sh4/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/sh4/target_structs.h b/linux-user/sh4/target_structs.h
index 32b235e..db40799 100644
--- a/linux-user/sh4/target_structs.h
+++ b/linux-user/sh4/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/sh4/termbits.h b/linux-user/sh4/termbits.h
index 2ff774f..afb80ca 100644
--- a/linux-user/sh4/termbits.h
+++ b/linux-user/sh4/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/socket.h b/linux-user/socket.h
index 4dacae6..7537e3e 100644
--- a/linux-user/socket.h
+++ b/linux-user/socket.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #if defined(TARGET_MIPS)
     /* MIPS special values for constants */
diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/target_cpu.h
index 4944d46..5650ed8 100644
--- a/linux-user/sparc/target_cpu.h
+++ b/linux-user/sparc/target_cpu.h
@@ -17,6 +17,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/sparc/target_signal.h b/linux-user/sparc/target_signal.h
index 2df38c8..8bc04d7 100644
--- a/linux-user/sparc/target_signal.h
+++ b/linux-user/sparc/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/sparc/target_structs.h b/linux-user/sparc/target_structs.h
index c139e09..42b8147 100644
--- a/linux-user/sparc/target_structs.h
+++ b/linux-user/sparc/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h
index a73fa6d..731ecc2 100644
--- a/linux-user/sparc/target_syscall.h
+++ b/linux-user/sparc/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/sparc/termbits.h b/linux-user/sparc/termbits.h
index 691600d..0ad14dd 100644
--- a/linux-user/sparc/termbits.h
+++ b/linux-user/sparc/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/sparc64/target_cpu.h b/linux-user/sparc64/target_cpu.h
index b22263d..9df1233 100644
--- a/linux-user/sparc64/target_cpu.h
+++ b/linux-user/sparc64/target_cpu.h
@@ -1 +1,3 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "../sparc/target_cpu.h"
diff --git a/linux-user/sparc64/target_signal.h b/linux-user/sparc64/target_signal.h
index 2df38c8..8bc04d7 100644
--- a/linux-user/sparc64/target_signal.h
+++ b/linux-user/sparc64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/sparc64/target_structs.h b/linux-user/sparc64/target_structs.h
index fc17290..f7b3ab1 100644
--- a/linux-user/sparc64/target_structs.h
+++ b/linux-user/sparc64/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/sparc64/target_syscall.h b/linux-user/sparc64/target_syscall.h
index eb827fc..5d61655 100644
--- a/linux-user/sparc64/target_syscall.h
+++ b/linux-user/sparc64/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/sparc64/termbits.h b/linux-user/sparc64/termbits.h
index 691600d..0ad14dd 100644
--- a/linux-user/sparc64/termbits.h
+++ b/linux-user/sparc64/termbits.h
@@ -1,5 +1,7 @@
 /* from asm/termbits.h */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 struct target_termios {
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 6ee9251..ab33596 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1,5 +1,7 @@
 /* common syscall defines for all architectures */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* Note: although the syscall numbers change between architectures,
    most of them stay the same, so we handle it by putting ifdefs if
    necessary */
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
index 1fd4ee0..4e7e75c 100644
--- a/linux-user/syscall_types.h
+++ b/linux-user/syscall_types.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 STRUCT_SPECIAL(termios)
 
 STRUCT(winsize,
diff --git a/linux-user/tilegx/target_cpu.h b/linux-user/tilegx/target_cpu.h
index c96e81d..04d668b 100644
--- a/linux-user/tilegx/target_cpu.h
+++ b/linux-user/tilegx/target_cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/tilegx/target_signal.h b/linux-user/tilegx/target_signal.h
index fcf1040..00d3470 100644
--- a/linux-user/tilegx/target_signal.h
+++ b/linux-user/tilegx/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/tilegx/target_structs.h b/linux-user/tilegx/target_structs.h
index 7d3ff78..5428fa3 100644
--- a/linux-user/tilegx/target_structs.h
+++ b/linux-user/tilegx/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/tilegx/target_syscall.h b/linux-user/tilegx/target_syscall.h
index a938d4e..eccc160 100644
--- a/linux-user/tilegx/target_syscall.h
+++ b/linux-user/tilegx/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TILEGX_SYSCALLS_H
 #define TILEGX_SYSCALLS_H
 
diff --git a/linux-user/uname.h b/linux-user/uname.h
index cc62e76..ec3b54c 100644
--- a/linux-user/uname.h
+++ b/linux-user/uname.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
+
 #ifndef UNAME_H
 #define UNAME_H 1
 
diff --git a/linux-user/unicore32/target_cpu.h b/linux-user/unicore32/target_cpu.h
index fb79087..0a338b1 100644
--- a/linux-user/unicore32/target_cpu.h
+++ b/linux-user/unicore32/target_cpu.h
@@ -8,6 +8,9 @@
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_CPU_H
 #define TARGET_CPU_H
 
diff --git a/linux-user/unicore32/target_signal.h b/linux-user/unicore32/target_signal.h
index 7c44238..be93f25 100644
--- a/linux-user/unicore32/target_signal.h
+++ b/linux-user/unicore32/target_signal.h
@@ -5,6 +5,9 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/unicore32/target_structs.h b/linux-user/unicore32/target_structs.h
index 7893695..4c7ff26 100644
--- a/linux-user/unicore32/target_structs.h
+++ b/linux-user/unicore32/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/unicore32/target_syscall.h b/linux-user/unicore32/target_syscall.h
index 385a975..e712ce4 100644
--- a/linux-user/unicore32/target_syscall.h
+++ b/linux-user/unicore32/target_syscall.h
@@ -5,6 +5,9 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __UC32_SYSCALL_H__
 #define __UC32_SYSCALL_H__
 struct target_pt_regs {
diff --git a/linux-user/unicore32/termbits.h b/linux-user/unicore32/termbits.h
index a5fcd64..8bc7223 100644
--- a/linux-user/unicore32/termbits.h
+++ b/linux-user/unicore32/termbits.h
@@ -1,2 +1,5 @@
 /* NOTE: exactly the same as i386 */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "../i386/termbits.h"
diff --git a/linux-user/x86_64/target_cpu.h b/linux-user/x86_64/target_cpu.h
index 9ec7cbb..81d1d56 100644
--- a/linux-user/x86_64/target_cpu.h
+++ b/linux-user/x86_64/target_cpu.h
@@ -1 +1,3 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "../i386/target_cpu.h"
diff --git a/linux-user/x86_64/target_signal.h b/linux-user/x86_64/target_signal.h
index 9baf7fb..4019982 100644
--- a/linux-user/x86_64/target_signal.h
+++ b/linux-user/x86_64/target_signal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SIGNAL_H
 #define TARGET_SIGNAL_H
 
diff --git a/linux-user/x86_64/target_structs.h b/linux-user/x86_64/target_structs.h
index d934056..a5e598d 100644
--- a/linux-user/x86_64/target_structs.h
+++ b/linux-user/x86_64/target_structs.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_STRUCTS_H
 #define TARGET_STRUCTS_H
 
diff --git a/linux-user/x86_64/target_syscall.h b/linux-user/x86_64/target_syscall.h
index feecd32..d7a9400 100644
--- a/linux-user/x86_64/target_syscall.h
+++ b/linux-user/x86_64/target_syscall.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SYSCALL_H
 #define TARGET_SYSCALL_H
 
diff --git a/linux-user/x86_64/termbits.h b/linux-user/x86_64/termbits.h
index 1c3445c..7317eb7 100644
--- a/linux-user/x86_64/termbits.h
+++ b/linux-user/x86_64/termbits.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #define TARGET_NCCS 19
 
 typedef unsigned char	target_cc_t;
diff --git a/pc-bios/optionrom/optionrom.h b/pc-bios/optionrom/optionrom.h
index 6c4c2c8..0ce7f10 100644
--- a/pc-bios/optionrom/optionrom.h
+++ b/pc-bios/optionrom/optionrom.h
@@ -18,6 +18,8 @@
  *   Authors: Alexander Graf <agraf@suse.de>
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 
 #include "../../include/hw/nvram/fw_cfg_keys.h"
 
diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h
index bea1687..bea1b85 100644
--- a/pc-bios/s390-ccw/bootmap.h
+++ b/pc-bios/s390-ccw/bootmap.h
@@ -8,6 +8,9 @@
  * your option) any later version. See the COPYING file in the top-level
  * directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _PC_BIOS_S390_CCW_BOOTMAP_H
 #define _PC_BIOS_S390_CCW_BOOTMAP_H
 
diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h
index f5b4549..2811e30 100644
--- a/pc-bios/s390-ccw/cio.h
+++ b/pc-bios/s390-ccw/cio.h
@@ -10,6 +10,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CIO_H
 #define CIO_H
 
diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h
index 1cf509f..7081ba1 100644
--- a/pc-bios/s390-ccw/iplb.h
+++ b/pc-bios/s390-ccw/iplb.h
@@ -9,6 +9,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef IPLB_H
 #define IPLB_H
 
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index ded67bc..2494f9b 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -8,6 +8,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef S390_CCW_H
 #define S390_CCW_H
 
diff --git a/pc-bios/s390-ccw/scsi.h b/pc-bios/s390-ccw/scsi.h
index fc830f7..64aca47 100644
--- a/pc-bios/s390-ccw/scsi.h
+++ b/pc-bios/s390-ccw/scsi.h
@@ -9,6 +9,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SCSI_H
 #define SCSI_H
 
diff --git a/pc-bios/s390-ccw/virtio-scsi.h b/pc-bios/s390-ccw/virtio-scsi.h
index f50b38b..7f6181d 100644
--- a/pc-bios/s390-ccw/virtio-scsi.h
+++ b/pc-bios/s390-ccw/virtio-scsi.h
@@ -9,6 +9,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIRTIO_SCSI_H
 #define VIRTIO_SCSI_H
 
diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h
index 3c6e915..95d2e6a 100644
--- a/pc-bios/s390-ccw/virtio.h
+++ b/pc-bios/s390-ccw/virtio.h
@@ -8,6 +8,8 @@
  * directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VIRTIO_H
 #define VIRTIO_H
 
diff --git a/qemu-options-wrapper.h b/qemu-options-wrapper.h
index 13bfea0..cfc7c1c 100644
--- a/qemu-options-wrapper.h
+++ b/qemu-options-wrapper.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #if defined(QEMU_OPTIONS_GENERATE_ENUM)
 
diff --git a/qga/guest-agent-core.h b/qga/guest-agent-core.h
index 0a49516..7070477 100644
--- a/qga/guest-agent-core.h
+++ b/qga/guest-agent-core.h
@@ -10,6 +10,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "qapi/qmp/dispatch.h"
 #include "qemu-common.h"
 #include "qga-qmp-commands.h"
diff --git a/qga/service-win32.h b/qga/service-win32.h
index 3b9e870..a4424b7 100644
--- a/qga/service-win32.h
+++ b/qga/service-win32.h
@@ -10,6 +10,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QGA_SERVICE_H
 #define QGA_SERVICE_H
 
diff --git a/qga/vss-win32/requester.h b/qga/vss-win32/requester.h
index 2a39d73..7f37d44 100644
--- a/qga/vss-win32/requester.h
+++ b/qga/vss-win32/requester.h
@@ -10,6 +10,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VSS_WIN32_REQUESTER_H
 #define VSS_WIN32_REQUESTER_H
 
diff --git a/qga/vss-win32/vss-common.h b/qga/vss-win32/vss-common.h
index 91dae0c..74d19c4 100644
--- a/qga/vss-win32/vss-common.h
+++ b/qga/vss-win32/vss-common.h
@@ -10,6 +10,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VSS_WIN32_H
 #define VSS_WIN32_H
 
diff --git a/replay/replay-internal.h b/replay/replay-internal.h
index efbf14c..b64a73d 100644
--- a/replay/replay-internal.h
+++ b/replay/replay-internal.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef REPLAY_INTERNAL_H
 #define REPLAY_INTERNAL_H
 
diff --git a/scripts/cocci-macro-file.h b/scripts/cocci-macro-file.h
index 9f2e72e..27fe458 100644
--- a/scripts/cocci-macro-file.h
+++ b/scripts/cocci-macro-file.h
@@ -9,6 +9,8 @@
  * option, any later version.  See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* Coccinelle only does limited parsing of headers, and chokes on some idioms
  * defined in compiler.h and queue.h.  Macros that Coccinelle must know about
  * in order to parse .c files must be in a separate macro file---which is
diff --git a/scripts/tracetool/format/tcg_h.py b/scripts/tracetool/format/tcg_h.py
index e2331f2..77e10d9 100644
--- a/scripts/tracetool/format/tcg_h.py
+++ b/scripts/tracetool/format/tcg_h.py
@@ -31,6 +31,8 @@ def generate(events, backend):
     out('/* This file is autogenerated by tracetool, do not edit. */',
         '/* You must include this file after the inclusion of helper.h */',
         '',
+        '/* FIXME Does not pass make check-headers, yet! */',
+        '',
         '#ifndef TRACE__GENERATED_TCG_TRACERS_H',
         '#define TRACE__GENERATED_TCG_TRACERS_H',
         '',
diff --git a/slirp/bootp.h b/slirp/bootp.h
index ec3b687..1fbb96f 100644
--- a/slirp/bootp.h
+++ b/slirp/bootp.h
@@ -1,4 +1,7 @@
 /* bootp/dhcp defines */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SLIRP_BOOTP_H
 #define SLIRP_BOOTP_H 1
 
diff --git a/slirp/ip.h b/slirp/ip.h
index e2ee5e3..a40449e 100644
--- a/slirp/ip.h
+++ b/slirp/ip.h
@@ -30,6 +30,8 @@
  * ip.h,v 1.3 1994/08/21 05:27:30 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _IP_H_
 #define _IP_H_
 
diff --git a/slirp/ip6_icmp.h b/slirp/ip6_icmp.h
index 9460bf8..036bfea 100644
--- a/slirp/ip6_icmp.h
+++ b/slirp/ip6_icmp.h
@@ -3,6 +3,8 @@
  * Guillaume Subiron, Yann Bordenave, Serigne Modou Wagne.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SLIRP_NETINET_ICMP6_H_
 #define SLIRP_NETINET_ICMP6_H_
 
diff --git a/slirp/ip_icmp.h b/slirp/ip_icmp.h
index 846761d..3fb60c9 100644
--- a/slirp/ip_icmp.h
+++ b/slirp/ip_icmp.h
@@ -30,6 +30,8 @@
  * ip_icmp.h,v 1.4 1995/05/30 08:09:43 rgrimes Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _NETINET_IP_ICMP_H_
 #define _NETINET_IP_ICMP_H_
 
diff --git a/slirp/main.h b/slirp/main.h
index f2e58cf..3510a98 100644
--- a/slirp/main.h
+++ b/slirp/main.h
@@ -4,6 +4,9 @@
  * Please read the file COPYRIGHT for the
  * terms and conditions of the copyright.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SLIRP_MAIN_H
 #define SLIRP_MAIN_H 1
 
diff --git a/slirp/mbuf.h b/slirp/mbuf.h
index 36fb814..d7e4cb9 100644
--- a/slirp/mbuf.h
+++ b/slirp/mbuf.h
@@ -30,6 +30,8 @@
  * mbuf.h,v 1.9 1994/11/14 13:54:20 bde Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _MBUF_H_
 #define _MBUF_H_
 
diff --git a/slirp/misc.h b/slirp/misc.h
index 0d0c059..9950642 100644
--- a/slirp/misc.h
+++ b/slirp/misc.h
@@ -5,6 +5,8 @@
  * terms and conditions of the copyright.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _MISC_H_
 #define _MISC_H_
 
diff --git a/slirp/sbuf.h b/slirp/sbuf.h
index 4f22e7c..67ed1a1 100644
--- a/slirp/sbuf.h
+++ b/slirp/sbuf.h
@@ -5,6 +5,8 @@
  * terms and conditions of the copyright.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _SBUF_H_
 #define _SBUF_H_
 
diff --git a/slirp/socket.h b/slirp/socket.h
index b602e69..38289d6 100644
--- a/slirp/socket.h
+++ b/slirp/socket.h
@@ -5,6 +5,8 @@
  * terms and conditions of the copyright.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _SLIRP_SOCKET_H_
 #define _SLIRP_SOCKET_H_
 
diff --git a/slirp/tcp.h b/slirp/tcp.h
index 61befcd..7c279fc 100644
--- a/slirp/tcp.h
+++ b/slirp/tcp.h
@@ -30,6 +30,8 @@
  * tcp.h,v 1.3 1994/08/21 05:27:34 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _TCP_H_
 #define _TCP_H_
 
diff --git a/slirp/tcp_timer.h b/slirp/tcp_timer.h
index ff17914..0495b29 100644
--- a/slirp/tcp_timer.h
+++ b/slirp/tcp_timer.h
@@ -30,6 +30,8 @@
  * tcp_timer.h,v 1.4 1994/08/21 05:27:38 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _TCP_TIMER_H_
 #define _TCP_TIMER_H_
 
diff --git a/slirp/tcp_var.h b/slirp/tcp_var.h
index 004193f..6ff42f4 100644
--- a/slirp/tcp_var.h
+++ b/slirp/tcp_var.h
@@ -30,6 +30,8 @@
  * tcp_var.h,v 1.3 1994/08/21 05:27:39 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _TCP_VAR_H_
 #define _TCP_VAR_H_
 
diff --git a/slirp/tcpip.h b/slirp/tcpip.h
index 124b4a9..7a9aa07 100644
--- a/slirp/tcpip.h
+++ b/slirp/tcpip.h
@@ -30,6 +30,8 @@
  * tcpip.h,v 1.3 1994/08/21 05:27:40 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _TCPIP_H_
 #define _TCPIP_H_
 
diff --git a/slirp/tftp.h b/slirp/tftp.h
index 1cb1adf..781e1fb 100644
--- a/slirp/tftp.h
+++ b/slirp/tftp.h
@@ -1,4 +1,7 @@
 /* tftp defines */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SLIRP_TFTP_H
 #define SLIRP_TFTP_H 1
 
diff --git a/slirp/udp.h b/slirp/udp.h
index 10cc780..37f34e6 100644
--- a/slirp/udp.h
+++ b/slirp/udp.h
@@ -30,6 +30,8 @@
  * udp.h,v 1.3 1994/08/21 05:27:41 paul Exp
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _UDP_H_
 #define _UDP_H_
 
diff --git a/softmmu_template.h b/softmmu_template.h
index 208f808..8e994a8 100644
--- a/softmmu_template.h
+++ b/softmmu_template.h
@@ -21,6 +21,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "qemu/timer.h"
 #include "exec/address-spaces.h"
 #include "exec/memory.h"
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h
index e71ea70..84e94b9 100644
--- a/target-alpha/cpu.h
+++ b/target-alpha/cpu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__CPU_ALPHA_H__)
 #define __CPU_ALPHA_H__
 
diff --git a/target-alpha/helper.h b/target-alpha/helper.h
index c3d8a3e..fd1748d 100644
--- a/target-alpha/helper.h
+++ b/target-alpha/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_3(excp, noreturn, env, int, int)
 DEF_HELPER_FLAGS_1(load_pcc, TCG_CALL_NO_RWG_SE, i64, env)
 
diff --git a/target-arm/arm_ldst.h b/target-arm/arm_ldst.h
index a76d89f..e0eff7e 100644
--- a/target-arm/arm_ldst.h
+++ b/target-arm/arm_ldst.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef ARM_LDST_H
 #define ARM_LDST_H
 
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 7938ddc..7f8a07a 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_ARM_H
 #define CPU_ARM_H
 
diff --git a/target-arm/helper-a64.h b/target-arm/helper-a64.h
index 1d3d10f..54ca373 100644
--- a/target-arm/helper-a64.h
+++ b/target-arm/helper-a64.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_FLAGS_2(udiv64, TCG_CALL_NO_RWG_SE, i64, i64, i64)
 DEF_HELPER_FLAGS_2(sdiv64, TCG_CALL_NO_RWG_SE, s64, s64, s64)
 DEF_HELPER_FLAGS_1(clz64, TCG_CALL_NO_RWG_SE, i64, i64)
diff --git a/target-arm/helper.h b/target-arm/helper.h
index 84aa637..b8fcc64 100644
--- a/target-arm/helper.h
+++ b/target-arm/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_FLAGS_1(clz, TCG_CALL_NO_RWG_SE, i32, i32)
 DEF_HELPER_FLAGS_1(sxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
 DEF_HELPER_FLAGS_1(uxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
diff --git a/target-arm/internals.h b/target-arm/internals.h
index 466be0b..5a77ccc 100644
--- a/target-arm/internals.h
+++ b/target-arm/internals.h
@@ -22,6 +22,8 @@
  * private to it and not required by the rest of QEMU.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_ARM_INTERNALS_H
 #define TARGET_ARM_INTERNALS_H
 
diff --git a/target-arm/kvm_arm.h b/target-arm/kvm_arm.h
index a419368..d5977c2 100644
--- a/target-arm/kvm_arm.h
+++ b/target-arm/kvm_arm.h
@@ -8,6 +8,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_KVM_ARM_H
 #define QEMU_KVM_ARM_H
 
diff --git a/target-arm/op_addsub.h b/target-arm/op_addsub.h
index ca4a189..6ad54b4 100644
--- a/target-arm/op_addsub.h
+++ b/target-arm/op_addsub.h
@@ -7,6 +7,8 @@
  * This code is licensed under the GPL.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef ARITH_GE
 #define GE_ARG , void *gep
 #define DECLARE_GE uint32_t ge = 0
diff --git a/target-arm/translate.h b/target-arm/translate.h
index dbd7ac8..9343236 100644
--- a/target-arm/translate.h
+++ b/target-arm/translate.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_ARM_TRANSLATE_H
 #define TARGET_ARM_TRANSLATE_H
 
diff --git a/target-cris/cpu.h b/target-cris/cpu.h
index d8c47a6..d886d51 100644
--- a/target-cris/cpu.h
+++ b/target-cris/cpu.h
@@ -17,6 +17,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_CRIS_H
 #define CPU_CRIS_H
 
diff --git a/target-cris/helper.h b/target-cris/helper.h
index ff35956..d9f1542 100644
--- a/target-cris/helper.h
+++ b/target-cris/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(raise_exception, void, env, i32)
 DEF_HELPER_2(tlb_flush_pid, void, env, i32)
 DEF_HELPER_2(spc_write, void, env, i32)
diff --git a/target-cris/mmu.h b/target-cris/mmu.h
index 8e249e8..441685f 100644
--- a/target-cris/mmu.h
+++ b/target-cris/mmu.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #define CRIS_MMU_ERR_EXEC  0
 #define CRIS_MMU_ERR_READ  1
 #define CRIS_MMU_ERR_WRITE 2
diff --git a/target-i386/cc_helper_template.h b/target-i386/cc_helper_template.h
index 607311f..5df5549 100644
--- a/target-i386/cc_helper_template.h
+++ b/target-i386/cc_helper_template.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define DATA_BITS (1 << (3 + SHIFT))
 
 #if DATA_BITS == 8
diff --git a/target-i386/cpu-qom.h b/target-i386/cpu-qom.h
index 5dde658..614eea2 100644
--- a/target-i386/cpu-qom.h
+++ b/target-i386/cpu-qom.h
@@ -17,6 +17,9 @@
  * License along with this library; if not, see
  * <http://www.gnu.org/licenses/lgpl-2.1.html>
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_I386_CPU_QOM_H
 #define QEMU_I386_CPU_QOM_H
 
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index d9ab884..e8fa0b4 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_I386_H
 #define CPU_I386_H
 
diff --git a/target-i386/helper.h b/target-i386/helper.h
index 1320edc..eb6ff3c 100644
--- a/target-i386/helper.h
+++ b/target-i386/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_FLAGS_4(cc_compute_all, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl, int)
 DEF_HELPER_FLAGS_4(cc_compute_c, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl, int)
 
diff --git a/target-i386/hyperv.h b/target-i386/hyperv.h
index b26201f..d97e5fa 100644
--- a/target-i386/hyperv.h
+++ b/target-i386/hyperv.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef HYPERV_I386_H
 #define HYPERV_I386_H
 
diff --git a/target-i386/kvm_i386.h b/target-i386/kvm_i386.h
index 42b00af..0978f8e 100644
--- a/target-i386/kvm_i386.h
+++ b/target-i386/kvm_i386.h
@@ -8,6 +8,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_KVM_I386_H
 #define QEMU_KVM_I386_H
 
diff --git a/target-i386/ops_sse.h b/target-i386/ops_sse.h
index 7a98f53..38a55ec 100644
--- a/target-i386/ops_sse.h
+++ b/target-i386/ops_sse.h
@@ -18,6 +18,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "crypto/aes.h"
 
 #if SHIFT == 0
diff --git a/target-i386/ops_sse_header.h b/target-i386/ops_sse_header.h
index 64c5857..6aeec6c 100644
--- a/target-i386/ops_sse_header.h
+++ b/target-i386/ops_sse_header.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #if SHIFT == 0
 #define Reg MMXReg
 #define SUFFIX _mmx
diff --git a/target-i386/shift_helper_template.h b/target-i386/shift_helper_template.h
index cf91a2d..be7e135 100644
--- a/target-i386/shift_helper_template.h
+++ b/target-i386/shift_helper_template.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define DATA_BITS (1 << (3 + SHIFT))
 #define SHIFT_MASK (DATA_BITS - 1)
 #if DATA_BITS <= 32
diff --git a/target-lm32/cpu.h b/target-lm32/cpu.h
index 62880f7..cdc1e0f 100644
--- a/target-lm32/cpu.h
+++ b/target-lm32/cpu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_LM32_H
 #define CPU_LM32_H
 
diff --git a/target-lm32/helper.h b/target-lm32/helper.h
index 445578c..ba7ce5a 100644
--- a/target-lm32/helper.h
+++ b/target-lm32/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(raise_exception, void, env, i32)
 DEF_HELPER_1(hlt, void, env)
 DEF_HELPER_3(wcsr_bp, void, env, i32, i32)
diff --git a/target-m68k/cpu.h b/target-m68k/cpu.h
index 008a057..0b93122 100644
--- a/target-m68k/cpu.h
+++ b/target-m68k/cpu.h
@@ -17,6 +17,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_M68K_H
 #define CPU_M68K_H
 
diff --git a/target-m68k/helper.h b/target-m68k/helper.h
index f4e5fdf..3502cd4 100644
--- a/target-m68k/helper.h
+++ b/target-m68k/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_1(bitrev, i32, i32)
 DEF_HELPER_1(ff1, i32, i32)
 DEF_HELPER_2(sats, i32, i32, i32)
diff --git a/target-microblaze/cpu.h b/target-microblaze/cpu.h
index d17cf1e..ab9a106 100644
--- a/target-microblaze/cpu.h
+++ b/target-microblaze/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_MICROBLAZE_H
 #define CPU_MICROBLAZE_H
 
diff --git a/target-microblaze/helper.h b/target-microblaze/helper.h
index bd13826..4537ff2 100644
--- a/target-microblaze/helper.h
+++ b/target-microblaze/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(raise_exception, void, env, i32)
 DEF_HELPER_1(debug, void, env)
 DEF_HELPER_FLAGS_3(carry, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
diff --git a/target-microblaze/mmu.h b/target-microblaze/mmu.h
index 3b7a998..d1a1f50 100644
--- a/target-microblaze/mmu.h
+++ b/target-microblaze/mmu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define MMU_R_PID    0
 #define MMU_R_ZPR    1
 #define MMU_R_TLBX   2
diff --git a/target-mips/cpu-qom.h b/target-mips/cpu-qom.h
index 3f5bf23..528a63b 100644
--- a/target-mips/cpu-qom.h
+++ b/target-mips/cpu-qom.h
@@ -17,6 +17,9 @@
  * License along with this library; if not, see
  * <http://www.gnu.org/licenses/lgpl-2.1.html>
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_MIPS_CPU_QOM_H
 #define QEMU_MIPS_CPU_QOM_H
 
diff --git a/target-mips/cpu.h b/target-mips/cpu.h
index 4ce9d47..64e430c 100644
--- a/target-mips/cpu.h
+++ b/target-mips/cpu.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__MIPS_CPU_H__)
 #define __MIPS_CPU_H__
 
diff --git a/target-mips/helper.h b/target-mips/helper.h
index 594341d..9c54917 100644
--- a/target-mips/helper.h
+++ b/target-mips/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_3(raise_exception_err, noreturn, env, i32, int)
 DEF_HELPER_2(raise_exception, noreturn, env, i32)
 DEF_HELPER_1(raise_exception_debug, noreturn, env)
diff --git a/target-mips/kvm_mips.h b/target-mips/kvm_mips.h
index 54f5965..8146fb2 100644
--- a/target-mips/kvm_mips.h
+++ b/target-mips/kvm_mips.h
@@ -7,7 +7,9 @@
  *
  * Copyright (C) 2012-2014 Imagination Technologies Ltd.
  * Authors: Sanjay Lal <sanjayl@kymasys.com>
-*/
+ */
+
+/* FIXME Does not pass make check-headers, yet! */
 
 #ifndef __KVM_MIPS_H__
 #define __KVM_MIPS_H__
diff --git a/target-mips/mips-defs.h b/target-mips/mips-defs.h
index 53b185e..42088c4 100644
--- a/target-mips/mips-defs.h
+++ b/target-mips/mips-defs.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__QEMU_MIPS_DEFS_H__)
 #define __QEMU_MIPS_DEFS_H__
 
diff --git a/target-moxie/cpu.h b/target-moxie/cpu.h
index c10898e..4f2fff0 100644
--- a/target-moxie/cpu.h
+++ b/target-moxie/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _CPU_MOXIE_H
 #define _CPU_MOXIE_H
 
diff --git a/target-moxie/helper.h b/target-moxie/helper.h
index d94ef7a..88d9744 100644
--- a/target-moxie/helper.h
+++ b/target-moxie/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(raise_exception, void, env, int)
 DEF_HELPER_1(debug, void, env)
 
diff --git a/target-moxie/machine.h b/target-moxie/machine.h
index a1b7290..e8ab248 100644
--- a/target-moxie/machine.h
+++ b/target-moxie/machine.h
@@ -1 +1,3 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 extern const VMStateDescription vmstate_moxie_cpu;
diff --git a/target-moxie/mmu.h b/target-moxie/mmu.h
index 284a44d..874d4a4 100644
--- a/target-moxie/mmu.h
+++ b/target-moxie/mmu.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #define MOXIE_MMU_ERR_EXEC  0
 #define MOXIE_MMU_ERR_READ  1
 #define MOXIE_MMU_ERR_WRITE 2
diff --git a/target-openrisc/cpu.h b/target-openrisc/cpu.h
index 810a280..85893a4 100644
--- a/target-openrisc/cpu.h
+++ b/target-openrisc/cpu.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_OPENRISC_H
 #define CPU_OPENRISC_H
 
diff --git a/target-openrisc/exception.h b/target-openrisc/exception.h
index 4b64430..46b3527 100644
--- a/target-openrisc/exception.h
+++ b/target-openrisc/exception.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_OPENRISC_EXCP_H
 #define QEMU_OPENRISC_EXCP_H
 
diff --git a/target-openrisc/helper.h b/target-openrisc/helper.h
index f53fa21..0fe71e6 100644
--- a/target-openrisc/helper.h
+++ b/target-openrisc/helper.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* exception */
 DEF_HELPER_FLAGS_2(exception, 0, void, env, i32)
 
diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h
index f21a44c..fcdf5fb 100644
--- a/target-ppc/cpu-models.h
+++ b/target-ppc/cpu-models.h
@@ -18,6 +18,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_PPC_CPU_MODELS_H
 #define TARGET_PPC_CPU_MODELS_H
 
diff --git a/target-ppc/cpu-qom.h b/target-ppc/cpu-qom.h
index 969ecdf..34192f0 100644
--- a/target-ppc/cpu-qom.h
+++ b/target-ppc/cpu-qom.h
@@ -17,6 +17,9 @@
  * License along with this library; if not, see
  * <http://www.gnu.org/licenses/lgpl-2.1.html>
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_PPC_CPU_QOM_H
 #define QEMU_PPC_CPU_QOM_H
 
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index 93c2dd5..5c215df 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__CPU_PPC_H__)
 #define __CPU_PPC_H__
 
diff --git a/target-ppc/helper.h b/target-ppc/helper.h
index f4410a8..5812e7d 100644
--- a/target-ppc/helper.h
+++ b/target-ppc/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_3(raise_exception_err, void, env, i32, i32)
 DEF_HELPER_2(raise_exception, void, env, i32)
 DEF_HELPER_4(tw, void, env, tl, tl, i32)
diff --git a/target-ppc/helper_regs.h b/target-ppc/helper_regs.h
index 8fc0934..a8dd39d 100644
--- a/target-ppc/helper_regs.h
+++ b/target-ppc/helper_regs.h
@@ -17,6 +17,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__HELPER_REGS_H__)
 #define __HELPER_REGS_H__
 
diff --git a/target-ppc/kvm_ppc.h b/target-ppc/kvm_ppc.h
index 20bfb59..1fe846d 100644
--- a/target-ppc/kvm_ppc.h
+++ b/target-ppc/kvm_ppc.h
@@ -6,6 +6,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __KVM_PPC_H__
 #define __KVM_PPC_H__
 
diff --git a/target-ppc/mmu-hash32.h b/target-ppc/mmu-hash32.h
index aaceacd..a621fb9 100644
--- a/target-ppc/mmu-hash32.h
+++ b/target-ppc/mmu-hash32.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__MMU_HASH32_H__)
 #define __MMU_HASH32_H__
 
diff --git a/target-ppc/mmu-hash64.h b/target-ppc/mmu-hash64.h
index 6423b9f..de4fda6 100644
--- a/target-ppc/mmu-hash64.h
+++ b/target-ppc/mmu-hash64.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined (__MMU_HASH64_H__)
 #define __MMU_HASH64_H__
 
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index c7cc4e1..4a70f1f 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -19,6 +19,9 @@
  * You should have received a copy of the GNU (Lesser) General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_S390X_H
 #define CPU_S390X_H
 
diff --git a/target-s390x/helper.h b/target-s390x/helper.h
index 7e06119..50901af 100644
--- a/target-s390x/helper.h
+++ b/target-s390x/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(exception, noreturn, env, i32)
 DEF_HELPER_FLAGS_4(nc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
 DEF_HELPER_FLAGS_4(oc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
diff --git a/target-sh4/cpu.h b/target-sh4/cpu.h
index 3f5c689..54b7093 100644
--- a/target-sh4/cpu.h
+++ b/target-sh4/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _CPU_SH4_H
 #define _CPU_SH4_H
 
diff --git a/target-sh4/helper.h b/target-sh4/helper.h
index dce859c..d4f87ee 100644
--- a/target-sh4/helper.h
+++ b/target-sh4/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_1(ldtlb, void, env)
 DEF_HELPER_1(raise_illegal_instruction, noreturn, env)
 DEF_HELPER_1(raise_slot_illegal_instruction, noreturn, env)
diff --git a/target-sparc/cpu-qom.h b/target-sparc/cpu-qom.h
index f63af72..5317e72 100644
--- a/target-sparc/cpu-qom.h
+++ b/target-sparc/cpu-qom.h
@@ -17,6 +17,9 @@
  * License along with this library; if not, see
  * <http://www.gnu.org/licenses/lgpl-2.1.html>
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_SPARC_CPU_QOM_H
 #define QEMU_SPARC_CPU_QOM_H
 
diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
index ba37f4b..68288d5 100644
--- a/target-sparc/cpu.h
+++ b/target-sparc/cpu.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_SPARC_H
 #define CPU_SPARC_H
 
diff --git a/target-sparc/helper.h b/target-sparc/helper.h
index 4374f0d..ca09211 100644
--- a/target-sparc/helper.h
+++ b/target-sparc/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TARGET_SPARC64
 DEF_HELPER_1(rett, void, env)
 DEF_HELPER_2(wrpsr, void, env, tl)
diff --git a/target-tilegx/cpu.h b/target-tilegx/cpu.h
index b9b588d..9f49586 100644
--- a/target-tilegx/cpu.h
+++ b/target-tilegx/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_TILEGX_H
 #define CPU_TILEGX_H
 
diff --git a/target-tilegx/helper.h b/target-tilegx/helper.h
index 9281d0f..8b060c9 100644
--- a/target-tilegx/helper.h
+++ b/target-tilegx/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(exception, noreturn, env, i32)
 DEF_HELPER_1(ext01_ics, void, env)
 DEF_HELPER_FLAGS_1(cntlz, TCG_CALL_NO_RWG_SE, i64, i64)
diff --git a/target-tricore/cpu.h b/target-tricore/cpu.h
index 3c6f7b7..57fdae5 100644
--- a/target-tricore/cpu.h
+++ b/target-tricore/cpu.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__TRICORE_CPU_H__)
 #define __TRICORE_CPU_H__
 
diff --git a/target-tricore/helper.h b/target-tricore/helper.h
index 9333e16..9e6526a 100644
--- a/target-tricore/helper.h
+++ b/target-tricore/helper.h
@@ -15,6 +15,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /* Arithmetic */
 DEF_HELPER_3(add_ssov, i32, env, i32, i32)
 DEF_HELPER_3(add64_ssov, i64, env, i64, i64)
diff --git a/target-tricore/tricore-defs.h b/target-tricore/tricore-defs.h
index 4350b03..a5a8954 100644
--- a/target-tricore/tricore-defs.h
+++ b/target-tricore/tricore-defs.h
@@ -15,6 +15,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if !defined(__QEMU_TRICORE_DEFS_H__)
 #define __QEMU_TRICORE_DEFS_H__
 
diff --git a/target-tricore/tricore-opcodes.h b/target-tricore/tricore-opcodes.h
index df666b0..17d2398 100644
--- a/target-tricore/tricore-opcodes.h
+++ b/target-tricore/tricore-opcodes.h
@@ -15,6 +15,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * Opcode Masks for Tricore
  * Format MASK_OP_InstrFormatName_Field
diff --git a/target-unicore32/cpu.h b/target-unicore32/cpu.h
index f3e877b..3a8d70c 100644
--- a/target-unicore32/cpu.h
+++ b/target-unicore32/cpu.h
@@ -8,6 +8,9 @@
  * published by the Free Software Foundation, or (at your option) any
  * later version. See the COPYING file in the top-level directory.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_UNICORE32_CPU_H
 #define QEMU_UNICORE32_CPU_H
 
diff --git a/target-unicore32/helper.h b/target-unicore32/helper.h
index 9418137..91939b1 100644
--- a/target-unicore32/helper.h
+++ b/target-unicore32/helper.h
@@ -7,6 +7,8 @@
  * later version. See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CONFIG_USER_ONLY
 DEF_HELPER_4(cp0_set, void, env, i32, i32, i32)
 DEF_HELPER_3(cp0_get, i32, env, i32, i32)
diff --git a/target-xtensa/cpu.h b/target-xtensa/cpu.h
index 442176a..bd30a75 100644
--- a/target-xtensa/cpu.h
+++ b/target-xtensa/cpu.h
@@ -25,6 +25,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CPU_XTENSA_H
 #define CPU_XTENSA_H
 
diff --git a/target-xtensa/helper.h b/target-xtensa/helper.h
index 5ea9c5b..734487f 100644
--- a/target-xtensa/helper.h
+++ b/target-xtensa/helper.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_2(exception, noreturn, env, i32)
 DEF_HELPER_3(exception_cause, noreturn, env, i32, i32)
 DEF_HELPER_4(exception_cause_vaddr, noreturn, env, i32, i32, i32)
diff --git a/target-xtensa/overlay_tool.h b/target-xtensa/overlay_tool.h
index e8a7fda..793db55 100644
--- a/target-xtensa/overlay_tool.h
+++ b/target-xtensa/overlay_tool.h
@@ -25,6 +25,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #define XTREG(idx, ofs, bi, sz, al, no, flags, cp, typ, grp, name, \
         a1, a2, a3, a4, a5, a6) \
     { .targno = (no), .type = (typ), .group = (grp), .size = (sz) },
diff --git a/tcg/mips/tcg-target.h b/tcg/mips/tcg-target.h
index b1cda37..5ee3854 100644
--- a/tcg/mips/tcg-target.h
+++ b/tcg/mips/tcg-target.h
@@ -23,6 +23,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TCG_TARGET_MIPS 
 #define TCG_TARGET_MIPS 1
 
diff --git a/tcg/tcg-be-ldst.h b/tcg/tcg-be-ldst.h
index 17777ae..ee078f8 100644
--- a/tcg/tcg-be-ldst.h
+++ b/tcg/tcg-be-ldst.h
@@ -20,6 +20,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifdef CONFIG_SOFTMMU
 
 typedef struct TCGLabelQemuLdst {
diff --git a/tcg/tcg-be-null.h b/tcg/tcg-be-null.h
index 5222fe2..1112533 100644
--- a/tcg/tcg-be-null.h
+++ b/tcg/tcg-be-null.h
@@ -20,6 +20,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 typedef struct TCGBackendData {
     /* Empty */
     char dummy;
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h
index f217e80..57677ba 100644
--- a/tcg/tcg-op.h
+++ b/tcg/tcg-op.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #include "tcg.h"
 #include "exec/helper-proto.h"
 #include "exec/helper-gen.h"
diff --git a/tcg/tcg-opc.h b/tcg/tcg-opc.h
index 6d0410c..9cd1965 100644
--- a/tcg/tcg-opc.h
+++ b/tcg/tcg-opc.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 /*
  * DEF(name, oargs, iargs, cargs, flags)
  */
diff --git a/tcg/tcg-runtime.h b/tcg/tcg-runtime.h
index 23a0c37..2c2ce42 100644
--- a/tcg/tcg-runtime.h
+++ b/tcg/tcg-runtime.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 DEF_HELPER_FLAGS_2(div_i32, TCG_CALL_NO_RWG_SE, s32, s32, s32)
 DEF_HELPER_FLAGS_2(rem_i32, TCG_CALL_NO_RWG_SE, s32, s32, s32)
 DEF_HELPER_FLAGS_2(divu_i32, TCG_CALL_NO_RWG_SE, i32, i32, i32)
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 66d7fc0..0f3ff7b 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TCG_H
 #define TCG_H
 
diff --git a/tests/Makefile.include b/tests/Makefile.include
index a2ed83b..7b0446b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -413,6 +413,16 @@ test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \
 $(test-obj-y): QEMU_INCLUDES += -Itests
 QEMU_CFLAGS += -I$(SRC_PATH)/tests
 
+# All headers
+src-headers := $(filter %.h, $(shell cd $(SRC_PATH) && git ls-files))
+gen-headers := $(filter %.h, $(GENERATED_HEADERS))
+# Headers that need more than just #include "qemu/osdep.h" to compile
+excluded-header-with-$(CONFIG_WIN32) := ( with CONFIG_WIN32)?
+excluded-header-comment := /* FIXME Does not pass make check-headers$(excluded-header-with-y), yet!
+excluded-headers := $(shell cd $(SRC_PATH) && egrep -l '$(excluded-header-comment)' $(src-headers))
+excluded-headers += $(shell egrep -l '$(excluded-header-comment)' $(gen-headers))
+checked-headers := $(filter-out $(excluded-headers), $(src-headers) $(gen-headers))
+-include $(patsubst %.h,tests/headers/%.d, $(checked-headers))
 
 # Deps that are common to various different sets of tests below
 test-util-obj-y = libqemuutil.a libqemustub.a
@@ -647,6 +657,7 @@ check-help:
 	@echo " make check-unit           Run qobject tests"
 	@echo " make check-qapi-schema    Run QAPI schema tests"
 	@echo " make check-block          Run block tests"
+	@echo " make check-source         Run source code tests"
 	@echo " make check-report.html    Generates an HTML test report"
 	@echo " make check-clean          Clean the tests"
 	@echo
@@ -728,14 +739,26 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
 	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -q $(SRC_PATH)/$*.err -
 	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
 
+# Header sanity checking
+
+.PHONY: check-headers check-excluded-headers
+check-headers: $(patsubst %.h,tests/headers/%.o, $(checked-headers))
+# Expected to fail:
+check-excluded-headers: $(patsubst %.h,tests/headers/%.o, $(excluded-headers))
+
+tests/headers/%.c: tests/header-test-template.c
+	@mkdir -p $(dir $@)
+	@sed 's,@header@,$(subst tests/headers/,,$(@:.c=.h)),' <$< >$@
+
 # Consolidated targets
 
-.PHONY: check-qapi-schema check-qtest check-unit check check-clean
+.PHONY: check-qapi-schema check-qtest check-unit check check-source check-clean
 check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
 check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
 check-unit: $(patsubst %,check-%, $(check-unit-y))
 check-block: $(patsubst %,check-%, $(check-block-y))
-check: check-qapi-schema check-unit check-qtest
+check-source: check-headers
+check: check-qapi-schema check-unit check-qtest check-source
 check-clean:
 	$(MAKE) -C tests/tcg clean
 	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
diff --git a/tests/crypto-tls-x509-helpers.h b/tests/crypto-tls-x509-helpers.h
index 356b49c..5c32bbe 100644
--- a/tests/crypto-tls-x509-helpers.h
+++ b/tests/crypto-tls-x509-helpers.h
@@ -18,6 +18,8 @@
  * Author: Daniel P. Berrange <berrange@redhat.com>
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #include <gnutls/gnutls.h>
 #include <gnutls/x509.h>
 
diff --git a/tests/multiboot/libc.h b/tests/multiboot/libc.h
index 04c9922..8d3ce4b 100644
--- a/tests/multiboot/libc.h
+++ b/tests/multiboot/libc.h
@@ -20,6 +20,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef LIBC_H
 #define LIBC_H
 
diff --git a/tests/multiboot/multiboot.h b/tests/multiboot/multiboot.h
index 4eb1fbe..40adfdf 100644
--- a/tests/multiboot/multiboot.h
+++ b/tests/multiboot/multiboot.h
@@ -20,6 +20,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef MULTIBOOT_H
 #define MULTIBOOT_H
 
diff --git a/tests/tcg/cris/crisutils.h b/tests/tcg/cris/crisutils.h
index 3456b9d..324dcd2 100644
--- a/tests/tcg/cris/crisutils.h
+++ b/tests/tcg/cris/crisutils.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef CRISUTILS_H
 #define CRISUTILS_H 1
 
diff --git a/tests/tcg/cris/sys.h b/tests/tcg/cris/sys.h
index c5f88e1..2ceab71 100644
--- a/tests/tcg/cris/sys.h
+++ b/tests/tcg/cris/sys.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #include <unistd.h>
 
 #define STRINGIFY(x) #x
diff --git a/tests/tcg/mips/mips64-dsp/io.h b/tests/tcg/mips/mips64-dsp/io.h
index b7db61d..f9b28ec 100644
--- a/tests/tcg/mips/mips64-dsp/io.h
+++ b/tests/tcg/mips/mips64-dsp/io.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 extern int printf(const char *fmt, ...);
diff --git a/tests/tcg/mips/mips64-dspr2/io.h b/tests/tcg/mips/mips64-dspr2/io.h
index b7db61d..f9b28ec 100644
--- a/tests/tcg/mips/mips64-dspr2/io.h
+++ b/tests/tcg/mips/mips64-dspr2/io.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 extern int printf(const char *fmt, ...);
diff --git a/tests/tcg/test-i386-muldiv.h b/tests/tcg/test-i386-muldiv.h
index 015f59e..5c1913f 100644
--- a/tests/tcg/test-i386-muldiv.h
+++ b/tests/tcg/test-i386-muldiv.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 void glue(glue(test_, OP), b)(long op0, long op1)
 {
diff --git a/tests/tcg/test-i386-shift.h b/tests/tcg/test-i386-shift.h
index 3d8f84b..4dac8ce 100644
--- a/tests/tcg/test-i386-shift.h
+++ b/tests/tcg/test-i386-shift.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #define exec_op glue(exec_, OP)
 #define exec_opq glue(glue(exec_, OP), q)
diff --git a/tests/tcg/test-i386.h b/tests/tcg/test-i386.h
index 75106b8..1a047fd 100644
--- a/tests/tcg/test-i386.h
+++ b/tests/tcg/test-i386.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #define exec_op glue(exec_, OP)
 #define exec_opq glue(glue(exec_, OP), q)
diff --git a/trace/control-internal.h b/trace/control-internal.h
index dcf67f5..b3a9894 100644
--- a/trace/control-internal.h
+++ b/trace/control-internal.h
@@ -7,6 +7,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRACE__CONTROL_INTERNAL_H
 #define TRACE__CONTROL_INTERNAL_H
 
diff --git a/trace/mem-internal.h b/trace/mem-internal.h
index a75e0ff..7f70806 100644
--- a/trace/mem-internal.h
+++ b/trace/mem-internal.h
@@ -7,6 +7,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRACE__MEM_INTERNAL_H
 #define TRACE__MEM_INTERNAL_H
 
diff --git a/trace/mem.h b/trace/mem.h
index c76a572..71f0782 100644
--- a/trace/mem.h
+++ b/trace/mem.h
@@ -7,6 +7,8 @@
  * See the COPYING file in the top-level directory.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRACE__MEM_H
 #define TRACE__MEM_H
 
diff --git a/trace/simple.h b/trace/simple.h
index 1e7de45..c6a122d 100644
--- a/trace/simple.h
+++ b/trace/simple.h
@@ -8,6 +8,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRACE_SIMPLE_H
 #define TRACE_SIMPLE_H
 
diff --git a/translate-all.h b/translate-all.h
index ce6071b..400f5e4 100644
--- a/translate-all.h
+++ b/translate-all.h
@@ -16,6 +16,9 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
+
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef TRANSLATE_ALL_H
 #define TRANSLATE_ALL_H
 
diff --git a/ui/curses_keys.h b/ui/curses_keys.h
index f746744..e54d080 100644
--- a/ui/curses_keys.h
+++ b/ui/curses_keys.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef QEMU_CURSES_KEYS_H
 #define QEMU_CURSES_KEYS_H 1
 
diff --git a/ui/sdl2-keymap.h b/ui/sdl2-keymap.h
index cbedaa4..0c5fd42 100644
--- a/ui/sdl2-keymap.h
+++ b/ui/sdl2-keymap.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 /* map SDL2 scancodes to QKeyCode */
 
diff --git a/ui/sdl_keysym.h b/ui/sdl_keysym.h
index 599d9fc..aebf64b 100644
--- a/ui/sdl_keysym.h
+++ b/ui/sdl_keysym.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #include "keymaps.h"
 
diff --git a/ui/sdl_zoom.h b/ui/sdl_zoom.h
index 74955bc..b49c462 100644
--- a/ui/sdl_zoom.h
+++ b/ui/sdl_zoom.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef SDL_zoom_h
 #define SDL_zoom_h
 
diff --git a/ui/sdl_zoom_template.h b/ui/sdl_zoom_template.h
index 3bb508b..ab2642c 100644
--- a/ui/sdl_zoom_template.h
+++ b/ui/sdl_zoom_template.h
@@ -11,6 +11,8 @@
  *
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #if BPP == 16
 #define SDL_TYPE Uint16
 #elif BPP == 32
diff --git a/ui/vgafont.h b/ui/vgafont.h
index 3606dd7..6e49e8a 100644
--- a/ui/vgafont.h
+++ b/ui/vgafont.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 static const uint8_t vgafont16[256 * 16] = {
 
 	/* 0 0x00 '^@' */
diff --git a/ui/vnc-auth-sasl.h b/ui/vnc-auth-sasl.h
index 3f59da6..305bf13 100644
--- a/ui/vnc-auth-sasl.h
+++ b/ui/vnc-auth-sasl.h
@@ -22,6 +22,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 
 #ifndef __QEMU_VNC_AUTH_SASL_H__
 #define __QEMU_VNC_AUTH_SASL_H__
diff --git a/ui/vnc-auth-vencrypt.h b/ui/vnc-auth-vencrypt.h
index 9f674c5..26f9b3b 100644
--- a/ui/vnc-auth-vencrypt.h
+++ b/ui/vnc-auth-vencrypt.h
@@ -24,6 +24,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 
 #ifndef __QEMU_VNC_AUTH_VENCRYPT_H__
 #define __QEMU_VNC_AUTH_VENCRYPT_H__
diff --git a/ui/vnc-enc-hextile-template.h b/ui/vnc-enc-hextile-template.h
index d868d75..df9a35c 100644
--- a/ui/vnc-enc-hextile-template.h
+++ b/ui/vnc-enc-hextile-template.h
@@ -1,3 +1,5 @@
+/* FIXME Does not pass make check-headers, yet! */
+
 #define CONCAT_I(a, b) a ## b
 #define CONCAT(a, b) CONCAT_I(a, b)
 #define pixel_t CONCAT(uint, CONCAT(BPP, _t))
diff --git a/ui/vnc-jobs.h b/ui/vnc-jobs.h
index 044bf9f..2e97897 100644
--- a/ui/vnc-jobs.h
+++ b/ui/vnc-jobs.h
@@ -27,6 +27,8 @@
  * THE SOFTWARE.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef VNC_JOBS_H
 #define VNC_JOBS_H
 
diff --git a/ui/vnc-ws.h b/ui/vnc-ws.h
index 652b6fc..181c9c5 100644
--- a/ui/vnc-ws.h
+++ b/ui/vnc-ws.h
@@ -18,6 +18,8 @@
  * along with this software; if not, see <http://www.gnu.org/licenses/>.
  */
 
+/* FIXME Does not pass make check-headers, yet! */
+
 #ifndef __QEMU_UI_VNC_WS_H
 #define __QEMU_UI_VNC_WS_H
 
diff --git a/ui/vnc_keysym.h b/ui/vnc_keysym.h
index 7fa2bc1..900027e 100644
--- a/ui/vnc_keysym.h
+++ b/ui/vnc_keysym.h
@@ -1,3 +1,4 @@
+/* FIXME Does not pass make check-headers, yet! */
 
 #include "keymaps.h"
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source Markus Armbruster
@ 2016-06-24 14:19 ` Markus Armbruster
  2016-06-24 15:17   ` Eric Blake
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 4/5] include: Move typedef qemu_irq to qemu/typedefs.h Markus Armbruster
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

Forgotten in commit b8c6f29.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 tests/Makefile.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 7b0446b..233cb9c 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -752,7 +752,7 @@ tests/headers/%.c: tests/header-test-template.c
 
 # Consolidated targets
 
-.PHONY: check-qapi-schema check-qtest check-unit check check-source check-clean
+.PHONY: check-qapi-schema check-qtest check-unit check check-block check-source check-clean
 check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y))
 check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS))
 check-unit: $(patsubst %,check-%, $(check-unit-y))
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC v2 4/5] include: Move typedef qemu_irq to qemu/typedefs.h
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
                   ` (2 preceding siblings ...)
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target Markus Armbruster
@ 2016-06-24 14:19 ` Markus Armbruster
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 5/5] include: Include exec/hwaddr.h where hwaddr is used Markus Armbruster
  2016-06-27 17:27 ` [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Sascha Silbe
  5 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

While there, drop a comment that has become misleading.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/hw/irq.h          | 2 --
 include/hw/isa/vt82c686.h | 2 --
 include/hw/mips/mips.h    | 2 --
 include/qemu/typedefs.h   | 4 +---
 4 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/include/hw/irq.h b/include/hw/irq.h
index 4c4c2ea..6a89571 100644
--- a/include/hw/irq.h
+++ b/include/hw/irq.h
@@ -5,8 +5,6 @@
 
 #define TYPE_IRQ "irq"
 
-typedef struct IRQState *qemu_irq;
-
 typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
 
 void qemu_set_irq(qemu_irq irq, int level);
diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h
index ddc8405..471b5e9 100644
--- a/include/hw/isa/vt82c686.h
+++ b/include/hw/isa/vt82c686.h
@@ -1,5 +1,3 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_VT82C686_H
 #define HW_VT82C686_H
 
diff --git a/include/hw/mips/mips.h b/include/hw/mips/mips.h
index 8f5608b..e0065ce 100644
--- a/include/hw/mips/mips.h
+++ b/include/hw/mips/mips.h
@@ -1,5 +1,3 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_MIPS_H
 #define HW_MIPS_H
 /* Definitions for mips board emulation.  */
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index b113fcf..8482783 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -1,9 +1,6 @@
 #ifndef QEMU_TYPEDEFS_H
 #define QEMU_TYPEDEFS_H
 
-/* A load of opaque types so that device init declarations don't have to
-   pull in all the real definitions.  */
-
 /* Please keep this list in alphabetical order */
 typedef struct AdapterInfo AdapterInfo;
 typedef struct AddressSpace AddressSpace;
@@ -34,6 +31,7 @@ typedef struct FWCfgState FWCfgState;
 typedef struct HCIInfo HCIInfo;
 typedef struct I2CBus I2CBus;
 typedef struct I2SCodec I2SCodec;
+typedef struct IRQState *qemu_irq;
 typedef struct ISABus ISABus;
 typedef struct ISADevice ISADevice;
 typedef struct IsaDma IsaDma;
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC v2 5/5] include: Include exec/hwaddr.h where hwaddr is used
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
                   ` (3 preceding siblings ...)
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 4/5] include: Move typedef qemu_irq to qemu/typedefs.h Markus Armbruster
@ 2016-06-24 14:19 ` Markus Armbruster
  2016-06-27 17:27 ` [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Sascha Silbe
  5 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-24 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

Don't bother with include/exec/memory-internal.h and
include/hw/elf_ops.h, because those are somewhat special.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/audio/lm4549.h                 | 1 +
 hw/cris/boot.h                    | 2 ++
 hw/net/e1000e_core.h              | 7 +++++++
 hw/net/vmware_utils.h             | 1 +
 hw/scsi/mptsas.h                  | 1 +
 include/disas/disas.h             | 3 +--
 include/hw/arm/sharpsl.h          | 4 ++--
 include/hw/block/fdc.h            | 3 +--
 include/hw/char/escc.h            | 4 ++--
 include/hw/char/pl011.h           | 2 ++
 include/hw/char/xilinx_uartlite.h | 2 ++
 include/hw/cris/etraxfs_dma.h     | 4 ++--
 include/hw/empty_slot.h           | 4 ++--
 include/hw/misc/mips_cmgcr.h      | 1 +
 include/hw/pci-host/apb.h         | 3 +--
 include/hw/sparc/sparc32_dma.h    | 4 ++--
 include/hw/timer/m48t59.h         | 3 +--
 include/sysemu/xen-mapcache.h     | 1 +
 target-ppc/mmu-hash32.h           | 2 ++
 19 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/hw/audio/lm4549.h b/hw/audio/lm4549.h
index 503c8e9..e03f6b8 100644
--- a/hw/audio/lm4549.h
+++ b/hw/audio/lm4549.h
@@ -15,6 +15,7 @@
 #define HW_LM4549_H
 
 #include "audio/audio.h"
+#include "exec/hwaddr.h"
 
 typedef void (*lm4549_callback)(void *opaque);
 
diff --git a/hw/cris/boot.h b/hw/cris/boot.h
index 2aa4355..57cc13e 100644
--- a/hw/cris/boot.h
+++ b/hw/cris/boot.h
@@ -3,6 +3,8 @@
 #ifndef _CRIS_BOOT_H
 #define HW_CRIS_BOOT_H 1
 
+#include "exec/hwaddr.h"
+
 struct cris_load_info
 {
     const char *image_filename;
diff --git a/hw/net/e1000e_core.h b/hw/net/e1000e_core.h
index fcc1ca2..098f32e 100644
--- a/hw/net/e1000e_core.h
+++ b/hw/net/e1000e_core.h
@@ -35,6 +35,11 @@
 
 /* FIXME Does not pass make check-headers, yet! */
 
+#ifndef E1000E_CORE_H
+#define E1000E_CORE_H
+
+#include "exec/hwaddr.h"
+
 #define E1000E_PHY_PAGE_SIZE    (0x20)
 #define E1000E_PHY_PAGES        (0x07)
 #define E1000E_MAC_SIZE         (0x8000)
@@ -146,3 +151,5 @@ e1000e_receive(E1000ECore *core, const uint8_t *buf, size_t size);
 
 ssize_t
 e1000e_receive_iov(E1000ECore *core, const struct iovec *iov, int iovcnt);
+
+#endif
diff --git a/hw/net/vmware_utils.h b/hw/net/vmware_utils.h
index a4834f5..46cb9e2 100644
--- a/hw/net/vmware_utils.h
+++ b/hw/net/vmware_utils.h
@@ -19,6 +19,7 @@
 #ifndef VMWARE_UTILS_H
 #define VMWARE_UTILS_H
 
+#include "exec/hwaddr.h"
 #include "qemu/range.h"
 #include "vmxnet_debug.h"
 
diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
index b1b138d..228aaa7 100644
--- a/hw/scsi/mptsas.h
+++ b/hw/scsi/mptsas.h
@@ -3,6 +3,7 @@
 #ifndef MPTSAS_H
 #define MPTSAS_H
 
+#include "exec/hwaddr.h"
 #include "mpi.h"
 
 #define MPTSAS_NUM_PORTS 8
diff --git a/include/disas/disas.h b/include/disas/disas.h
index b665558..8e221c3 100644
--- a/include/disas/disas.h
+++ b/include/disas/disas.h
@@ -1,8 +1,7 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef _QEMU_DISAS_H
 #define _QEMU_DISAS_H
 
+#include "exec/hwaddr.h"
 #include "qemu-common.h"
 
 #ifdef NEED_CPU_H
diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h
index a899cbd..b55d95a 100644
--- a/include/hw/arm/sharpsl.h
+++ b/include/hw/arm/sharpsl.h
@@ -4,11 +4,11 @@
  * This file is licensed under the GNU GPL.
  */
 
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef QEMU_SHARPSL_H
 #define QEMU_SHARPSL_H
 
+#include "exec/hwaddr.h"
+
 #define zaurus_printf(format, ...)	\
     fprintf(stderr, "%s: " format, __FUNCTION__, ##__VA_ARGS__)
 
diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
index 3e9013b..535ec90 100644
--- a/include/hw/block/fdc.h
+++ b/include/hw/block/fdc.h
@@ -1,8 +1,7 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_FDC_H
 #define HW_FDC_H
 
+#include "exec/hwaddr.h"
 #include "qemu-common.h"
 
 /* fdc.c */
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index 99c6a68..ead9444 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -1,8 +1,8 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_ESCC_H
 #define HW_ESCC_H 1
 
+#include "exec/hwaddr.h"
+
 /* escc.c */
 #define TYPE_ESCC "escc"
 #define ESCC_SIZE 4
diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h
index da127ba..d0f9254 100644
--- a/include/hw/char/pl011.h
+++ b/include/hw/char/pl011.h
@@ -17,6 +17,8 @@
 #ifndef PL011_UART_H
 #define PL011_UART_H
 
+#include "exec/hwaddr.h"
+
 static inline DeviceState *pl011_create(hwaddr addr,
                                         qemu_irq irq,
                                         CharDriverState *chr)
diff --git a/include/hw/char/xilinx_uartlite.h b/include/hw/char/xilinx_uartlite.h
index 7652174..020da85 100644
--- a/include/hw/char/xilinx_uartlite.h
+++ b/include/hw/char/xilinx_uartlite.h
@@ -17,6 +17,8 @@
 #ifndef XILINX_UARTLITE_H
 #define XILINX_UARTLITE_H
 
+#include "exec/hwaddr.h"
+
 static inline DeviceState *xilinx_uartlite_create(hwaddr addr,
                                         qemu_irq irq,
                                         CharDriverState *chr)
diff --git a/include/hw/cris/etraxfs_dma.h b/include/hw/cris/etraxfs_dma.h
index 185d50f..ed985b5 100644
--- a/include/hw/cris/etraxfs_dma.h
+++ b/include/hw/cris/etraxfs_dma.h
@@ -1,8 +1,8 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_ETRAXFS_DMA_H
 #define HW_ETRAXFS_DMA_H 1
 
+#include "exec/hwaddr.h"
+
 struct dma_context_metadata {
 	/* data descriptor md */
 	uint16_t metadata;
diff --git a/include/hw/empty_slot.h b/include/hw/empty_slot.h
index e148923..64b4b02 100644
--- a/include/hw/empty_slot.h
+++ b/include/hw/empty_slot.h
@@ -1,8 +1,8 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef HW_EMPTY_SLOT_H
 #define HW_EMPTY_SLOT_H 1
 
+#include "exec/hwaddr.h"
+
 /* empty_slot.c */
 void empty_slot_init(hwaddr addr, uint64_t slot_size);
 
diff --git a/include/hw/misc/mips_cmgcr.h b/include/hw/misc/mips_cmgcr.h
index 504a2b2..8a3f4d7 100644
--- a/include/hw/misc/mips_cmgcr.h
+++ b/include/hw/misc/mips_cmgcr.h
@@ -13,6 +13,7 @@
 #define _MIPS_GCR_H
 
 #define TYPE_MIPS_GCR "mips-gcr"
+#include "exec/hwaddr.h"
 #define MIPS_GCR(obj) OBJECT_CHECK(MIPSGCRState, (obj), TYPE_MIPS_GCR)
 
 #define GCR_BASE_ADDR           0x1fbf8000ULL
diff --git a/include/hw/pci-host/apb.h b/include/hw/pci-host/apb.h
index b076064..824b5c6 100644
--- a/include/hw/pci-host/apb.h
+++ b/include/hw/pci-host/apb.h
@@ -1,8 +1,7 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef APB_PCI_H
 #define APB_PCI_H
 
+#include "exec/hwaddr.h"
 #include "qemu-common.h"
 
 PCIBus *pci_apb_init(hwaddr special_base,
diff --git a/include/hw/sparc/sparc32_dma.h b/include/hw/sparc/sparc32_dma.h
index 844a659..fbc95fd 100644
--- a/include/hw/sparc/sparc32_dma.h
+++ b/include/hw/sparc/sparc32_dma.h
@@ -1,8 +1,8 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef SPARC32_DMA_H
 #define SPARC32_DMA_H
 
+#include "exec/hwaddr.h"
+
 /* sparc32_dma.c */
 void ledma_memory_read(void *opaque, hwaddr addr,
                        uint8_t *buf, int len, int do_bswap);
diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h
index e541e52..aca90b3 100644
--- a/include/hw/timer/m48t59.h
+++ b/include/hw/timer/m48t59.h
@@ -1,8 +1,7 @@
-/* FIXME Does not pass make check-headers, yet! */
-
 #ifndef NVRAM_H
 #define NVRAM_H
 
+#include "exec/hwaddr.h"
 #include "qemu-common.h"
 #include "qom/object.h"
 
diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index 6e5f98a..10becd1 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -11,6 +11,7 @@
 #ifndef XEN_MAPCACHE_H
 #define XEN_MAPCACHE_H
 
+#include "exec/hwaddr.h"
 
 typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr start_addr,
                                                      ram_addr_t size,
diff --git a/target-ppc/mmu-hash32.h b/target-ppc/mmu-hash32.h
index a621fb9..f345da1 100644
--- a/target-ppc/mmu-hash32.h
+++ b/target-ppc/mmu-hash32.h
@@ -5,6 +5,8 @@
 
 #ifndef CONFIG_USER_ONLY
 
+#include "exec/hwaddr.h"
+
 hwaddr get_pteg_offset32(PowerPCCPU *cpu, hwaddr hash);
 hwaddr ppc_hash32_get_phys_page_debug(PowerPCCPU *cpu, target_ulong addr);
 int ppc_hash32_handle_mmu_fault(PowerPCCPU *cpu, vaddr address, int rw,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source Markus Armbruster
@ 2016-06-24 14:23   ` Peter Maydell
  2016-06-27  6:34     ` Markus Armbruster
  2016-06-30  6:30   ` [Qemu-devel] [PATCH RFC] fixup! " Markus Armbruster
  1 sibling, 1 reply; 33+ messages in thread
From: Peter Maydell @ 2016-06-24 14:23 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: QEMU Developers, Paolo Bonzini

On 24 June 2016 at 15:19, Markus Armbruster <armbru@redhat.com> wrote:
> For now, this tests just a bit of header sanity: for each header
> "FOO.h", test whether
>
>         #include "qemu/osdep.h"
>         #include "FOO.h"
>         #include "FOO.h"
>
> compiles.  A large number of headers don't pass this test, by design
> or by accident.  These are all excluded for now.  Excluded headers
> contain a comment
>
>     /* FIXME Does not pass make check-headers, yet! */
>
> Many headers fail the test only with CONFIG_WIN32.  These contain a
> comment
>
>     /* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
>
> Add make target check-excluded-headers to help with examining how they
> fail.
>
> These tests work only in a git tree, with git installed.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

>  disas/libvixl/vixl/a64/assembler-a64.h    |  2 ++
>  disas/libvixl/vixl/a64/constants-a64.h    |  2 ++
>  disas/libvixl/vixl/a64/cpu-a64.h          |  2 ++
>  disas/libvixl/vixl/a64/decoder-a64.h      |  2 ++
>  disas/libvixl/vixl/a64/disasm-a64.h       |  2 ++
>  disas/libvixl/vixl/a64/instructions-a64.h |  2 ++
>  disas/libvixl/vixl/code-buffer.h          |  2 ++
>  disas/libvixl/vixl/compiler-intrinsics.h  |  2 ++
>  disas/libvixl/vixl/globals.h              |  2 ++
>  disas/libvixl/vixl/invalset.h             |  2 ++
>  disas/libvixl/vixl/platform.h             |  2 ++
>  disas/libvixl/vixl/utils.h                |  2 ++

This is third-party code. We're not going to change it, so
we should avoid scanning it rather than adding tags which
will get lost next time we do an update to a new upstream
version...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers Markus Armbruster
@ 2016-06-24 14:54   ` Eric Blake
  2016-06-27  6:34     ` Markus Armbruster
  2016-06-27  8:50     ` Markus Armbruster
  0 siblings, 2 replies; 33+ messages in thread
From: Eric Blake @ 2016-06-24 14:54 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: peter.maydell, pbonzini

[-- Attachment #1: Type: text/plain, Size: 1046 bytes --]

On 06/24/2016 08:19 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Worth mentioning how you found the culprits in the commit message, so
that someone could repeat the task when backporting this patch or
dealing with future cruft that inevitably creeps back in without an
automated checkin validation tool?


> +++ b/crypto/pbkdf-nettle.c
> @@ -19,9 +19,9 @@
>   */
>  
>  #include "qemu/osdep.h"
> +#include <nettle/pbkdf2.h>
>  #include "qapi/error.h"
>  #include "crypto/pbkdf.h"
> -#include "nettle/pbkdf2.h"

You're not just converting <> to "" (when the header is internal) or ""
to <> (when the header is 3rd-party), but also rearranging things to put
<> before "" (except for osdep.h which must be first).  I like that
paradigm, but again, might be worth a mention in the commit message as
being intentional.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target Markus Armbruster
@ 2016-06-24 15:17   ` Eric Blake
  2016-06-27  6:35     ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Eric Blake @ 2016-06-24 15:17 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: peter.maydell, pbonzini

[-- Attachment #1: Type: text/plain, Size: 1101 bytes --]

On 06/24/2016 08:19 AM, Markus Armbruster wrote:
> Forgotten in commit b8c6f29.

Umm, really?  That commit starts with:

tests/Makefile
-.PHONY: check
+
+.PHONY: check check-block

Rather, I think it was b93b63f5 that accidentally lost it during an
overhaul.

> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  tests/Makefile.include | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 7b0446b..233cb9c 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -752,7 +752,7 @@ tests/headers/%.c: tests/header-test-template.c
>  
>  # Consolidated targets
>  
> -.PHONY: check-qapi-schema check-qtest check-unit check check-source check-clean
> +.PHONY: check-qapi-schema check-qtest check-unit check check-block check-source check-clean

Long line; worth splitting?

With commit message improved,
Reviewed-by: Eric Blake <eblake@redhat.com>



-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-24 14:54   ` Eric Blake
@ 2016-06-27  6:34     ` Markus Armbruster
  2016-06-27  8:50     ` Markus Armbruster
  1 sibling, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-27  6:34 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel, peter.maydell, pbonzini

Eric Blake <eblake@redhat.com> writes:

> On 06/24/2016 08:19 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
>
> Worth mentioning how you found the culprits in the commit message, so
> that someone could repeat the task when backporting this patch or
> dealing with future cruft that inevitably creeps back in without an
> automated checkin validation tool?
>
>
>> +++ b/crypto/pbkdf-nettle.c
>> @@ -19,9 +19,9 @@
>>   */
>>  
>>  #include "qemu/osdep.h"
>> +#include <nettle/pbkdf2.h>
>>  #include "qapi/error.h"
>>  #include "crypto/pbkdf.h"
>> -#include "nettle/pbkdf2.h"
>
> You're not just converting <> to "" (when the header is internal) or ""
> to <> (when the header is 3rd-party), but also rearranging things to put
> <> before "" (except for osdep.h which must be first).  I like that
> paradigm, but again, might be worth a mention in the commit message as
> being intentional.

Our ordering of #include directives looks and smells like an open
garbage dump in August.  Cleaning this up should become feasible once we
manage to make our headers self-contained.  If such a cleanup is wanted.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-24 14:23   ` Peter Maydell
@ 2016-06-27  6:34     ` Markus Armbruster
  2016-06-27 10:02       ` Peter Maydell
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-27  6:34 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

Peter Maydell <peter.maydell@linaro.org> writes:

> On 24 June 2016 at 15:19, Markus Armbruster <armbru@redhat.com> wrote:
>> For now, this tests just a bit of header sanity: for each header
>> "FOO.h", test whether
>>
>>         #include "qemu/osdep.h"
>>         #include "FOO.h"
>>         #include "FOO.h"
>>
>> compiles.  A large number of headers don't pass this test, by design
>> or by accident.  These are all excluded for now.  Excluded headers
>> contain a comment
>>
>>     /* FIXME Does not pass make check-headers, yet! */
>>
>> Many headers fail the test only with CONFIG_WIN32.  These contain a
>> comment
>>
>>     /* FIXME Does not pass make check-headers with CONFIG_WIN32, yet! */
>>
>> Add make target check-excluded-headers to help with examining how they
>> fail.
>>
>> These tests work only in a git tree, with git installed.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
>>  disas/libvixl/vixl/a64/assembler-a64.h    |  2 ++
>>  disas/libvixl/vixl/a64/constants-a64.h    |  2 ++
>>  disas/libvixl/vixl/a64/cpu-a64.h          |  2 ++
>>  disas/libvixl/vixl/a64/decoder-a64.h      |  2 ++
>>  disas/libvixl/vixl/a64/disasm-a64.h       |  2 ++
>>  disas/libvixl/vixl/a64/instructions-a64.h |  2 ++
>>  disas/libvixl/vixl/code-buffer.h          |  2 ++
>>  disas/libvixl/vixl/compiler-intrinsics.h  |  2 ++
>>  disas/libvixl/vixl/globals.h              |  2 ++
>>  disas/libvixl/vixl/invalset.h             |  2 ++
>>  disas/libvixl/vixl/platform.h             |  2 ++
>>  disas/libvixl/vixl/utils.h                |  2 ++
>
> This is third-party code. We're not going to change it, so
> we should avoid scanning it rather than adding tags which
> will get lost next time we do an update to a new upstream
> version...

I can revive v1's blacklist for this directory.  Any others?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target
  2016-06-24 15:17   ` Eric Blake
@ 2016-06-27  6:35     ` Markus Armbruster
  0 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-27  6:35 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel, peter.maydell, pbonzini

Eric Blake <eblake@redhat.com> writes:

> On 06/24/2016 08:19 AM, Markus Armbruster wrote:
>> Forgotten in commit b8c6f29.
>
> Umm, really?  That commit starts with:
>
> tests/Makefile
> -.PHONY: check
> +
> +.PHONY: check check-block
>
> Rather, I think it was b93b63f5 that accidentally lost it during an
> overhaul.

Oops.  Will fix.

>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  tests/Makefile.include | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>> index 7b0446b..233cb9c 100644
>> --- a/tests/Makefile.include
>> +++ b/tests/Makefile.include
>> @@ -752,7 +752,7 @@ tests/headers/%.c: tests/header-test-template.c
>>  
>>  # Consolidated targets
>>  
>> -.PHONY: check-qapi-schema check-qtest check-unit check check-source check-clean
>> +.PHONY: check-qapi-schema check-qtest check-unit check check-block check-source check-clean
>
> Long line; worth splitting?

Yes.

> With commit message improved,
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-24 14:54   ` Eric Blake
  2016-06-27  6:34     ` Markus Armbruster
@ 2016-06-27  8:50     ` Markus Armbruster
  2016-06-27 10:07       ` Peter Maydell
  2016-06-27 14:23       ` Eric Blake
  1 sibling, 2 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-27  8:50 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel, peter.maydell, pbonzini

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

Eric Blake <eblake@redhat.com> writes:

> On 06/24/2016 08:19 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
>
> Worth mentioning how you found the culprits in the commit message, so
> that someone could repeat the task when backporting this patch or
> dealing with future cruft that inevitably creeps back in without an
> automated checkin validation tool?

With an ugly Perl script, of course %-/

If our use of -I was sane, the mapping from #include's file to the
actual file would be straightforward.  It isn't, because we add
different -I for different parts of the code.  To spice up things, we
also name a few of our headers just like system headers we use
elsewhere, e.g. "util.h" in net/ vs. <util.h> in util/qemu-openpty.c.

My Perl script tries to match #include directives against source files,
and prints its findings.  The headers it can't map to source files must
either be generated headers or system headers.  The headers it can map
might be system headers anyway.

I'm afraid my script and its usage is too brittle to be of much use
later on.  I attach it anyway.

[...]



[-- Attachment #2: map-include-to-header.pl~ --]
[-- Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-27  6:34     ` Markus Armbruster
@ 2016-06-27 10:02       ` Peter Maydell
  2016-06-28  8:19         ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Peter Maydell @ 2016-06-27 10:02 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Paolo Bonzini, QEMU Developers

On 27 June 2016 at 07:34, Markus Armbruster <armbru@redhat.com> wrote:
> Peter Maydell <peter.maydell@linaro.org> writes:
>> This is third-party code. We're not going to change it, so
>> we should avoid scanning it rather than adding tags which
>> will get lost next time we do an update to a new upstream
>> version...
>
> I can revive v1's blacklist for this directory.  Any others?

The clean-includes blacklist is
XDIRREGEX='^(tests/tcg|tests/multiboot|pc-bios|disas/libvixl)'

(which covers both 3rd-party imports and code which is intended to
be built standalone and so doesn't follow QEMU's include
rules.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-27  8:50     ` Markus Armbruster
@ 2016-06-27 10:07       ` Peter Maydell
  2016-06-28  8:17         ` Markus Armbruster
  2016-06-27 14:23       ` Eric Blake
  1 sibling, 1 reply; 33+ messages in thread
From: Peter Maydell @ 2016-06-27 10:07 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Eric Blake, QEMU Developers, Paolo Bonzini

On 27 June 2016 at 09:50, Markus Armbruster <armbru@redhat.com> wrote:
> To spice up things, we
> also name a few of our headers just like system headers we use
> elsewhere, e.g. "util.h" in net/ vs. <util.h> in util/qemu-openpty.c.

That would be nice to fix at some point I think, it's pretty brittle.
(We had one issue recently that boiled down to system header vs local
header confusion, though I forget the details.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-27  8:50     ` Markus Armbruster
  2016-06-27 10:07       ` Peter Maydell
@ 2016-06-27 14:23       ` Eric Blake
  2016-06-28  8:09         ` Markus Armbruster
  1 sibling, 1 reply; 33+ messages in thread
From: Eric Blake @ 2016-06-27 14:23 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-devel, peter.maydell, pbonzini

[-- Attachment #1: Type: text/plain, Size: 389 bytes --]

On 06/27/2016 02:50 AM, Markus Armbruster wrote:

> With an ugly Perl script, of course %-/
> 

> I'm afraid my script and its usage is too brittle to be of much use
> later on.  I attach it anyway.

A zero byte file map-include-to-header.pl~.  Infinite compression :)

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
                   ` (4 preceding siblings ...)
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 5/5] include: Include exec/hwaddr.h where hwaddr is used Markus Armbruster
@ 2016-06-27 17:27 ` Sascha Silbe
  2016-06-27 18:13   ` Paolo Bonzini
  5 siblings, 1 reply; 33+ messages in thread
From: Sascha Silbe @ 2016-06-27 17:27 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: peter.maydell, pbonzini

Dear Markus,

Markus Armbruster <armbru@redhat.com> writes:

> Some time ago, we discussed rules for headers, and these were
> generally liked:
[...]
> Trouble is we're not exactly close to obeying 2.  This series
> demonstrates a possible path towards obeying it: enforce it in "make
> check", except for known-bad headers [PATCH 2].  We start with a large
> list of known-bad headers, then whittle it down.  Some sample
> whittling in PATCH 4+5.
[...]

Does this series depend on any other series that's not in master yet?

After applying your series on top of f12103af and running "./configure"
in a clean working directory, I get the following errors for "make
check-source":

$ make check-source
egrep: config-host.h: No such file or directory
egrep: qmp-commands.h: No such file or directory
egrep: qapi-types.h: No such file or directory
egrep: qapi-visit.h: No such file or directory
egrep: qapi-event.h: No such file or directory
egrep: qmp-introspect.h: No such file or directory
egrep: trace/generated-events.h: No such file or directory
egrep: trace/generated-tracers.h: No such file or directory
egrep: trace/generated-tcg-tracers.h: No such file or directory
egrep: trace/generated-helpers-wrappers.h: No such file or directory
egrep: trace/generated-helpers.h: No such file or directory
egrep: tests/test-qapi-types.h: No such file or directory
egrep: tests/test-qapi-visit.h: No such file or directory
egrep: tests/test-qmp-commands.h: No such file or directory
egrep: tests/test-qapi-event.h: No such file or directory
egrep: tests/test-qmp-introspect.h: No such file or directory
  GEN   aarch64-softmmu/config-devices.mak.tmp
  GEN   aarch64-softmmu/config-devices.mak
[...]
  GEN   tests/test-qmp-introspect.h
make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.


Sascha
-- 
Softwareentwicklung Sascha Silbe, Niederhofenstraße 5/1, 71229 Leonberg
https://se-silbe.de/
USt-IdNr. DE281696641

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-27 17:27 ` [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Sascha Silbe
@ 2016-06-27 18:13   ` Paolo Bonzini
  2016-06-27 20:39     ` Sascha Silbe
  0 siblings, 1 reply; 33+ messages in thread
From: Paolo Bonzini @ 2016-06-27 18:13 UTC (permalink / raw)
  To: Sascha Silbe, Markus Armbruster, qemu-devel; +Cc: peter.maydell



On 27/06/2016 19:27, Sascha Silbe wrote:
> Dear Markus,
> 
> Markus Armbruster <armbru@redhat.com> writes:
> 
>> Some time ago, we discussed rules for headers, and these were
>> generally liked:
> [...]
>> Trouble is we're not exactly close to obeying 2.  This series
>> demonstrates a possible path towards obeying it: enforce it in "make
>> check", except for known-bad headers [PATCH 2].  We start with a large
>> list of known-bad headers, then whittle it down.  Some sample
>> whittling in PATCH 4+5.
> [...]
> 
> Does this series depend on any other series that's not in master yet?
> 
> After applying your series on top of f12103af and running "./configure"
> in a clean working directory, I get the following errors for "make
> check-source":
> 
> $ make check-source
> egrep: config-host.h: No such file or directory
> egrep: qmp-commands.h: No such file or directory
> egrep: qapi-types.h: No such file or directory
> egrep: qapi-visit.h: No such file or directory
> egrep: qapi-event.h: No such file or directory
> egrep: qmp-introspect.h: No such file or directory
> egrep: trace/generated-events.h: No such file or directory
> egrep: trace/generated-tracers.h: No such file or directory
> egrep: trace/generated-tcg-tracers.h: No such file or directory
> egrep: trace/generated-helpers-wrappers.h: No such file or directory
> egrep: trace/generated-helpers.h: No such file or directory
> egrep: tests/test-qapi-types.h: No such file or directory
> egrep: tests/test-qapi-visit.h: No such file or directory
> egrep: tests/test-qmp-commands.h: No such file or directory
> egrep: tests/test-qapi-event.h: No such file or directory
> egrep: tests/test-qmp-introspect.h: No such file or directory
>   GEN   aarch64-softmmu/config-devices.mak.tmp
>   GEN   aarch64-softmmu/config-devices.mak
> [...]
>   GEN   tests/test-qmp-introspect.h
> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.

Hi Sascha,

these are all generated headers.  In general, "make check" must be run
after "make", and I suppose the same holds for "make check-headers".

Paolo

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-27 18:13   ` Paolo Bonzini
@ 2016-06-27 20:39     ` Sascha Silbe
  2016-06-28  8:40       ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Sascha Silbe @ 2016-06-27 20:39 UTC (permalink / raw)
  To: Paolo Bonzini, Markus Armbruster, qemu-devel; +Cc: peter.maydell

Dear Paolo,

Paolo Bonzini <pbonzini@redhat.com> writes:

>> After applying your series on top of f12103af and running "./configure"
>> in a clean working directory, I get the following errors for "make
>> check-source":
>> 
>> $ make check-source
>> egrep: config-host.h: No such file or directory
>> egrep: qmp-commands.h: No such file or directory
[...]
>>   GEN   aarch64-softmmu/config-devices.mak.tmp
>>   GEN   aarch64-softmmu/config-devices.mak
>> [...]
>>   GEN   tests/test-qmp-introspect.h
>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>
> Hi Sascha,
>
> these are all generated headers.  In general, "make check" must be run
> after "make", and I suppose the same holds for "make check-headers".

Still no dice. The egrep error messages don't occur when running "make
check-source" after a full "make" run, but the audio.o error still
happens:

$ make check-source
make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.

Sascha
-- 
Softwareentwicklung Sascha Silbe, Niederhofenstraße 5/1, 71229 Leonberg
https://se-silbe.de/
USt-IdNr. DE281696641

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-27 14:23       ` Eric Blake
@ 2016-06-28  8:09         ` Markus Armbruster
  0 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-28  8:09 UTC (permalink / raw)
  To: Eric Blake; +Cc: peter.maydell, qemu-devel, pbonzini

[-- Attachment #1: Type: text/plain, Size: 418 bytes --]

Eric Blake <eblake@redhat.com> writes:

> On 06/27/2016 02:50 AM, Markus Armbruster wrote:
>
>> With an ugly Perl script, of course %-/
>> 
>
>> I'm afraid my script and its usage is too brittle to be of much use
>> later on.  I attach it anyway.
>
> A zero byte file map-include-to-header.pl~.  Infinite compression :)

Looks like my fingers were even more reluctant to show off their ugly
work than my brain was...


[-- Attachment #2: map-include-to-header.pl --]
[-- Type: text/plain, Size: 1459 bytes --]

#!/usr/bin/perl -w

use strict;

my %ihdr = ();
my %idir = ();
my @sall = ();
my @sinc = ();

open(my $fh, "-|", "git grep '^[ \t]*#[ \t]*include[ \t]'")
    or die "can't run git grep: $!";
while (<$fh>) {
    m,^([^:/]*)/?[^:/]*:[ \t]*#[ \t]*include[ \t]*(["<])([^">]*),;
    my $dir = $1 // ".";
    my $delim = $2;
    my $h = $3;
    $ihdr{$h} |= 1 << ($delim eq "<");
    if (exists $idir{$h}) {
	my $aref = $idir{$h};
	push @$aref, $dir unless grep($_ eq $dir, @$aref);
    } else {
	$idir{$h} = [$dir];
    }
}
close ($fh);

open($fh, "-|", "git ls-tree -r --name-only HEAD")
    or die "can't run git ls-tree: $!";
while (<$fh>) {
    chomp;
    push @sall, $_;
}
close ($fh);

@sinc = grep(/^include\//, @sall);

sub pr {
    my ($h, $fn, $src) = @_;

    print "$h -> $fn";
    if ($ihdr{$h} == 3) {
	print " (included inconsistently)";
    } elsif ($src) {
	print " (included with <>)" if ($ihdr{$h} != 1);
    } else {
	print " (included with \"\")" if ($ihdr{$h} != 2);
    }
    print "\n";
}

for my $h (keys %ihdr) {
    $h =~ m,^(\.\./)*(include/)?(.*), or die;
    my $hh = $3;
    my @fn = grep(/^include\/\Q$hh\E$/, @sinc);
    if (@fn) {
	pr($h, $fn[0], 1);
	next;
    }
    @fn = grep(/^\Q$hh\E$/, @sall);
    if (@fn) {
	pr($h, $fn[0], 1);
	next;
    }
    for my $dir (@{$idir{$h}}) {
	next if $dir eq ".";
	@fn = grep(/^\Q$dir\/$hh\E$/, @sall);
	if (@fn) {
	    pr($h, $fn[0], 1);
	} else {
	    pr($h, "? (in $dir)", 0);
	}
    }
}

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers
  2016-06-27 10:07       ` Peter Maydell
@ 2016-06-28  8:17         ` Markus Armbruster
  0 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-06-28  8:17 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

Peter Maydell <peter.maydell@linaro.org> writes:

> On 27 June 2016 at 09:50, Markus Armbruster <armbru@redhat.com> wrote:
>> To spice up things, we
>> also name a few of our headers just like system headers we use
>> elsewhere, e.g. "util.h" in net/ vs. <util.h> in util/qemu-openpty.c.
>
> That would be nice to fix at some point I think, it's pretty brittle.
> (We had one issue recently that boiled down to system header vs local
> header confusion, though I forget the details.)

Fixing collisions we're aware of is easy enough, just rename our header.
Finding collisions is more interesting.  Perhaps I can cook up something
for make check-source.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-27 10:02       ` Peter Maydell
@ 2016-06-28  8:19         ` Markus Armbruster
  2016-06-28  8:33           ` Peter Maydell
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-28  8:19 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

Peter Maydell <peter.maydell@linaro.org> writes:

> On 27 June 2016 at 07:34, Markus Armbruster <armbru@redhat.com> wrote:
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>> This is third-party code. We're not going to change it, so
>>> we should avoid scanning it rather than adding tags which
>>> will get lost next time we do an update to a new upstream
>>> version...
>>
>> I can revive v1's blacklist for this directory.  Any others?
>
> The clean-includes blacklist is
> XDIRREGEX='^(tests/tcg|tests/multiboot|pc-bios|disas/libvixl)'
>
> (which covers both 3rd-party imports and code which is intended to
> be built standalone and so doesn't follow QEMU's include
> rules.)

Noted.

What about linux-headers/ and include/standard-headers/?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source
  2016-06-28  8:19         ` Markus Armbruster
@ 2016-06-28  8:33           ` Peter Maydell
  0 siblings, 0 replies; 33+ messages in thread
From: Peter Maydell @ 2016-06-28  8:33 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Paolo Bonzini, QEMU Developers

On 28 June 2016 at 09:19, Markus Armbruster <armbru@redhat.com> wrote:
> Peter Maydell <peter.maydell@linaro.org> writes:
>
>> On 27 June 2016 at 07:34, Markus Armbruster <armbru@redhat.com> wrote:
>>> Peter Maydell <peter.maydell@linaro.org> writes:
>>>> This is third-party code. We're not going to change it, so
>>>> we should avoid scanning it rather than adding tags which
>>>> will get lost next time we do an update to a new upstream
>>>> version...
>>>
>>> I can revive v1's blacklist for this directory.  Any others?
>>
>> The clean-includes blacklist is
>> XDIRREGEX='^(tests/tcg|tests/multiboot|pc-bios|disas/libvixl)'
>>
>> (which covers both 3rd-party imports and code which is intended to
>> be built standalone and so doesn't follow QEMU's include
>> rules.)
>
> Noted.
>
> What about linux-headers/ and include/standard-headers/?

Mmm, clean-includes skips include/standard-headers (as a case
in the switch statement, not via the blacklist regex). It
doesn't skip linux-headers, though arguably it should. I think
it just never complained about anything in linux-headers so
I didn't identify it as something that needed to be skipped :-)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-27 20:39     ` Sascha Silbe
@ 2016-06-28  8:40       ` Markus Armbruster
  2016-06-29 23:54         ` John Snow
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-28  8:40 UTC (permalink / raw)
  To: Sascha Silbe; +Cc: Paolo Bonzini, qemu-devel, peter.maydell

Sascha Silbe <silbe@linux.vnet.ibm.com> writes:

> Dear Paolo,
>
> Paolo Bonzini <pbonzini@redhat.com> writes:
>
>>> After applying your series on top of f12103af and running "./configure"
>>> in a clean working directory, I get the following errors for "make
>>> check-source":
>>> 
>>> $ make check-source
>>> egrep: config-host.h: No such file or directory
>>> egrep: qmp-commands.h: No such file or directory
> [...]
>>>   GEN   aarch64-softmmu/config-devices.mak.tmp
>>>   GEN   aarch64-softmmu/config-devices.mak
>>> [...]
>>>   GEN   tests/test-qmp-introspect.h
>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>>
>> Hi Sascha,
>>
>> these are all generated headers.  In general, "make check" must be run
>> after "make", and I suppose the same holds for "make check-headers".
>
> Still no dice. The egrep error messages don't occur when running "make
> check-source" after a full "make" run, but the audio.o error still
> happens:
>
> $ make check-source
> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.

Works fine in my build tree, fails in a fresh clone, can't yet say why.
Thanks for reporting!

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-28  8:40       ` Markus Armbruster
@ 2016-06-29 23:54         ` John Snow
  2016-06-30  6:30           ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: John Snow @ 2016-06-29 23:54 UTC (permalink / raw)
  To: Markus Armbruster, Sascha Silbe; +Cc: Paolo Bonzini, qemu-devel, peter.maydell



On 06/28/2016 04:40 AM, Markus Armbruster wrote:
> Sascha Silbe <silbe@linux.vnet.ibm.com> writes:
> 
>> Dear Paolo,
>>
>> Paolo Bonzini <pbonzini@redhat.com> writes:
>>
>>>> After applying your series on top of f12103af and running "./configure"
>>>> in a clean working directory, I get the following errors for "make
>>>> check-source":
>>>>
>>>> $ make check-source
>>>> egrep: config-host.h: No such file or directory
>>>> egrep: qmp-commands.h: No such file or directory
>> [...]
>>>>   GEN   aarch64-softmmu/config-devices.mak.tmp
>>>>   GEN   aarch64-softmmu/config-devices.mak
>>>> [...]
>>>>   GEN   tests/test-qmp-introspect.h
>>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>>>
>>> Hi Sascha,
>>>
>>> these are all generated headers.  In general, "make check" must be run
>>> after "make", and I suppose the same holds for "make check-headers".
>>
>> Still no dice. The egrep error messages don't occur when running "make
>> check-source" after a full "make" run, but the audio.o error still
>> happens:
>>
>> $ make check-source
>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
> 
> Works fine in my build tree, fails in a fresh clone, can't yet say why.
> Thanks for reporting!
> 

I tried to manually exclude audio/audio.h, but it goes on to barf on the
next header in audio/. Not sure why your formula doesn't like that
directory for us.

(I *hate* Makefiles ...)

--js

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-29 23:54         ` John Snow
@ 2016-06-30  6:30           ` Markus Armbruster
  2016-06-30 16:19             ` John Snow
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-30  6:30 UTC (permalink / raw)
  To: John Snow; +Cc: Sascha Silbe, Paolo Bonzini, qemu-devel, peter.maydell

John Snow <jsnow@redhat.com> writes:

> On 06/28/2016 04:40 AM, Markus Armbruster wrote:
>> Sascha Silbe <silbe@linux.vnet.ibm.com> writes:
>> 
>>> Dear Paolo,
>>>
>>> Paolo Bonzini <pbonzini@redhat.com> writes:
>>>
>>>>> After applying your series on top of f12103af and running "./configure"
>>>>> in a clean working directory, I get the following errors for "make
>>>>> check-source":
>>>>>
>>>>> $ make check-source
>>>>> egrep: config-host.h: No such file or directory
>>>>> egrep: qmp-commands.h: No such file or directory
>>> [...]
>>>>>   GEN   aarch64-softmmu/config-devices.mak.tmp
>>>>>   GEN   aarch64-softmmu/config-devices.mak
>>>>> [...]
>>>>>   GEN   tests/test-qmp-introspect.h
>>>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>>>>
>>>> Hi Sascha,
>>>>
>>>> these are all generated headers.  In general, "make check" must be run
>>>> after "make", and I suppose the same holds for "make check-headers".
>>>
>>> Still no dice. The egrep error messages don't occur when running "make
>>> check-source" after a full "make" run, but the audio.o error still
>>> happens:
>>>
>>> $ make check-source
>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>> 
>> Works fine in my build tree, fails in a fresh clone, can't yet say why.
>> Thanks for reporting!
>> 
>
> I tried to manually exclude audio/audio.h, but it goes on to barf on the
> next header in audio/. Not sure why your formula doesn't like that
> directory for us.

"make -d tests/headers/audio/audio.c" immediately pinpoints the cause:

    [Lots of output about remaking makefiles...]
    Updating goal targets....
    Considering target file 'tests/headers/audio/audio.c'.
     File 'tests/headers/audio/audio.c' does not exist.
     Looking for an implicit rule for 'tests/headers/audio/audio.c'.
     Trying pattern rule with stem 'audio/audio'.
     Trying rule prerequisite 'tests/header-test-template.c'.
     Trying pattern rule with stem 'audio/audio'.
     Trying rule prerequisite 'tests/header-test-template.c'.
     Looking for a rule with intermediate file 'tests/header-test-template.c'.
      Avoiding implicit rule recursion.
     No implicit rule found for 'tests/headers/audio/audio.c'.
     Finished prerequisites of target file 'tests/headers/audio/audio.c'.
    Must remake target 'tests/headers/audio/audio.c'.
    make: *** No rule to make target 'tests/headers/audio/audio.c'.  Stop.

I forgot to commit tests/header-test-template.c.  Fixup posted.

> (I *hate* Makefiles ...)

Possibly for the wrong reasons ;-)

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source Markus Armbruster
  2016-06-24 14:23   ` Peter Maydell
@ 2016-06-30  6:30   ` Markus Armbruster
  2016-06-30 10:58     ` Sascha Silbe
  1 sibling, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-30  6:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, pbonzini

---
 tests/header-test-template.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 tests/header-test-template.c

diff --git a/tests/header-test-template.c b/tests/header-test-template.c
new file mode 100644
index 0000000..b6f86f4
--- /dev/null
+++ b/tests/header-test-template.c
@@ -0,0 +1,16 @@
+/*
+ * Template for make check-headers
+ *
+ * Copyright (C) 2016 Red Hat, Inc.
+ *
+ * Authors:
+ *  Markus Armbruster <armbru@redhat.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or
+ * later.  See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "@header@"
+/* Include a second time to catch missing header guard */
+#include "@header@"
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-06-30  6:30   ` [Qemu-devel] [PATCH RFC] fixup! " Markus Armbruster
@ 2016-06-30 10:58     ` Sascha Silbe
  2016-06-30 12:14       ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Sascha Silbe @ 2016-06-30 10:58 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: peter.maydell, pbonzini

Dear Markus,

Markus Armbruster <armbru@redhat.com> writes:

> ---
>  tests/header-test-template.c | 16 ++++++++++++++++
[...]

Thanks, that helped, I get a bit further now.

Is "make header-check" supposed to work on a host that doesn't have all
optional dependencies installed? It fails for me because some OpenGL
related header is missing. configure correctly detected that and didn't
enable OpenGL support:

$ make check-headers
  CC    tests/headers/include/ui/shader.o
In file included from tests/headers/include/ui/shader.c:14:0:
./include/ui/shader.h:6:22: fatal error: epoxy/gl.h: No such file or directory
 #include <epoxy/gl.h>
                      ^
compilation terminated.
make: *** [tests/headers/include/ui/shader.o] Error 1
rm tests/headers/include/ui/shader.c
$ grep OPENGL config-host.*


Sascha
-- 
Softwareentwicklung Sascha Silbe, Niederhofenstraße 5/1, 71229 Leonberg
https://se-silbe.de/
USt-IdNr. DE281696641

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-06-30 10:58     ` Sascha Silbe
@ 2016-06-30 12:14       ` Markus Armbruster
  2016-07-01 13:52         ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-06-30 12:14 UTC (permalink / raw)
  To: Sascha Silbe; +Cc: qemu-devel, peter.maydell, pbonzini

Sascha Silbe <silbe@linux.vnet.ibm.com> writes:

> Dear Markus,
>
> Markus Armbruster <armbru@redhat.com> writes:
>
>> ---
>>  tests/header-test-template.c | 16 ++++++++++++++++
> [...]
>
> Thanks, that helped, I get a bit further now.
>
> Is "make header-check" supposed to work on a host that doesn't have all
> optional dependencies installed? It fails for me because some OpenGL
> related header is missing. configure correctly detected that and didn't
> enable OpenGL support:
>
> $ make check-headers
>   CC    tests/headers/include/ui/shader.o
> In file included from tests/headers/include/ui/shader.c:14:0:
> ./include/ui/shader.h:6:22: fatal error: epoxy/gl.h: No such file or directory
>  #include <epoxy/gl.h>
>                       ^
> compilation terminated.
> make: *** [tests/headers/include/ui/shader.o] Error 1
> rm tests/headers/include/ui/shader.c
> $ grep OPENGL config-host.*

Hmm, this demonstrates some of our headers may only be included when
certain CONFIG_* are defined.

Actually, I ran into a related case myself: headers that don't compile
with CONFIG_WIN32.

We can either add suitable ifdeffery to make our headers work always, or
mark headers so the test skips them when their requirements aren't met,
similarly to how this patch skips certain headers when CONFIG_WIN32 is
defined.

Regardless, we need to find the problemtatic headers.  Perhaps you can
find a few more with "make -k check-source".

Thanks!

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers
  2016-06-30  6:30           ` Markus Armbruster
@ 2016-06-30 16:19             ` John Snow
  0 siblings, 0 replies; 33+ messages in thread
From: John Snow @ 2016-06-30 16:19 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Sascha Silbe, Paolo Bonzini, qemu-devel, peter.maydell



On 06/30/2016 02:30 AM, Markus Armbruster wrote:
> John Snow <jsnow@redhat.com> writes:
> 
>> On 06/28/2016 04:40 AM, Markus Armbruster wrote:
>>> Sascha Silbe <silbe@linux.vnet.ibm.com> writes:
>>>
>>>> Dear Paolo,
>>>>
>>>> Paolo Bonzini <pbonzini@redhat.com> writes:
>>>>
>>>>>> After applying your series on top of f12103af and running "./configure"
>>>>>> in a clean working directory, I get the following errors for "make
>>>>>> check-source":
>>>>>>
>>>>>> $ make check-source
>>>>>> egrep: config-host.h: No such file or directory
>>>>>> egrep: qmp-commands.h: No such file or directory
>>>> [...]
>>>>>>   GEN   aarch64-softmmu/config-devices.mak.tmp
>>>>>>   GEN   aarch64-softmmu/config-devices.mak
>>>>>> [...]
>>>>>>   GEN   tests/test-qmp-introspect.h
>>>>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>>>>>
>>>>> Hi Sascha,
>>>>>
>>>>> these are all generated headers.  In general, "make check" must be run
>>>>> after "make", and I suppose the same holds for "make check-headers".
>>>>
>>>> Still no dice. The egrep error messages don't occur when running "make
>>>> check-source" after a full "make" run, but the audio.o error still
>>>> happens:
>>>>
>>>> $ make check-source
>>>> make: *** No rule to make target `tests/headers/audio/audio.o', needed by `check-headers'. Stop.
>>>
>>> Works fine in my build tree, fails in a fresh clone, can't yet say why.
>>> Thanks for reporting!
>>>
>>
>> I tried to manually exclude audio/audio.h, but it goes on to barf on the
>> next header in audio/. Not sure why your formula doesn't like that
>> directory for us.
> 
> "make -d tests/headers/audio/audio.c" immediately pinpoints the cause:
> 
>     [Lots of output about remaking makefiles...]
>     Updating goal targets....
>     Considering target file 'tests/headers/audio/audio.c'.
>      File 'tests/headers/audio/audio.c' does not exist.
>      Looking for an implicit rule for 'tests/headers/audio/audio.c'.
>      Trying pattern rule with stem 'audio/audio'.
>      Trying rule prerequisite 'tests/header-test-template.c'.
>      Trying pattern rule with stem 'audio/audio'.
>      Trying rule prerequisite 'tests/header-test-template.c'.
>      Looking for a rule with intermediate file 'tests/header-test-template.c'.
>       Avoiding implicit rule recursion.
>      No implicit rule found for 'tests/headers/audio/audio.c'.
>      Finished prerequisites of target file 'tests/headers/audio/audio.c'.
>     Must remake target 'tests/headers/audio/audio.c'.
>     make: *** No rule to make target 'tests/headers/audio/audio.c'.  Stop.
> 
> I forgot to commit tests/header-test-template.c.  Fixup posted.
> 
>> (I *hate* Makefiles ...)
> 
> Possibly for the wrong reasons ;-)
> 

My reason is:

"Thus, programs must be written for people to read, and only
incidentally for machines to execute."

Makefiles appear to be trying their hardest to do the opposite.

Thanks for the fixup!

--js

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-06-30 12:14       ` Markus Armbruster
@ 2016-07-01 13:52         ` Markus Armbruster
  2016-07-04 11:16           ` Sascha Silbe
  0 siblings, 1 reply; 33+ messages in thread
From: Markus Armbruster @ 2016-07-01 13:52 UTC (permalink / raw)
  To: Sascha Silbe; +Cc: qemu-devel, peter.maydell, pbonzini

Markus Armbruster <armbru@redhat.com> writes:

> Sascha Silbe <silbe@linux.vnet.ibm.com> writes:
>
>> Dear Markus,
>>
>> Markus Armbruster <armbru@redhat.com> writes:
>>
>>> ---
>>>  tests/header-test-template.c | 16 ++++++++++++++++
>> [...]
>>
>> Thanks, that helped, I get a bit further now.
>>
>> Is "make header-check" supposed to work on a host that doesn't have all
>> optional dependencies installed? It fails for me because some OpenGL
>> related header is missing. configure correctly detected that and didn't
>> enable OpenGL support:
>>
>> $ make check-headers
>>   CC    tests/headers/include/ui/shader.o
>> In file included from tests/headers/include/ui/shader.c:14:0:
>> ./include/ui/shader.h:6:22: fatal error: epoxy/gl.h: No such file or directory
>>  #include <epoxy/gl.h>
>>                       ^
>> compilation terminated.
>> make: *** [tests/headers/include/ui/shader.o] Error 1
>> rm tests/headers/include/ui/shader.c
>> $ grep OPENGL config-host.*
>
> Hmm, this demonstrates some of our headers may only be included when
> certain CONFIG_* are defined.
>
> Actually, I ran into a related case myself: headers that don't compile
> with CONFIG_WIN32.
>
> We can either add suitable ifdeffery to make our headers work always, or
> mark headers so the test skips them when their requirements aren't met,
> similarly to how this patch skips certain headers when CONFIG_WIN32 is
> defined.
>
> Regardless, we need to find the problemtatic headers.  Perhaps you can
> find a few more with "make -k check-source".

I think I tracked them down.  Not too bad, just a dozen or so.  Now I
have to make up my mind whether I prefer to document their configuration
requirements with comments or with ifdefs.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-07-01 13:52         ` Markus Armbruster
@ 2016-07-04 11:16           ` Sascha Silbe
  2016-07-06 13:46             ` Markus Armbruster
  0 siblings, 1 reply; 33+ messages in thread
From: Sascha Silbe @ 2016-07-04 11:16 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: peter.maydell, qemu-devel, pbonzini

Dear Markus,

Markus Armbruster <armbru@redhat.com> writes:

> Markus Armbruster <armbru@redhat.com> writes:
>
>> Hmm, this demonstrates some of our headers may only be included when
>> certain CONFIG_* are defined.
[...]
>> Regardless, we need to find the problemtatic headers.  Perhaps you can
>> find a few more with "make -k check-source".
>
> I think I tracked them down.  Not too bad, just a dozen or so.  Now I
> have to make up my mind whether I prefer to document their configuration
> requirements with comments or with ifdefs.

FWIW, I'd prefer a solution that allows successfully running "make
check-source" even on hosts where not all optional dependencies are
installed. It would be useful as a sanity check before sending
patches. If "make check-source" doesn't work on the developers primary
machine because they cannot install all the latest experimental
dependencies, fewer submitters will use it.

Sascha
-- 
Softwareentwicklung Sascha Silbe, Niederhofenstraße 5/1, 71229 Leonberg
https://se-silbe.de/
USt-IdNr. DE281696641

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Qemu-devel] [PATCH RFC] fixup! tests: New make target check-source
  2016-07-04 11:16           ` Sascha Silbe
@ 2016-07-06 13:46             ` Markus Armbruster
  0 siblings, 0 replies; 33+ messages in thread
From: Markus Armbruster @ 2016-07-06 13:46 UTC (permalink / raw)
  To: Sascha Silbe; +Cc: peter.maydell, qemu-devel, pbonzini

Sascha Silbe <silbe@linux.vnet.ibm.com> writes:

> Dear Markus,
>
> Markus Armbruster <armbru@redhat.com> writes:
>
>> Markus Armbruster <armbru@redhat.com> writes:
>>
>>> Hmm, this demonstrates some of our headers may only be included when
>>> certain CONFIG_* are defined.
> [...]
>>> Regardless, we need to find the problemtatic headers.  Perhaps you can
>>> find a few more with "make -k check-source".
>>
>> I think I tracked them down.  Not too bad, just a dozen or so.  Now I
>> have to make up my mind whether I prefer to document their configuration
>> requirements with comments or with ifdefs.
>
> FWIW, I'd prefer a solution that allows successfully running "make
> check-source" even on hosts where not all optional dependencies are
> installed. It would be useful as a sanity check before sending
> patches. If "make check-source" doesn't work on the developers primary
> machine because they cannot install all the latest experimental
> dependencies, fewer submitters will use it.

Agree.

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2016-07-06 13:46 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 14:19 [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Markus Armbruster
2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 1/5] Use #include "..." exactly for our own headers Markus Armbruster
2016-06-24 14:54   ` Eric Blake
2016-06-27  6:34     ` Markus Armbruster
2016-06-27  8:50     ` Markus Armbruster
2016-06-27 10:07       ` Peter Maydell
2016-06-28  8:17         ` Markus Armbruster
2016-06-27 14:23       ` Eric Blake
2016-06-28  8:09         ` Markus Armbruster
2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 2/5] tests: New make target check-source Markus Armbruster
2016-06-24 14:23   ` Peter Maydell
2016-06-27  6:34     ` Markus Armbruster
2016-06-27 10:02       ` Peter Maydell
2016-06-28  8:19         ` Markus Armbruster
2016-06-28  8:33           ` Peter Maydell
2016-06-30  6:30   ` [Qemu-devel] [PATCH RFC] fixup! " Markus Armbruster
2016-06-30 10:58     ` Sascha Silbe
2016-06-30 12:14       ` Markus Armbruster
2016-07-01 13:52         ` Markus Armbruster
2016-07-04 11:16           ` Sascha Silbe
2016-07-06 13:46             ` Markus Armbruster
2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 3/5] tests: Make check-block a phony target Markus Armbruster
2016-06-24 15:17   ` Eric Blake
2016-06-27  6:35     ` Markus Armbruster
2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 4/5] include: Move typedef qemu_irq to qemu/typedefs.h Markus Armbruster
2016-06-24 14:19 ` [Qemu-devel] [PATCH RFC v2 5/5] include: Include exec/hwaddr.h where hwaddr is used Markus Armbruster
2016-06-27 17:27 ` [Qemu-devel] [PATCH RFC v2 0/5] Baby steps towards saner headers Sascha Silbe
2016-06-27 18:13   ` Paolo Bonzini
2016-06-27 20:39     ` Sascha Silbe
2016-06-28  8:40       ` Markus Armbruster
2016-06-29 23:54         ` John Snow
2016-06-30  6:30           ` Markus Armbruster
2016-06-30 16:19             ` John Snow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.