memory: fix address space initialization/destruction
A couple of fields were left uninitialized. This was not observed earlier because all address spaces were statically allocated. Also free allocation for those fields. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Avi Kivity <avi.kivity@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1d671369c3
commit
4c19eb721a
3
memory.c
3
memory.c
@ -1572,6 +1572,8 @@ void address_space_init(AddressSpace *as, MemoryRegion *root)
|
|||||||
as->root = root;
|
as->root = root;
|
||||||
as->current_map = g_new(FlatView, 1);
|
as->current_map = g_new(FlatView, 1);
|
||||||
flatview_init(as->current_map);
|
flatview_init(as->current_map);
|
||||||
|
as->ioeventfd_nb = 0;
|
||||||
|
as->ioeventfds = NULL;
|
||||||
QTAILQ_INSERT_TAIL(&address_spaces, as, address_spaces_link);
|
QTAILQ_INSERT_TAIL(&address_spaces, as, address_spaces_link);
|
||||||
as->name = NULL;
|
as->name = NULL;
|
||||||
memory_region_transaction_commit();
|
memory_region_transaction_commit();
|
||||||
@ -1588,6 +1590,7 @@ void address_space_destroy(AddressSpace *as)
|
|||||||
address_space_destroy_dispatch(as);
|
address_space_destroy_dispatch(as);
|
||||||
flatview_destroy(as->current_map);
|
flatview_destroy(as->current_map);
|
||||||
g_free(as->current_map);
|
g_free(as->current_map);
|
||||||
|
g_free(as->ioeventfds);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t io_mem_read(MemoryRegion *mr, hwaddr addr, unsigned size)
|
uint64_t io_mem_read(MemoryRegion *mr, hwaddr addr, unsigned size)
|
||||||
|
Loading…
Reference in New Issue
Block a user