On 10/30/2011 09:02 AM, Avi Kivity wrote:
This somewhat controversial patchset converts internal arithmetic in the memory API to 128 bits.
Given the level of controversy, what do you think about deferring this to 1.1? Regards, Anthony Liguori
It has been argued that with careful coding we can make 64-bit work as well. I don't think this is true in general - a memory router can adjust addresses either forwards or backwards, and some buses (PCIe) need the full 64-bit space - though it's probably the case for all the configurations we support today. Regardless, the need for careful coding means subtle bugs, which I don't want in a core API that is driven by guest supplied values. Avi Kivity (3): Add support for 128-bit arithmetic memory: use 128-bit integers for sizes and intermediates Adjust system and pci address spaces to full 64-bit exec.c | 2 +- hw/pc_piix.c | 2 +- hw/pci_bridge.c | 2 +- int128.h | 116 ++++++++++++++++++++++++++++++++ memory.c | 196 ++++++++++++++++++++++++++++++++---------------------- memory.h | 3 +- 6 files changed, 237 insertions(+), 84 deletions(-) create mode 100644 int128.h