qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Xuebing Wang
Subject: [Qemu-devel] [Discussion 00/10] about API hierarchy
Date: Tue, 4 Mar 2014 10:47:20 +0800

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

-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]