cleanup qemu/memory.c
This commit is contained in:
parent
d04cc8671d
commit
5de0785a1b
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_aarch64
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_aarch64
|
||||
#define address_space_access_valid address_space_access_valid_aarch64
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_aarch64
|
||||
#define address_space_destroy address_space_destroy_aarch64
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_aarch64
|
||||
#define address_space_get_flatview address_space_get_flatview_aarch64
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_aarch64
|
||||
#define address_space_translate_internal address_space_translate_internal_aarch64
|
||||
#define address_space_unmap address_space_unmap_aarch64
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_aarch64
|
||||
#define address_space_update_topology address_space_update_topology_aarch64
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_aarch64
|
||||
#define address_space_write address_space_write_aarch64
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_aarch64
|
||||
#define addrrange_intersects addrrange_intersects_aarch64
|
||||
#define addrrange_make addrrange_make_aarch64
|
||||
#define addrrange_shift addrrange_shift_aarch64
|
||||
#define adjust_endianness adjust_endianness_aarch64
|
||||
#define all_helpers all_helpers_aarch64
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_aarch64
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_aarch64
|
||||
#define memory_mapping_list_init memory_mapping_list_init_aarch64
|
||||
#define memory_region_access_valid memory_region_access_valid_aarch64
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_aarch64
|
||||
#define memory_region_add_subregion memory_region_add_subregion_aarch64
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_aarch64
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_aarch64
|
||||
#define memory_region_big_endian memory_region_big_endian_aarch64
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_aarch64
|
||||
#define memory_region_clear_pending memory_region_clear_pending_aarch64
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_aarch64
|
||||
#define memory_region_del_subregion memory_region_del_subregion_aarch64
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_aarch64
|
||||
#define memory_region_destructor_none memory_region_destructor_none_aarch64
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_aarch64
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_aarch64
|
||||
#define memory_region_init_reservation memory_region_init_reservation_aarch64
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_aarch64
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_aarch64
|
||||
#define memory_region_is_iommu memory_region_is_iommu_aarch64
|
||||
#define memory_region_is_logging memory_region_is_logging_aarch64
|
||||
#define memory_region_is_mapped memory_region_is_mapped_aarch64
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_aarch64
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_aarch64
|
||||
#define memory_region_unref memory_region_unref_aarch64
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_aarch64
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_aarch64
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_aarch64
|
||||
#define memory_region_write_accessor memory_region_write_accessor_aarch64
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_aarch64
|
||||
|
10
qemu/arm.h
10
qemu/arm.h
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_arm
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_arm
|
||||
#define address_space_access_valid address_space_access_valid_arm
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_arm
|
||||
#define address_space_destroy address_space_destroy_arm
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_arm
|
||||
#define address_space_get_flatview address_space_get_flatview_arm
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_arm
|
||||
#define address_space_translate_internal address_space_translate_internal_arm
|
||||
#define address_space_unmap address_space_unmap_arm
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_arm
|
||||
#define address_space_update_topology address_space_update_topology_arm
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_arm
|
||||
#define address_space_write address_space_write_arm
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_arm
|
||||
#define addrrange_intersects addrrange_intersects_arm
|
||||
#define addrrange_make addrrange_make_arm
|
||||
#define addrrange_shift addrrange_shift_arm
|
||||
#define adjust_endianness adjust_endianness_arm
|
||||
#define all_helpers all_helpers_arm
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_arm
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_arm
|
||||
#define memory_mapping_list_init memory_mapping_list_init_arm
|
||||
#define memory_region_access_valid memory_region_access_valid_arm
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_arm
|
||||
#define memory_region_add_subregion memory_region_add_subregion_arm
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_arm
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_arm
|
||||
#define memory_region_big_endian memory_region_big_endian_arm
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_arm
|
||||
#define memory_region_clear_pending memory_region_clear_pending_arm
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_arm
|
||||
#define memory_region_del_subregion memory_region_del_subregion_arm
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_arm
|
||||
#define memory_region_destructor_none memory_region_destructor_none_arm
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_arm
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_arm
|
||||
#define memory_region_init_reservation memory_region_init_reservation_arm
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_arm
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_arm
|
||||
#define memory_region_is_iommu memory_region_is_iommu_arm
|
||||
#define memory_region_is_logging memory_region_is_logging_arm
|
||||
#define memory_region_is_mapped memory_region_is_mapped_arm
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_arm
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_arm
|
||||
#define memory_region_unref memory_region_unref_arm
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_arm
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_arm
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_arm
|
||||
#define memory_region_write_accessor memory_region_write_accessor_arm
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_arm
|
||||
|
@ -62,7 +62,6 @@ symbols = (
|
||||
'addFloatx80Sigs',
|
||||
'add_qemu_ldst_label',
|
||||
'address_space_access_valid',
|
||||
'address_space_add_del_ioeventfds',
|
||||
'address_space_destroy',
|
||||
'address_space_destroy_dispatch',
|
||||
'address_space_get_flatview',
|
||||
@ -76,7 +75,6 @@ symbols = (
|
||||
'address_space_translate_for_iotlb',
|
||||
'address_space_translate_internal',
|
||||
'address_space_unmap',
|
||||
'address_space_update_ioeventfds',
|
||||
'address_space_update_topology',
|
||||
'address_space_update_topology_pass',
|
||||
'address_space_write',
|
||||
@ -86,7 +84,6 @@ symbols = (
|
||||
'addrrange_intersection',
|
||||
'addrrange_intersects',
|
||||
'addrrange_make',
|
||||
'addrrange_shift',
|
||||
'adjust_endianness',
|
||||
'all_helpers',
|
||||
'alloc_code_gen_buffer',
|
||||
@ -2017,14 +2014,11 @@ symbols = (
|
||||
'memory_mapping_list_free',
|
||||
'memory_mapping_list_init',
|
||||
'memory_region_access_valid',
|
||||
'memory_region_add_eventfd',
|
||||
'memory_region_add_subregion',
|
||||
'memory_region_add_subregion_common',
|
||||
'memory_region_add_subregion_overlap',
|
||||
'memory_region_big_endian',
|
||||
'memory_region_clear_coalescing',
|
||||
'memory_region_clear_pending',
|
||||
'memory_region_del_eventfd',
|
||||
'memory_region_del_subregion',
|
||||
'memory_region_destructor_alias',
|
||||
'memory_region_destructor_none',
|
||||
@ -2053,8 +2047,6 @@ symbols = (
|
||||
'memory_region_init_ram',
|
||||
'memory_region_init_ram_ptr',
|
||||
'memory_region_init_reservation',
|
||||
'memory_region_ioeventfd_before',
|
||||
'memory_region_ioeventfd_equal',
|
||||
'memory_region_is_iommu',
|
||||
'memory_region_is_logging',
|
||||
'memory_region_is_mapped',
|
||||
@ -2084,8 +2076,6 @@ symbols = (
|
||||
'memory_region_transaction_begin',
|
||||
'memory_region_transaction_commit',
|
||||
'memory_region_unref',
|
||||
'memory_region_update_coalesced_range',
|
||||
'memory_region_update_coalesced_range_as',
|
||||
'memory_region_update_container_subregions',
|
||||
'memory_region_write_accessor',
|
||||
'memory_region_wrong_endianness',
|
||||
|
@ -129,9 +129,6 @@ struct MemoryRegionIOMMUOps {
|
||||
IOMMUTLBEntry (*translate)(MemoryRegion *iommu, hwaddr addr, bool is_write);
|
||||
};
|
||||
|
||||
typedef struct CoalescedMemoryRange CoalescedMemoryRange;
|
||||
typedef struct MemoryRegionIoeventfd MemoryRegionIoeventfd;
|
||||
|
||||
struct MemoryRegion {
|
||||
Object parent_obj;
|
||||
/* All fields are private - violators will be prosecuted */
|
||||
@ -153,18 +150,14 @@ struct MemoryRegion {
|
||||
bool enabled;
|
||||
bool rom_device;
|
||||
bool warning_printed; /* For reservations */
|
||||
bool flush_coalesced_mmio;
|
||||
MemoryRegion *alias;
|
||||
hwaddr alias_offset;
|
||||
int32_t priority;
|
||||
bool may_overlap;
|
||||
QTAILQ_HEAD(subregions, MemoryRegion) subregions;
|
||||
QTAILQ_ENTRY(MemoryRegion) subregions_link;
|
||||
QTAILQ_HEAD(coalesced_ranges, CoalescedMemoryRange) coalesced;
|
||||
const char *name;
|
||||
uint8_t dirty_log_mask;
|
||||
unsigned ioeventfd_nb;
|
||||
MemoryRegionIoeventfd *ioeventfds;
|
||||
struct uc_struct *uc;
|
||||
uint32_t perms; //all perms, partially redundant with readonly
|
||||
uint64_t end;
|
||||
@ -187,14 +180,6 @@ struct MemoryListener {
|
||||
void (*log_sync)(MemoryListener *listener, MemoryRegionSection *section);
|
||||
void (*log_global_start)(MemoryListener *listener);
|
||||
void (*log_global_stop)(MemoryListener *listener);
|
||||
void (*eventfd_add)(MemoryListener *listener, MemoryRegionSection *section,
|
||||
bool match_data, uint64_t data, EventNotifier *e);
|
||||
void (*eventfd_del)(MemoryListener *listener, MemoryRegionSection *section,
|
||||
bool match_data, uint64_t data, EventNotifier *e);
|
||||
void (*coalesced_mmio_add)(MemoryListener *listener, MemoryRegionSection *section,
|
||||
hwaddr addr, hwaddr len);
|
||||
void (*coalesced_mmio_del)(MemoryListener *listener, MemoryRegionSection *section,
|
||||
hwaddr addr, hwaddr len);
|
||||
/* Lower = earlier (during add), later (during del) */
|
||||
unsigned priority;
|
||||
AddressSpace *address_space_filter;
|
||||
@ -209,8 +194,6 @@ struct AddressSpace {
|
||||
char *name;
|
||||
MemoryRegion *root;
|
||||
struct FlatView *current_map;
|
||||
int ioeventfd_nb;
|
||||
struct MemoryRegionIoeventfd *ioeventfds;
|
||||
struct AddressSpaceDispatch *dispatch;
|
||||
struct AddressSpaceDispatch *next_dispatch;
|
||||
MemoryListener dispatch_listener;
|
||||
@ -555,60 +538,6 @@ void memory_region_set_readonly(MemoryRegion *mr, bool readonly);
|
||||
*/
|
||||
void memory_region_rom_device_set_romd(MemoryRegion *mr, bool romd_mode);
|
||||
|
||||
/**
|
||||
* memory_region_clear_coalescing: Disable MMIO coalescing for the region.
|
||||
*
|
||||
* Disables any coalescing caused by memory_region_set_coalescing() or
|
||||
* memory_region_add_coalescing(). Roughly equivalent to uncacheble memory
|
||||
* hardware.
|
||||
*
|
||||
* @mr: the memory region to be updated.
|
||||
*/
|
||||
void memory_region_clear_coalescing(MemoryRegion *mr);
|
||||
|
||||
/**
|
||||
* memory_region_add_eventfd: Request an eventfd to be triggered when a word
|
||||
* is written to a location.
|
||||
*
|
||||
* Marks a word in an IO region (initialized with memory_region_init_io())
|
||||
* as a trigger for an eventfd event. The I/O callback will not be called.
|
||||
* The caller must be prepared to handle failure (that is, take the required
|
||||
* action if the callback _is_ called).
|
||||
*
|
||||
* @mr: the memory region being updated.
|
||||
* @addr: the address within @mr that is to be monitored
|
||||
* @size: the size of the access to trigger the eventfd
|
||||
* @match_data: whether to match against @data, instead of just @addr
|
||||
* @data: the data to match against the guest write
|
||||
* @fd: the eventfd to be triggered when @addr, @size, and @data all match.
|
||||
**/
|
||||
void memory_region_add_eventfd(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
unsigned size,
|
||||
bool match_data,
|
||||
uint64_t data,
|
||||
EventNotifier *e);
|
||||
|
||||
/**
|
||||
* memory_region_del_eventfd: Cancel an eventfd.
|
||||
*
|
||||
* Cancels an eventfd trigger requested by a previous
|
||||
* memory_region_add_eventfd() call.
|
||||
*
|
||||
* @mr: the memory region being updated.
|
||||
* @addr: the address within @mr that is to be monitored
|
||||
* @size: the size of the access to trigger the eventfd
|
||||
* @match_data: whether to match against @data, instead of just @addr
|
||||
* @data: the data to match against the guest write
|
||||
* @fd: the eventfd to be triggered when @addr, @size, and @data all match.
|
||||
*/
|
||||
void memory_region_del_eventfd(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
unsigned size,
|
||||
bool match_data,
|
||||
uint64_t data,
|
||||
EventNotifier *e);
|
||||
|
||||
/**
|
||||
* memory_region_add_subregion: Add a subregion to a container.
|
||||
*
|
||||
|
10
qemu/m68k.h
10
qemu/m68k.h
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_m68k
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_m68k
|
||||
#define address_space_access_valid address_space_access_valid_m68k
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_m68k
|
||||
#define address_space_destroy address_space_destroy_m68k
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_m68k
|
||||
#define address_space_get_flatview address_space_get_flatview_m68k
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_m68k
|
||||
#define address_space_translate_internal address_space_translate_internal_m68k
|
||||
#define address_space_unmap address_space_unmap_m68k
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_m68k
|
||||
#define address_space_update_topology address_space_update_topology_m68k
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_m68k
|
||||
#define address_space_write address_space_write_m68k
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_m68k
|
||||
#define addrrange_intersects addrrange_intersects_m68k
|
||||
#define addrrange_make addrrange_make_m68k
|
||||
#define addrrange_shift addrrange_shift_m68k
|
||||
#define adjust_endianness adjust_endianness_m68k
|
||||
#define all_helpers all_helpers_m68k
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_m68k
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_m68k
|
||||
#define memory_mapping_list_init memory_mapping_list_init_m68k
|
||||
#define memory_region_access_valid memory_region_access_valid_m68k
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_m68k
|
||||
#define memory_region_add_subregion memory_region_add_subregion_m68k
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_m68k
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_m68k
|
||||
#define memory_region_big_endian memory_region_big_endian_m68k
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_m68k
|
||||
#define memory_region_clear_pending memory_region_clear_pending_m68k
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_m68k
|
||||
#define memory_region_del_subregion memory_region_del_subregion_m68k
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_m68k
|
||||
#define memory_region_destructor_none memory_region_destructor_none_m68k
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_m68k
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_m68k
|
||||
#define memory_region_init_reservation memory_region_init_reservation_m68k
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_m68k
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_m68k
|
||||
#define memory_region_is_iommu memory_region_is_iommu_m68k
|
||||
#define memory_region_is_logging memory_region_is_logging_m68k
|
||||
#define memory_region_is_mapped memory_region_is_mapped_m68k
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_m68k
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_m68k
|
||||
#define memory_region_unref memory_region_unref_m68k
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_m68k
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_m68k
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_m68k
|
||||
#define memory_region_write_accessor memory_region_write_accessor_m68k
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_m68k
|
||||
|
286
qemu/memory.c
286
qemu/memory.c
@ -92,7 +92,6 @@ void memory_unmap(struct uc_struct *uc, MemoryRegion *mr)
|
||||
obj = OBJECT(mr);
|
||||
obj->ref = 1;
|
||||
obj->free = g_free;
|
||||
g_free(mr->ioeventfds);
|
||||
g_free((char *)mr->name);
|
||||
mr->name = NULL;
|
||||
object_property_del_child(mr->uc, qdev_get_machine(mr->uc), obj, &error_abort);
|
||||
@ -115,7 +114,6 @@ int memory_free(struct uc_struct *uc)
|
||||
obj = OBJECT(mr);
|
||||
obj->ref = 1;
|
||||
obj->free = g_free;
|
||||
g_free(mr->ioeventfds);
|
||||
object_property_del_child(mr->uc, qdev_get_machine(mr->uc), obj, &error_abort);
|
||||
}
|
||||
|
||||
@ -152,12 +150,6 @@ static Int128 addrrange_end(AddrRange r)
|
||||
return int128_add(r.start, r.size);
|
||||
}
|
||||
|
||||
static AddrRange addrrange_shift(AddrRange range, Int128 delta)
|
||||
{
|
||||
int128_addto(&range.start, delta);
|
||||
return range;
|
||||
}
|
||||
|
||||
static bool addrrange_contains(AddrRange range, Int128 addr)
|
||||
{
|
||||
return int128_ge(addr, range.start)
|
||||
@ -249,55 +241,6 @@ static bool memory_listener_match(MemoryListener *listener,
|
||||
.readonly = (fr)->readonly, \
|
||||
}))
|
||||
|
||||
struct CoalescedMemoryRange {
|
||||
AddrRange addr;
|
||||
QTAILQ_ENTRY(CoalescedMemoryRange) link;
|
||||
};
|
||||
|
||||
struct MemoryRegionIoeventfd {
|
||||
AddrRange addr;
|
||||
bool match_data;
|
||||
uint64_t data;
|
||||
EventNotifier *e;
|
||||
};
|
||||
|
||||
static bool memory_region_ioeventfd_before(MemoryRegionIoeventfd a,
|
||||
MemoryRegionIoeventfd b)
|
||||
{
|
||||
if (int128_lt(a.addr.start, b.addr.start)) {
|
||||
return true;
|
||||
} else if (int128_gt(a.addr.start, b.addr.start)) {
|
||||
return false;
|
||||
} else if (int128_lt(a.addr.size, b.addr.size)) {
|
||||
return true;
|
||||
} else if (int128_gt(a.addr.size, b.addr.size)) {
|
||||
return false;
|
||||
} else if (a.match_data < b.match_data) {
|
||||
return true;
|
||||
} else if (a.match_data > b.match_data) {
|
||||
return false;
|
||||
} else if (a.match_data) {
|
||||
if (a.data < b.data) {
|
||||
return true;
|
||||
} else if (a.data > b.data) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (a.e < b.e) {
|
||||
return true;
|
||||
} else if (a.e > b.e) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool memory_region_ioeventfd_equal(MemoryRegionIoeventfd a,
|
||||
MemoryRegionIoeventfd b)
|
||||
{
|
||||
return !memory_region_ioeventfd_before(a, b)
|
||||
&& !memory_region_ioeventfd_before(b, a);
|
||||
}
|
||||
|
||||
typedef struct FlatRange FlatRange;
|
||||
typedef struct FlatView FlatView;
|
||||
|
||||
@ -664,56 +607,6 @@ static FlatView *generate_memory_topology(MemoryRegion *mr)
|
||||
return view;
|
||||
}
|
||||
|
||||
static void address_space_add_del_ioeventfds(AddressSpace *as,
|
||||
MemoryRegionIoeventfd *fds_new,
|
||||
unsigned fds_new_nb,
|
||||
MemoryRegionIoeventfd *fds_old,
|
||||
unsigned fds_old_nb)
|
||||
{
|
||||
unsigned iold, inew;
|
||||
MemoryRegionIoeventfd *fd;
|
||||
MemoryRegionSection section;
|
||||
struct uc_struct *uc = as->uc;
|
||||
|
||||
/* Generate a symmetric difference of the old and new fd sets, adding
|
||||
* and deleting as necessary.
|
||||
*/
|
||||
|
||||
iold = inew = 0;
|
||||
while (iold < fds_old_nb || inew < fds_new_nb) {
|
||||
if (iold < fds_old_nb
|
||||
&& (inew == fds_new_nb
|
||||
|| memory_region_ioeventfd_before(fds_old[iold],
|
||||
fds_new[inew]))) {
|
||||
fd = &fds_old[iold];
|
||||
section = (MemoryRegionSection) {
|
||||
.address_space = as,
|
||||
.offset_within_address_space = int128_get64(fd->addr.start),
|
||||
.size = fd->addr.size,
|
||||
};
|
||||
MEMORY_LISTENER_CALL(eventfd_del, Forward, §ion,
|
||||
fd->match_data, fd->data, fd->e);
|
||||
++iold;
|
||||
} else if (inew < fds_new_nb
|
||||
&& (iold == fds_old_nb
|
||||
|| memory_region_ioeventfd_before(fds_new[inew],
|
||||
fds_old[iold]))) {
|
||||
fd = &fds_new[inew];
|
||||
section = (MemoryRegionSection) {
|
||||
.address_space = as,
|
||||
.offset_within_address_space = int128_get64(fd->addr.start),
|
||||
.size = fd->addr.size,
|
||||
};
|
||||
MEMORY_LISTENER_CALL(eventfd_add, Reverse, §ion,
|
||||
fd->match_data, fd->data, fd->e);
|
||||
++inew;
|
||||
} else {
|
||||
++iold;
|
||||
++inew;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static FlatView *address_space_get_flatview(AddressSpace *as)
|
||||
{
|
||||
FlatView *view;
|
||||
@ -723,40 +616,6 @@ static FlatView *address_space_get_flatview(AddressSpace *as)
|
||||
return view;
|
||||
}
|
||||
|
||||
static void address_space_update_ioeventfds(AddressSpace *as)
|
||||
{
|
||||
FlatView *view;
|
||||
FlatRange *fr;
|
||||
unsigned ioeventfd_nb = 0;
|
||||
MemoryRegionIoeventfd *ioeventfds = NULL;
|
||||
AddrRange tmp;
|
||||
unsigned i;
|
||||
|
||||
view = address_space_get_flatview(as);
|
||||
FOR_EACH_FLAT_RANGE(fr, view) {
|
||||
for (i = 0; i < fr->mr->ioeventfd_nb; ++i) {
|
||||
tmp = addrrange_shift(fr->mr->ioeventfds[i].addr,
|
||||
int128_sub(fr->addr.start,
|
||||
int128_make64(fr->offset_in_region)));
|
||||
if (addrrange_intersects(fr->addr, tmp)) {
|
||||
++ioeventfd_nb;
|
||||
ioeventfds = g_realloc(ioeventfds,
|
||||
ioeventfd_nb * sizeof(*ioeventfds));
|
||||
ioeventfds[ioeventfd_nb-1] = fr->mr->ioeventfds[i];
|
||||
ioeventfds[ioeventfd_nb-1].addr = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
address_space_add_del_ioeventfds(as, ioeventfds, ioeventfd_nb,
|
||||
as->ioeventfds, as->ioeventfd_nb);
|
||||
|
||||
g_free(as->ioeventfds);
|
||||
as->ioeventfds = ioeventfds;
|
||||
as->ioeventfd_nb = ioeventfd_nb;
|
||||
flatview_unref(view);
|
||||
}
|
||||
|
||||
static void address_space_update_topology_pass(AddressSpace *as,
|
||||
const FlatView *old_view,
|
||||
const FlatView *new_view,
|
||||
@ -839,8 +698,6 @@ static void address_space_update_topology(AddressSpace *as)
|
||||
* counting is necessary.
|
||||
*/
|
||||
flatview_unref(old_view);
|
||||
|
||||
address_space_update_ioeventfds(as);
|
||||
}
|
||||
|
||||
void memory_region_transaction_begin(struct uc_struct *uc)
|
||||
@ -851,7 +708,6 @@ void memory_region_transaction_begin(struct uc_struct *uc)
|
||||
static void memory_region_clear_pending(struct uc_struct *uc)
|
||||
{
|
||||
uc->memory_region_update_pending = false;
|
||||
uc->ioeventfd_update_pending = false;
|
||||
}
|
||||
|
||||
void memory_region_transaction_commit(struct uc_struct *uc)
|
||||
@ -869,10 +725,6 @@ void memory_region_transaction_commit(struct uc_struct *uc)
|
||||
}
|
||||
|
||||
MEMORY_LISTENER_CALL_GLOBAL(commit, Forward);
|
||||
} else if (uc->ioeventfd_update_pending) {
|
||||
QTAILQ_FOREACH(as, &uc->address_spaces, address_spaces_link) {
|
||||
address_space_update_ioeventfds(as);
|
||||
}
|
||||
}
|
||||
memory_region_clear_pending(uc);
|
||||
}
|
||||
@ -1026,7 +878,6 @@ static void memory_region_initfn(struct uc_struct *uc, Object *obj, void *opaque
|
||||
mr->romd_mode = true;
|
||||
mr->destructor = memory_region_destructor_none;
|
||||
QTAILQ_INIT(&mr->subregions);
|
||||
QTAILQ_INIT(&mr->coalesced);
|
||||
|
||||
op = object_property_add(OBJECT(mr), "container",
|
||||
"link<" TYPE_MEMORY_REGION ">",
|
||||
@ -1263,9 +1114,7 @@ static void memory_region_finalize(struct uc_struct *uc, Object *obj, void *opaq
|
||||
assert(QTAILQ_EMPTY(&mr->subregions));
|
||||
// assert(memory_region_transaction_depth == 0);
|
||||
mr->destructor(mr);
|
||||
memory_region_clear_coalescing(mr);
|
||||
g_free((char *)mr->name);
|
||||
g_free(mr->ioeventfds);
|
||||
}
|
||||
|
||||
void memory_region_ref(MemoryRegion *mr)
|
||||
@ -1388,138 +1237,6 @@ void *memory_region_get_ram_ptr(MemoryRegion *mr)
|
||||
return qemu_get_ram_ptr(mr->uc, mr->ram_addr & TARGET_PAGE_MASK);
|
||||
}
|
||||
|
||||
static void memory_region_update_coalesced_range_as(MemoryRegion *mr, AddressSpace *as)
|
||||
{
|
||||
FlatView *view;
|
||||
FlatRange *fr;
|
||||
CoalescedMemoryRange *cmr;
|
||||
AddrRange tmp;
|
||||
MemoryRegionSection section;
|
||||
struct uc_struct *uc = mr->uc;
|
||||
|
||||
view = address_space_get_flatview(as);
|
||||
FOR_EACH_FLAT_RANGE(fr, view) {
|
||||
if (fr->mr == mr) {
|
||||
section = (MemoryRegionSection) {
|
||||
.address_space = as,
|
||||
.offset_within_address_space = int128_get64(fr->addr.start),
|
||||
.size = fr->addr.size,
|
||||
};
|
||||
|
||||
MEMORY_LISTENER_CALL(coalesced_mmio_del, Reverse, §ion,
|
||||
int128_get64(fr->addr.start),
|
||||
int128_get64(fr->addr.size));
|
||||
QTAILQ_FOREACH(cmr, &mr->coalesced, link) {
|
||||
tmp = addrrange_shift(cmr->addr,
|
||||
int128_sub(fr->addr.start,
|
||||
int128_make64(fr->offset_in_region)));
|
||||
if (!addrrange_intersects(tmp, fr->addr)) {
|
||||
continue;
|
||||
}
|
||||
tmp = addrrange_intersection(tmp, fr->addr);
|
||||
MEMORY_LISTENER_CALL(coalesced_mmio_add, Forward, §ion,
|
||||
int128_get64(tmp.start),
|
||||
int128_get64(tmp.size));
|
||||
}
|
||||
}
|
||||
}
|
||||
flatview_unref(view);
|
||||
}
|
||||
|
||||
static void memory_region_update_coalesced_range(MemoryRegion *mr)
|
||||
{
|
||||
AddressSpace *as;
|
||||
|
||||
QTAILQ_FOREACH(as, &mr->uc->address_spaces, address_spaces_link) {
|
||||
memory_region_update_coalesced_range_as(mr, as);
|
||||
}
|
||||
}
|
||||
|
||||
void memory_region_clear_coalescing(MemoryRegion *mr)
|
||||
{
|
||||
CoalescedMemoryRange *cmr;
|
||||
bool updated = false;
|
||||
|
||||
mr->flush_coalesced_mmio = false;
|
||||
|
||||
while (!QTAILQ_EMPTY(&mr->coalesced)) {
|
||||
cmr = QTAILQ_FIRST(&mr->coalesced);
|
||||
QTAILQ_REMOVE(&mr->coalesced, cmr, link);
|
||||
g_free(cmr);
|
||||
updated = true;
|
||||
}
|
||||
|
||||
if (updated) {
|
||||
memory_region_update_coalesced_range(mr);
|
||||
}
|
||||
}
|
||||
|
||||
void memory_region_add_eventfd(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
unsigned size,
|
||||
bool match_data,
|
||||
uint64_t data,
|
||||
EventNotifier *e)
|
||||
{
|
||||
MemoryRegionIoeventfd mrfd = {
|
||||
.addr.start = int128_make64(addr),
|
||||
.addr.size = int128_make64(size),
|
||||
.match_data = match_data,
|
||||
.data = data,
|
||||
.e = e,
|
||||
};
|
||||
unsigned i;
|
||||
|
||||
adjust_endianness(mr, &mrfd.data, size);
|
||||
memory_region_transaction_begin(mr->uc);
|
||||
for (i = 0; i < mr->ioeventfd_nb; ++i) {
|
||||
if (memory_region_ioeventfd_before(mrfd, mr->ioeventfds[i])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
++mr->ioeventfd_nb;
|
||||
mr->ioeventfds = g_realloc(mr->ioeventfds,
|
||||
sizeof(*mr->ioeventfds) * mr->ioeventfd_nb);
|
||||
memmove(&mr->ioeventfds[i+1], &mr->ioeventfds[i],
|
||||
sizeof(*mr->ioeventfds) * (mr->ioeventfd_nb-1 - i));
|
||||
mr->ioeventfds[i] = mrfd;
|
||||
mr->uc->ioeventfd_update_pending |= mr->enabled;
|
||||
memory_region_transaction_commit(mr->uc);
|
||||
}
|
||||
|
||||
void memory_region_del_eventfd(MemoryRegion *mr,
|
||||
hwaddr addr,
|
||||
unsigned size,
|
||||
bool match_data,
|
||||
uint64_t data,
|
||||
EventNotifier *e)
|
||||
{
|
||||
MemoryRegionIoeventfd mrfd = {
|
||||
.addr.start = int128_make64(addr),
|
||||
.addr.size = int128_make64(size),
|
||||
.match_data = match_data,
|
||||
.data = data,
|
||||
.e = e,
|
||||
};
|
||||
unsigned i;
|
||||
|
||||
adjust_endianness(mr, &mrfd.data, size);
|
||||
memory_region_transaction_begin(mr->uc);
|
||||
for (i = 0; i < mr->ioeventfd_nb; ++i) {
|
||||
if (memory_region_ioeventfd_equal(mrfd, mr->ioeventfds[i])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
assert(i != mr->ioeventfd_nb);
|
||||
memmove(&mr->ioeventfds[i], &mr->ioeventfds[i+1],
|
||||
sizeof(*mr->ioeventfds) * (mr->ioeventfd_nb - (i+1)));
|
||||
--mr->ioeventfd_nb;
|
||||
mr->ioeventfds = g_realloc(mr->ioeventfds,
|
||||
sizeof(*mr->ioeventfds)*mr->ioeventfd_nb + 1);
|
||||
mr->uc->ioeventfd_update_pending |= mr->enabled;
|
||||
memory_region_transaction_commit(mr->uc);
|
||||
}
|
||||
|
||||
static void memory_region_update_container_subregions(MemoryRegion *subregion)
|
||||
{
|
||||
hwaddr offset = subregion->addr;
|
||||
@ -1818,8 +1535,6 @@ void address_space_init(struct uc_struct *uc, AddressSpace *as, MemoryRegion *ro
|
||||
as->root = root;
|
||||
as->current_map = g_new(FlatView, 1);
|
||||
flatview_init(as->current_map);
|
||||
as->ioeventfd_nb = 0;
|
||||
as->ioeventfds = NULL;
|
||||
QTAILQ_INSERT_TAIL(&uc->address_spaces, as, address_spaces_link);
|
||||
as->name = g_strdup(name ? name : "anonymous");
|
||||
address_space_init_dispatch(as);
|
||||
@ -1847,7 +1562,6 @@ void address_space_destroy(AddressSpace *as)
|
||||
|
||||
flatview_unref(as->current_map);
|
||||
g_free(as->name);
|
||||
g_free(as->ioeventfds);
|
||||
}
|
||||
|
||||
bool io_mem_read(MemoryRegion *mr, hwaddr addr, uint64_t *pval, unsigned size)
|
||||
|
10
qemu/mips.h
10
qemu/mips.h
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_mips
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_mips
|
||||
#define address_space_access_valid address_space_access_valid_mips
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_mips
|
||||
#define address_space_destroy address_space_destroy_mips
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_mips
|
||||
#define address_space_get_flatview address_space_get_flatview_mips
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_mips
|
||||
#define address_space_translate_internal address_space_translate_internal_mips
|
||||
#define address_space_unmap address_space_unmap_mips
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_mips
|
||||
#define address_space_update_topology address_space_update_topology_mips
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_mips
|
||||
#define address_space_write address_space_write_mips
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_mips
|
||||
#define addrrange_intersects addrrange_intersects_mips
|
||||
#define addrrange_make addrrange_make_mips
|
||||
#define addrrange_shift addrrange_shift_mips
|
||||
#define adjust_endianness adjust_endianness_mips
|
||||
#define all_helpers all_helpers_mips
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_mips
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_mips
|
||||
#define memory_mapping_list_init memory_mapping_list_init_mips
|
||||
#define memory_region_access_valid memory_region_access_valid_mips
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_mips
|
||||
#define memory_region_add_subregion memory_region_add_subregion_mips
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_mips
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_mips
|
||||
#define memory_region_big_endian memory_region_big_endian_mips
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_mips
|
||||
#define memory_region_clear_pending memory_region_clear_pending_mips
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_mips
|
||||
#define memory_region_del_subregion memory_region_del_subregion_mips
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_mips
|
||||
#define memory_region_destructor_none memory_region_destructor_none_mips
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_mips
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_mips
|
||||
#define memory_region_init_reservation memory_region_init_reservation_mips
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_mips
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_mips
|
||||
#define memory_region_is_iommu memory_region_is_iommu_mips
|
||||
#define memory_region_is_logging memory_region_is_logging_mips
|
||||
#define memory_region_is_mapped memory_region_is_mapped_mips
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_mips
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_mips
|
||||
#define memory_region_unref memory_region_unref_mips
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_mips
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_mips
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_mips
|
||||
#define memory_region_write_accessor memory_region_write_accessor_mips
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_mips
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_mips64
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_mips64
|
||||
#define address_space_access_valid address_space_access_valid_mips64
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_mips64
|
||||
#define address_space_destroy address_space_destroy_mips64
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_mips64
|
||||
#define address_space_get_flatview address_space_get_flatview_mips64
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_mips64
|
||||
#define address_space_translate_internal address_space_translate_internal_mips64
|
||||
#define address_space_unmap address_space_unmap_mips64
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_mips64
|
||||
#define address_space_update_topology address_space_update_topology_mips64
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_mips64
|
||||
#define address_space_write address_space_write_mips64
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_mips64
|
||||
#define addrrange_intersects addrrange_intersects_mips64
|
||||
#define addrrange_make addrrange_make_mips64
|
||||
#define addrrange_shift addrrange_shift_mips64
|
||||
#define adjust_endianness adjust_endianness_mips64
|
||||
#define all_helpers all_helpers_mips64
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_mips64
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_mips64
|
||||
#define memory_mapping_list_init memory_mapping_list_init_mips64
|
||||
#define memory_region_access_valid memory_region_access_valid_mips64
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_mips64
|
||||
#define memory_region_add_subregion memory_region_add_subregion_mips64
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_mips64
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_mips64
|
||||
#define memory_region_big_endian memory_region_big_endian_mips64
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_mips64
|
||||
#define memory_region_clear_pending memory_region_clear_pending_mips64
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_mips64
|
||||
#define memory_region_del_subregion memory_region_del_subregion_mips64
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_mips64
|
||||
#define memory_region_destructor_none memory_region_destructor_none_mips64
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_mips64
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_mips64
|
||||
#define memory_region_init_reservation memory_region_init_reservation_mips64
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_mips64
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_mips64
|
||||
#define memory_region_is_iommu memory_region_is_iommu_mips64
|
||||
#define memory_region_is_logging memory_region_is_logging_mips64
|
||||
#define memory_region_is_mapped memory_region_is_mapped_mips64
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_mips64
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_mips64
|
||||
#define memory_region_unref memory_region_unref_mips64
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_mips64
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_mips64
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_mips64
|
||||
#define memory_region_write_accessor memory_region_write_accessor_mips64
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_mips64
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_mips64el
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_mips64el
|
||||
#define address_space_access_valid address_space_access_valid_mips64el
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_mips64el
|
||||
#define address_space_destroy address_space_destroy_mips64el
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_mips64el
|
||||
#define address_space_get_flatview address_space_get_flatview_mips64el
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_mips64el
|
||||
#define address_space_translate_internal address_space_translate_internal_mips64el
|
||||
#define address_space_unmap address_space_unmap_mips64el
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_mips64el
|
||||
#define address_space_update_topology address_space_update_topology_mips64el
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_mips64el
|
||||
#define address_space_write address_space_write_mips64el
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_mips64el
|
||||
#define addrrange_intersects addrrange_intersects_mips64el
|
||||
#define addrrange_make addrrange_make_mips64el
|
||||
#define addrrange_shift addrrange_shift_mips64el
|
||||
#define adjust_endianness adjust_endianness_mips64el
|
||||
#define all_helpers all_helpers_mips64el
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_mips64el
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_mips64el
|
||||
#define memory_mapping_list_init memory_mapping_list_init_mips64el
|
||||
#define memory_region_access_valid memory_region_access_valid_mips64el
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_mips64el
|
||||
#define memory_region_add_subregion memory_region_add_subregion_mips64el
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_mips64el
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_mips64el
|
||||
#define memory_region_big_endian memory_region_big_endian_mips64el
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_mips64el
|
||||
#define memory_region_clear_pending memory_region_clear_pending_mips64el
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_mips64el
|
||||
#define memory_region_del_subregion memory_region_del_subregion_mips64el
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_mips64el
|
||||
#define memory_region_destructor_none memory_region_destructor_none_mips64el
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_mips64el
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_mips64el
|
||||
#define memory_region_init_reservation memory_region_init_reservation_mips64el
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_mips64el
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_mips64el
|
||||
#define memory_region_is_iommu memory_region_is_iommu_mips64el
|
||||
#define memory_region_is_logging memory_region_is_logging_mips64el
|
||||
#define memory_region_is_mapped memory_region_is_mapped_mips64el
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_mips64el
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_mips64el
|
||||
#define memory_region_unref memory_region_unref_mips64el
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_mips64el
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_mips64el
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_mips64el
|
||||
#define memory_region_write_accessor memory_region_write_accessor_mips64el
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_mips64el
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_mipsel
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_mipsel
|
||||
#define address_space_access_valid address_space_access_valid_mipsel
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_mipsel
|
||||
#define address_space_destroy address_space_destroy_mipsel
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_mipsel
|
||||
#define address_space_get_flatview address_space_get_flatview_mipsel
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_mipsel
|
||||
#define address_space_translate_internal address_space_translate_internal_mipsel
|
||||
#define address_space_unmap address_space_unmap_mipsel
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_mipsel
|
||||
#define address_space_update_topology address_space_update_topology_mipsel
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_mipsel
|
||||
#define address_space_write address_space_write_mipsel
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_mipsel
|
||||
#define addrrange_intersects addrrange_intersects_mipsel
|
||||
#define addrrange_make addrrange_make_mipsel
|
||||
#define addrrange_shift addrrange_shift_mipsel
|
||||
#define adjust_endianness adjust_endianness_mipsel
|
||||
#define all_helpers all_helpers_mipsel
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_mipsel
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_mipsel
|
||||
#define memory_mapping_list_init memory_mapping_list_init_mipsel
|
||||
#define memory_region_access_valid memory_region_access_valid_mipsel
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_mipsel
|
||||
#define memory_region_add_subregion memory_region_add_subregion_mipsel
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_mipsel
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_mipsel
|
||||
#define memory_region_big_endian memory_region_big_endian_mipsel
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_mipsel
|
||||
#define memory_region_clear_pending memory_region_clear_pending_mipsel
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_mipsel
|
||||
#define memory_region_del_subregion memory_region_del_subregion_mipsel
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_mipsel
|
||||
#define memory_region_destructor_none memory_region_destructor_none_mipsel
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_mipsel
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_mipsel
|
||||
#define memory_region_init_reservation memory_region_init_reservation_mipsel
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_mipsel
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_mipsel
|
||||
#define memory_region_is_iommu memory_region_is_iommu_mipsel
|
||||
#define memory_region_is_logging memory_region_is_logging_mipsel
|
||||
#define memory_region_is_mapped memory_region_is_mapped_mipsel
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_mipsel
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_mipsel
|
||||
#define memory_region_unref memory_region_unref_mipsel
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_mipsel
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_mipsel
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_mipsel
|
||||
#define memory_region_write_accessor memory_region_write_accessor_mipsel
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_mipsel
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_powerpc
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_powerpc
|
||||
#define address_space_access_valid address_space_access_valid_powerpc
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_powerpc
|
||||
#define address_space_destroy address_space_destroy_powerpc
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_powerpc
|
||||
#define address_space_get_flatview address_space_get_flatview_powerpc
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_powerpc
|
||||
#define address_space_translate_internal address_space_translate_internal_powerpc
|
||||
#define address_space_unmap address_space_unmap_powerpc
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_powerpc
|
||||
#define address_space_update_topology address_space_update_topology_powerpc
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_powerpc
|
||||
#define address_space_write address_space_write_powerpc
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_powerpc
|
||||
#define addrrange_intersects addrrange_intersects_powerpc
|
||||
#define addrrange_make addrrange_make_powerpc
|
||||
#define addrrange_shift addrrange_shift_powerpc
|
||||
#define adjust_endianness adjust_endianness_powerpc
|
||||
#define all_helpers all_helpers_powerpc
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_powerpc
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_powerpc
|
||||
#define memory_mapping_list_init memory_mapping_list_init_powerpc
|
||||
#define memory_region_access_valid memory_region_access_valid_powerpc
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_powerpc
|
||||
#define memory_region_add_subregion memory_region_add_subregion_powerpc
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_powerpc
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_powerpc
|
||||
#define memory_region_big_endian memory_region_big_endian_powerpc
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_powerpc
|
||||
#define memory_region_clear_pending memory_region_clear_pending_powerpc
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_powerpc
|
||||
#define memory_region_del_subregion memory_region_del_subregion_powerpc
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_powerpc
|
||||
#define memory_region_destructor_none memory_region_destructor_none_powerpc
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_powerpc
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_powerpc
|
||||
#define memory_region_init_reservation memory_region_init_reservation_powerpc
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_powerpc
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_powerpc
|
||||
#define memory_region_is_iommu memory_region_is_iommu_powerpc
|
||||
#define memory_region_is_logging memory_region_is_logging_powerpc
|
||||
#define memory_region_is_mapped memory_region_is_mapped_powerpc
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_powerpc
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_powerpc
|
||||
#define memory_region_unref memory_region_unref_powerpc
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_powerpc
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_powerpc
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_powerpc
|
||||
#define memory_region_write_accessor memory_region_write_accessor_powerpc
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_powerpc
|
||||
|
10
qemu/sparc.h
10
qemu/sparc.h
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_sparc
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_sparc
|
||||
#define address_space_access_valid address_space_access_valid_sparc
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_sparc
|
||||
#define address_space_destroy address_space_destroy_sparc
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_sparc
|
||||
#define address_space_get_flatview address_space_get_flatview_sparc
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_sparc
|
||||
#define address_space_translate_internal address_space_translate_internal_sparc
|
||||
#define address_space_unmap address_space_unmap_sparc
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_sparc
|
||||
#define address_space_update_topology address_space_update_topology_sparc
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_sparc
|
||||
#define address_space_write address_space_write_sparc
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_sparc
|
||||
#define addrrange_intersects addrrange_intersects_sparc
|
||||
#define addrrange_make addrrange_make_sparc
|
||||
#define addrrange_shift addrrange_shift_sparc
|
||||
#define adjust_endianness adjust_endianness_sparc
|
||||
#define all_helpers all_helpers_sparc
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_sparc
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_sparc
|
||||
#define memory_mapping_list_init memory_mapping_list_init_sparc
|
||||
#define memory_region_access_valid memory_region_access_valid_sparc
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_sparc
|
||||
#define memory_region_add_subregion memory_region_add_subregion_sparc
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_sparc
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_sparc
|
||||
#define memory_region_big_endian memory_region_big_endian_sparc
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_sparc
|
||||
#define memory_region_clear_pending memory_region_clear_pending_sparc
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_sparc
|
||||
#define memory_region_del_subregion memory_region_del_subregion_sparc
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_sparc
|
||||
#define memory_region_destructor_none memory_region_destructor_none_sparc
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_sparc
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_sparc
|
||||
#define memory_region_init_reservation memory_region_init_reservation_sparc
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_sparc
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_sparc
|
||||
#define memory_region_is_iommu memory_region_is_iommu_sparc
|
||||
#define memory_region_is_logging memory_region_is_logging_sparc
|
||||
#define memory_region_is_mapped memory_region_is_mapped_sparc
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_sparc
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_sparc
|
||||
#define memory_region_unref memory_region_unref_sparc
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_sparc
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_sparc
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_sparc
|
||||
#define memory_region_write_accessor memory_region_write_accessor_sparc
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_sparc
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_sparc64
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_sparc64
|
||||
#define address_space_access_valid address_space_access_valid_sparc64
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_sparc64
|
||||
#define address_space_destroy address_space_destroy_sparc64
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_sparc64
|
||||
#define address_space_get_flatview address_space_get_flatview_sparc64
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_sparc64
|
||||
#define address_space_translate_internal address_space_translate_internal_sparc64
|
||||
#define address_space_unmap address_space_unmap_sparc64
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_sparc64
|
||||
#define address_space_update_topology address_space_update_topology_sparc64
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_sparc64
|
||||
#define address_space_write address_space_write_sparc64
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_sparc64
|
||||
#define addrrange_intersects addrrange_intersects_sparc64
|
||||
#define addrrange_make addrrange_make_sparc64
|
||||
#define addrrange_shift addrrange_shift_sparc64
|
||||
#define adjust_endianness adjust_endianness_sparc64
|
||||
#define all_helpers all_helpers_sparc64
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_sparc64
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_sparc64
|
||||
#define memory_mapping_list_init memory_mapping_list_init_sparc64
|
||||
#define memory_region_access_valid memory_region_access_valid_sparc64
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_sparc64
|
||||
#define memory_region_add_subregion memory_region_add_subregion_sparc64
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_sparc64
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_sparc64
|
||||
#define memory_region_big_endian memory_region_big_endian_sparc64
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_sparc64
|
||||
#define memory_region_clear_pending memory_region_clear_pending_sparc64
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_sparc64
|
||||
#define memory_region_del_subregion memory_region_del_subregion_sparc64
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_sparc64
|
||||
#define memory_region_destructor_none memory_region_destructor_none_sparc64
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_sparc64
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_sparc64
|
||||
#define memory_region_init_reservation memory_region_init_reservation_sparc64
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_sparc64
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_sparc64
|
||||
#define memory_region_is_iommu memory_region_is_iommu_sparc64
|
||||
#define memory_region_is_logging memory_region_is_logging_sparc64
|
||||
#define memory_region_is_mapped memory_region_is_mapped_sparc64
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_sparc64
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_sparc64
|
||||
#define memory_region_unref memory_region_unref_sparc64
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_sparc64
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_sparc64
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_sparc64
|
||||
#define memory_region_write_accessor memory_region_write_accessor_sparc64
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_sparc64
|
||||
|
@ -56,7 +56,6 @@
|
||||
#define addFloatx80Sigs addFloatx80Sigs_x86_64
|
||||
#define add_qemu_ldst_label add_qemu_ldst_label_x86_64
|
||||
#define address_space_access_valid address_space_access_valid_x86_64
|
||||
#define address_space_add_del_ioeventfds address_space_add_del_ioeventfds_x86_64
|
||||
#define address_space_destroy address_space_destroy_x86_64
|
||||
#define address_space_destroy_dispatch address_space_destroy_dispatch_x86_64
|
||||
#define address_space_get_flatview address_space_get_flatview_x86_64
|
||||
@ -70,7 +69,6 @@
|
||||
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_x86_64
|
||||
#define address_space_translate_internal address_space_translate_internal_x86_64
|
||||
#define address_space_unmap address_space_unmap_x86_64
|
||||
#define address_space_update_ioeventfds address_space_update_ioeventfds_x86_64
|
||||
#define address_space_update_topology address_space_update_topology_x86_64
|
||||
#define address_space_update_topology_pass address_space_update_topology_pass_x86_64
|
||||
#define address_space_write address_space_write_x86_64
|
||||
@ -80,7 +78,6 @@
|
||||
#define addrrange_intersection addrrange_intersection_x86_64
|
||||
#define addrrange_intersects addrrange_intersects_x86_64
|
||||
#define addrrange_make addrrange_make_x86_64
|
||||
#define addrrange_shift addrrange_shift_x86_64
|
||||
#define adjust_endianness adjust_endianness_x86_64
|
||||
#define all_helpers all_helpers_x86_64
|
||||
#define alloc_code_gen_buffer alloc_code_gen_buffer_x86_64
|
||||
@ -2011,14 +2008,11 @@
|
||||
#define memory_mapping_list_free memory_mapping_list_free_x86_64
|
||||
#define memory_mapping_list_init memory_mapping_list_init_x86_64
|
||||
#define memory_region_access_valid memory_region_access_valid_x86_64
|
||||
#define memory_region_add_eventfd memory_region_add_eventfd_x86_64
|
||||
#define memory_region_add_subregion memory_region_add_subregion_x86_64
|
||||
#define memory_region_add_subregion_common memory_region_add_subregion_common_x86_64
|
||||
#define memory_region_add_subregion_overlap memory_region_add_subregion_overlap_x86_64
|
||||
#define memory_region_big_endian memory_region_big_endian_x86_64
|
||||
#define memory_region_clear_coalescing memory_region_clear_coalescing_x86_64
|
||||
#define memory_region_clear_pending memory_region_clear_pending_x86_64
|
||||
#define memory_region_del_eventfd memory_region_del_eventfd_x86_64
|
||||
#define memory_region_del_subregion memory_region_del_subregion_x86_64
|
||||
#define memory_region_destructor_alias memory_region_destructor_alias_x86_64
|
||||
#define memory_region_destructor_none memory_region_destructor_none_x86_64
|
||||
@ -2047,8 +2041,6 @@
|
||||
#define memory_region_init_ram memory_region_init_ram_x86_64
|
||||
#define memory_region_init_ram_ptr memory_region_init_ram_ptr_x86_64
|
||||
#define memory_region_init_reservation memory_region_init_reservation_x86_64
|
||||
#define memory_region_ioeventfd_before memory_region_ioeventfd_before_x86_64
|
||||
#define memory_region_ioeventfd_equal memory_region_ioeventfd_equal_x86_64
|
||||
#define memory_region_is_iommu memory_region_is_iommu_x86_64
|
||||
#define memory_region_is_logging memory_region_is_logging_x86_64
|
||||
#define memory_region_is_mapped memory_region_is_mapped_x86_64
|
||||
@ -2078,8 +2070,6 @@
|
||||
#define memory_region_transaction_begin memory_region_transaction_begin_x86_64
|
||||
#define memory_region_transaction_commit memory_region_transaction_commit_x86_64
|
||||
#define memory_region_unref memory_region_unref_x86_64
|
||||
#define memory_region_update_coalesced_range memory_region_update_coalesced_range_x86_64
|
||||
#define memory_region_update_coalesced_range_as memory_region_update_coalesced_range_as_x86_64
|
||||
#define memory_region_update_container_subregions memory_region_update_container_subregions_x86_64
|
||||
#define memory_region_write_accessor memory_region_write_accessor_x86_64
|
||||
#define memory_region_wrong_endianness memory_region_wrong_endianness_x86_64
|
||||
|
Loading…
Reference in New Issue
Block a user