Hi all, after reviewing the patch "fix multiply issue for int and uint types" with Ian Jackson, we realized that cpu_ioreq_pio and cpu_ioreq_move are in much need for a simplification as well as removal of a possible integer overflow.
This patch series tries to accomplish both switching to two new helper functions and using a more obvious arithmetic. Doing so it should also fix the original problem that Dongxiao was experiencing. The C language can be a nasty backstabber when signed and unsigned integers are involved. The current patch series if for qemu-xen-traditional but if the patches are deemed correct I'll submit an equivalent set for QEMU upstream (with the appropriate code style changes). Stefano Stabellini (2): i should be uint32_t rather than int introduce read_physical_offset and write_physical_offset i386-dm/helper2.c | 66 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 42 insertions(+), 24 deletions(-) Cheers, Stefano