This somewhat controversial patchset converts internal arithmetic in the
memory API to 128 bits.

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

-- 
1.7.6.3


Reply via email to