Skip to content

about API hierarchy

Xuebing Wang qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 26 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10docs: add docs/api-hierarchy.txtdocs/api-hierarchy.txt+93 -03 replies
2/10NEED_CPU_H: remove '#include "cpu.h"' from include/qemu-common.hhw/dma/soc_dma.c include/disas/disas.h include/exec/cpu-all.h +11 more+68 -3011 replies
3/10NEED_CPU_H: remove unnecessary use of NEED_CPU_Hinclude/exec/cpu-common.h include/hw/hw.h include/hw/xen/xen.h +3 more+20 -111 reply
4/10memory_mapping: make this architecture-independentinclude/sysemu/memory_mapping.h+2 -12 replies
5/10NEED_CPU_H: remove unnecessary inclusion of "cpu.h" in rootarch_init.c cpu-exec.c cputlb.c +9 more+39 -161 reply
6/10memory: move contents in include/exec/address-spaces.h => memory.hinclude/exec/address-spaces.h include/exec/memory.h include/hw/sh4/sh_intc.h+16 -331 reply
7/10memory: remove file include/exec/address-spaces.harch_init.c cputlb.c exec.c +124 more+0 -1380 replies
8/10exec: move TranslationBlock API from exec-all.h => translate.hinclude/exec/exec-all.h include/exec/translate.h+307 -3011 reply
9/10exec: remove the unnecessary include of "exec-all.h"cputlb.c tcg/README tci.c+2 -33 replies
10/10translate: remove file translate-all.hexec.c include/exec/translate.h translate-all.c +1 more+5 -301 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Qemu-devel] [Discussion 00/10] about API hierarchy

Hi Community,

Q1) Is it helpful for the document docs/api_hierarchy.txt I wrote? Would you
please help review/correct it?

Q2) Does it make sense to remove NEED_CPU_H from qemu-common.h?

Q3) In include/sysemu/kvm.h, CONFIG_KVM is used thus considering dependency
we should include "config-target.h", what is the best conditional to use? Or we don't use any conditional and assume architecture-independent code should NOT include include/sysemu/kvm.h?

Q4) Is it better for include/qemu-common.h to only include C99 API and QEMU
basic API declared in include/qemu/*?

Q5) Should we move exec/def-helper.h => tcg/def-helper.h and
exec/spinlock.h => include/qemu/spinlock.h, to reflect the definition of exec is: memory API, translation API and cpu API?

After this patchset, cpu-all.h and exec-all.h should ONLY be included from target-xxx/*.

Thanks.

Xuebing Wang (10):
docs: add docs/api-hierarchy.txt
NEED_CPU_H: remove '#include "cpu.h"' from include/qemu-common.h
NEED_CPU_H: remove unnecessary use of NEED_CPU_H
memory_mapping: make this architecture-independent
NEED_CPU_H: remove unnecessary inclusion of "cpu.h" in root
memory: move contents in include/exec/address-spaces.h => memory.h
memory: remove file include/exec/address-spaces.h
exec: move TranslationBlock API from exec-all.h => translate.h
exec: remove the unnecessary include of "exec-all.h"
translate: remove file translate-all.h

 arch_init.c                              |    2 -
 cpu-exec.c                               |    7 +-
 cputlb.c                                 |    8 +-
 disas.c                                  |    7 +-
 docs/api-hierarchy.txt                   |   93 +++++++++
 dump.c                                   |    2 -
 exec.c                                   |    5 -
 gdbstub.c                                |    8 +-
 hw/acpi/ich9.c                           |    1 -
 hw/acpi/pcihp.c                          |    1 -
 hw/acpi/piix4.c                          |    1 -
 hw/alpha/typhoon.c                       |    1 -
 hw/arm/boot.c                            |    1 -
 hw/arm/collie.c                          |    1 -
 hw/arm/digic_boards.c                    |    1 -
 hw/arm/exynos4_boards.c                  |    1 -
 hw/arm/gumstix.c                         |    1 -
 hw/arm/highbank.c                        |    1 -
 hw/arm/integratorcp.c                    |    1 -
 hw/arm/kzm.c                             |    1 -
 hw/arm/mainstone.c                       |    1 -
 hw/arm/musicpal.c                        |    1 -
 hw/arm/nseries.c                         |    1 -
 hw/arm/omap_sx1.c                        |    1 -
 hw/arm/palm.c                            |    1 -
 hw/arm/realview.c                        |    1 -
 hw/arm/spitz.c                           |    1 -
 hw/arm/stellaris.c                       |    1 -
 hw/arm/tosa.c                            |    1 -
 hw/arm/versatilepb.c                     |    1 -
 hw/arm/vexpress.c                        |    1 -
 hw/arm/virt.c                            |    1 -
 hw/arm/xilinx_zynq.c                     |    1 -
 hw/arm/z2.c                              |    1 -
 hw/block/onenand.c                       |    1 -
 hw/block/pflash_cfi01.c                  |    1 -
 hw/block/pflash_cfi02.c                  |    1 -
 hw/char/mcf_uart.c                       |    1 -
 hw/char/omap_uart.c                      |    1 -
 hw/char/serial.c                         |    1 -
 hw/char/sh_serial.c                      |    1 -
 hw/core/loader.c                         |    1 -
 hw/core/sysbus.c                         |    1 -
 hw/cris/axis_dev88.c                     |    1 -
 hw/display/sm501.c                       |    1 -
 hw/dma/etraxfs_dma.c                     |    1 -
 hw/dma/pl080.c                           |    1 -
 hw/dma/soc_dma.c                         |    5 +
 hw/dma/sun4m_iommu.c                     |    1 -
 hw/i386/pc.c                             |    1 -
 hw/i386/pc_piix.c                        |    1 -
 hw/i386/pc_q35.c                         |    1 -
 hw/intc/armv7m_nvic.c                    |    1 -
 hw/intc/openpic_kvm.c                    |    1 -
 hw/isa/isa-bus.c                         |    1 -
 hw/isa/lpc_ich9.c                        |    1 -
 hw/isa/vt82c686.c                        |    1 -
 hw/lm32/lm32_boards.c                    |    1 -
 hw/lm32/milkymist.c                      |    1 -
 hw/m68k/an5206.c                         |    1 -
 hw/m68k/dummy_m68k.c                     |    1 -
 hw/m68k/mcf5206.c                        |    1 -
 hw/m68k/mcf5208.c                        |    1 -
 hw/m68k/mcf_intc.c                       |    1 -
 hw/microblaze/petalogix_ml605_mmu.c      |    1 -
 hw/microblaze/petalogix_s3adsp1800_mmu.c |    1 -
 hw/mips/gt64xxx_pci.c                    |    1 -
 hw/mips/mips_fulong2e.c                  |    1 -
 hw/mips/mips_jazz.c                      |    1 -
 hw/mips/mips_malta.c                     |    1 -
 hw/mips/mips_mipssim.c                   |    1 -
 hw/mips/mips_r4k.c                       |    1 -
 hw/misc/arm_integrator_debug.c           |    1 -
 hw/misc/omap_gpmc.c                      |    1 -
 hw/misc/vfio.c                           |    1 -
 hw/moxie/moxiesim.c                      |    1 -
 hw/net/mcf_fec.c                         |    1 -
 hw/net/ne2000-isa.c                      |    1 -
 hw/openrisc/openrisc_sim.c               |    1 -
 hw/pci-host/apb.c                        |    1 -
 hw/pci-host/bonito.c                     |    1 -
 hw/pci-host/ppce500.c                    |    1 -
 hw/pci-host/prep.c                       |    1 -
 hw/pci-host/versatile.c                  |    1 -
 hw/pci/pci.c                             |    1 -
 hw/pci/pcie_host.c                       |    1 -
 hw/ppc/e500.c                            |    1 -
 hw/ppc/mac_newworld.c                    |    1 -
 hw/ppc/mac_oldworld.c                    |    1 -
 hw/ppc/ppc405_boards.c                   |    1 -
 hw/ppc/ppc405_uc.c                       |    1 -
 hw/ppc/ppc440_bamboo.c                   |    1 -
 hw/ppc/ppc4xx_devs.c                     |    1 -
 hw/ppc/ppc4xx_pci.c                      |    1 -
 hw/ppc/prep.c                            |    1 -
 hw/ppc/spapr.c                           |    1 -
 hw/ppc/spapr_iommu.c                     |    1 -
 hw/ppc/spapr_pci.c                       |    1 -
 hw/ppc/virtex_ml507.c                    |    1 -
 hw/s390x/css.c                           |    1 -
 hw/s390x/s390-virtio-ccw.c               |    1 -
 hw/s390x/s390-virtio.c                   |    1 -
 hw/sh4/r2d.c                             |    1 -
 hw/sh4/sh7750.c                          |    1 -
 hw/sh4/sh_pci.c                          |    1 -
 hw/sh4/shix.c                            |    1 -
 hw/sparc/leon3.c                         |    1 -
 hw/sparc64/sun4u.c                       |    1 -
 hw/timer/m48t59.c                        |    1 -
 hw/timer/sh_timer.c                      |    1 -
 hw/tpm/tpm_tis.c                         |    1 -
 hw/unicore32/puv3.c                      |    1 -
 hw/virtio/dataplane/vring.c              |    1 -
 hw/virtio/vhost.c                        |    1 -
 hw/virtio/virtio-balloon.c               |    1 -
 hw/virtio/virtio.c                       |    1 -
 hw/xen/xen_platform.c                    |    1 -
 hw/xen/xen_pt.c                          |    1 -
 hw/xtensa/xtensa_lx60.c                  |    1 -
 hw/xtensa/xtensa_sim.c                   |    1 -
 include/disas/disas.h                    |    6 +-
 include/exec/address-spaces.h            |   41 ----
 include/exec/cpu-all.h                   |    6 +
 include/exec/cpu-common.h                |    5 +
 include/exec/exec-all.h                  |  302 +----------------------------
 include/exec/gdbstub.h                   |    4 +-
 include/exec/memory.h                    |   19 +-
 include/exec/ram_addr.h                  |    5 +
 include/exec/softmmu_template.h          |    1 -
 include/exec/translate.h                 |  310 ++++++++++++++++++++++++++++++
 include/hw/arm/allwinner-a10.h           |    1 -
 include/hw/arm/omap.h                    |    6 +
 include/hw/hw.h                          |   13 +-
 include/hw/i386/apic.h                   |    6 +
 include/hw/i386/apic_internal.h          |    6 +
 include/hw/sh4/sh_intc.h                 |    2 +-
 include/hw/xen/xen.h                     |    4 +-
 include/migration/vmstate.h              |   11 ++
 include/qemu-common.h                    |   11 --
 include/qemu/log.h                       |    7 +-
 include/qom/cpu.h                        |   14 --
 include/sysemu/dma.h                     |    1 -
 include/sysemu/kvm.h                     |   12 +-
 include/sysemu/memory_mapping.h          |    3 +-
 ioport.c                                 |    1 -
 kvm-all.c                                |    1 -
 kvm-stub.c                               |    1 -
 memory.c                                 |    1 -
 memory_mapping.c                         |    7 +-
 monitor.c                                |    1 -
 target-sparc/mmu_helper.c                |    1 -
 target-xtensa/op_helper.c                |    1 -
 tcg/README                               |    2 +-
 tcg/tcg.h                                |    6 +
 tci.c                                    |    2 +-
 translate-all.c                          |   10 +-
 translate-all.h                          |   27 ---
 ui/input.c                               |    2 -
 user-exec.c                              |    7 +-
 xen-all.c                                |    1 -
 160 files changed, 552 insertions(+), 563 deletions(-)
 create mode 100644 docs/api-hierarchy.txt
 delete mode 100644 include/exec/address-spaces.h
 create mode 100644 include/exec/translate.h
 delete mode 100644 translate-all.h
Signature · 1 line
1.7.9.5