mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-07-07 14:20:37 +00:00
exec: hide mr->ram_addr from qemu_get_ram_ptr users
Let users of qemu_get_ram_ptr and qemu_ram_ptr_length pass in an address that is relative to the MemoryRegion. This basically means what address_space_translate returns. Because the semantics of the second parameter change, rename the function to qemu_map_ram_ptr. Backports commit 0878d0e11ba8013dd759c6921cbf05ba6a41bd71 from qemu
This commit is contained in:
parent
b2e1b34bcc
commit
8df5ad80b1
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_aarch64
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_aarch64
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_aarch64
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_aarch64
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_aarch64
|
#define qemu_get_ram_block qemu_get_ram_block_aarch64
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_aarch64
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_aarch64
|
#define qemu_host_page_mask qemu_host_page_mask_aarch64
|
||||||
#define qemu_host_page_size qemu_host_page_size_aarch64
|
#define qemu_host_page_size qemu_host_page_size_aarch64
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_aarch64
|
#define qemu_init_vcpu qemu_init_vcpu_aarch64
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_aarch64
|
#define qemu_log_enabled qemu_log_enabled_aarch64
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_aarch64
|
#define qemu_loglevel_mask qemu_loglevel_mask_aarch64
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_aarch64
|
#define qemu_log_vprintf qemu_log_vprintf_aarch64
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_aarch64
|
||||||
#define qemu_oom_check qemu_oom_check_aarch64
|
#define qemu_oom_check qemu_oom_check_aarch64
|
||||||
#define qemu_parse_fd qemu_parse_fd_aarch64
|
#define qemu_parse_fd qemu_parse_fd_aarch64
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_aarch64
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_aarch64
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_aarch64eb
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_aarch64eb
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_aarch64eb
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_aarch64eb
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_aarch64eb
|
#define qemu_get_ram_block qemu_get_ram_block_aarch64eb
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_aarch64eb
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_aarch64eb
|
#define qemu_host_page_mask qemu_host_page_mask_aarch64eb
|
||||||
#define qemu_host_page_size qemu_host_page_size_aarch64eb
|
#define qemu_host_page_size qemu_host_page_size_aarch64eb
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_aarch64eb
|
#define qemu_init_vcpu qemu_init_vcpu_aarch64eb
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_aarch64eb
|
#define qemu_log_enabled qemu_log_enabled_aarch64eb
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_aarch64eb
|
#define qemu_loglevel_mask qemu_loglevel_mask_aarch64eb
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_aarch64eb
|
#define qemu_log_vprintf qemu_log_vprintf_aarch64eb
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_aarch64eb
|
||||||
#define qemu_oom_check qemu_oom_check_aarch64eb
|
#define qemu_oom_check qemu_oom_check_aarch64eb
|
||||||
#define qemu_parse_fd qemu_parse_fd_aarch64eb
|
#define qemu_parse_fd qemu_parse_fd_aarch64eb
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_aarch64eb
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_aarch64eb
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_arm
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_arm
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_arm
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_arm
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_arm
|
#define qemu_get_ram_block qemu_get_ram_block_arm
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_arm
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_arm
|
#define qemu_host_page_mask qemu_host_page_mask_arm
|
||||||
#define qemu_host_page_size qemu_host_page_size_arm
|
#define qemu_host_page_size qemu_host_page_size_arm
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_arm
|
#define qemu_init_vcpu qemu_init_vcpu_arm
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_arm
|
#define qemu_log_enabled qemu_log_enabled_arm
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_arm
|
#define qemu_loglevel_mask qemu_loglevel_mask_arm
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_arm
|
#define qemu_log_vprintf qemu_log_vprintf_arm
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_arm
|
||||||
#define qemu_oom_check qemu_oom_check_arm
|
#define qemu_oom_check qemu_oom_check_arm
|
||||||
#define qemu_parse_fd qemu_parse_fd_arm
|
#define qemu_parse_fd qemu_parse_fd_arm
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_arm
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_arm
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_armeb
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_armeb
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_armeb
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_armeb
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_armeb
|
#define qemu_get_ram_block qemu_get_ram_block_armeb
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_armeb
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_armeb
|
#define qemu_host_page_mask qemu_host_page_mask_armeb
|
||||||
#define qemu_host_page_size qemu_host_page_size_armeb
|
#define qemu_host_page_size qemu_host_page_size_armeb
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_armeb
|
#define qemu_init_vcpu qemu_init_vcpu_armeb
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_armeb
|
#define qemu_log_enabled qemu_log_enabled_armeb
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_armeb
|
#define qemu_loglevel_mask qemu_loglevel_mask_armeb
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_armeb
|
#define qemu_log_vprintf qemu_log_vprintf_armeb
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_armeb
|
||||||
#define qemu_oom_check qemu_oom_check_armeb
|
#define qemu_oom_check qemu_oom_check_armeb
|
||||||
#define qemu_parse_fd qemu_parse_fd_armeb
|
#define qemu_parse_fd qemu_parse_fd_armeb
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_armeb
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_armeb
|
||||||
|
|
57
qemu/exec.c
57
qemu/exec.c
|
@ -1369,34 +1369,34 @@ void qemu_ram_remap(struct uc_struct *uc, ram_addr_t addr, ram_addr_t length)
|
||||||
It should not be used for general purpose DMA.
|
It should not be used for general purpose DMA.
|
||||||
Use cpu_physical_memory_map/cpu_physical_memory_rw instead.
|
Use cpu_physical_memory_map/cpu_physical_memory_rw instead.
|
||||||
*/
|
*/
|
||||||
void *qemu_get_ram_ptr(struct uc_struct *uc, RAMBlock *ram_block,
|
void *qemu_map_ram_ptr(struct uc_struct *uc, RAMBlock *ram_block,
|
||||||
ram_addr_t addr)
|
ram_addr_t addr)
|
||||||
{
|
{
|
||||||
RAMBlock *block = ram_block;
|
RAMBlock *block = ram_block;
|
||||||
|
|
||||||
if (block == NULL) {
|
if (block == NULL) {
|
||||||
block = qemu_get_ram_block(uc, addr);
|
block = qemu_get_ram_block(uc, addr);
|
||||||
|
addr -= block->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ramblock_ptr(block, addr - block->offset);
|
return ramblock_ptr(block, addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return a host pointer to guest's ram. Similar to qemu_get_ram_ptr
|
/* Return a host pointer to guest's ram. Similar to qemu_map_ram_ptr
|
||||||
* but takes a size argument */
|
* but takes a size argument */
|
||||||
static void *qemu_ram_ptr_length(struct uc_struct *uc, RAMBlock *ram_block,
|
static void *qemu_ram_ptr_length(struct uc_struct *uc, RAMBlock *ram_block,
|
||||||
ram_addr_t addr, hwaddr *size)
|
ram_addr_t addr, hwaddr *size)
|
||||||
{
|
{
|
||||||
RAMBlock *block = ram_block;
|
RAMBlock *block = ram_block;
|
||||||
ram_addr_t offset_inside_block;
|
|
||||||
if (*size == 0) {
|
if (*size == 0) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (block == NULL) {
|
if (block == NULL) {
|
||||||
block = qemu_get_ram_block(uc, addr);
|
block = qemu_get_ram_block(uc, addr);
|
||||||
|
addr -= block->offset;
|
||||||
}
|
}
|
||||||
offset_inside_block = addr - block->offset;
|
*size = MIN(*size, block->max_length - addr);
|
||||||
*size = MIN(*size, block->max_length - offset_inside_block);
|
|
||||||
|
|
||||||
// Unicorn: Commented out
|
// Unicorn: Commented out
|
||||||
//if (xen_enabled() && block->host == NULL) {
|
//if (xen_enabled() && block->host == NULL) {
|
||||||
|
@ -1411,7 +1411,7 @@ static void *qemu_ram_ptr_length(struct uc_struct *uc, RAMBlock *ram_block,
|
||||||
// block->host = xen_map_cache(block->offset, block->max_length, 1);
|
// block->host = xen_map_cache(block->offset, block->max_length, 1);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
return ramblock_ptr(block, offset_inside_block);
|
return ramblock_ptr(block, addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1619,13 +1619,13 @@ static void notdirty_mem_write(struct uc_struct* uc, void *opaque, hwaddr ram_ad
|
||||||
}
|
}
|
||||||
switch (size) {
|
switch (size) {
|
||||||
case 1:
|
case 1:
|
||||||
stb_p(qemu_get_ram_ptr(uc, NULL, ram_addr), val);
|
stb_p(qemu_map_ram_ptr(uc, NULL, ram_addr), val);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
stw_p(qemu_get_ram_ptr(uc, NULL, ram_addr), val);
|
stw_p(qemu_map_ram_ptr(uc, NULL, ram_addr), val);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
stl_p(qemu_get_ram_ptr(uc, NULL, ram_addr), val);
|
stl_p(qemu_map_ram_ptr(uc, NULL, ram_addr), val);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
|
@ -1882,6 +1882,7 @@ static void invalidate_and_set_dirty(MemoryRegion *mr, hwaddr addr,
|
||||||
hwaddr length)
|
hwaddr length)
|
||||||
{
|
{
|
||||||
uint8_t dirty_log_mask = memory_region_get_dirty_log_mask(mr);
|
uint8_t dirty_log_mask = memory_region_get_dirty_log_mask(mr);
|
||||||
|
addr += memory_region_get_ram_addr(mr);
|
||||||
|
|
||||||
if (dirty_log_mask) {
|
if (dirty_log_mask) {
|
||||||
dirty_log_mask =
|
dirty_log_mask =
|
||||||
|
@ -1972,9 +1973,8 @@ static MemTxResult address_space_write_continue(AddressSpace *as, hwaddr addr,
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addr1 += memory_region_get_ram_addr(mr);
|
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
ptr = qemu_get_ram_ptr(mr->uc, mr->ram_block, addr1);
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
memcpy(ptr, buf, l);
|
memcpy(ptr, buf, l);
|
||||||
invalidate_and_set_dirty(mr, addr1, l);
|
invalidate_and_set_dirty(mr, addr1, l);
|
||||||
}
|
}
|
||||||
|
@ -2071,8 +2071,7 @@ MemTxResult address_space_read_continue(AddressSpace *as, hwaddr addr,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
ptr = qemu_get_ram_ptr(mr->uc, mr->ram_block,
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
memory_region_get_ram_addr(mr) + addr1);
|
|
||||||
memcpy(buf, ptr, l);
|
memcpy(buf, ptr, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2156,9 +2155,8 @@ static inline void cpu_physical_memory_write_rom_internal(AddressSpace *as,
|
||||||
memory_region_is_romd(mr))) {
|
memory_region_is_romd(mr))) {
|
||||||
l = memory_access_size(mr, l, addr1);
|
l = memory_access_size(mr, l, addr1);
|
||||||
} else {
|
} else {
|
||||||
addr1 += memory_region_get_ram_addr(mr);
|
|
||||||
/* ROM/RAM case */
|
/* ROM/RAM case */
|
||||||
ptr = qemu_get_ram_ptr(mr->uc, mr->ram_block, addr1);
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case WRITE_DATA:
|
case WRITE_DATA:
|
||||||
memcpy(ptr, buf, l);
|
memcpy(ptr, buf, l);
|
||||||
|
@ -2237,7 +2235,6 @@ void *address_space_map(AddressSpace *as,
|
||||||
hwaddr done = 0;
|
hwaddr done = 0;
|
||||||
hwaddr l, xlat, base;
|
hwaddr l, xlat, base;
|
||||||
MemoryRegion *mr, *this_mr;
|
MemoryRegion *mr, *this_mr;
|
||||||
ram_addr_t raddr;
|
|
||||||
|
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -2267,7 +2264,6 @@ void *address_space_map(AddressSpace *as,
|
||||||
}
|
}
|
||||||
|
|
||||||
base = xlat;
|
base = xlat;
|
||||||
raddr = memory_region_get_ram_addr(mr);
|
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
len -= l;
|
len -= l;
|
||||||
|
@ -2286,7 +2282,7 @@ void *address_space_map(AddressSpace *as,
|
||||||
|
|
||||||
memory_region_ref(mr);
|
memory_region_ref(mr);
|
||||||
*plen = done;
|
*plen = done;
|
||||||
return qemu_ram_ptr_length(as->uc, mr->ram_block, raddr + base, plen);
|
return qemu_ram_ptr_length(as->uc, mr->ram_block, base, plen);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unmaps a memory region previously mapped by address_space_map().
|
/* Unmaps a memory region previously mapped by address_space_map().
|
||||||
|
@ -2302,7 +2298,6 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len,
|
||||||
|
|
||||||
mr = memory_region_from_host(as->uc, buffer, &addr1);
|
mr = memory_region_from_host(as->uc, buffer, &addr1);
|
||||||
assert(mr != NULL);
|
assert(mr != NULL);
|
||||||
addr1 += memory_region_get_ram_addr(mr);
|
|
||||||
if (is_write) {
|
if (is_write) {
|
||||||
invalidate_and_set_dirty(mr, addr1, access_len);
|
invalidate_and_set_dirty(mr, addr1, access_len);
|
||||||
}
|
}
|
||||||
|
@ -2360,8 +2355,7 @@ static inline uint32_t address_space_ldl_internal(AddressSpace *as, hwaddr addr,
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block,
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
memory_region_get_ram_addr(mr) + addr1);
|
|
||||||
|
|
||||||
switch (endian) {
|
switch (endian) {
|
||||||
case DEVICE_LITTLE_ENDIAN:
|
case DEVICE_LITTLE_ENDIAN:
|
||||||
|
@ -2447,10 +2441,7 @@ static inline uint64_t address_space_ldq_internal(AddressSpace *as, hwaddr addr,
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block,
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
(memory_region_get_ram_addr(mr)
|
|
||||||
& TARGET_PAGE_MASK)
|
|
||||||
+ addr1);
|
|
||||||
switch (endian) {
|
switch (endian) {
|
||||||
case DEVICE_LITTLE_ENDIAN:
|
case DEVICE_LITTLE_ENDIAN:
|
||||||
val = ldq_le_p(ptr);
|
val = ldq_le_p(ptr);
|
||||||
|
@ -2555,10 +2546,7 @@ static inline uint32_t address_space_lduw_internal(AddressSpace *as,
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block,
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
(memory_region_get_ram_addr(mr)
|
|
||||||
& TARGET_PAGE_MASK)
|
|
||||||
+ addr1);
|
|
||||||
switch (endian) {
|
switch (endian) {
|
||||||
case DEVICE_LITTLE_ENDIAN:
|
case DEVICE_LITTLE_ENDIAN:
|
||||||
val = lduw_le_p(ptr);
|
val = lduw_le_p(ptr);
|
||||||
|
@ -2631,8 +2619,7 @@ void address_space_stl_notdirty(AddressSpace *as, hwaddr addr, uint32_t val,
|
||||||
if (l < 4 || !memory_access_is_direct(mr, true)) {
|
if (l < 4 || !memory_access_is_direct(mr, true)) {
|
||||||
r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
|
r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
|
||||||
} else {
|
} else {
|
||||||
addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block, addr1);
|
|
||||||
stl_p(ptr, val);
|
stl_p(ptr, val);
|
||||||
r = MEMTX_OK;
|
r = MEMTX_OK;
|
||||||
}
|
}
|
||||||
|
@ -2674,8 +2661,7 @@ static inline void address_space_stl_internal(AddressSpace *as,
|
||||||
r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
|
r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block, addr1);
|
|
||||||
switch (endian) {
|
switch (endian) {
|
||||||
case DEVICE_LITTLE_ENDIAN:
|
case DEVICE_LITTLE_ENDIAN:
|
||||||
stl_le_p(ptr, val);
|
stl_le_p(ptr, val);
|
||||||
|
@ -2776,8 +2762,7 @@ static inline void address_space_stw_internal(AddressSpace *as,
|
||||||
r = memory_region_dispatch_write(mr, addr1, val, 2, attrs);
|
r = memory_region_dispatch_write(mr, addr1, val, 2, attrs);
|
||||||
} else {
|
} else {
|
||||||
/* RAM case */
|
/* RAM case */
|
||||||
addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
ptr = qemu_get_ram_ptr(as->uc, mr->ram_block, addr1);
|
|
||||||
switch (endian) {
|
switch (endian) {
|
||||||
case DEVICE_LITTLE_ENDIAN:
|
case DEVICE_LITTLE_ENDIAN:
|
||||||
stw_le_p(ptr, val);
|
stw_le_p(ptr, val);
|
||||||
|
|
|
@ -2432,7 +2432,6 @@ symbols = (
|
||||||
'qemu_get_guest_memory_mapping',
|
'qemu_get_guest_memory_mapping',
|
||||||
'qemu_get_guest_simple_memory_mapping',
|
'qemu_get_guest_simple_memory_mapping',
|
||||||
'qemu_get_ram_block',
|
'qemu_get_ram_block',
|
||||||
'qemu_get_ram_ptr',
|
|
||||||
'qemu_host_page_mask',
|
'qemu_host_page_mask',
|
||||||
'qemu_host_page_size',
|
'qemu_host_page_size',
|
||||||
'qemu_init_vcpu',
|
'qemu_init_vcpu',
|
||||||
|
@ -2440,6 +2439,7 @@ symbols = (
|
||||||
'qemu_log_enabled',
|
'qemu_log_enabled',
|
||||||
'qemu_loglevel_mask',
|
'qemu_loglevel_mask',
|
||||||
'qemu_log_vprintf',
|
'qemu_log_vprintf',
|
||||||
|
'qemu_map_ram_ptr',
|
||||||
'qemu_oom_check',
|
'qemu_oom_check',
|
||||||
'qemu_parse_fd',
|
'qemu_parse_fd',
|
||||||
'qemu_ram_addr_from_host',
|
'qemu_ram_addr_from_host',
|
||||||
|
|
|
@ -1110,7 +1110,7 @@ MemTxResult address_space_read_continue(AddressSpace *as, hwaddr addr,
|
||||||
|
|
||||||
MemTxResult address_space_read_full(AddressSpace *as, hwaddr addr,
|
MemTxResult address_space_read_full(AddressSpace *as, hwaddr addr,
|
||||||
MemTxAttrs attrs, uint8_t *buf, int len);
|
MemTxAttrs attrs, uint8_t *buf, int len);
|
||||||
void *qemu_get_ram_ptr(struct uc_struct *uc, RAMBlock *ram_block,
|
void *qemu_map_ram_ptr(struct uc_struct *uc, RAMBlock *ram_block,
|
||||||
ram_addr_t addr);
|
ram_addr_t addr);
|
||||||
|
|
||||||
static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
|
static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
|
||||||
|
@ -1151,8 +1151,7 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr, MemTxAttrs attrs,
|
||||||
l = len;
|
l = len;
|
||||||
mr = address_space_translate(as, addr, &addr1, &l, false);
|
mr = address_space_translate(as, addr, &addr1, &l, false);
|
||||||
if (len == l && memory_access_is_direct(mr, false)) {
|
if (len == l && memory_access_is_direct(mr, false)) {
|
||||||
addr1 += memory_region_get_ram_addr(mr);
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, addr1);
|
||||||
ptr = qemu_get_ram_ptr(mr->uc, mr->ram_block, addr1);
|
|
||||||
memcpy(buf, ptr, len);
|
memcpy(buf, ptr, len);
|
||||||
} else {
|
} else {
|
||||||
result = address_space_read_continue(as, addr, attrs, buf, len,
|
result = address_space_read_continue(as, addr, attrs, buf, len,
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_m68k
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_m68k
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_m68k
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_m68k
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_m68k
|
#define qemu_get_ram_block qemu_get_ram_block_m68k
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_m68k
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_m68k
|
#define qemu_host_page_mask qemu_host_page_mask_m68k
|
||||||
#define qemu_host_page_size qemu_host_page_size_m68k
|
#define qemu_host_page_size qemu_host_page_size_m68k
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_m68k
|
#define qemu_init_vcpu qemu_init_vcpu_m68k
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_m68k
|
#define qemu_log_enabled qemu_log_enabled_m68k
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_m68k
|
#define qemu_loglevel_mask qemu_loglevel_mask_m68k
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_m68k
|
#define qemu_log_vprintf qemu_log_vprintf_m68k
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_m68k
|
||||||
#define qemu_oom_check qemu_oom_check_m68k
|
#define qemu_oom_check qemu_oom_check_m68k
|
||||||
#define qemu_parse_fd qemu_parse_fd_m68k
|
#define qemu_parse_fd qemu_parse_fd_m68k
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_m68k
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_m68k
|
||||||
|
|
|
@ -1357,11 +1357,11 @@ void *memory_region_get_ram_ptr(MemoryRegion *mr)
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(mr->ram_block);
|
assert(mr->ram_block);
|
||||||
ptr = qemu_get_ram_ptr(mr->uc, mr->ram_block, memory_region_get_ram_addr(mr));
|
ptr = qemu_map_ram_ptr(mr->uc, mr->ram_block, offset);
|
||||||
// Unicorn: commented out
|
// Unicorn: commented out
|
||||||
//rcu_read_unlock();
|
//rcu_read_unlock();
|
||||||
|
|
||||||
return ptr + offset;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
MemoryRegion *memory_region_from_host(struct uc_struct *uc, void *ptr, ram_addr_t *offset)
|
MemoryRegion *memory_region_from_host(struct uc_struct *uc, void *ptr, ram_addr_t *offset)
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_mips
|
#define qemu_get_ram_block qemu_get_ram_block_mips
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_mips
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_mips
|
#define qemu_host_page_mask qemu_host_page_mask_mips
|
||||||
#define qemu_host_page_size qemu_host_page_size_mips
|
#define qemu_host_page_size qemu_host_page_size_mips
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_mips
|
#define qemu_init_vcpu qemu_init_vcpu_mips
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_mips
|
#define qemu_log_enabled qemu_log_enabled_mips
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_mips
|
#define qemu_loglevel_mask qemu_loglevel_mask_mips
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_mips
|
#define qemu_log_vprintf qemu_log_vprintf_mips
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_mips
|
||||||
#define qemu_oom_check qemu_oom_check_mips
|
#define qemu_oom_check qemu_oom_check_mips
|
||||||
#define qemu_parse_fd qemu_parse_fd_mips
|
#define qemu_parse_fd qemu_parse_fd_mips
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips64
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips64
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips64
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips64
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_mips64
|
#define qemu_get_ram_block qemu_get_ram_block_mips64
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_mips64
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_mips64
|
#define qemu_host_page_mask qemu_host_page_mask_mips64
|
||||||
#define qemu_host_page_size qemu_host_page_size_mips64
|
#define qemu_host_page_size qemu_host_page_size_mips64
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_mips64
|
#define qemu_init_vcpu qemu_init_vcpu_mips64
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_mips64
|
#define qemu_log_enabled qemu_log_enabled_mips64
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_mips64
|
#define qemu_loglevel_mask qemu_loglevel_mask_mips64
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_mips64
|
#define qemu_log_vprintf qemu_log_vprintf_mips64
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_mips64
|
||||||
#define qemu_oom_check qemu_oom_check_mips64
|
#define qemu_oom_check qemu_oom_check_mips64
|
||||||
#define qemu_parse_fd qemu_parse_fd_mips64
|
#define qemu_parse_fd qemu_parse_fd_mips64
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips64
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips64
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips64el
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mips64el
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips64el
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mips64el
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_mips64el
|
#define qemu_get_ram_block qemu_get_ram_block_mips64el
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_mips64el
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_mips64el
|
#define qemu_host_page_mask qemu_host_page_mask_mips64el
|
||||||
#define qemu_host_page_size qemu_host_page_size_mips64el
|
#define qemu_host_page_size qemu_host_page_size_mips64el
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_mips64el
|
#define qemu_init_vcpu qemu_init_vcpu_mips64el
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_mips64el
|
#define qemu_log_enabled qemu_log_enabled_mips64el
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_mips64el
|
#define qemu_loglevel_mask qemu_loglevel_mask_mips64el
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_mips64el
|
#define qemu_log_vprintf qemu_log_vprintf_mips64el
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_mips64el
|
||||||
#define qemu_oom_check qemu_oom_check_mips64el
|
#define qemu_oom_check qemu_oom_check_mips64el
|
||||||
#define qemu_parse_fd qemu_parse_fd_mips64el
|
#define qemu_parse_fd qemu_parse_fd_mips64el
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips64el
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mips64el
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mipsel
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_mipsel
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mipsel
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_mipsel
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_mipsel
|
#define qemu_get_ram_block qemu_get_ram_block_mipsel
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_mipsel
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_mipsel
|
#define qemu_host_page_mask qemu_host_page_mask_mipsel
|
||||||
#define qemu_host_page_size qemu_host_page_size_mipsel
|
#define qemu_host_page_size qemu_host_page_size_mipsel
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_mipsel
|
#define qemu_init_vcpu qemu_init_vcpu_mipsel
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_mipsel
|
#define qemu_log_enabled qemu_log_enabled_mipsel
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_mipsel
|
#define qemu_loglevel_mask qemu_loglevel_mask_mipsel
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_mipsel
|
#define qemu_log_vprintf qemu_log_vprintf_mipsel
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_mipsel
|
||||||
#define qemu_oom_check qemu_oom_check_mipsel
|
#define qemu_oom_check qemu_oom_check_mipsel
|
||||||
#define qemu_parse_fd qemu_parse_fd_mipsel
|
#define qemu_parse_fd qemu_parse_fd_mipsel
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mipsel
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_mipsel
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_powerpc
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_powerpc
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_powerpc
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_powerpc
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_powerpc
|
#define qemu_get_ram_block qemu_get_ram_block_powerpc
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_powerpc
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_powerpc
|
#define qemu_host_page_mask qemu_host_page_mask_powerpc
|
||||||
#define qemu_host_page_size qemu_host_page_size_powerpc
|
#define qemu_host_page_size qemu_host_page_size_powerpc
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_powerpc
|
#define qemu_init_vcpu qemu_init_vcpu_powerpc
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_powerpc
|
#define qemu_log_enabled qemu_log_enabled_powerpc
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_powerpc
|
#define qemu_loglevel_mask qemu_loglevel_mask_powerpc
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_powerpc
|
#define qemu_log_vprintf qemu_log_vprintf_powerpc
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_powerpc
|
||||||
#define qemu_oom_check qemu_oom_check_powerpc
|
#define qemu_oom_check qemu_oom_check_powerpc
|
||||||
#define qemu_parse_fd qemu_parse_fd_powerpc
|
#define qemu_parse_fd qemu_parse_fd_powerpc
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_powerpc
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_powerpc
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_sparc
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_sparc
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_sparc
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_sparc
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_sparc
|
#define qemu_get_ram_block qemu_get_ram_block_sparc
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_sparc
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_sparc
|
#define qemu_host_page_mask qemu_host_page_mask_sparc
|
||||||
#define qemu_host_page_size qemu_host_page_size_sparc
|
#define qemu_host_page_size qemu_host_page_size_sparc
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_sparc
|
#define qemu_init_vcpu qemu_init_vcpu_sparc
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_sparc
|
#define qemu_log_enabled qemu_log_enabled_sparc
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_sparc
|
#define qemu_loglevel_mask qemu_loglevel_mask_sparc
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_sparc
|
#define qemu_log_vprintf qemu_log_vprintf_sparc
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_sparc
|
||||||
#define qemu_oom_check qemu_oom_check_sparc
|
#define qemu_oom_check qemu_oom_check_sparc
|
||||||
#define qemu_parse_fd qemu_parse_fd_sparc
|
#define qemu_parse_fd qemu_parse_fd_sparc
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_sparc
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_sparc
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_sparc64
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_sparc64
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_sparc64
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_sparc64
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_sparc64
|
#define qemu_get_ram_block qemu_get_ram_block_sparc64
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_sparc64
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_sparc64
|
#define qemu_host_page_mask qemu_host_page_mask_sparc64
|
||||||
#define qemu_host_page_size qemu_host_page_size_sparc64
|
#define qemu_host_page_size qemu_host_page_size_sparc64
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_sparc64
|
#define qemu_init_vcpu qemu_init_vcpu_sparc64
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_sparc64
|
#define qemu_log_enabled qemu_log_enabled_sparc64
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_sparc64
|
#define qemu_loglevel_mask qemu_loglevel_mask_sparc64
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_sparc64
|
#define qemu_log_vprintf qemu_log_vprintf_sparc64
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_sparc64
|
||||||
#define qemu_oom_check qemu_oom_check_sparc64
|
#define qemu_oom_check qemu_oom_check_sparc64
|
||||||
#define qemu_parse_fd qemu_parse_fd_sparc64
|
#define qemu_parse_fd qemu_parse_fd_sparc64
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_sparc64
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_sparc64
|
||||||
|
|
|
@ -2426,7 +2426,6 @@
|
||||||
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_x86_64
|
#define qemu_get_guest_memory_mapping qemu_get_guest_memory_mapping_x86_64
|
||||||
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_x86_64
|
#define qemu_get_guest_simple_memory_mapping qemu_get_guest_simple_memory_mapping_x86_64
|
||||||
#define qemu_get_ram_block qemu_get_ram_block_x86_64
|
#define qemu_get_ram_block qemu_get_ram_block_x86_64
|
||||||
#define qemu_get_ram_ptr qemu_get_ram_ptr_x86_64
|
|
||||||
#define qemu_host_page_mask qemu_host_page_mask_x86_64
|
#define qemu_host_page_mask qemu_host_page_mask_x86_64
|
||||||
#define qemu_host_page_size qemu_host_page_size_x86_64
|
#define qemu_host_page_size qemu_host_page_size_x86_64
|
||||||
#define qemu_init_vcpu qemu_init_vcpu_x86_64
|
#define qemu_init_vcpu qemu_init_vcpu_x86_64
|
||||||
|
@ -2434,6 +2433,7 @@
|
||||||
#define qemu_log_enabled qemu_log_enabled_x86_64
|
#define qemu_log_enabled qemu_log_enabled_x86_64
|
||||||
#define qemu_loglevel_mask qemu_loglevel_mask_x86_64
|
#define qemu_loglevel_mask qemu_loglevel_mask_x86_64
|
||||||
#define qemu_log_vprintf qemu_log_vprintf_x86_64
|
#define qemu_log_vprintf qemu_log_vprintf_x86_64
|
||||||
|
#define qemu_map_ram_ptr qemu_map_ram_ptr_x86_64
|
||||||
#define qemu_oom_check qemu_oom_check_x86_64
|
#define qemu_oom_check qemu_oom_check_x86_64
|
||||||
#define qemu_parse_fd qemu_parse_fd_x86_64
|
#define qemu_parse_fd qemu_parse_fd_x86_64
|
||||||
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_x86_64
|
#define qemu_ram_addr_from_host qemu_ram_addr_from_host_x86_64
|
||||||
|
|
Loading…
Reference in a new issue