From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:58778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKVyd-0005U2-KH for qemu-devel@nongnu.org; Sun, 30 Oct 2011 10:03:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RKVyc-0007dJ-6E for qemu-devel@nongnu.org; Sun, 30 Oct 2011 10:03:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62230) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKVyb-0007dC-Pb for qemu-devel@nongnu.org; Sun, 30 Oct 2011 10:03:06 -0400 From: Avi Kivity Date: Sun, 30 Oct 2011 16:02:45 +0200 Message-Id: <1319983368-21801-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PULL 0/3] 128-bit support for the memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Blue Swirl , qemu-devel@nongnu.org, David Gibson 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