qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 0/3] 128-bit support for the memory API


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PULL 0/3] 128-bit support for the memory API
Date: Sun, 30 Oct 2011 09:12:59 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

On 10/30/2011 09:02 AM, Avi Kivity wrote:
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.

The primary need for signed arithmetic is aliases, correct?

Where do we actually make use of this in practice? I think having negative address spaces is a weird aspect of the memory api and wonder if refactoring it away is a better solution tot he problem.

Regards,

Anthony Liguori


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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]