aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2012-04-09 17:38:52 +0000
committerBlue Swirl <blauwirbel@gmail.com>2012-05-01 10:45:07 +0000
commitfd06257351683ba24ebebd9793df3fd0fb59988e (patch)
tree702f85fd87c0a28510617080f74febc7482b5a34
parentcc5bea608df30263f8d20facfd55d8b6ce15053d (diff)
downloadqemu-fd06257351683ba24ebebd9793df3fd0fb59988e.zip
qemu-fd06257351683ba24ebebd9793df3fd0fb59988e.tar.gz
qemu-fd06257351683ba24ebebd9793df3fd0fb59988e.tar.bz2
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.h6
-rw-r--r--exec.c8
-rw-r--r--memory.h29
3 files changed, 29 insertions, 14 deletions
diff --git a/cputlb.h b/cputlb.h
index 80f9b66..2dc2c96 100644
--- a/cputlb.h
+++ b/cputlb.h
@@ -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
diff --git a/exec.c b/exec.c
index 62d4140..0607c9b 100644
--- a/exec.c
+++ b/exec.c
@@ -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
diff --git a/memory.h b/memory.h
index 53ff62b..740c48e 100644
--- a/memory.h
+++ b/memory.h
@@ -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