qemu-e2k/include/hw
Markus Armbruster 2ae16a6aa4 Include generated QAPI headers less
Some of the generated qapi-types-MODULE.h are included all over the
place.  Changing a QAPI type can trigger massive recompiling.  Top
scorers recompile more than 1000 out of some 6600 objects (not
counting tests and objects that don't depend on qemu/osdep.h):

    6300 qapi/qapi-builtin-types.h
    5700 qapi/qapi-types-run-state.h
    3900 qapi/qapi-types-common.h
    3300 qapi/qapi-types-sockets.h
    3000 qapi/qapi-types-misc.h
    3000 qapi/qapi-types-crypto.h
    3000 qapi/qapi-types-job.h
    3000 qapi/qapi-types-block-core.h
    2800 qapi/qapi-types-block.h
    1300 qapi/qapi-types-net.h

Clean up headers to include generated QAPI headers only where needed.
Impact is negligible except for hw/qdev-properties.h.

This header includes qapi/qapi-types-block.h and
qapi/qapi-types-misc.h.  They are used only in expansions of property
definition macros such as DEFINE_PROP_BLOCKDEV_ON_ERROR() and
DEFINE_PROP_OFF_AUTO().  Moving their inclusion from
hw/qdev-properties.h to the users of these macros avoids pointless
recompiles.  This is how other property definition macros, such as
DEFINE_PROP_NETDEV(), already work.

Improves things for some of the top scorers:

    3600 qapi/qapi-types-common.h
    2800 qapi/qapi-types-sockets.h
     900 qapi/qapi-types-misc.h
    2200 qapi/qapi-types-crypto.h
    2100 qapi/qapi-types-job.h
    2100 qapi/qapi-types-block-core.h
     270 qapi/qapi-types-block.h

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190812052359.30071-3-armbru@redhat.com>
2019-08-16 13:31:51 +02:00
..
acpi Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
adc include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
arm include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
audio Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
block include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
char include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
core include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
cpu Clean up includes 2019-05-13 08:58:55 +02:00
cris include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
display include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
dma Normalize position of header guard 2019-06-12 13:20:20 +02:00
firmware machine: Refactor smp-related call chains to pass MachineState 2019-07-05 17:07:36 -03:00
gpio include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
hyperv hyperv: process POST_MESSAGE hypercall 2018-10-19 13:44:14 +02:00
i2c include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
i386 include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
ide hw/ide: drop iov field from IDEDMA 2019-02-22 09:42:13 +00:00
input hw/devices: Move TI touchscreen declarations into a new header 2019-04-29 17:57:21 +01:00
intc include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
ipack
ipmi Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
isa include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
kvm Supply missing header guards 2019-06-12 13:20:21 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k Supply missing header guards 2019-06-12 13:20:21 +02:00
mem Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
mips include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
misc include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
net include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
nvram include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
pci include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
pci-bridge Supply missing header guards 2019-06-12 13:20:21 +02:00
pci-host include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
ppc Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
rdma {hmp, hw/pvrdma}: Expose device internals via monitor interface 2019-03-16 15:52:44 +02:00
riscv include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
s390x include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
scsi scsi-disk: Use qdev_prop_drive_iothread 2019-06-04 15:22:22 +02:00
sd Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
semihosting include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
sh4 include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
sparc include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
ssi include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
timer include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
tricore
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
vfio vfio-common.h: Remove inaccurate comment 2019-07-02 13:12:53 -06:00
virtio Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
watchdog include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
xen xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xtensa Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
boards.h machine: Refactor smp_parse() in vl.c as MachineClass::smp_parse() 2019-07-05 17:08:04 -03:00
bt.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
elf_ops.h elf-ops.h: Add get_elf_note_type() 2019-02-05 16:50:16 +01:00
empty_slot.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
fw-path-provider.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
hotplug.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hw.h Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ide.h ide/via: Rename functions to match device name 2019-01-25 14:52:12 -05:00
irq.h hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h elf: Add optional function ptr to load_elf() to parse ELF notes 2019-02-05 16:50:16 +01:00
nmi.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
or-irq.h hw/core/or-irq: Support more than 16 inputs to an OR gate 2018-06-15 15:23:34 +01:00
pcmcia.h hw/pcmcia: Remove PCMCIACardState from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
platform-bus.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
ptimer.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qdev-core.h Revert "Revert "globals: Allow global properties to be optional"" 2019-07-29 16:57:27 -04:00
qdev-dma.h Supply missing header guards 2019-06-12 13:20:21 +02:00
qdev-properties.h Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
qdev.h
register.h hw: register: Run post_write hook on reset 2018-03-01 11:05:43 +00:00
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sysbus.h sysbus: add a sysbus_mmio_unmap() helper 2019-05-29 11:39:46 +10:00
usb.h qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00