[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/40] memory: create FlatView for new address space
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 09/40] memory: create FlatView for new address spaces |
Date: |
Tue, 7 May 2013 16:16:47 +0200 |
A new address space has an empty FlatView. In order to create it, we
must (a) call memory_region_transaction_commit after the address space is
inserted into the list; (b) force memory_region_transaction_commit to
do something.
This bug was latent so far because all address spaces started empty, including
the PCI address space where the bus master region is initially disabled.
However, the target address space of an IOMMU is usually rooted at
get_system_memory(), which might not be empty at the time the IOMMU is created.
Signed-off-by: Paolo Bonzini <address@hidden>
---
memory.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/memory.c b/memory.c
index fc4515b..a8929aa 100644
--- a/memory.c
+++ b/memory.c
@@ -1577,8 +1577,9 @@ void address_space_init(AddressSpace *as, MemoryRegion
*root)
as->ioeventfds = NULL;
QTAILQ_INSERT_TAIL(&address_spaces, as, address_spaces_link);
as->name = NULL;
- memory_region_transaction_commit();
address_space_init_dispatch(as);
+ memory_region_update_pending |= root->enabled;
+ memory_region_transaction_commit();
}
void address_space_destroy(AddressSpace *as)
--
1.7.1
- [Qemu-devel] [PATCH 18/40] spapr: use memory core for iommu support, (continued)
- [Qemu-devel] [PATCH 18/40] spapr: use memory core for iommu support, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 24/40] memory: add getter/setter for owner, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 07/40] memory: fix address space initialization/destruction, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 17/40] spapr: make IOMMU translation go through IOMMUTLBEntry, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 40/40] memory: add reference counting to FlatView, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 09/40] memory: create FlatView for new address spaces,
Paolo Bonzini <=
[Qemu-devel] [PATCH 38/40] memory: access FlatView from a local variable, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 37/40] memory: ref/unref memory across address_space_map/unmap, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 33/40] pci-assign: add memory_region_set_owner calls, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 31/40] isa/portio: allow setting an owner, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 36/40] memory: return MemoryRegion from qemu_ram_addr_from_host, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 35/40] exec: check MRU in qemu_ram_addr_from_host, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 34/40] vfio: add memory_region_set_owner calls, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 39/40] memory: use a new FlatView pointer on every topology update, Paolo Bonzini, 2013/05/07