memory: move functions is_romd and section_addr to memory API
Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
cc5bea608d
commit
fd06257351
6
cputlb.h
6
cputlb.h
@ -32,8 +32,6 @@ void tlb_set_dirty(CPUArchState *env, target_ulong vaddr);
|
|||||||
extern int tlb_flush_count;
|
extern int tlb_flush_count;
|
||||||
|
|
||||||
/* exec.c */
|
/* exec.c */
|
||||||
target_phys_addr_t memory_region_section_addr(MemoryRegionSection *section,
|
|
||||||
target_phys_addr_t addr);
|
|
||||||
void tb_flush_jmp_cache(CPUArchState *env, target_ulong addr);
|
void tb_flush_jmp_cache(CPUArchState *env, target_ulong addr);
|
||||||
target_phys_addr_t memory_region_section_get_iotlb(CPUArchState *env,
|
target_phys_addr_t memory_region_section_get_iotlb(CPUArchState *env,
|
||||||
MemoryRegionSection *section,
|
MemoryRegionSection *section,
|
||||||
@ -43,9 +41,5 @@ target_phys_addr_t memory_region_section_get_iotlb(CPUArchState *env,
|
|||||||
target_ulong *address);
|
target_ulong *address);
|
||||||
bool memory_region_is_unassigned(MemoryRegion *mr);
|
bool memory_region_is_unassigned(MemoryRegion *mr);
|
||||||
|
|
||||||
static inline bool memory_region_is_romd(MemoryRegion *mr)
|
|
||||||
{
|
|
||||||
return mr->rom_device && mr->readable;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
8
exec.c
8
exec.c
@ -503,14 +503,6 @@ bool memory_region_is_unassigned(MemoryRegion *mr)
|
|||||||
&& mr != &io_mem_watch;
|
&& mr != &io_mem_watch;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_phys_addr_t memory_region_section_addr(MemoryRegionSection *section,
|
|
||||||
target_phys_addr_t addr)
|
|
||||||
{
|
|
||||||
addr -= section->offset_within_address_space;
|
|
||||||
addr += section->offset_within_region;
|
|
||||||
return addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define mmap_lock() do { } while(0)
|
#define mmap_lock() do { } while(0)
|
||||||
#define mmap_unlock() do { } while(0)
|
#define mmap_unlock() do { } while(0)
|
||||||
#endif
|
#endif
|
||||||
|
29
memory.h
29
memory.h
@ -338,6 +338,19 @@ uint64_t memory_region_size(MemoryRegion *mr);
|
|||||||
*/
|
*/
|
||||||
bool memory_region_is_ram(MemoryRegion *mr);
|
bool memory_region_is_ram(MemoryRegion *mr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* memory_region_is_romd: check whether a memory region is ROMD
|
||||||
|
*
|
||||||
|
* Returns %true is a memory region is ROMD and currently set to allow
|
||||||
|
* direct reads.
|
||||||
|
*
|
||||||
|
* @mr: the memory region being queried
|
||||||
|
*/
|
||||||
|
static inline bool memory_region_is_romd(MemoryRegion *mr)
|
||||||
|
{
|
||||||
|
return mr->rom_device && mr->readable;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* memory_region_name: get a memory region's name
|
* memory_region_name: get a memory region's name
|
||||||
*
|
*
|
||||||
@ -666,6 +679,22 @@ void memory_region_set_alias_offset(MemoryRegion *mr,
|
|||||||
MemoryRegionSection memory_region_find(MemoryRegion *address_space,
|
MemoryRegionSection memory_region_find(MemoryRegion *address_space,
|
||||||
target_phys_addr_t addr, uint64_t size);
|
target_phys_addr_t addr, uint64_t size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* memory_region_section_addr: get offset within MemoryRegionSection
|
||||||
|
*
|
||||||
|
* Returns offset within MemoryRegionSection
|
||||||
|
*
|
||||||
|
* @section: the memory region section being queried
|
||||||
|
* @addr: address in address space
|
||||||
|
*/
|
||||||
|
static inline target_phys_addr_t
|
||||||
|
memory_region_section_addr(MemoryRegionSection *section,
|
||||||
|
target_phys_addr_t addr)
|
||||||
|
{
|
||||||
|
addr -= section->offset_within_address_space;
|
||||||
|
addr += section->offset_within_region;
|
||||||
|
return addr;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* memory_global_sync_dirty_bitmap: synchronize the dirty log for all memory
|
* memory_global_sync_dirty_bitmap: synchronize the dirty log for all memory
|
||||||
|
Loading…
Reference in New Issue
Block a user