mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-pci-for-qemu-20140602.0' into staging
VFIO patches: realtek NIC quirk + SPAPR IOMMU AddressSpace support # gpg: Signature made Mon 02 Jun 2014 22:44:42 BST using RSA key ID 3BB08B22 # gpg: Can't check signature: public key not found * remotes/awilliam/tags/vfio-pci-for-qemu-20140602.0: vfio: Add guest side IOMMU support vfio: Create VFIOAddressSpace objects as needed vfio: Introduce VFIO address spaces vfio: Rework to have error paths vfio: Fix 128 bit handling int128: Add int128_exts64() memory: Sanity check that no listeners remain on a destroyed AddressSpace vfio-pci: Quirk RTL8168 NIC Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
+380
-48
File diff suppressed because it is too large
Load Diff
@@ -38,6 +38,11 @@ static inline Int128 int128_2_64(void)
|
||||
return (Int128) { 0, 1 };
|
||||
}
|
||||
|
||||
static inline Int128 int128_exts64(int64_t a)
|
||||
{
|
||||
return (Int128) { .lo = a, .hi = (a < 0) ? -1 : 0 };
|
||||
}
|
||||
|
||||
static inline Int128 int128_and(Int128 a, Int128 b)
|
||||
{
|
||||
return (Int128) { a.lo & b.lo, a.hi & b.hi };
|
||||
|
||||
@@ -1722,12 +1722,19 @@ void address_space_init(AddressSpace *as, MemoryRegion *root, const char *name)
|
||||
|
||||
void address_space_destroy(AddressSpace *as)
|
||||
{
|
||||
MemoryListener *listener;
|
||||
|
||||
/* Flush out anything from MemoryListeners listening in on this */
|
||||
memory_region_transaction_begin();
|
||||
as->root = NULL;
|
||||
memory_region_transaction_commit();
|
||||
QTAILQ_REMOVE(&address_spaces, as, address_spaces_link);
|
||||
address_space_destroy_dispatch(as);
|
||||
|
||||
QTAILQ_FOREACH(listener, &memory_listeners, link) {
|
||||
assert(listener->address_space_filter != as);
|
||||
}
|
||||
|
||||
flatview_unref(as->current_map);
|
||||
g_free(as->name);
|
||||
g_free(as->ioeventfds);
|
||||
|
||||
Reference in New Issue
Block a user