memory: Implement memory_region_get_ram_addr with mr->ram_block

Backports commit 7ebb2745acbb8d910eab07dc5f0aa01a4457703c from qemu
This commit is contained in:
Fam Zheng 2018-02-21 08:00:50 -05:00 committed by Lioncash
parent 4b8c428494
commit 2c1a72635d
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
16 changed files with 20 additions and 7 deletions

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_aarch64 #define memory_region_get_fd memory_region_get_fd_aarch64
#define memory_region_get_may_overlap memory_region_get_may_overlap_aarch64 #define memory_region_get_may_overlap memory_region_get_may_overlap_aarch64
#define memory_region_get_priority memory_region_get_priority_aarch64 #define memory_region_get_priority memory_region_get_priority_aarch64
#define memory_region_get_ram_addr memory_region_get_ram_addr_aarch64
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_aarch64 #define memory_region_get_ram_ptr memory_region_get_ram_ptr_aarch64
#define memory_region_get_size memory_region_get_size_aarch64 #define memory_region_get_size memory_region_get_size_aarch64
#define memory_region_info memory_region_info_aarch64 #define memory_region_info memory_region_info_aarch64

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_aarch64eb #define memory_region_get_fd memory_region_get_fd_aarch64eb
#define memory_region_get_may_overlap memory_region_get_may_overlap_aarch64eb #define memory_region_get_may_overlap memory_region_get_may_overlap_aarch64eb
#define memory_region_get_priority memory_region_get_priority_aarch64eb #define memory_region_get_priority memory_region_get_priority_aarch64eb
#define memory_region_get_ram_addr memory_region_get_ram_addr_aarch64eb
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_aarch64eb #define memory_region_get_ram_ptr memory_region_get_ram_ptr_aarch64eb
#define memory_region_get_size memory_region_get_size_aarch64eb #define memory_region_get_size memory_region_get_size_aarch64eb
#define memory_region_info memory_region_info_aarch64eb #define memory_region_info memory_region_info_aarch64eb

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_arm #define memory_region_get_fd memory_region_get_fd_arm
#define memory_region_get_may_overlap memory_region_get_may_overlap_arm #define memory_region_get_may_overlap memory_region_get_may_overlap_arm
#define memory_region_get_priority memory_region_get_priority_arm #define memory_region_get_priority memory_region_get_priority_arm
#define memory_region_get_ram_addr memory_region_get_ram_addr_arm
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_arm #define memory_region_get_ram_ptr memory_region_get_ram_ptr_arm
#define memory_region_get_size memory_region_get_size_arm #define memory_region_get_size memory_region_get_size_arm
#define memory_region_info memory_region_info_arm #define memory_region_info memory_region_info_arm

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_armeb #define memory_region_get_fd memory_region_get_fd_armeb
#define memory_region_get_may_overlap memory_region_get_may_overlap_armeb #define memory_region_get_may_overlap memory_region_get_may_overlap_armeb
#define memory_region_get_priority memory_region_get_priority_armeb #define memory_region_get_priority memory_region_get_priority_armeb
#define memory_region_get_ram_addr memory_region_get_ram_addr_armeb
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_armeb #define memory_region_get_ram_ptr memory_region_get_ram_ptr_armeb
#define memory_region_get_size memory_region_get_size_armeb #define memory_region_get_size memory_region_get_size_armeb
#define memory_region_info memory_region_info_armeb #define memory_region_info memory_region_info_armeb

View file

@ -2090,6 +2090,7 @@ symbols = (
'memory_region_get_fd', 'memory_region_get_fd',
'memory_region_get_may_overlap', 'memory_region_get_may_overlap',
'memory_region_get_priority', 'memory_region_get_priority',
'memory_region_get_ram_addr',
'memory_region_get_ram_ptr', 'memory_region_get_ram_ptr',
'memory_region_get_size', 'memory_region_get_size',
'memory_region_info', 'memory_region_info',

View file

@ -710,14 +710,8 @@ void memory_region_add_subregion_overlap(MemoryRegion *mr,
/** /**
* memory_region_get_ram_addr: Get the ram address associated with a memory * memory_region_get_ram_addr: Get the ram address associated with a memory
* region * region
*
* DO NOT USE THIS FUNCTION. This is a temporary workaround while the Xen
* code is being reworked.
*/ */
static inline ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr) ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr);
{
return mr->ram_addr;
}
uint64_t memory_region_get_alignment(const MemoryRegion *mr); uint64_t memory_region_get_alignment(const MemoryRegion *mr);

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_m68k #define memory_region_get_fd memory_region_get_fd_m68k
#define memory_region_get_may_overlap memory_region_get_may_overlap_m68k #define memory_region_get_may_overlap memory_region_get_may_overlap_m68k
#define memory_region_get_priority memory_region_get_priority_m68k #define memory_region_get_priority memory_region_get_priority_m68k
#define memory_region_get_ram_addr memory_region_get_ram_addr_m68k
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_m68k #define memory_region_get_ram_ptr memory_region_get_ram_ptr_m68k
#define memory_region_get_size memory_region_get_size_m68k #define memory_region_get_size memory_region_get_size_m68k
#define memory_region_info memory_region_info_m68k #define memory_region_info memory_region_info_m68k

View file

@ -1396,6 +1396,11 @@ void *memory_region_get_ram_ptr(MemoryRegion *mr)
return ptr + offset; return ptr + offset;
} }
ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr)
{
return mr->ram_block ? mr->ram_block->offset : RAM_ADDR_INVALID;
}
bool memory_region_test_and_clear_dirty(MemoryRegion *mr, hwaddr addr, bool memory_region_test_and_clear_dirty(MemoryRegion *mr, hwaddr addr,
hwaddr size, unsigned client) hwaddr size, unsigned client)
{ {

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_mips #define memory_region_get_fd memory_region_get_fd_mips
#define memory_region_get_may_overlap memory_region_get_may_overlap_mips #define memory_region_get_may_overlap memory_region_get_may_overlap_mips
#define memory_region_get_priority memory_region_get_priority_mips #define memory_region_get_priority memory_region_get_priority_mips
#define memory_region_get_ram_addr memory_region_get_ram_addr_mips
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips #define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips
#define memory_region_get_size memory_region_get_size_mips #define memory_region_get_size memory_region_get_size_mips
#define memory_region_info memory_region_info_mips #define memory_region_info memory_region_info_mips

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_mips64 #define memory_region_get_fd memory_region_get_fd_mips64
#define memory_region_get_may_overlap memory_region_get_may_overlap_mips64 #define memory_region_get_may_overlap memory_region_get_may_overlap_mips64
#define memory_region_get_priority memory_region_get_priority_mips64 #define memory_region_get_priority memory_region_get_priority_mips64
#define memory_region_get_ram_addr memory_region_get_ram_addr_mips64
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips64 #define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips64
#define memory_region_get_size memory_region_get_size_mips64 #define memory_region_get_size memory_region_get_size_mips64
#define memory_region_info memory_region_info_mips64 #define memory_region_info memory_region_info_mips64

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_mips64el #define memory_region_get_fd memory_region_get_fd_mips64el
#define memory_region_get_may_overlap memory_region_get_may_overlap_mips64el #define memory_region_get_may_overlap memory_region_get_may_overlap_mips64el
#define memory_region_get_priority memory_region_get_priority_mips64el #define memory_region_get_priority memory_region_get_priority_mips64el
#define memory_region_get_ram_addr memory_region_get_ram_addr_mips64el
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips64el #define memory_region_get_ram_ptr memory_region_get_ram_ptr_mips64el
#define memory_region_get_size memory_region_get_size_mips64el #define memory_region_get_size memory_region_get_size_mips64el
#define memory_region_info memory_region_info_mips64el #define memory_region_info memory_region_info_mips64el

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_mipsel #define memory_region_get_fd memory_region_get_fd_mipsel
#define memory_region_get_may_overlap memory_region_get_may_overlap_mipsel #define memory_region_get_may_overlap memory_region_get_may_overlap_mipsel
#define memory_region_get_priority memory_region_get_priority_mipsel #define memory_region_get_priority memory_region_get_priority_mipsel
#define memory_region_get_ram_addr memory_region_get_ram_addr_mipsel
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_mipsel #define memory_region_get_ram_ptr memory_region_get_ram_ptr_mipsel
#define memory_region_get_size memory_region_get_size_mipsel #define memory_region_get_size memory_region_get_size_mipsel
#define memory_region_info memory_region_info_mipsel #define memory_region_info memory_region_info_mipsel

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_powerpc #define memory_region_get_fd memory_region_get_fd_powerpc
#define memory_region_get_may_overlap memory_region_get_may_overlap_powerpc #define memory_region_get_may_overlap memory_region_get_may_overlap_powerpc
#define memory_region_get_priority memory_region_get_priority_powerpc #define memory_region_get_priority memory_region_get_priority_powerpc
#define memory_region_get_ram_addr memory_region_get_ram_addr_powerpc
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_powerpc #define memory_region_get_ram_ptr memory_region_get_ram_ptr_powerpc
#define memory_region_get_size memory_region_get_size_powerpc #define memory_region_get_size memory_region_get_size_powerpc
#define memory_region_info memory_region_info_powerpc #define memory_region_info memory_region_info_powerpc

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_sparc #define memory_region_get_fd memory_region_get_fd_sparc
#define memory_region_get_may_overlap memory_region_get_may_overlap_sparc #define memory_region_get_may_overlap memory_region_get_may_overlap_sparc
#define memory_region_get_priority memory_region_get_priority_sparc #define memory_region_get_priority memory_region_get_priority_sparc
#define memory_region_get_ram_addr memory_region_get_ram_addr_sparc
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_sparc #define memory_region_get_ram_ptr memory_region_get_ram_ptr_sparc
#define memory_region_get_size memory_region_get_size_sparc #define memory_region_get_size memory_region_get_size_sparc
#define memory_region_info memory_region_info_sparc #define memory_region_info memory_region_info_sparc

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_sparc64 #define memory_region_get_fd memory_region_get_fd_sparc64
#define memory_region_get_may_overlap memory_region_get_may_overlap_sparc64 #define memory_region_get_may_overlap memory_region_get_may_overlap_sparc64
#define memory_region_get_priority memory_region_get_priority_sparc64 #define memory_region_get_priority memory_region_get_priority_sparc64
#define memory_region_get_ram_addr memory_region_get_ram_addr_sparc64
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_sparc64 #define memory_region_get_ram_ptr memory_region_get_ram_ptr_sparc64
#define memory_region_get_size memory_region_get_size_sparc64 #define memory_region_get_size memory_region_get_size_sparc64
#define memory_region_info memory_region_info_sparc64 #define memory_region_info memory_region_info_sparc64

View file

@ -2084,6 +2084,7 @@
#define memory_region_get_fd memory_region_get_fd_x86_64 #define memory_region_get_fd memory_region_get_fd_x86_64
#define memory_region_get_may_overlap memory_region_get_may_overlap_x86_64 #define memory_region_get_may_overlap memory_region_get_may_overlap_x86_64
#define memory_region_get_priority memory_region_get_priority_x86_64 #define memory_region_get_priority memory_region_get_priority_x86_64
#define memory_region_get_ram_addr memory_region_get_ram_addr_x86_64
#define memory_region_get_ram_ptr memory_region_get_ram_ptr_x86_64 #define memory_region_get_ram_ptr memory_region_get_ram_ptr_x86_64
#define memory_region_get_size memory_region_get_size_x86_64 #define memory_region_get_size memory_region_get_size_x86_64
#define memory_region_info memory_region_info_x86_64 #define memory_region_info memory_region_info_x86_64