[PATCH RESEND v2 00/32] hw: Sanitize various MemoryRegion calls

Philippe Mathieu-Daudé posted 32 patches 5 years, 8 months ago
Test docker-quick@centos7 passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Failed in applying to current master (apply log)
There is a newer version of this series
.../memory-region-housekeeping.cocci          | 159 ++++++++++++++++++
.../coccinelle/memory-region-init-ram.cocci   |  38 -----
hw/arm/exynos4210.c                           |  14 +-
hw/arm/fsl-imx25.c                            |  10 +-
hw/arm/fsl-imx31.c                            |   6 +-
hw/arm/fsl-imx6.c                             |   6 +-
hw/arm/fsl-imx6ul.c                           |   9 +-
hw/arm/mainstone.c                            |   3 +-
hw/arm/msf2-soc.c                             |   6 +-
hw/arm/nrf51_soc.c                            |   2 +-
hw/arm/omap_sx1.c                             |   6 +-
hw/arm/palm.c                                 |   3 +-
hw/arm/spitz.c                                |   3 +-
hw/arm/stellaris.c                            |   3 +-
hw/arm/stm32f205_soc.c                        |  11 +-
hw/arm/stm32f405_soc.c                        |  12 +-
hw/arm/tosa.c                                 |   3 +-
hw/arm/xlnx-zynqmp.c                          |  11 +-
hw/block/onenand.c                            |   7 +-
hw/char/serial.c                              |   7 +-
hw/core/platform-bus.c                        |   3 +-
hw/display/cg3.c                              |   5 +-
hw/display/g364fb.c                           |   3 +-
hw/display/macfb.c                            |   4 +-
hw/display/tcx.c                              |   5 +-
hw/dma/i8257.c                                |   2 +-
hw/dma/rc4030.c                               |   4 +-
hw/i386/pc_sysfw.c                            |  29 +---
hw/input/milkymist-softusb.c                  |  12 +-
hw/m68k/q800.c                                |   3 +-
hw/mips/mips_fulong2e.c                       |   3 +-
hw/mips/mips_jazz.c                           |   6 +-
hw/mips/mips_mipssim.c                        |   3 +-
hw/mips/mips_r4k.c                            |   3 +-
hw/net/dp8393x.c                              |   5 +-
hw/net/milkymist-minimac2.c                   |   8 +-
hw/pci-host/prep.c                            |   5 +-
hw/ppc/mac_newworld.c                         |   3 +-
hw/ppc/mac_oldworld.c                         |   3 +-
hw/ppc/ppc405_boards.c                        |   6 +-
hw/riscv/sifive_e.c                           |   9 +-
hw/riscv/sifive_u.c                           |   2 +-
hw/sh4/shix.c                                 |   3 +-
hw/sparc/leon3.c                              |   3 +-
memory.c                                      |  16 +-
MAINTAINERS                                   |   1 +
46 files changed, 268 insertions(+), 200 deletions(-)
create mode 100644 scripts/coccinelle/memory-region-housekeeping.cocci
delete mode 100644 scripts/coccinelle/memory-region-init-ram.cocci
[PATCH RESEND v2 00/32] hw: Sanitize various MemoryRegion calls
Posted by Philippe Mathieu-Daudé 5 years, 8 months ago
Resending after being kicked by gsmtp...

 4.3.0 Temporary System Problem.  Try again later (10). t81sm863436wmg.6 - gsmtp

This series simplifies various memory API calls when creating
memory regions.

Most of the patches are generated with Coccinelle semantic
patches (provided).
Few more cleanups added while writting the patches have been
added.

v1 was 'Let devices own the MemoryRegion they create':
https://www.mail-archive.com/qemu-devel@nongnu.org/msg681960.html

Since v1:
- understood a bit more Peter Maydell comments regarding
  how memory devices are migrated.

Supersedes: <20200221173049.18134-1-philmd@redhat.com>

Philippe Mathieu-Daudé (32):
  memory: Correctly return alias region type
  memory: Simplify memory_region_init_rom_nomigrate() to ease review
  scripts/cocci: Rename memory-region-{init-ram -> housekeeping}
  scripts/cocci: Patch to replace memory_region_init_{ram,readonly ->
    rom}
  hw/arm: Use memory_region_init_rom() with read-only regions
  hw/display: Use memory_region_init_rom() with read-only regions
  hw/mips: Use memory_region_init_rom() with read-only regions
  hw/m68k: Use memory_region_init_rom() with read-only regions
  hw/net: Use memory_region_init_rom() with read-only regions
  hw/pci-host: Use memory_region_init_rom() with read-only regions
  hw/ppc: Use memory_region_init_rom() with read-only regions
  hw/riscv: Use memory_region_init_rom() with read-only regions
  hw/sh4: Use memory_region_init_rom() with read-only regions
  hw/sparc: Use memory_region_init_rom() with read-only regions
  scripts/cocci: Patch to detect potential use of memory_region_init_rom
  hw/arm/stm32: Use memory_region_init_rom() with read-only regions
  hw/ppc/ppc405: Use memory_region_init_rom() with read-only regions
  hw/i386/pc_sysfw: Simplify using memory_region_init_alias()
  hw/i386/pc_sysfw: Remove unused 'ram_size' argument
  scripts/cocci: Patch to remove unnecessary
    memory_region_set_readonly()
  hw/arm: Remove unnecessary memory_region_set_readonly() on ROM alias
  scripts/cocci: Patch to let devices own their MemoryRegions
  hw/arm: Let devices own the MemoryRegion they create
  hw/char: Let devices own the MemoryRegion they create
  hw/core: Let devices own the MemoryRegion they create
  hw/display: Let devices own the MemoryRegion they create
  hw/dma: Let devices own the MemoryRegion they create
  hw/riscv: Let devices own the MemoryRegion they create
  hw/input/milkymist-softusb: Remove unused 'pmem_ptr' field
  hw/input/milkymist-softusb: Let devices own the MemoryRegion they
    create
  hw/net/milkymist-minimac2: Let devices own the MemoryRegion they
    create
  hw/block/onenand: Let devices own the MemoryRegion they create

 .../memory-region-housekeeping.cocci          | 159 ++++++++++++++++++
 .../coccinelle/memory-region-init-ram.cocci   |  38 -----
 hw/arm/exynos4210.c                           |  14 +-
 hw/arm/fsl-imx25.c                            |  10 +-
 hw/arm/fsl-imx31.c                            |   6 +-
 hw/arm/fsl-imx6.c                             |   6 +-
 hw/arm/fsl-imx6ul.c                           |   9 +-
 hw/arm/mainstone.c                            |   3 +-
 hw/arm/msf2-soc.c                             |   6 +-
 hw/arm/nrf51_soc.c                            |   2 +-
 hw/arm/omap_sx1.c                             |   6 +-
 hw/arm/palm.c                                 |   3 +-
 hw/arm/spitz.c                                |   3 +-
 hw/arm/stellaris.c                            |   3 +-
 hw/arm/stm32f205_soc.c                        |  11 +-
 hw/arm/stm32f405_soc.c                        |  12 +-
 hw/arm/tosa.c                                 |   3 +-
 hw/arm/xlnx-zynqmp.c                          |  11 +-
 hw/block/onenand.c                            |   7 +-
 hw/char/serial.c                              |   7 +-
 hw/core/platform-bus.c                        |   3 +-
 hw/display/cg3.c                              |   5 +-
 hw/display/g364fb.c                           |   3 +-
 hw/display/macfb.c                            |   4 +-
 hw/display/tcx.c                              |   5 +-
 hw/dma/i8257.c                                |   2 +-
 hw/dma/rc4030.c                               |   4 +-
 hw/i386/pc_sysfw.c                            |  29 +---
 hw/input/milkymist-softusb.c                  |  12 +-
 hw/m68k/q800.c                                |   3 +-
 hw/mips/mips_fulong2e.c                       |   3 +-
 hw/mips/mips_jazz.c                           |   6 +-
 hw/mips/mips_mipssim.c                        |   3 +-
 hw/mips/mips_r4k.c                            |   3 +-
 hw/net/dp8393x.c                              |   5 +-
 hw/net/milkymist-minimac2.c                   |   8 +-
 hw/pci-host/prep.c                            |   5 +-
 hw/ppc/mac_newworld.c                         |   3 +-
 hw/ppc/mac_oldworld.c                         |   3 +-
 hw/ppc/ppc405_boards.c                        |   6 +-
 hw/riscv/sifive_e.c                           |   9 +-
 hw/riscv/sifive_u.c                           |   2 +-
 hw/sh4/shix.c                                 |   3 +-
 hw/sparc/leon3.c                              |   3 +-
 memory.c                                      |  16 +-
 MAINTAINERS                                   |   1 +
 46 files changed, 268 insertions(+), 200 deletions(-)
 create mode 100644 scripts/coccinelle/memory-region-housekeeping.cocci
 delete mode 100644 scripts/coccinelle/memory-region-init-ram.cocci

-- 
2.21.1