[PATCH 00/11] exec: Restrict various system emulation specific headers (to sysemu)

Philippe Mathieu-Daudé posted 11 patches 2 years, 11 months ago
Failed in applying to current master (apply log)
docs/devel/memory.rst                         |  2 +-
hw/arm/strongarm.h                            |  2 +-
hw/audio/lm4549.h                             |  2 +-
hw/display/framebuffer.h                      |  2 +-
hw/display/vga_int.h                          |  4 +-
hw/net/can/can_sja1000.h                      |  2 +-
hw/net/can/ctucan_core.h                      |  2 +-
hw/net/i82596.h                               |  4 +-
hw/net/net_tx_pkt.h                           |  2 +-
hw/net/pcnet.h                                |  2 +-
hw/ppc/mac.h                                  |  2 +-
hw/s390x/ipl.h                                |  2 +-
hw/tpm/tpm_ppi.h                              |  2 +-
hw/usb/hcd-uhci.h                             |  2 +-
hw/vfio/pci.h                                 |  2 +-
include/disas/disas.h                         |  4 +-
include/exec/cpu-all.h                        |  6 +-
include/exec/cpu-common.h                     |  2 +-
include/exec/cpu-defs.h                       |  2 +-
include/exec/cpu-io.h                         | 30 +++++++
include/exec/{ => sysemu}/address-spaces.h    | 14 +--
include/exec/{ => sysemu}/cputlb.h            | 11 ++-
include/exec/{ => sysemu}/hwaddr.h            |  7 +-
include/exec/{ => sysemu}/memory-internal.h   |  7 +-
include/exec/{ => sysemu}/memory.h            |  8 +-
include/hw/acpi/acpi.h                        |  2 +-
include/hw/acpi/tco.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/fsl-imx6ul.h                   |  2 +-
include/hw/arm/omap.h                         |  2 +-
include/hw/arm/pxa.h                          |  2 +-
include/hw/arm/sharpsl.h                      |  2 +-
include/hw/arm/soc_dma.h                      |  2 +-
include/hw/arm/sysbus-fdt.h                   |  2 +-
include/hw/arm/virt.h                         |  2 +-
include/hw/block/block.h                      |  2 +-
include/hw/block/fdc.h                        |  2 +-
include/hw/block/flash.h                      |  2 +-
include/hw/boards.h                           |  2 +-
include/hw/char/riscv_htif.h                  |  2 +-
include/hw/char/serial.h                      |  2 +-
include/hw/core/cpu.h                         |  4 +-
include/hw/cris/etraxfs_dma.h                 |  2 +-
include/hw/display/macfb.h                    |  2 +-
include/hw/display/vga.h                      |  2 +-
include/hw/dma/i8257.h                        |  2 +-
include/hw/gpio/npcm7xx_gpio.h                |  2 +-
include/hw/i2c/npcm7xx_smbus.h                |  2 +-
include/hw/i2c/pm_smbus.h                     |  2 +-
include/hw/i386/apic_internal.h               |  2 +-
include/hw/i386/ioapic_internal.h             |  2 +-
include/hw/i386/microvm.h                     |  2 +-
include/hw/i386/x86.h                         |  2 +-
include/hw/ide.h                              |  2 +-
include/hw/input/lasips2.h                    |  2 +-
include/hw/ipmi/ipmi.h                        |  2 +-
include/hw/isa/apm.h                          |  2 +-
include/hw/isa/isa.h                          |  4 +-
include/hw/loader-fit.h                       |  2 +-
include/hw/mem/npcm7xx_mc.h                   |  2 +-
include/hw/mem/pc-dimm.h                      |  2 +-
include/hw/mips/mips.h                        |  2 +-
include/hw/misc/allwinner-h3-dramc.h          |  2 +-
include/hw/misc/auxbus.h                      |  2 +-
include/hw/misc/empty_slot.h                  |  2 +-
include/hw/misc/mac_via.h                     |  2 +-
include/hw/misc/mos6522.h                     |  2 +-
include/hw/misc/npcm7xx_clk.h                 |  2 +-
include/hw/misc/npcm7xx_gcr.h                 |  2 +-
include/hw/misc/npcm7xx_mft.h                 |  2 +-
include/hw/net/msf2-emac.h                    |  2 +-
include/hw/nubus/nubus.h                      |  2 +-
include/hw/nvram/fw_cfg.h                     |  2 +-
include/hw/nvram/npcm7xx_otp.h                |  2 +-
include/hw/pci-host/gpex.h                    |  2 +-
include/hw/pci-host/pam.h                     |  2 +-
include/hw/pci-host/remote.h                  |  2 +-
include/hw/pci/pci.h                          |  2 +-
include/hw/pci/pcie_host.h                    |  2 +-
include/hw/pci/shpc.h                         |  2 +-
include/hw/ppc/mac_dbdma.h                    |  2 +-
include/hw/ppc/ppc4xx.h                       |  2 +-
include/hw/ppc/xics.h                         |  2 +-
include/hw/register.h                         |  2 +-
include/hw/remote/memory.h                    |  2 +-
include/hw/remote/mpqemu-link.h               |  2 +-
include/hw/remote/proxy-memory-listener.h     |  2 +-
include/hw/rtc/m48t59.h                       |  2 +-
include/hw/rtc/sun4v-rtc.h                    |  2 +-
include/hw/sh4/sh_intc.h                      |  2 +-
include/hw/sysbus.h                           |  2 +-
include/hw/timer/npcm7xx_timer.h              |  2 +-
include/hw/timer/tmu012.h                     |  2 +-
include/hw/tricore/triboard.h                 |  2 +-
include/hw/tricore/tricore.h                  |  2 +-
include/hw/usb.h                              |  2 +-
include/hw/vfio/vfio-common.h                 |  2 +-
include/hw/virtio/vhost-backend.h             |  2 +-
include/hw/virtio/vhost.h                     |  2 +-
include/hw/virtio/virtio-access.h             |  2 +-
include/hw/virtio/virtio.h                    |  2 +-
include/hw/xtensa/mx_pic.h                    |  2 +-
include/monitor/monitor.h                     |  2 +-
include/qemu/accel.h                          |  4 +-
include/qemu/iova-tree.h                      |  4 +-
include/qemu/userfaultfd.h                    |  2 +-
.../confidential-guest-support.h              |  6 +-
include/sysemu/dma.h                          |  4 +-
include/sysemu/hostmem.h                      |  2 +-
include/{exec => sysemu}/ioport.h             | 19 ++--
include/sysemu/kvm_int.h                      |  2 +-
include/sysemu/memory_mapping.h               |  2 +-
include/{exec => sysemu}/ram_addr.h           | 13 +--
include/{exec => sysemu}/ramblock.h           | 13 +--
include/sysemu/vhost-user-backend.h           |  2 +-
target/arm/kvm_arm.h                          |  2 +-
target/i386/hvf/vmx.h                         |  2 +-
accel/kvm/kvm-all.c                           |  4 +-
accel/tcg/cputlb.c                            |  8 +-
accel/tcg/translate-all.c                     |  8 +-
backends/confidential-guest-support.c         |  2 +-
backends/tpm/tpm_util.c                       |  2 +-
cpu.c                                         |  2 +-
dump/dump.c                                   |  2 +-
dump/win_dump.c                               |  2 +-
hw/arm/collie.c                               |  2 +-
hw/arm/exynos4_boards.c                       |  2 +-
hw/arm/fsl-imx31.c                            |  2 +-
hw/arm/gumstix.c                              |  2 +-
hw/arm/integratorcp.c                         |  2 +-
hw/arm/kzm.c                                  |  2 +-
hw/arm/mainstone.c                            |  2 +-
hw/arm/microbit.c                             |  2 +-
hw/arm/mps2-tz.c                              |  2 +-
hw/arm/mps2.c                                 |  2 +-
hw/arm/msf2-soc.c                             |  2 +-
hw/arm/msf2-som.c                             |  2 +-
hw/arm/musca.c                                |  2 +-
hw/arm/omap1.c                                |  2 +-
hw/arm/omap2.c                                |  2 +-
hw/arm/omap_sx1.c                             |  2 +-
hw/arm/orangepi.c                             |  2 +-
hw/arm/sbsa-ref.c                             |  2 +-
hw/arm/spitz.c                                |  2 +-
hw/arm/stellaris.c                            |  2 +-
hw/arm/stm32f205_soc.c                        |  2 +-
hw/arm/stm32f405_soc.c                        |  2 +-
hw/arm/tosa.c                                 |  2 +-
hw/arm/z2.c                                   |  2 +-
hw/avr/atmega.c                               |  4 +-
hw/block/nvme.c                               |  2 +-
hw/block/onenand.c                            |  2 +-
hw/char/goldfish_tty.c                        |  2 +-
hw/char/omap_uart.c                           |  2 +-
hw/core/loader-fit.c                          |  2 +-
hw/core/loader.c                              |  2 +-
hw/core/machine.c                             |  2 +-
hw/core/null-machine.c                        |  2 +-
hw/core/sysbus.c                              |  2 +-
hw/display/edid-region.c                      |  2 +-
hw/display/tc6393xb.c                         |  2 +-
hw/dma/etraxfs_dma.c                          |  2 +-
hw/dma/rc4030.c                               |  2 +-
hw/hyperv/hyperv.c                            |  2 +-
hw/i386/acpi-common.c                         |  2 +-
hw/i386/acpi-microvm.c                        |  2 +-
hw/i386/pc.c                                  |  2 +-
hw/i386/pc_piix.c                             |  2 +-
hw/i386/xen/xen-hvm.c                         |  1 +
hw/input/lasips2.c                            |  4 +-
hw/intc/mips_gic.c                            |  2 +-
hw/intc/ompic.c                               |  2 +-
hw/m68k/next-cube.c                           |  2 +-
hw/microblaze/petalogix_ml605_mmu.c           |  2 +-
hw/microblaze/petalogix_s3adsp1800_mmu.c      |  2 +-
hw/microblaze/xlnx-zynqmp-pmu.c               |  2 +-
hw/misc/allwinner-h3-dramc.c                  |  2 +-
hw/misc/omap_gpmc.c                           |  4 +-
hw/net/ne2000.c                               |  2 +-
hw/nios2/10m50_devboard.c                     |  4 +-
hw/nios2/generic_nommu.c                      |  4 +-
hw/pci-bridge/pci_bridge_dev.c                |  2 +-
hw/pci-host/mv64361.c                         |  2 +-
hw/pci-host/remote.c                          |  2 +-
hw/ppc/pef.c                                  |  2 +-
hw/ppc/pegasos2.c                             |  2 +-
hw/ppc/pnv_homer.c                            |  4 +-
hw/ppc/ppc405_uc.c                            |  2 +-
hw/ppc/ppc440_uc.c                            |  2 +-
hw/ppc/ppc4xx_devs.c                          |  2 +-
hw/ppc/prep_systemio.c                        |  2 +-
hw/ppc/rs6000_mc.c                            |  2 +-
hw/ppc/sam460ex.c                             |  2 +-
hw/ppc/spapr.c                                |  2 +-
hw/ppc/spapr_caps.c                           |  2 +-
hw/ppc/spapr_ovec.c                           |  2 +-
hw/ppc/spapr_pci.c                            |  2 +-
hw/remote/machine.c                           |  2 +-
hw/remote/memory.c                            |  2 +-
hw/remote/proxy-memory-listener.c             |  4 +-
hw/riscv/shakti_c.c                           |  2 +-
hw/s390x/css.c                                |  2 +-
hw/s390x/pv.c                                 |  2 +-
hw/s390x/s390-pci-inst.c                      |  2 +-
hw/s390x/s390-stattrib-kvm.c                  |  2 +-
hw/s390x/s390-stattrib.c                      |  2 +-
hw/s390x/s390-virtio-ccw.c                    |  2 +-
hw/sparc/sun4m_iommu.c                        |  2 +-
hw/sparc64/sun4u_iommu.c                      |  2 +-
hw/timer/hpet.c                               |  2 +-
hw/timer/sh_timer.c                           |  2 +-
hw/vfio/ap.c                                  |  2 +-
hw/vfio/ccw.c                                 |  2 +-
hw/vfio/common.c                              |  6 +-
hw/vfio/migration.c                           |  2 +-
hw/vfio/platform.c                            |  4 +-
hw/vfio/spapr.c                               |  2 +-
hw/virtio/virtio-balloon.c                    |  2 +-
hw/virtio/virtio-bus.c                        |  2 +-
hw/virtio/virtio-mem.c                        |  2 +-
hw/xtensa/sim.c                               |  2 +-
hw/xtensa/virt.c                              |  2 +-
hw/xtensa/xtensa_memory.c                     |  2 +-
hw/xtensa/xtfpga.c                            |  2 +-
migration/dirtyrate.c                         |  2 +-
migration/multifd.c                           |  2 +-
migration/postcopy-ram.c                      |  2 +-
migration/ram.c                               |  2 +-
migration/rdma.c                              |  2 +-
migration/savevm.c                            |  2 +-
monitor/misc.c                                |  4 +-
plugins/api.c                                 |  2 +-
semihosting/arm-compat-semi.c                 |  2 +-
softmmu/cpu-io.c                              | 88 +++++++++++++++++++
softmmu/ioport.c                              | 66 +-------------
softmmu/memory.c                              |  6 +-
softmmu/memory_mapping.c                      |  4 +-
softmmu/physmem.c                             |  8 +-
softmmu/qtest.c                               |  5 +-
softmmu/vl.c                                  |  2 +-
stubs/ram-block.c                             |  2 +-
target/arm/cpu.c                              |  2 +-
target/arm/cpu64.c                            |  2 +-
target/arm/kvm.c                              |  2 +-
target/arm/mte_helper.c                       |  2 +-
target/avr/helper.c                           |  2 +-
target/i386/cpu-sysemu.c                      |  2 +-
target/i386/cpu.c                             |  2 +-
target/i386/hax/hax-all.c                     |  2 +-
target/i386/hax/hax-mem.c                     |  2 +-
target/i386/nvmm/nvmm-all.c                   |  4 +-
target/i386/sev.c                             |  2 +-
target/i386/tcg/sysemu/misc_helper.c          |  2 +-
target/i386/tcg/sysemu/tcg-cpu.c              |  2 +-
target/i386/whpx/whpx-all.c                   |  4 +-
target/ppc/kvm.c                              |  2 +-
target/s390x/excp_helper.c                    |  2 +-
target/s390x/kvm.c                            |  2 +-
target/s390x/misc_helper.c                    |  2 +-
target/s390x/mmu_helper.c                     |  2 +-
target/s390x/sigp.c                           |  2 +-
target/xtensa/dbg_helper.c                    |  2 +-
tests/qtest/fuzz/generic_fuzz.c               |  4 +-
tests/qtest/fuzz/qos_fuzz.c                   |  2 +-
tests/qtest/fuzz/qtest_wrappers.c             |  3 +-
tests/qtest/microbit-test.c                   |  2 +-
ui/console.c                                  |  2 +-
util/vfio-helpers.c                           |  2 +-
MAINTAINERS                                   | 12 +--
scripts/analyze-inclusions                    |  2 +-
.../codeconverter/test_regexps.py             |  4 +-
softmmu/meson.build                           |  3 +-
target/arm/meson.build                        |  4 +-
275 files changed, 491 insertions(+), 409 deletions(-)
create mode 100644 include/exec/cpu-io.h
rename include/exec/{ => sysemu}/address-spaces.h (80%)
rename include/exec/{ => sysemu}/cputlb.h (86%)
rename include/exec/{ => sysemu}/hwaddr.h (81%)
rename include/exec/{ => sysemu}/memory-internal.h (94%)
rename include/exec/{ => sysemu}/memory.h (99%)
rename include/{exec => sysemu}/confidential-guest-support.h (95%)
rename include/{exec => sysemu}/ioport.h (86%)
rename include/{exec => sysemu}/ram_addr.h (99%)
rename include/{exec => sysemu}/ramblock.h (92%)
create mode 100644 softmmu/cpu-io.c
[PATCH 00/11] exec: Restrict various system emulation specific headers (to sysemu)
Posted by Philippe Mathieu-Daudé 2 years, 11 months ago
Hi,

This series restricts various system emulation specific headers
by moving them under sysemu/ and adding #error if included from
user emulation.
We could avoid the sysemu/ rename if too much churn, but enforcing
error of headers that must not be included in user emulation allows
further cleanups (to be sent later).

I had to split the ioport.c file to cpu-io (generic to any target
having access to I/O bus, but I haven't checked the TCG implementation
details for user emulation) VS ioport (system specific, access to
hardware).

Many files are changed, but this is mostly one-line mechanical
updates of old path to new path using sed.

Regards,

Phil.

Philippe Mathieu-Daudé (11):
  NOTFORMERGE target/arm: Restrict KVM files to softmmu
  exec: Restrict hwaddr.h to sysemu/
  exec: Restrict cputlb.h to sysemu/
  exec: Restrict memory.h to sysemu/
  exec: Restrict memory-internal.h to sysemu/
  exec: Restrict address-spaces.h to sysemu/
  exec: Extract CPU I/O instructions to "cpu-io.h"
  exec: Restrict ioport.h to sysemu/
  exec: Restrict ram_addr.h to sysemu/
  exec: Restrict ramblock.h to sysemu/
  exec: Restrict confidential-guest-support.h to sysemu/

 docs/devel/memory.rst                         |  2 +-
 hw/arm/strongarm.h                            |  2 +-
 hw/audio/lm4549.h                             |  2 +-
 hw/display/framebuffer.h                      |  2 +-
 hw/display/vga_int.h                          |  4 +-
 hw/net/can/can_sja1000.h                      |  2 +-
 hw/net/can/ctucan_core.h                      |  2 +-
 hw/net/i82596.h                               |  4 +-
 hw/net/net_tx_pkt.h                           |  2 +-
 hw/net/pcnet.h                                |  2 +-
 hw/ppc/mac.h                                  |  2 +-
 hw/s390x/ipl.h                                |  2 +-
 hw/tpm/tpm_ppi.h                              |  2 +-
 hw/usb/hcd-uhci.h                             |  2 +-
 hw/vfio/pci.h                                 |  2 +-
 include/disas/disas.h                         |  4 +-
 include/exec/cpu-all.h                        |  6 +-
 include/exec/cpu-common.h                     |  2 +-
 include/exec/cpu-defs.h                       |  2 +-
 include/exec/cpu-io.h                         | 30 +++++++
 include/exec/{ => sysemu}/address-spaces.h    | 14 +--
 include/exec/{ => sysemu}/cputlb.h            | 11 ++-
 include/exec/{ => sysemu}/hwaddr.h            |  7 +-
 include/exec/{ => sysemu}/memory-internal.h   |  7 +-
 include/exec/{ => sysemu}/memory.h            |  8 +-
 include/hw/acpi/acpi.h                        |  2 +-
 include/hw/acpi/tco.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/fsl-imx6ul.h                   |  2 +-
 include/hw/arm/omap.h                         |  2 +-
 include/hw/arm/pxa.h                          |  2 +-
 include/hw/arm/sharpsl.h                      |  2 +-
 include/hw/arm/soc_dma.h                      |  2 +-
 include/hw/arm/sysbus-fdt.h                   |  2 +-
 include/hw/arm/virt.h                         |  2 +-
 include/hw/block/block.h                      |  2 +-
 include/hw/block/fdc.h                        |  2 +-
 include/hw/block/flash.h                      |  2 +-
 include/hw/boards.h                           |  2 +-
 include/hw/char/riscv_htif.h                  |  2 +-
 include/hw/char/serial.h                      |  2 +-
 include/hw/core/cpu.h                         |  4 +-
 include/hw/cris/etraxfs_dma.h                 |  2 +-
 include/hw/display/macfb.h                    |  2 +-
 include/hw/display/vga.h                      |  2 +-
 include/hw/dma/i8257.h                        |  2 +-
 include/hw/gpio/npcm7xx_gpio.h                |  2 +-
 include/hw/i2c/npcm7xx_smbus.h                |  2 +-
 include/hw/i2c/pm_smbus.h                     |  2 +-
 include/hw/i386/apic_internal.h               |  2 +-
 include/hw/i386/ioapic_internal.h             |  2 +-
 include/hw/i386/microvm.h                     |  2 +-
 include/hw/i386/x86.h                         |  2 +-
 include/hw/ide.h                              |  2 +-
 include/hw/input/lasips2.h                    |  2 +-
 include/hw/ipmi/ipmi.h                        |  2 +-
 include/hw/isa/apm.h                          |  2 +-
 include/hw/isa/isa.h                          |  4 +-
 include/hw/loader-fit.h                       |  2 +-
 include/hw/mem/npcm7xx_mc.h                   |  2 +-
 include/hw/mem/pc-dimm.h                      |  2 +-
 include/hw/mips/mips.h                        |  2 +-
 include/hw/misc/allwinner-h3-dramc.h          |  2 +-
 include/hw/misc/auxbus.h                      |  2 +-
 include/hw/misc/empty_slot.h                  |  2 +-
 include/hw/misc/mac_via.h                     |  2 +-
 include/hw/misc/mos6522.h                     |  2 +-
 include/hw/misc/npcm7xx_clk.h                 |  2 +-
 include/hw/misc/npcm7xx_gcr.h                 |  2 +-
 include/hw/misc/npcm7xx_mft.h                 |  2 +-
 include/hw/net/msf2-emac.h                    |  2 +-
 include/hw/nubus/nubus.h                      |  2 +-
 include/hw/nvram/fw_cfg.h                     |  2 +-
 include/hw/nvram/npcm7xx_otp.h                |  2 +-
 include/hw/pci-host/gpex.h                    |  2 +-
 include/hw/pci-host/pam.h                     |  2 +-
 include/hw/pci-host/remote.h                  |  2 +-
 include/hw/pci/pci.h                          |  2 +-
 include/hw/pci/pcie_host.h                    |  2 +-
 include/hw/pci/shpc.h                         |  2 +-
 include/hw/ppc/mac_dbdma.h                    |  2 +-
 include/hw/ppc/ppc4xx.h                       |  2 +-
 include/hw/ppc/xics.h                         |  2 +-
 include/hw/register.h                         |  2 +-
 include/hw/remote/memory.h                    |  2 +-
 include/hw/remote/mpqemu-link.h               |  2 +-
 include/hw/remote/proxy-memory-listener.h     |  2 +-
 include/hw/rtc/m48t59.h                       |  2 +-
 include/hw/rtc/sun4v-rtc.h                    |  2 +-
 include/hw/sh4/sh_intc.h                      |  2 +-
 include/hw/sysbus.h                           |  2 +-
 include/hw/timer/npcm7xx_timer.h              |  2 +-
 include/hw/timer/tmu012.h                     |  2 +-
 include/hw/tricore/triboard.h                 |  2 +-
 include/hw/tricore/tricore.h                  |  2 +-
 include/hw/usb.h                              |  2 +-
 include/hw/vfio/vfio-common.h                 |  2 +-
 include/hw/virtio/vhost-backend.h             |  2 +-
 include/hw/virtio/vhost.h                     |  2 +-
 include/hw/virtio/virtio-access.h             |  2 +-
 include/hw/virtio/virtio.h                    |  2 +-
 include/hw/xtensa/mx_pic.h                    |  2 +-
 include/monitor/monitor.h                     |  2 +-
 include/qemu/accel.h                          |  4 +-
 include/qemu/iova-tree.h                      |  4 +-
 include/qemu/userfaultfd.h                    |  2 +-
 .../confidential-guest-support.h              |  6 +-
 include/sysemu/dma.h                          |  4 +-
 include/sysemu/hostmem.h                      |  2 +-
 include/{exec => sysemu}/ioport.h             | 19 ++--
 include/sysemu/kvm_int.h                      |  2 +-
 include/sysemu/memory_mapping.h               |  2 +-
 include/{exec => sysemu}/ram_addr.h           | 13 +--
 include/{exec => sysemu}/ramblock.h           | 13 +--
 include/sysemu/vhost-user-backend.h           |  2 +-
 target/arm/kvm_arm.h                          |  2 +-
 target/i386/hvf/vmx.h                         |  2 +-
 accel/kvm/kvm-all.c                           |  4 +-
 accel/tcg/cputlb.c                            |  8 +-
 accel/tcg/translate-all.c                     |  8 +-
 backends/confidential-guest-support.c         |  2 +-
 backends/tpm/tpm_util.c                       |  2 +-
 cpu.c                                         |  2 +-
 dump/dump.c                                   |  2 +-
 dump/win_dump.c                               |  2 +-
 hw/arm/collie.c                               |  2 +-
 hw/arm/exynos4_boards.c                       |  2 +-
 hw/arm/fsl-imx31.c                            |  2 +-
 hw/arm/gumstix.c                              |  2 +-
 hw/arm/integratorcp.c                         |  2 +-
 hw/arm/kzm.c                                  |  2 +-
 hw/arm/mainstone.c                            |  2 +-
 hw/arm/microbit.c                             |  2 +-
 hw/arm/mps2-tz.c                              |  2 +-
 hw/arm/mps2.c                                 |  2 +-
 hw/arm/msf2-soc.c                             |  2 +-
 hw/arm/msf2-som.c                             |  2 +-
 hw/arm/musca.c                                |  2 +-
 hw/arm/omap1.c                                |  2 +-
 hw/arm/omap2.c                                |  2 +-
 hw/arm/omap_sx1.c                             |  2 +-
 hw/arm/orangepi.c                             |  2 +-
 hw/arm/sbsa-ref.c                             |  2 +-
 hw/arm/spitz.c                                |  2 +-
 hw/arm/stellaris.c                            |  2 +-
 hw/arm/stm32f205_soc.c                        |  2 +-
 hw/arm/stm32f405_soc.c                        |  2 +-
 hw/arm/tosa.c                                 |  2 +-
 hw/arm/z2.c                                   |  2 +-
 hw/avr/atmega.c                               |  4 +-
 hw/block/nvme.c                               |  2 +-
 hw/block/onenand.c                            |  2 +-
 hw/char/goldfish_tty.c                        |  2 +-
 hw/char/omap_uart.c                           |  2 +-
 hw/core/loader-fit.c                          |  2 +-
 hw/core/loader.c                              |  2 +-
 hw/core/machine.c                             |  2 +-
 hw/core/null-machine.c                        |  2 +-
 hw/core/sysbus.c                              |  2 +-
 hw/display/edid-region.c                      |  2 +-
 hw/display/tc6393xb.c                         |  2 +-
 hw/dma/etraxfs_dma.c                          |  2 +-
 hw/dma/rc4030.c                               |  2 +-
 hw/hyperv/hyperv.c                            |  2 +-
 hw/i386/acpi-common.c                         |  2 +-
 hw/i386/acpi-microvm.c                        |  2 +-
 hw/i386/pc.c                                  |  2 +-
 hw/i386/pc_piix.c                             |  2 +-
 hw/i386/xen/xen-hvm.c                         |  1 +
 hw/input/lasips2.c                            |  4 +-
 hw/intc/mips_gic.c                            |  2 +-
 hw/intc/ompic.c                               |  2 +-
 hw/m68k/next-cube.c                           |  2 +-
 hw/microblaze/petalogix_ml605_mmu.c           |  2 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c      |  2 +-
 hw/microblaze/xlnx-zynqmp-pmu.c               |  2 +-
 hw/misc/allwinner-h3-dramc.c                  |  2 +-
 hw/misc/omap_gpmc.c                           |  4 +-
 hw/net/ne2000.c                               |  2 +-
 hw/nios2/10m50_devboard.c                     |  4 +-
 hw/nios2/generic_nommu.c                      |  4 +-
 hw/pci-bridge/pci_bridge_dev.c                |  2 +-
 hw/pci-host/mv64361.c                         |  2 +-
 hw/pci-host/remote.c                          |  2 +-
 hw/ppc/pef.c                                  |  2 +-
 hw/ppc/pegasos2.c                             |  2 +-
 hw/ppc/pnv_homer.c                            |  4 +-
 hw/ppc/ppc405_uc.c                            |  2 +-
 hw/ppc/ppc440_uc.c                            |  2 +-
 hw/ppc/ppc4xx_devs.c                          |  2 +-
 hw/ppc/prep_systemio.c                        |  2 +-
 hw/ppc/rs6000_mc.c                            |  2 +-
 hw/ppc/sam460ex.c                             |  2 +-
 hw/ppc/spapr.c                                |  2 +-
 hw/ppc/spapr_caps.c                           |  2 +-
 hw/ppc/spapr_ovec.c                           |  2 +-
 hw/ppc/spapr_pci.c                            |  2 +-
 hw/remote/machine.c                           |  2 +-
 hw/remote/memory.c                            |  2 +-
 hw/remote/proxy-memory-listener.c             |  4 +-
 hw/riscv/shakti_c.c                           |  2 +-
 hw/s390x/css.c                                |  2 +-
 hw/s390x/pv.c                                 |  2 +-
 hw/s390x/s390-pci-inst.c                      |  2 +-
 hw/s390x/s390-stattrib-kvm.c                  |  2 +-
 hw/s390x/s390-stattrib.c                      |  2 +-
 hw/s390x/s390-virtio-ccw.c                    |  2 +-
 hw/sparc/sun4m_iommu.c                        |  2 +-
 hw/sparc64/sun4u_iommu.c                      |  2 +-
 hw/timer/hpet.c                               |  2 +-
 hw/timer/sh_timer.c                           |  2 +-
 hw/vfio/ap.c                                  |  2 +-
 hw/vfio/ccw.c                                 |  2 +-
 hw/vfio/common.c                              |  6 +-
 hw/vfio/migration.c                           |  2 +-
 hw/vfio/platform.c                            |  4 +-
 hw/vfio/spapr.c                               |  2 +-
 hw/virtio/virtio-balloon.c                    |  2 +-
 hw/virtio/virtio-bus.c                        |  2 +-
 hw/virtio/virtio-mem.c                        |  2 +-
 hw/xtensa/sim.c                               |  2 +-
 hw/xtensa/virt.c                              |  2 +-
 hw/xtensa/xtensa_memory.c                     |  2 +-
 hw/xtensa/xtfpga.c                            |  2 +-
 migration/dirtyrate.c                         |  2 +-
 migration/multifd.c                           |  2 +-
 migration/postcopy-ram.c                      |  2 +-
 migration/ram.c                               |  2 +-
 migration/rdma.c                              |  2 +-
 migration/savevm.c                            |  2 +-
 monitor/misc.c                                |  4 +-
 plugins/api.c                                 |  2 +-
 semihosting/arm-compat-semi.c                 |  2 +-
 softmmu/cpu-io.c                              | 88 +++++++++++++++++++
 softmmu/ioport.c                              | 66 +-------------
 softmmu/memory.c                              |  6 +-
 softmmu/memory_mapping.c                      |  4 +-
 softmmu/physmem.c                             |  8 +-
 softmmu/qtest.c                               |  5 +-
 softmmu/vl.c                                  |  2 +-
 stubs/ram-block.c                             |  2 +-
 target/arm/cpu.c                              |  2 +-
 target/arm/cpu64.c                            |  2 +-
 target/arm/kvm.c                              |  2 +-
 target/arm/mte_helper.c                       |  2 +-
 target/avr/helper.c                           |  2 +-
 target/i386/cpu-sysemu.c                      |  2 +-
 target/i386/cpu.c                             |  2 +-
 target/i386/hax/hax-all.c                     |  2 +-
 target/i386/hax/hax-mem.c                     |  2 +-
 target/i386/nvmm/nvmm-all.c                   |  4 +-
 target/i386/sev.c                             |  2 +-
 target/i386/tcg/sysemu/misc_helper.c          |  2 +-
 target/i386/tcg/sysemu/tcg-cpu.c              |  2 +-
 target/i386/whpx/whpx-all.c                   |  4 +-
 target/ppc/kvm.c                              |  2 +-
 target/s390x/excp_helper.c                    |  2 +-
 target/s390x/kvm.c                            |  2 +-
 target/s390x/misc_helper.c                    |  2 +-
 target/s390x/mmu_helper.c                     |  2 +-
 target/s390x/sigp.c                           |  2 +-
 target/xtensa/dbg_helper.c                    |  2 +-
 tests/qtest/fuzz/generic_fuzz.c               |  4 +-
 tests/qtest/fuzz/qos_fuzz.c                   |  2 +-
 tests/qtest/fuzz/qtest_wrappers.c             |  3 +-
 tests/qtest/microbit-test.c                   |  2 +-
 ui/console.c                                  |  2 +-
 util/vfio-helpers.c                           |  2 +-
 MAINTAINERS                                   | 12 +--
 scripts/analyze-inclusions                    |  2 +-
 .../codeconverter/test_regexps.py             |  4 +-
 softmmu/meson.build                           |  3 +-
 target/arm/meson.build                        |  4 +-
 275 files changed, 491 insertions(+), 409 deletions(-)
 create mode 100644 include/exec/cpu-io.h
 rename include/exec/{ => sysemu}/address-spaces.h (80%)
 rename include/exec/{ => sysemu}/cputlb.h (86%)
 rename include/exec/{ => sysemu}/hwaddr.h (81%)
 rename include/exec/{ => sysemu}/memory-internal.h (94%)
 rename include/exec/{ => sysemu}/memory.h (99%)
 rename include/{exec => sysemu}/confidential-guest-support.h (95%)
 rename include/{exec => sysemu}/ioport.h (86%)
 rename include/{exec => sysemu}/ram_addr.h (99%)
 rename include/{exec => sysemu}/ramblock.h (92%)
 create mode 100644 softmmu/cpu-io.c

-- 
2.26.3

Re: [PATCH 00/11] exec: Restrict various system emulation specific headers (to sysemu)
Posted by Philippe Mathieu-Daudé 2 years, 11 months ago
Ping for review? :)

On 5/17/21 1:11 PM, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series restricts various system emulation specific headers
> by moving them under sysemu/ and adding #error if included from
> user emulation.
> We could avoid the sysemu/ rename if too much churn, but enforcing
> error of headers that must not be included in user emulation allows
> further cleanups (to be sent later).
> 
> I had to split the ioport.c file to cpu-io (generic to any target
> having access to I/O bus, but I haven't checked the TCG implementation
> details for user emulation) VS ioport (system specific, access to
> hardware).
> 
> Many files are changed, but this is mostly one-line mechanical
> updates of old path to new path using sed.
> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (11):
>   NOTFORMERGE target/arm: Restrict KVM files to softmmu
>   exec: Restrict hwaddr.h to sysemu/
>   exec: Restrict cputlb.h to sysemu/
>   exec: Restrict memory.h to sysemu/
>   exec: Restrict memory-internal.h to sysemu/
>   exec: Restrict address-spaces.h to sysemu/
>   exec: Extract CPU I/O instructions to "cpu-io.h"
>   exec: Restrict ioport.h to sysemu/
>   exec: Restrict ram_addr.h to sysemu/
>   exec: Restrict ramblock.h to sysemu/
>   exec: Restrict confidential-guest-support.h to sysemu/

>  275 files changed, 491 insertions(+), 409 deletions(-)
>  create mode 100644 include/exec/cpu-io.h
>  rename include/exec/{ => sysemu}/address-spaces.h (80%)
>  rename include/exec/{ => sysemu}/cputlb.h (86%)
>  rename include/exec/{ => sysemu}/hwaddr.h (81%)
>  rename include/exec/{ => sysemu}/memory-internal.h (94%)
>  rename include/exec/{ => sysemu}/memory.h (99%)
>  rename include/{exec => sysemu}/confidential-guest-support.h (95%)
>  rename include/{exec => sysemu}/ioport.h (86%)
>  rename include/{exec => sysemu}/ram_addr.h (99%)
>  rename include/{exec => sysemu}/ramblock.h (92%)
>  create mode 100644 softmmu/cpu-io.c
> 

Re: [PATCH 00/11] exec: Restrict various system emulation specific headers (to sysemu)
Posted by Philippe Mathieu-Daudé 2 years, 5 months ago
6 months passed, heavy rebased required, dropping for now.

On 5/25/21 16:13, Philippe Mathieu-Daudé wrote:
> Ping for review? :)
> 
> On 5/17/21 1:11 PM, Philippe Mathieu-Daudé wrote:
>> Hi,
>>
>> This series restricts various system emulation specific headers
>> by moving them under sysemu/ and adding #error if included from
>> user emulation.
>> We could avoid the sysemu/ rename if too much churn, but enforcing
>> error of headers that must not be included in user emulation allows
>> further cleanups (to be sent later).
>>
>> I had to split the ioport.c file to cpu-io (generic to any target
>> having access to I/O bus, but I haven't checked the TCG implementation
>> details for user emulation) VS ioport (system specific, access to
>> hardware).
>>
>> Many files are changed, but this is mostly one-line mechanical
>> updates of old path to new path using sed.
>>
>> Regards,
>>
>> Phil.
>>
>> Philippe Mathieu-Daudé (11):
>>   NOTFORMERGE target/arm: Restrict KVM files to softmmu
>>   exec: Restrict hwaddr.h to sysemu/
>>   exec: Restrict cputlb.h to sysemu/
>>   exec: Restrict memory.h to sysemu/
>>   exec: Restrict memory-internal.h to sysemu/
>>   exec: Restrict address-spaces.h to sysemu/
>>   exec: Extract CPU I/O instructions to "cpu-io.h"
>>   exec: Restrict ioport.h to sysemu/
>>   exec: Restrict ram_addr.h to sysemu/
>>   exec: Restrict ramblock.h to sysemu/
>>   exec: Restrict confidential-guest-support.h to sysemu/
> 
>>  275 files changed, 491 insertions(+), 409 deletions(-)
>>  create mode 100644 include/exec/cpu-io.h
>>  rename include/exec/{ => sysemu}/address-spaces.h (80%)
>>  rename include/exec/{ => sysemu}/cputlb.h (86%)
>>  rename include/exec/{ => sysemu}/hwaddr.h (81%)
>>  rename include/exec/{ => sysemu}/memory-internal.h (94%)
>>  rename include/exec/{ => sysemu}/memory.h (99%)
>>  rename include/{exec => sysemu}/confidential-guest-support.h (95%)
>>  rename include/{exec => sysemu}/ioport.h (86%)
>>  rename include/{exec => sysemu}/ram_addr.h (99%)
>>  rename include/{exec => sysemu}/ramblock.h (92%)
>>  create mode 100644 softmmu/cpu-io.c
>>
>