Patchwork [PULL] Memory API fixes - rom/device

login
register
mail settings
Submitter Avi Kivity
Date Aug. 29, 2011, 9:06 a.m.
Message ID <4E5B56A7.6010006@redhat.com>
Download mbox | patch
Permalink /patch/111996/
State New
Headers show

Comments

Avi Kivity - Aug. 29, 2011, 9:06 a.m.
On 08/28/2011 06:52 PM, Avi Kivity wrote:
> Anthony, please pull from
>
>   git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/core
>
> to receive fixes for the rom/device API - initialize ->ops and a new 
> ->opaque.
>
> Avi Kivity (2):
>       memory: fix memory_region_init_rom_device() not initializing ->ops
>       memory: add opaque parameter to memory_region_init_rom_device()
>

I tacked on a third commit:

commit b5fe14cc7efa4e3ef58f591728e69203287a9de4
Author: Avi Kivity <avi@redhat.com>
Date:   Mon Aug 29 09:12:49 2011 +0300

     memory: fix rom_device I/O mode

     When adding a rom_device in I/O mode, we incorrectly masked off the low
     bits, resulting in a pure RAM map.  Fix my masking off the high 
bits and
     IO_MEM_ROMD, yielding a pure I/O map.

     Signed-off-by: Avi Kivity <avi@redhat.com>

      cpu_register_physical_memory_log(fr->addr.start,

Patch

diff --git a/memory.c b/memory.c
index 1491a39..eb31fa8 100644
--- a/memory.c
+++ b/memory.c
@@ -304,7 +304,7 @@  static void as_memory_range_add(AddressSpace *as, 
FlatRange *fr)
      }

      if (!fr->readable) {
-        phys_offset &= TARGET_PAGE_MASK;
+        phys_offset &= ~TARGET_PAGE_MASK & ~IO_MEM_ROMD;
      }