On Sun, Aug 25, 2013 at 03:59:28PM +0100, Peter Maydell wrote: > The bswap.h header includes a set of "legacy unaligned functions" > that (since commit c732a52d3 at the beginning of this year) are > just wrappers for underlying {ld,st}<type> functions. The legacy > functions aren't used in many places, so just replace all their > uses with uses of the new-style {ld,st} functions; this lets us > remove the legacy wrappers altogether.
I have a question on this: what happens if an unaligned address is supplied? In particular, if the address is supplied by the guest? Esp the pci wrappers have many callers - were they all audited? I tried checking but there are many callers, will take a while. > Since we know the {ld,st}* routines are definitely functions, > we can in the process remove some casts which were left over > from when the legacy unaligned functions were previously macros. > > The patchset is divided up by function being removed, rather > than by which device/subsystem is being fixed; I think this way > round is easier to review since you only have to keep one > substitution in your head when reading a patch. > > Peter Maydell (9): > bswap.h: Remove cpu_to_le16wu() > bswap.h: Remove cpu_to_le32wu() > bswap.h: Remove le16_to_cpupu() > bswap.h: Remove le32_to_cpupu() > bswap.h: Remove be32_to_cpupu() > bswap.h: Remove cpu_to_be16wu() > bswap.h: Remove cpu_to_be32wu() > bswap.h: Remove cpu_to_be64wu() > bswap.h: Remove cpu_to_32wu() > > block/qcow2-cluster.c | 2 +- > hw/acpi/core.c | 3 +-- > hw/block/cdrom.c | 10 +++++----- > hw/display/vga_template.h | 14 ++++++++------ > hw/ide/atapi.c | 16 +++++++-------- > hw/net/e1000.c | 22 +++++++++------------ > hw/net/ne2000.c | 4 ++-- > hw/pci/pcie_aer.c | 4 ++-- > include/hw/pci/pci.h | 8 ++++---- > include/qemu/bswap.h | 47 > --------------------------------------------- > 10 files changed, 40 insertions(+), 90 deletions(-) > > -- > 1.7.9.5