diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2012-04-09 17:38:52 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2012-05-01 10:45:07 +0000 |
commit | fd06257351683ba24ebebd9793df3fd0fb59988e (patch) | |
tree | 702f85fd87c0a28510617080f74febc7482b5a34 | |
parent | cc5bea608df30263f8d20facfd55d8b6ce15053d (diff) | |
download | hqemu-fd06257351683ba24ebebd9793df3fd0fb59988e.zip hqemu-fd06257351683ba24ebebd9793df3fd0fb59988e.tar.gz |
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>
-rw-r--r-- | cputlb.h | 6 | ||||
-rw-r--r-- | exec.c | 8 | ||||
-rw-r--r-- | memory.h | 29 |
3 files changed, 29 insertions, 14 deletions
@@ -32,8 +32,6 @@ void tlb_set_dirty(CPUArchState *env, target_ulong vaddr); extern int tlb_flush_count; /* 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); target_phys_addr_t memory_region_section_get_iotlb(CPUArchState *env, MemoryRegionSection *section, @@ -43,9 +41,5 @@ target_phys_addr_t memory_region_section_get_iotlb(CPUArchState *env, target_ulong *address); bool memory_region_is_unassigned(MemoryRegion *mr); -static inline bool memory_region_is_romd(MemoryRegion *mr) -{ - return mr->rom_device && mr->readable; -} #endif #endif @@ -503,14 +503,6 @@ bool memory_region_is_unassigned(MemoryRegion *mr) && 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_unlock() do { } while(0) #endif @@ -339,6 +339,19 @@ uint64_t memory_region_size(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 * * Returns the string that was used to initialize the memory region. @@ -666,6 +679,22 @@ void memory_region_set_alias_offset(MemoryRegion *mr, MemoryRegionSection memory_region_find(MemoryRegion *address_space, 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 |