Switch non-CPU callers from ld/st*_phys to address_space_ld/st*
authorPeter Maydell <peter.maydell@linaro.org>
Sun, 26 Apr 2015 15:49:24 +0000 (16:49 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Sun, 26 Apr 2015 15:49:24 +0000 (16:49 +0100)
commit42874d3a8c6267ff7789a0396843c884b1d0933a
tree9229d51bb622008edb226e24007d0a9481782d43
parent66b9b43c42049bcae37668e890fedde9a72c8167
Switch non-CPU callers from ld/st*_phys to address_space_ld/st*

Switch all the uses of ld/st*_phys to address_space_ld/st*,
except for those cases where the address space is the CPU's
(ie cs->as). This was done with the following script which
generates a Coccinelle patch.

A few over-80-columns lines in the result were rewrapped by
hand where Coccinelle failed to do the wrapping automatically,
as well as one location where it didn't put a line-continuation
'\' when wrapping lines on a change made to a match inside
a macro definition.

===begin===
#!/bin/sh -e
# Usage:
# ./ldst-phys.spatch.sh > ldst-phys.spatch
# spatch -sp_file ldst-phys.spatch -dir . | sed -e '/^+/s/\t/        /g' > out.patch
# patch -p1 < out.patch

for FN in ub uw_le uw_be l_le l_be q_le q_be uw l q; do
cat <<EOF
@ cpu_matches_ld_${FN} @
expression E1,E2;
identifier as;
@@

ld${FN}_phys(E1->as,E2)

@ other_matches_ld_${FN} depends on !cpu_matches_ld_${FN} @
expression E1,E2;
@@

-ld${FN}_phys(E1,E2)
+address_space_ld${FN}(E1,E2, MEMTXATTRS_UNSPECIFIED, NULL)

EOF

done

for FN in b w_le w_be l_le l_be q_le q_be w l q; do
cat <<EOF
@ cpu_matches_st_${FN} @
expression E1,E2,E3;
identifier as;
@@

st${FN}_phys(E1->as,E2,E3)

@ other_matches_st_${FN} depends on !cpu_matches_st_${FN} @
expression E1,E2,E3;
@@

-st${FN}_phys(E1,E2,E3)
+address_space_st${FN}(E1,E2,E3, MEMTXATTRS_UNSPECIFIED, NULL)

EOF

done
===endit===

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
19 files changed:
hw/alpha/dp264.c
hw/alpha/typhoon.c
hw/arm/boot.c
hw/arm/highbank.c
hw/dma/pl080.c
hw/dma/sun4m_iommu.c
hw/i386/intel_iommu.c
hw/pci-host/apb.c
hw/pci/msi.c
hw/pci/msix.c
hw/s390x/css.c
hw/s390x/s390-pci-bus.c
hw/s390x/s390-virtio-bus.c
hw/s390x/s390-virtio.c
hw/s390x/virtio-ccw.c
hw/sh4/r2d.c
hw/timer/hpet.c
monitor.c
target-i386/arch_memory_mapping.c