[Qemu-devel] [PATCH RFC v5 0/3] Baby steps towards saner headers

Markus Armbruster posted 3 patches 13 weeks ago
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-clang@ubuntu passed
Test s390x passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190711122827.18970-1-armbru@redhat.com
Maintainers: Gonglei <arei.gonglei@huawei.com>, Stefano Stabellini <sstabellini@kernel.org>, Artyom Tarasenko <atar4qemu@gmail.com>, "Hervé Poussineau" <hpoussin@reactos.org>, Joel Stanley <joel@jms.id.au>, Andrzej Zaborowski <balrogg@gmail.com>, Jean-Christophe Dubois <jcd@tribudubois.net>, Fabien Chouteau <chouteau@adacore.com>, Eduardo Habkost <ehabkost@redhat.com>, Ben Warren <ben@skyportsystems.com>, David Gibson <david@gibson.dropbear.id.au>, Paul Durrant <paul.durrant@citrix.com>, "Michael S. Tsirkin" <mst@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Igor Mammedov <imammedo@redhat.com>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Michael Walle <michael@walle.cc>, Tony Krowiak <akrowiak@linux.ibm.com>, Andrew Baumann <Andrew.Baumann@microsoft.com>, Subbaraya Sundeep <sundeep.lkml@gmail.com>, Andrey Smirnov <andrew.smirnov@gmail.com>, Cornelia Huck <cohuck@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Antony Pavlov <antonynpavlov@gmail.com>, Xiao Guangrong <xiaoguangrong.eric@gmail.com>, Beniamino Galvani <b.galvani@gmail.com>, Pierre Morel <pmorel@linux.ibm.com>, Jason Wang <jasowang@redhat.com>, Richard Henderson <rth@twiddle.net>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Kevin Wolf <kwolf@redhat.com>, "Cédric Le Goater" <clg@kaod.org>, Aleksandar Markovic <amarkovic@wavecomp.com>, Stefan Weil <sw@weilnetz.de>, Anthony Perard <anthony.perard@citrix.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Farhan Ali <alifm@linux.ibm.com>, Laszlo Ersek <lersek@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Max Reitz <mreitz@redhat.com>, Palmer Dabbelt <palmer@sifive.com>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Aleksandar Rikalo <arikalo@wavecomp.com>, Alistair Francis <alistair@alistair23.me>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Peter Xu <peterx@redhat.com>, Corey Minyard <cminyard@mvista.com>, Paul Burton <pburton@wavecomp.com>, Thomas Huth <thuth@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Fam Zheng <fam@euphon.net>, John Snow <jsnow@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, KONRAD Frederic <frederic.konrad@adacore.com>, Amit Shah <amit@kernel.org>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Andrew Jeffery <andrew@aj.id.au>, Aurelien Jarno <aurelien@aurel32.net>, Eric Farman <farman@linux.ibm.com>, Juan Quintela <quintela@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Eric Auger <eric.auger@redhat.com>, Peter Chubb <peter.chubb@nicta.com.au>
Makefile                                  |   4 +-
Makefile.target                           |  20 ++++
include/block/raw-aio.h                   |   2 +
include/block/write-threshold.h           |   2 +
include/chardev/char-win.h                |   3 +
include/chardev/spice.h                   |   2 +
include/disas/disas.h                     |   1 +
include/exec/cpu-all.h                    |   4 +
include/exec/cpu-defs.h                   |   3 +
include/exec/cpu_ldst.h                   |   4 +
include/exec/cpu_ldst_template.h          |   3 +
include/exec/cpu_ldst_useronly_template.h |   3 +
include/exec/cputlb.h                     |   3 +
include/exec/exec-all.h                   |   3 +
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                     |   4 +
include/exec/memory-internal.h            |   4 +
include/exec/memory_ldst.inc.h            |   2 +
include/exec/memory_ldst_cached.inc.h     |   2 +
include/exec/memory_ldst_phys.inc.h       |   2 +
include/exec/ram_addr.h                   |   3 +
include/exec/softmmu-semi.h               |   4 +
include/exec/tb-hash.h                    |   4 +
include/exec/tb-lookup.h                  |   3 +
include/exec/translator.h                 |   2 +
include/exec/user/abitypes.h              |   2 +
include/exec/user/thunk.h                 |   4 +
include/fpu/softfloat-macros.h            |   4 +
include/fpu/softfloat.h                   |   2 +
include/hw/acpi/acpi.h                    |   2 +
include/hw/acpi/acpi_dev_interface.h      |   2 +
include/hw/acpi/cpu.h                     |   3 +
include/hw/acpi/cpu_hotplug.h             |   2 +
include/hw/acpi/ich9.h                    |   2 +
include/hw/acpi/memory_hotplug.h          |   2 +
include/hw/acpi/pci.h                     |   3 +
include/hw/acpi/pcihp.h                   |   2 +
include/hw/acpi/tco.h                     |   5 +
include/hw/acpi/utils.h                   |   2 +
include/hw/acpi/vmgenid.h                 |   2 +
include/hw/adc/stm32f2xx_adc.h            |   4 +
include/hw/arm/allwinner-a10.h            |   5 +
include/hw/arm/armsse.h                   |   4 +
include/hw/arm/armv7m.h                   |   4 +
include/hw/arm/aspeed.h                   |   3 +
include/hw/arm/aspeed_soc.h               |   5 +
include/hw/arm/bcm2835_peripherals.h      |   2 +
include/hw/arm/bcm2836.h                  |   5 +
include/hw/arm/digic.h                    |   4 +
include/hw/arm/exynos4210.h               |   5 +-
include/hw/arm/fsl-imx25.h                |   5 +
include/hw/arm/fsl-imx31.h                |   5 +
include/hw/arm/fsl-imx6.h                 |   4 +
include/hw/arm/fsl-imx6ul.h               |   4 +
include/hw/arm/fsl-imx7.h                 |   4 +
include/hw/arm/msf2-soc.h                 |   4 +
include/hw/arm/nrf51_soc.h                |   4 +
include/hw/arm/omap.h                     |   2 +
include/hw/arm/pxa.h                      |   2 +
include/hw/arm/sharpsl.h                  |   3 +
include/hw/arm/smmu-common.h              |   3 +-
include/hw/arm/smmuv3.h                   |   2 +
include/hw/arm/soc_dma.h                  |   2 +
include/hw/arm/stm32f205_soc.h            |   4 +
include/hw/arm/virt.h                     |   2 +
include/hw/arm/xlnx-versal.h              |   2 +
include/hw/arm/xlnx-zynqmp.h              |   5 +
include/hw/audio/pcspk.h                  |   2 +
include/hw/audio/wm8750.h                 |   3 +
include/hw/block/fdc.h                    |   2 +
include/hw/block/flash.h                  |   3 +
include/hw/boards.h                       |   2 +
include/hw/char/bcm2835_aux.h             |   2 +
include/hw/char/cadence_uart.h            |   2 +
include/hw/char/cmsdk-apb-uart.h          |   2 +
include/hw/char/digic-uart.h              |   3 +-
include/hw/char/escc.h                    |   3 +
include/hw/char/imx_serial.h              |   2 +
include/hw/char/lm32_juart.h              |   2 +
include/hw/char/nrf51_uart.h              |   2 +
include/hw/char/parallel.h                |   2 +
include/hw/char/pl011.h                   |   2 +
include/hw/char/serial.h                  |   2 +
include/hw/char/stm32f2xx_usart.h         |   2 +
include/hw/char/xilinx_uartlite.h         |   4 +
include/hw/core/generic-loader.h          |   1 +
include/hw/core/split-irq.h               |   3 +
include/hw/cpu/a15mpcore.h                |   3 +
include/hw/cpu/a9mpcore.h                 |   3 +
include/hw/cpu/arm11mpcore.h              |   2 +
include/hw/cpu/cluster.h                  |   3 +
include/hw/cpu/core.h                     |   3 +
include/hw/cris/etraxfs.h                 |   3 +
include/hw/cris/etraxfs_dma.h             |   3 +
include/hw/display/bcm2835_fb.h           |   2 +
include/hw/display/edid.h                 |   2 +
include/hw/display/i2c-ddc.h              |   3 +
include/hw/display/milkymist_tmu2.h       |   3 +-
include/hw/display/vga.h                  |   3 +
include/hw/display/xlnx_dp.h              |   2 +
include/hw/dma/bcm2835_dma.h              |   2 +
include/hw/dma/i8257.h                    |   2 +
include/hw/dma/pl080.h                    |   2 +
include/hw/dma/xlnx-zdma.h                |   2 +
include/hw/dma/xlnx-zynq-devcfg.h         |   2 +
include/hw/dma/xlnx_dpdma.h               |   2 +
include/hw/elf_ops.h                      |   2 +
include/hw/empty_slot.h                   |   2 +
include/hw/gpio/bcm2835_gpio.h            |   3 +
include/hw/gpio/imx_gpio.h                |   2 +
include/hw/gpio/nrf51_gpio.h              |   4 +-
include/hw/hw.h                           |   2 +
include/hw/hyperv/hyperv.h                |   2 +
include/hw/i2c/aspeed_i2c.h               |   4 +
include/hw/i2c/bitbang_i2c.h              |   2 +
include/hw/i2c/i2c.h                      |   2 +
include/hw/i2c/imx_i2c.h                  |   3 +-
include/hw/i2c/microbit_i2c.h             |   2 +
include/hw/i2c/pm_smbus.h                 |   2 +
include/hw/i2c/ppc4xx_i2c.h               |   2 +
include/hw/i2c/smbus_eeprom.h             |   2 +
include/hw/i2c/smbus_master.h             |   2 +
include/hw/i2c/smbus_slave.h              |   2 +
include/hw/i386/apic_internal.h           |   5 +
include/hw/i386/ich9.h                    |   2 +
include/hw/i386/intel_iommu.h             |   2 +
include/hw/i386/ioapic_internal.h         |   3 +
include/hw/i386/pc.h                      |   2 +
include/hw/i386/x86-iommu.h               |   2 +
include/hw/ide.h                          |   2 +
include/hw/ide/ahci.h                     |   3 +-
include/hw/ide/internal.h                 |   2 +
include/hw/ide/pci.h                      |   2 +
include/hw/input/adb.h                    |   2 +
include/hw/input/i8042.h                  |   3 +
include/hw/input/tsc2xxx.h                |   2 +
include/hw/intc/allwinner-a10-pic.h       |   4 +
include/hw/intc/arm_gic.h                 |   2 +
include/hw/intc/arm_gic_common.h          |   2 +
include/hw/intc/arm_gicv3.h               |   2 +
include/hw/intc/arm_gicv3_common.h        |   2 +
include/hw/intc/arm_gicv3_its_common.h    |   2 +
include/hw/intc/armv7m_nvic.h             |   4 +
include/hw/intc/aspeed_vic.h              |   3 +
include/hw/intc/bcm2835_ic.h              |   2 +
include/hw/intc/bcm2836_control.h         |   2 +
include/hw/intc/heathrow_pic.h            |   4 +
include/hw/intc/imx_avic.h                |   3 +
include/hw/intc/imx_gpcv2.h               |   2 +
include/hw/intc/mips_gic.h                |   5 +
include/hw/intc/realview_gic.h            |   2 +
include/hw/intc/xlnx-pmu-iomod-intc.h     |   2 +
include/hw/intc/xlnx-zynqmp-ipi.h         |   2 +
include/hw/ipack/ipack.h                  |   2 +
include/hw/ipmi/ipmi.h                    |   2 +
include/hw/isa/apm.h                      |   2 +
include/hw/isa/i8259_internal.h           |   2 +
include/hw/isa/isa.h                      |   2 +
include/hw/isa/pc87312.h                  |   3 +
include/hw/isa/superio.h                  |   3 +
include/hw/isa/vt82c686.h                 |   2 +
include/hw/kvm/clock.h                    |   2 +
include/hw/loader.h                       |   2 +
include/hw/mem/memory-device.h            |   2 +
include/hw/mem/nvdimm.h                   |   2 +
include/hw/mem/pc-dimm.h                  |   3 +-
include/hw/mips/bios.h                    |   2 +
include/hw/mips/cps.h                     |   5 +
include/hw/mips/cpudevs.h                 |   2 +
include/hw/misc/a9scu.h                   |   3 +
include/hw/misc/arm11scu.h                |   2 +
include/hw/misc/armsse-cpuid.h            |   2 +
include/hw/misc/armsse-mhu.h              |   2 +
include/hw/misc/aspeed_scu.h              |   3 +
include/hw/misc/aspeed_sdmc.h             |   3 +
include/hw/misc/aspeed_xdma.h             |   2 +
include/hw/misc/auxbus.h                  |   3 +-
include/hw/misc/bcm2835_mbox.h            |   2 +
include/hw/misc/bcm2835_property.h        |   2 +
include/hw/misc/bcm2835_rng.h             |   2 +
include/hw/misc/imx25_ccm.h               |   2 +
include/hw/misc/imx2_wdt.h                |   2 +
include/hw/misc/imx31_ccm.h               |   2 +
include/hw/misc/imx6_ccm.h                |   2 +
include/hw/misc/imx6_src.h                |   2 +
include/hw/misc/imx6ul_ccm.h              |   2 +
include/hw/misc/imx7_ccm.h                |   2 +
include/hw/misc/imx7_gpr.h                |   2 +
include/hw/misc/imx7_snvs.h               |   2 +
include/hw/misc/imx_ccm.h                 |   2 +
include/hw/misc/iotkit-secctl.h           |   2 +
include/hw/misc/iotkit-sysctl.h           |   2 +
include/hw/misc/iotkit-sysinfo.h          |   2 +
include/hw/misc/macio/cuda.h              |   4 +
include/hw/misc/macio/gpio.h              |   5 +
include/hw/misc/macio/macio.h             |   4 +
include/hw/misc/macio/pmu.h               |   5 +
include/hw/misc/mips_cmgcr.h              |   5 +-
include/hw/misc/mips_cpc.h                |   4 +
include/hw/misc/mips_itu.h                |   2 +
include/hw/misc/mos6522.h                 |   2 +
include/hw/misc/mps2-fpgaio.h             |   2 +
include/hw/misc/mps2-scc.h                |   2 +
include/hw/misc/msf2-sysreg.h             |   2 +
include/hw/misc/nrf51_rng.h               |   3 +-
include/hw/misc/pca9552.h                 |   3 +
include/hw/misc/pvpanic.h                 |   3 +
include/hw/misc/stm32f2xx_syscfg.h        |   2 +
include/hw/misc/tz-mpc.h                  |   2 +
include/hw/misc/tz-msc.h                  |   2 +
include/hw/misc/tz-ppc.h                  |   2 +
include/hw/misc/unimp.h                   |   2 +
include/hw/misc/vmcoreinfo.h              |   4 +-
include/hw/misc/zynq-xadc.h               |   2 +
include/hw/net/allwinner_emac.h           |   4 +-
include/hw/net/cadence_gem.h              |   2 +
include/hw/net/ftgmac100.h                |   2 +
include/hw/net/imx_fec.h                  |   2 +
include/hw/net/lance.h                    |   3 +
include/hw/net/ne2000-isa.h               |   2 +
include/hw/nvram/chrp_nvram.h             |   2 +
include/hw/nvram/fw_cfg.h                 |   2 +
include/hw/nvram/nrf51_nvm.h              |   4 +-
include/hw/or-irq.h                       |   2 +
include/hw/pci-bridge/simba.h             |   2 +
include/hw/pci-host/designware.h          |   2 +
include/hw/pci-host/gpex.h                |   2 +
include/hw/pci-host/pam.h                 |   2 +
include/hw/pci-host/q35.h                 |   2 +
include/hw/pci-host/sabre.h               |   4 +
include/hw/pci-host/spapr.h               |   3 +
include/hw/pci-host/uninorth.h            |   4 +-
include/hw/pci-host/xilinx-pcie.h         |   2 +
include/hw/pci/msi.h                      |   2 +
include/hw/pci/msix.h                     |   2 +
include/hw/pci/pci.h                      |   2 +
include/hw/pci/pci_bridge.h               |   3 +-
include/hw/pci/pci_bus.h                  |   2 +
include/hw/pci/pci_host.h                 |   2 +
include/hw/pci/pcie.h                     |   2 +
include/hw/pci/pcie_aer.h                 |   3 +
include/hw/pci/pcie_host.h                |   2 +
include/hw/pci/pcie_port.h                |   2 +
include/hw/pci/shpc.h                     |   2 +
include/hw/pcmcia.h                       |   2 +
include/hw/platform-bus.h                 |   2 +
include/hw/ppc/fdt.h                      |   2 +
include/hw/ppc/mac_dbdma.h                |   2 +
include/hw/ppc/openpic.h                  |   2 +
include/hw/ppc/pnv.h                      |   3 +
include/hw/ppc/pnv_core.h                 |   4 +
include/hw/ppc/pnv_lpc.h                  |   2 +
include/hw/ppc/pnv_occ.h                  |   2 +
include/hw/ppc/pnv_psi.h                  |   2 +
include/hw/ppc/pnv_xive.h                 |   2 +
include/hw/ppc/pnv_xscom.h                |   2 +
include/hw/ppc/ppc.h                      |   2 +
include/hw/ppc/ppc4xx.h                   |   7 ++
include/hw/ppc/spapr.h                    |   3 +
include/hw/ppc/spapr_cpu_core.h           |   4 +
include/hw/ppc/spapr_drc.h                |   2 +
include/hw/ppc/spapr_irq.h                |   5 +
include/hw/ppc/spapr_ovec.h               |   2 +
include/hw/ppc/spapr_vio.h                |  11 +-
include/hw/ppc/spapr_xive.h               |   5 +
include/hw/ppc/xics.h                     |   3 +-
include/hw/ppc/xics_spapr.h               |   3 +
include/hw/ppc/xive.h                     |   3 +-
include/hw/ppc/xive_regs.h                |   3 +
include/hw/qdev.h                         |   2 +
include/hw/register.h                     |   2 +
include/hw/riscv/boot.h                   |   4 +
include/hw/riscv/riscv_hart.h             |   6 ++
include/hw/riscv/riscv_htif.h             |   3 +
include/hw/riscv/sifive_clint.h           |   4 +
include/hw/riscv/sifive_e.h               |   4 +
include/hw/riscv/sifive_gpio.h            |   3 +
include/hw/riscv/sifive_plic.h            |   4 +-
include/hw/riscv/sifive_prci.h            |   4 +
include/hw/riscv/sifive_test.h            |   4 +
include/hw/riscv/sifive_u.h               |   4 +
include/hw/riscv/sifive_uart.h            |   5 +
include/hw/riscv/spike.h                  |   6 ++
include/hw/riscv/virt.h                   |   6 ++
include/hw/s390x/3270-ccw.h               |   3 +
include/hw/s390x/ap-device.h              |   3 +
include/hw/s390x/css-bridge.h             |   5 +-
include/hw/s390x/css.h                    |   4 +
include/hw/s390x/event-facility.h         |   3 +-
include/hw/s390x/s390-ccw.h               |   3 +
include/hw/s390x/s390-virtio-ccw.h        |   3 +
include/hw/s390x/s390_flic.h              |   2 +
include/hw/s390x/sclp.h                   |   3 +-
include/hw/s390x/storage-attributes.h     |   3 +
include/hw/s390x/storage-keys.h           |   2 +
include/hw/s390x/tod.h                    |   4 +-
include/hw/s390x/vfio-ccw.h               |   3 +
include/hw/scsi/esp.h                     |   2 +
include/hw/scsi/scsi.h                    |   2 +
include/hw/sd/bcm2835_sdhost.h            |   2 +
include/hw/sd/sd.h                        |   2 +
include/hw/sd/sdhci.h                     |   2 +
include/hw/semihosting/console.h          |   4 +
include/hw/sh4/sh.h                       |   2 +
include/hw/sh4/sh_intc.h                  |   3 +
include/hw/sparc/grlib.h                  |   2 +
include/hw/sparc/sparc32_dma.h            |   2 +
include/hw/sparc/sparc64.h                |   4 +
include/hw/sparc/sun4m_iommu.h            |   2 +
include/hw/sparc/sun4u_iommu.h            |   2 +
include/hw/ssi/aspeed_smc.h               |   3 +
include/hw/ssi/imx_spi.h                  |   2 +
include/hw/ssi/mss-spi.h                  |   2 +
include/hw/ssi/pl022.h                    |   2 +
include/hw/ssi/ssi.h                      |   2 +
include/hw/ssi/stm32f2xx_spi.h            |   2 +
include/hw/ssi/xilinx_spips.h             |   3 +
include/hw/sysbus.h                       |   2 +
include/hw/timer/a9gtimer.h               |   2 +
include/hw/timer/allwinner-a10-pit.h      |   3 +
include/hw/timer/arm_mptimer.h            |   3 +
include/hw/timer/armv7m_systick.h         |   2 +
include/hw/timer/aspeed_rtc.h             |   3 +
include/hw/timer/aspeed_timer.h           |   3 +
include/hw/timer/cmsdk-apb-dualtimer.h    |   2 +
include/hw/timer/cmsdk-apb-timer.h        |   2 +
include/hw/timer/digic-timer.h            |   3 +-
include/hw/timer/i8254.h                  |   2 +
include/hw/timer/i8254_internal.h         |   3 +
include/hw/timer/imx_epit.h               |   2 +
include/hw/timer/imx_gpt.h                |   2 +
include/hw/timer/m48t59.h                 |   2 +
include/hw/timer/mc146818rtc.h            |   2 +
include/hw/timer/mc146818rtc_regs.h       |   2 +
include/hw/timer/mss-timer.h              |   2 +
include/hw/timer/nrf51_timer.h            |   3 +
include/hw/timer/pl031.h                  |   2 +
include/hw/timer/stm32f2xx_timer.h        |   2 +
include/hw/timer/sun4v-rtc.h              |   7 ++
include/hw/timer/xlnx-zynqmp-rtc.h        |   3 +
include/hw/usb.h                          |   2 +
include/hw/usb/chipidea.h                 |   2 +
include/hw/vfio/vfio-amd-xgbe.h           |   2 +
include/hw/vfio/vfio-calxeda-xgmac.h      |   2 +
include/hw/vfio/vfio-common.h             |   2 +
include/hw/vfio/vfio-platform.h           |   2 +
include/hw/virtio/vhost-backend.h         |   3 +-
include/hw/virtio/vhost-scsi-common.h     |   3 +-
include/hw/virtio/vhost-scsi.h            |   3 +-
include/hw/virtio/vhost-user-blk.h        |   3 +-
include/hw/virtio/vhost-user-scsi.h       |   3 +-
include/hw/virtio/vhost-user.h            |   2 +
include/hw/virtio/vhost-vsock.h           |   2 +
include/hw/virtio/vhost.h                 |   2 +
include/hw/virtio/virtio-access.h         |   4 +
include/hw/virtio/virtio-balloon.h        |   3 +-
include/hw/virtio/virtio-blk.h            |   3 +-
include/hw/virtio/virtio-bus.h            |   3 +-
include/hw/virtio/virtio-crypto.h         |   2 +
include/hw/virtio/virtio-gpu-bswap.h      |   1 +
include/hw/virtio/virtio-gpu-pci.h        |   2 +
include/hw/virtio/virtio-gpu-pixman.h     |   2 +
include/hw/virtio/virtio-gpu.h            |   2 +
include/hw/virtio/virtio-input.h          |   2 +
include/hw/virtio/virtio-net.h            |   3 +-
include/hw/virtio/virtio-pmem.h           |   2 +
include/hw/virtio/virtio-rng.h            |   3 +
include/hw/virtio/virtio-scsi.h           |   3 +-
include/hw/virtio/virtio-serial.h         |   3 +-
include/hw/virtio/virtio.h                |   3 +-
include/hw/watchdog/cmsdk-apb-watchdog.h  |   2 +
include/hw/watchdog/wdt_aspeed.h          |   3 +
include/hw/watchdog/wdt_diag288.h         |   2 +
include/hw/xen/xen-backend.h              |   3 +
include/hw/xen/xen-block.h                |   3 +
include/hw/xen/xen-bus-helper.h           |   3 +
include/hw/xen/xen-bus.h                  |   3 +
include/hw/xen/xen-legacy-backend.h       |   3 +
include/hw/xen/xen.h                      |   2 +
include/hw/xen/xen_common.h               |   3 +
include/hw/xen/xen_pvdev.h                |   3 +
include/libdecnumber/decNumberLocal.h     |   1 +
include/migration/cpu.h                   |   5 +
include/monitor/hmp-target.h              |   4 +
include/net/vhost_net.h                   |   2 +
include/qemu/atomic128.h                  |   2 +
include/qemu/cpuid.h                      |   2 +
include/qemu/futex.h                      |   2 +
include/qemu/iova-tree.h                  |   3 +
include/qemu/ratelimit.h                  |   2 +
include/qemu/thread-win32.h               |   4 +-
include/qemu/xattr.h                      |   3 +
include/sysemu/balloon.h                  |   4 +-
include/sysemu/cryptodev-vhost-user.h     |   6 +-
include/sysemu/cryptodev-vhost.h          |   4 +-
include/sysemu/dma.h                      |   2 +
include/sysemu/dump.h                     |   3 +
include/sysemu/hostmem.h                  |   2 +
include/sysemu/hvf.h                      |   3 +
include/sysemu/iothread.h                 |   1 +
include/sysemu/kvm_int.h                  |   5 +-
include/sysemu/memory_mapping.h           |   5 +
include/sysemu/numa.h                     |   2 +
include/sysemu/os-posix.h                 |   2 +
include/sysemu/os-win32.h                 |   2 +
include/sysemu/vhost-user-backend.h       |   3 +
include/sysemu/xen-mapcache.h             |   5 +-
include/trace-tcg.h                       |   2 +
include/ui/console.h                      |   2 +
include/ui/egl-context.h                  |   3 +
include/ui/egl-helpers.h                  |   6 ++
include/ui/gtk.h                          |   2 +
include/ui/input.h                        |   1 +
include/ui/pixel_ops.h                    |   5 +
include/ui/qemu-pixman.h                  |   2 +
include/ui/sdl2.h                         |   2 +
include/ui/shader.h                       |   2 +
include/ui/spice-display.h                |   4 +
target/hppa/cpu.h                         |   2 +-
tests/Makefile.include                    |  33 +++++-
tests/check-headers.mak                   | 116 ++++++++++++++++++++++
tests/header-test-template.c              |  23 +++++
425 files changed, 1292 insertions(+), 50 deletions(-)
create mode 100644 tests/check-headers.mak
create mode 100644 tests/header-test-template.c

[Qemu-devel] [PATCH RFC v5 0/3] Baby steps towards saner headers

Posted by Markus Armbruster 13 weeks ago
Back in 2016, 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.  We can then whittle down
known-bad headers step by step in future patches.

PATCH 1 adds the tests, but only for include/.  764 headers, 179
known-bad.

PATCH 2 cleans up include/ somewhat.  The work remaining should be
fairly obvious now.  I plan to spin out my cleanups as a separate
non-RFC patch submission.

PATCH 3 makes the tests more thorough in a simple and stupid way.
Massive overkill, painfully slow.  I'm open for better ideas.

Previous iterations had additional patches to test all headers, not
just include/.  I decided to focus in include/ and shelve them for
now.

Testing:

I tested various configurations on an x86 host (everything enabled,
everything disabled, KVM only (TCG disabled), user only, MinGW).  I
also tested lightly on ARM and PPC hosts.  Exhaustive testing is not
practical.  I can't exclude the possibility that the new test fails in
configurations I didn't test.

Known issues:

(1) Many headers are (meant to be) only included into certain
    contexts.  In two places, the code makes its intent explicit:

    * include/exec/cpu-defs.h #errors out when included into
      target-independent code (#ifndef NEED_CPU_H)

    * include/hw/hw.h #errors out when included into user emulation
      code (#ifdef CONFIG_USER_ONLY)

    I manually marked headers including them, so that the test can
    treat them specially.  Better ideas welcome.

    Such #erroring isn't done for other contexts (perhaps it should
    be).  Inclusion into the wrong context fails in various ways
    instead.  The resulting test failures are marked FIXME.  The ones
    that fail by accident (if any) should be fixed.  The ones that
    aren't meant to succeed need to be treated specially by the test.

(2) A few headers are only included into code that's compiled with
    special CFLAGS.  The test doesn't know, and the resulting test
    failures are marked FIXME.  Known instances: include/ui/gtk.h and
    GTK_CFLAGS, include/ui/sdl2.h and SDL_CFLAGS.

Please have a look and tell me what you think.

v5:
* Old PATCH 1-4: Merged in commit 234e256511e
* Old PATCH 6-7: Shelved for now
* PATCH 1:
  - Rebased (uff)
  - Suppress debug info to save disk space
  - Fix .SECONDARY for $(check-bad-target-header-tests)
  - Minor tweaks to make PATCH 3 simpler
  - Add include/hw/xen/interface/ to excluded-headers
  - Rewrite the Make code to find magic comments
  - Test with -Wunused-function to cope with static inline functions
* PATCH 2-3: New

v4:
* PATCH 1-4: New.
* PATCH 5:
  - Implement testing of target-dependent headers
  - Replace crude "expected to fail with WIN32" by a set of "expected
    to fail without FOO".
* Old PATCH 3-5: Dropped.  These were examples for whittling down
  known-bad headers.

v3:
* Old PATH 1 moved to another series
* PATCH 1:
  - Skip the test unless $(SRC_PATH)/.git exists
  - Exclude third-party headers [Peter]
  - Exclude Coccinelle header
  - Fix egrep vs. fgrep typos
  - Mark and exclude headers that die due to poison.h, because testing
    them isn't implemented, yet
  - tests/header-test-template.c not omitted (d'oh)
* PATCH 3: Replaced
* PATCH 5: New

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 (3):
  tests: New make target check-source
  include: Make headers more self-contained
  tests: Check target-independent headers for each target, too

 Makefile                                  |   4 +-
 Makefile.target                           |  20 ++++
 include/block/raw-aio.h                   |   2 +
 include/block/write-threshold.h           |   2 +
 include/chardev/char-win.h                |   3 +
 include/chardev/spice.h                   |   2 +
 include/disas/disas.h                     |   1 +
 include/exec/cpu-all.h                    |   4 +
 include/exec/cpu-defs.h                   |   3 +
 include/exec/cpu_ldst.h                   |   4 +
 include/exec/cpu_ldst_template.h          |   3 +
 include/exec/cpu_ldst_useronly_template.h |   3 +
 include/exec/cputlb.h                     |   3 +
 include/exec/exec-all.h                   |   3 +
 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                     |   4 +
 include/exec/memory-internal.h            |   4 +
 include/exec/memory_ldst.inc.h            |   2 +
 include/exec/memory_ldst_cached.inc.h     |   2 +
 include/exec/memory_ldst_phys.inc.h       |   2 +
 include/exec/ram_addr.h                   |   3 +
 include/exec/softmmu-semi.h               |   4 +
 include/exec/tb-hash.h                    |   4 +
 include/exec/tb-lookup.h                  |   3 +
 include/exec/translator.h                 |   2 +
 include/exec/user/abitypes.h              |   2 +
 include/exec/user/thunk.h                 |   4 +
 include/fpu/softfloat-macros.h            |   4 +
 include/fpu/softfloat.h                   |   2 +
 include/hw/acpi/acpi.h                    |   2 +
 include/hw/acpi/acpi_dev_interface.h      |   2 +
 include/hw/acpi/cpu.h                     |   3 +
 include/hw/acpi/cpu_hotplug.h             |   2 +
 include/hw/acpi/ich9.h                    |   2 +
 include/hw/acpi/memory_hotplug.h          |   2 +
 include/hw/acpi/pci.h                     |   3 +
 include/hw/acpi/pcihp.h                   |   2 +
 include/hw/acpi/tco.h                     |   5 +
 include/hw/acpi/utils.h                   |   2 +
 include/hw/acpi/vmgenid.h                 |   2 +
 include/hw/adc/stm32f2xx_adc.h            |   4 +
 include/hw/arm/allwinner-a10.h            |   5 +
 include/hw/arm/armsse.h                   |   4 +
 include/hw/arm/armv7m.h                   |   4 +
 include/hw/arm/aspeed.h                   |   3 +
 include/hw/arm/aspeed_soc.h               |   5 +
 include/hw/arm/bcm2835_peripherals.h      |   2 +
 include/hw/arm/bcm2836.h                  |   5 +
 include/hw/arm/digic.h                    |   4 +
 include/hw/arm/exynos4210.h               |   5 +-
 include/hw/arm/fsl-imx25.h                |   5 +
 include/hw/arm/fsl-imx31.h                |   5 +
 include/hw/arm/fsl-imx6.h                 |   4 +
 include/hw/arm/fsl-imx6ul.h               |   4 +
 include/hw/arm/fsl-imx7.h                 |   4 +
 include/hw/arm/msf2-soc.h                 |   4 +
 include/hw/arm/nrf51_soc.h                |   4 +
 include/hw/arm/omap.h                     |   2 +
 include/hw/arm/pxa.h                      |   2 +
 include/hw/arm/sharpsl.h                  |   3 +
 include/hw/arm/smmu-common.h              |   3 +-
 include/hw/arm/smmuv3.h                   |   2 +
 include/hw/arm/soc_dma.h                  |   2 +
 include/hw/arm/stm32f205_soc.h            |   4 +
 include/hw/arm/virt.h                     |   2 +
 include/hw/arm/xlnx-versal.h              |   2 +
 include/hw/arm/xlnx-zynqmp.h              |   5 +
 include/hw/audio/pcspk.h                  |   2 +
 include/hw/audio/wm8750.h                 |   3 +
 include/hw/block/fdc.h                    |   2 +
 include/hw/block/flash.h                  |   3 +
 include/hw/boards.h                       |   2 +
 include/hw/char/bcm2835_aux.h             |   2 +
 include/hw/char/cadence_uart.h            |   2 +
 include/hw/char/cmsdk-apb-uart.h          |   2 +
 include/hw/char/digic-uart.h              |   3 +-
 include/hw/char/escc.h                    |   3 +
 include/hw/char/imx_serial.h              |   2 +
 include/hw/char/lm32_juart.h              |   2 +
 include/hw/char/nrf51_uart.h              |   2 +
 include/hw/char/parallel.h                |   2 +
 include/hw/char/pl011.h                   |   2 +
 include/hw/char/serial.h                  |   2 +
 include/hw/char/stm32f2xx_usart.h         |   2 +
 include/hw/char/xilinx_uartlite.h         |   4 +
 include/hw/core/generic-loader.h          |   1 +
 include/hw/core/split-irq.h               |   3 +
 include/hw/cpu/a15mpcore.h                |   3 +
 include/hw/cpu/a9mpcore.h                 |   3 +
 include/hw/cpu/arm11mpcore.h              |   2 +
 include/hw/cpu/cluster.h                  |   3 +
 include/hw/cpu/core.h                     |   3 +
 include/hw/cris/etraxfs.h                 |   3 +
 include/hw/cris/etraxfs_dma.h             |   3 +
 include/hw/display/bcm2835_fb.h           |   2 +
 include/hw/display/edid.h                 |   2 +
 include/hw/display/i2c-ddc.h              |   3 +
 include/hw/display/milkymist_tmu2.h       |   3 +-
 include/hw/display/vga.h                  |   3 +
 include/hw/display/xlnx_dp.h              |   2 +
 include/hw/dma/bcm2835_dma.h              |   2 +
 include/hw/dma/i8257.h                    |   2 +
 include/hw/dma/pl080.h                    |   2 +
 include/hw/dma/xlnx-zdma.h                |   2 +
 include/hw/dma/xlnx-zynq-devcfg.h         |   2 +
 include/hw/dma/xlnx_dpdma.h               |   2 +
 include/hw/elf_ops.h                      |   2 +
 include/hw/empty_slot.h                   |   2 +
 include/hw/gpio/bcm2835_gpio.h            |   3 +
 include/hw/gpio/imx_gpio.h                |   2 +
 include/hw/gpio/nrf51_gpio.h              |   4 +-
 include/hw/hw.h                           |   2 +
 include/hw/hyperv/hyperv.h                |   2 +
 include/hw/i2c/aspeed_i2c.h               |   4 +
 include/hw/i2c/bitbang_i2c.h              |   2 +
 include/hw/i2c/i2c.h                      |   2 +
 include/hw/i2c/imx_i2c.h                  |   3 +-
 include/hw/i2c/microbit_i2c.h             |   2 +
 include/hw/i2c/pm_smbus.h                 |   2 +
 include/hw/i2c/ppc4xx_i2c.h               |   2 +
 include/hw/i2c/smbus_eeprom.h             |   2 +
 include/hw/i2c/smbus_master.h             |   2 +
 include/hw/i2c/smbus_slave.h              |   2 +
 include/hw/i386/apic_internal.h           |   5 +
 include/hw/i386/ich9.h                    |   2 +
 include/hw/i386/intel_iommu.h             |   2 +
 include/hw/i386/ioapic_internal.h         |   3 +
 include/hw/i386/pc.h                      |   2 +
 include/hw/i386/x86-iommu.h               |   2 +
 include/hw/ide.h                          |   2 +
 include/hw/ide/ahci.h                     |   3 +-
 include/hw/ide/internal.h                 |   2 +
 include/hw/ide/pci.h                      |   2 +
 include/hw/input/adb.h                    |   2 +
 include/hw/input/i8042.h                  |   3 +
 include/hw/input/tsc2xxx.h                |   2 +
 include/hw/intc/allwinner-a10-pic.h       |   4 +
 include/hw/intc/arm_gic.h                 |   2 +
 include/hw/intc/arm_gic_common.h          |   2 +
 include/hw/intc/arm_gicv3.h               |   2 +
 include/hw/intc/arm_gicv3_common.h        |   2 +
 include/hw/intc/arm_gicv3_its_common.h    |   2 +
 include/hw/intc/armv7m_nvic.h             |   4 +
 include/hw/intc/aspeed_vic.h              |   3 +
 include/hw/intc/bcm2835_ic.h              |   2 +
 include/hw/intc/bcm2836_control.h         |   2 +
 include/hw/intc/heathrow_pic.h            |   4 +
 include/hw/intc/imx_avic.h                |   3 +
 include/hw/intc/imx_gpcv2.h               |   2 +
 include/hw/intc/mips_gic.h                |   5 +
 include/hw/intc/realview_gic.h            |   2 +
 include/hw/intc/xlnx-pmu-iomod-intc.h     |   2 +
 include/hw/intc/xlnx-zynqmp-ipi.h         |   2 +
 include/hw/ipack/ipack.h                  |   2 +
 include/hw/ipmi/ipmi.h                    |   2 +
 include/hw/isa/apm.h                      |   2 +
 include/hw/isa/i8259_internal.h           |   2 +
 include/hw/isa/isa.h                      |   2 +
 include/hw/isa/pc87312.h                  |   3 +
 include/hw/isa/superio.h                  |   3 +
 include/hw/isa/vt82c686.h                 |   2 +
 include/hw/kvm/clock.h                    |   2 +
 include/hw/loader.h                       |   2 +
 include/hw/mem/memory-device.h            |   2 +
 include/hw/mem/nvdimm.h                   |   2 +
 include/hw/mem/pc-dimm.h                  |   3 +-
 include/hw/mips/bios.h                    |   2 +
 include/hw/mips/cps.h                     |   5 +
 include/hw/mips/cpudevs.h                 |   2 +
 include/hw/misc/a9scu.h                   |   3 +
 include/hw/misc/arm11scu.h                |   2 +
 include/hw/misc/armsse-cpuid.h            |   2 +
 include/hw/misc/armsse-mhu.h              |   2 +
 include/hw/misc/aspeed_scu.h              |   3 +
 include/hw/misc/aspeed_sdmc.h             |   3 +
 include/hw/misc/aspeed_xdma.h             |   2 +
 include/hw/misc/auxbus.h                  |   3 +-
 include/hw/misc/bcm2835_mbox.h            |   2 +
 include/hw/misc/bcm2835_property.h        |   2 +
 include/hw/misc/bcm2835_rng.h             |   2 +
 include/hw/misc/imx25_ccm.h               |   2 +
 include/hw/misc/imx2_wdt.h                |   2 +
 include/hw/misc/imx31_ccm.h               |   2 +
 include/hw/misc/imx6_ccm.h                |   2 +
 include/hw/misc/imx6_src.h                |   2 +
 include/hw/misc/imx6ul_ccm.h              |   2 +
 include/hw/misc/imx7_ccm.h                |   2 +
 include/hw/misc/imx7_gpr.h                |   2 +
 include/hw/misc/imx7_snvs.h               |   2 +
 include/hw/misc/imx_ccm.h                 |   2 +
 include/hw/misc/iotkit-secctl.h           |   2 +
 include/hw/misc/iotkit-sysctl.h           |   2 +
 include/hw/misc/iotkit-sysinfo.h          |   2 +
 include/hw/misc/macio/cuda.h              |   4 +
 include/hw/misc/macio/gpio.h              |   5 +
 include/hw/misc/macio/macio.h             |   4 +
 include/hw/misc/macio/pmu.h               |   5 +
 include/hw/misc/mips_cmgcr.h              |   5 +-
 include/hw/misc/mips_cpc.h                |   4 +
 include/hw/misc/mips_itu.h                |   2 +
 include/hw/misc/mos6522.h                 |   2 +
 include/hw/misc/mps2-fpgaio.h             |   2 +
 include/hw/misc/mps2-scc.h                |   2 +
 include/hw/misc/msf2-sysreg.h             |   2 +
 include/hw/misc/nrf51_rng.h               |   3 +-
 include/hw/misc/pca9552.h                 |   3 +
 include/hw/misc/pvpanic.h                 |   3 +
 include/hw/misc/stm32f2xx_syscfg.h        |   2 +
 include/hw/misc/tz-mpc.h                  |   2 +
 include/hw/misc/tz-msc.h                  |   2 +
 include/hw/misc/tz-ppc.h                  |   2 +
 include/hw/misc/unimp.h                   |   2 +
 include/hw/misc/vmcoreinfo.h              |   4 +-
 include/hw/misc/zynq-xadc.h               |   2 +
 include/hw/net/allwinner_emac.h           |   4 +-
 include/hw/net/cadence_gem.h              |   2 +
 include/hw/net/ftgmac100.h                |   2 +
 include/hw/net/imx_fec.h                  |   2 +
 include/hw/net/lance.h                    |   3 +
 include/hw/net/ne2000-isa.h               |   2 +
 include/hw/nvram/chrp_nvram.h             |   2 +
 include/hw/nvram/fw_cfg.h                 |   2 +
 include/hw/nvram/nrf51_nvm.h              |   4 +-
 include/hw/or-irq.h                       |   2 +
 include/hw/pci-bridge/simba.h             |   2 +
 include/hw/pci-host/designware.h          |   2 +
 include/hw/pci-host/gpex.h                |   2 +
 include/hw/pci-host/pam.h                 |   2 +
 include/hw/pci-host/q35.h                 |   2 +
 include/hw/pci-host/sabre.h               |   4 +
 include/hw/pci-host/spapr.h               |   3 +
 include/hw/pci-host/uninorth.h            |   4 +-
 include/hw/pci-host/xilinx-pcie.h         |   2 +
 include/hw/pci/msi.h                      |   2 +
 include/hw/pci/msix.h                     |   2 +
 include/hw/pci/pci.h                      |   2 +
 include/hw/pci/pci_bridge.h               |   3 +-
 include/hw/pci/pci_bus.h                  |   2 +
 include/hw/pci/pci_host.h                 |   2 +
 include/hw/pci/pcie.h                     |   2 +
 include/hw/pci/pcie_aer.h                 |   3 +
 include/hw/pci/pcie_host.h                |   2 +
 include/hw/pci/pcie_port.h                |   2 +
 include/hw/pci/shpc.h                     |   2 +
 include/hw/pcmcia.h                       |   2 +
 include/hw/platform-bus.h                 |   2 +
 include/hw/ppc/fdt.h                      |   2 +
 include/hw/ppc/mac_dbdma.h                |   2 +
 include/hw/ppc/openpic.h                  |   2 +
 include/hw/ppc/pnv.h                      |   3 +
 include/hw/ppc/pnv_core.h                 |   4 +
 include/hw/ppc/pnv_lpc.h                  |   2 +
 include/hw/ppc/pnv_occ.h                  |   2 +
 include/hw/ppc/pnv_psi.h                  |   2 +
 include/hw/ppc/pnv_xive.h                 |   2 +
 include/hw/ppc/pnv_xscom.h                |   2 +
 include/hw/ppc/ppc.h                      |   2 +
 include/hw/ppc/ppc4xx.h                   |   7 ++
 include/hw/ppc/spapr.h                    |   3 +
 include/hw/ppc/spapr_cpu_core.h           |   4 +
 include/hw/ppc/spapr_drc.h                |   2 +
 include/hw/ppc/spapr_irq.h                |   5 +
 include/hw/ppc/spapr_ovec.h               |   2 +
 include/hw/ppc/spapr_vio.h                |  11 +-
 include/hw/ppc/spapr_xive.h               |   5 +
 include/hw/ppc/xics.h                     |   3 +-
 include/hw/ppc/xics_spapr.h               |   3 +
 include/hw/ppc/xive.h                     |   3 +-
 include/hw/ppc/xive_regs.h                |   3 +
 include/hw/qdev.h                         |   2 +
 include/hw/register.h                     |   2 +
 include/hw/riscv/boot.h                   |   4 +
 include/hw/riscv/riscv_hart.h             |   6 ++
 include/hw/riscv/riscv_htif.h             |   3 +
 include/hw/riscv/sifive_clint.h           |   4 +
 include/hw/riscv/sifive_e.h               |   4 +
 include/hw/riscv/sifive_gpio.h            |   3 +
 include/hw/riscv/sifive_plic.h            |   4 +-
 include/hw/riscv/sifive_prci.h            |   4 +
 include/hw/riscv/sifive_test.h            |   4 +
 include/hw/riscv/sifive_u.h               |   4 +
 include/hw/riscv/sifive_uart.h            |   5 +
 include/hw/riscv/spike.h                  |   6 ++
 include/hw/riscv/virt.h                   |   6 ++
 include/hw/s390x/3270-ccw.h               |   3 +
 include/hw/s390x/ap-device.h              |   3 +
 include/hw/s390x/css-bridge.h             |   5 +-
 include/hw/s390x/css.h                    |   4 +
 include/hw/s390x/event-facility.h         |   3 +-
 include/hw/s390x/s390-ccw.h               |   3 +
 include/hw/s390x/s390-virtio-ccw.h        |   3 +
 include/hw/s390x/s390_flic.h              |   2 +
 include/hw/s390x/sclp.h                   |   3 +-
 include/hw/s390x/storage-attributes.h     |   3 +
 include/hw/s390x/storage-keys.h           |   2 +
 include/hw/s390x/tod.h                    |   4 +-
 include/hw/s390x/vfio-ccw.h               |   3 +
 include/hw/scsi/esp.h                     |   2 +
 include/hw/scsi/scsi.h                    |   2 +
 include/hw/sd/bcm2835_sdhost.h            |   2 +
 include/hw/sd/sd.h                        |   2 +
 include/hw/sd/sdhci.h                     |   2 +
 include/hw/semihosting/console.h          |   4 +
 include/hw/sh4/sh.h                       |   2 +
 include/hw/sh4/sh_intc.h                  |   3 +
 include/hw/sparc/grlib.h                  |   2 +
 include/hw/sparc/sparc32_dma.h            |   2 +
 include/hw/sparc/sparc64.h                |   4 +
 include/hw/sparc/sun4m_iommu.h            |   2 +
 include/hw/sparc/sun4u_iommu.h            |   2 +
 include/hw/ssi/aspeed_smc.h               |   3 +
 include/hw/ssi/imx_spi.h                  |   2 +
 include/hw/ssi/mss-spi.h                  |   2 +
 include/hw/ssi/pl022.h                    |   2 +
 include/hw/ssi/ssi.h                      |   2 +
 include/hw/ssi/stm32f2xx_spi.h            |   2 +
 include/hw/ssi/xilinx_spips.h             |   3 +
 include/hw/sysbus.h                       |   2 +
 include/hw/timer/a9gtimer.h               |   2 +
 include/hw/timer/allwinner-a10-pit.h      |   3 +
 include/hw/timer/arm_mptimer.h            |   3 +
 include/hw/timer/armv7m_systick.h         |   2 +
 include/hw/timer/aspeed_rtc.h             |   3 +
 include/hw/timer/aspeed_timer.h           |   3 +
 include/hw/timer/cmsdk-apb-dualtimer.h    |   2 +
 include/hw/timer/cmsdk-apb-timer.h        |   2 +
 include/hw/timer/digic-timer.h            |   3 +-
 include/hw/timer/i8254.h                  |   2 +
 include/hw/timer/i8254_internal.h         |   3 +
 include/hw/timer/imx_epit.h               |   2 +
 include/hw/timer/imx_gpt.h                |   2 +
 include/hw/timer/m48t59.h                 |   2 +
 include/hw/timer/mc146818rtc.h            |   2 +
 include/hw/timer/mc146818rtc_regs.h       |   2 +
 include/hw/timer/mss-timer.h              |   2 +
 include/hw/timer/nrf51_timer.h            |   3 +
 include/hw/timer/pl031.h                  |   2 +
 include/hw/timer/stm32f2xx_timer.h        |   2 +
 include/hw/timer/sun4v-rtc.h              |   7 ++
 include/hw/timer/xlnx-zynqmp-rtc.h        |   3 +
 include/hw/usb.h                          |   2 +
 include/hw/usb/chipidea.h                 |   2 +
 include/hw/vfio/vfio-amd-xgbe.h           |   2 +
 include/hw/vfio/vfio-calxeda-xgmac.h      |   2 +
 include/hw/vfio/vfio-common.h             |   2 +
 include/hw/vfio/vfio-platform.h           |   2 +
 include/hw/virtio/vhost-backend.h         |   3 +-
 include/hw/virtio/vhost-scsi-common.h     |   3 +-
 include/hw/virtio/vhost-scsi.h            |   3 +-
 include/hw/virtio/vhost-user-blk.h        |   3 +-
 include/hw/virtio/vhost-user-scsi.h       |   3 +-
 include/hw/virtio/vhost-user.h            |   2 +
 include/hw/virtio/vhost-vsock.h           |   2 +
 include/hw/virtio/vhost.h                 |   2 +
 include/hw/virtio/virtio-access.h         |   4 +
 include/hw/virtio/virtio-balloon.h        |   3 +-
 include/hw/virtio/virtio-blk.h            |   3 +-
 include/hw/virtio/virtio-bus.h            |   3 +-
 include/hw/virtio/virtio-crypto.h         |   2 +
 include/hw/virtio/virtio-gpu-bswap.h      |   1 +
 include/hw/virtio/virtio-gpu-pci.h        |   2 +
 include/hw/virtio/virtio-gpu-pixman.h     |   2 +
 include/hw/virtio/virtio-gpu.h            |   2 +
 include/hw/virtio/virtio-input.h          |   2 +
 include/hw/virtio/virtio-net.h            |   3 +-
 include/hw/virtio/virtio-pmem.h           |   2 +
 include/hw/virtio/virtio-rng.h            |   3 +
 include/hw/virtio/virtio-scsi.h           |   3 +-
 include/hw/virtio/virtio-serial.h         |   3 +-
 include/hw/virtio/virtio.h                |   3 +-
 include/hw/watchdog/cmsdk-apb-watchdog.h  |   2 +
 include/hw/watchdog/wdt_aspeed.h          |   3 +
 include/hw/watchdog/wdt_diag288.h         |   2 +
 include/hw/xen/xen-backend.h              |   3 +
 include/hw/xen/xen-block.h                |   3 +
 include/hw/xen/xen-bus-helper.h           |   3 +
 include/hw/xen/xen-bus.h                  |   3 +
 include/hw/xen/xen-legacy-backend.h       |   3 +
 include/hw/xen/xen.h                      |   2 +
 include/hw/xen/xen_common.h               |   3 +
 include/hw/xen/xen_pvdev.h                |   3 +
 include/libdecnumber/decNumberLocal.h     |   1 +
 include/migration/cpu.h                   |   5 +
 include/monitor/hmp-target.h              |   4 +
 include/net/vhost_net.h                   |   2 +
 include/qemu/atomic128.h                  |   2 +
 include/qemu/cpuid.h                      |   2 +
 include/qemu/futex.h                      |   2 +
 include/qemu/iova-tree.h                  |   3 +
 include/qemu/ratelimit.h                  |   2 +
 include/qemu/thread-win32.h               |   4 +-
 include/qemu/xattr.h                      |   3 +
 include/sysemu/balloon.h                  |   4 +-
 include/sysemu/cryptodev-vhost-user.h     |   6 +-
 include/sysemu/cryptodev-vhost.h          |   4 +-
 include/sysemu/dma.h                      |   2 +
 include/sysemu/dump.h                     |   3 +
 include/sysemu/hostmem.h                  |   2 +
 include/sysemu/hvf.h                      |   3 +
 include/sysemu/iothread.h                 |   1 +
 include/sysemu/kvm_int.h                  |   5 +-
 include/sysemu/memory_mapping.h           |   5 +
 include/sysemu/numa.h                     |   2 +
 include/sysemu/os-posix.h                 |   2 +
 include/sysemu/os-win32.h                 |   2 +
 include/sysemu/vhost-user-backend.h       |   3 +
 include/sysemu/xen-mapcache.h             |   5 +-
 include/trace-tcg.h                       |   2 +
 include/ui/console.h                      |   2 +
 include/ui/egl-context.h                  |   3 +
 include/ui/egl-helpers.h                  |   6 ++
 include/ui/gtk.h                          |   2 +
 include/ui/input.h                        |   1 +
 include/ui/pixel_ops.h                    |   5 +
 include/ui/qemu-pixman.h                  |   2 +
 include/ui/sdl2.h                         |   2 +
 include/ui/shader.h                       |   2 +
 include/ui/spice-display.h                |   4 +
 target/hppa/cpu.h                         |   2 +-
 tests/Makefile.include                    |  33 +++++-
 tests/check-headers.mak                   | 116 ++++++++++++++++++++++
 tests/header-test-template.c              |  23 +++++
 425 files changed, 1292 insertions(+), 50 deletions(-)
 create mode 100644 tests/check-headers.mak
 create mode 100644 tests/header-test-template.c

-- 
2.21.0


Re: [Qemu-devel] [PATCH RFC v5 0/3] Baby steps towards saner headers

Posted by no-reply@patchew.org 13 weeks ago
Patchew URL: https://patchew.org/QEMU/20190711122827.18970-1-armbru@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/20190711122827.18970-1-armbru@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

Re: [Qemu-devel] [PATCH RFC v5 0/3] Baby steps towards saner headers

Posted by no-reply@patchew.org 13 weeks ago
Patchew URL: https://patchew.org/QEMU/20190711122827.18970-1-armbru@redhat.com/



Hi,

This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#! /bin/bash
test "$(uname -m)" = "x86_64"
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/20190711122827.18970-1-armbru@redhat.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com