Patchwork [3/3] memory: move functions is_romd and section_addr to memory API

login
register
mail settings
Submitter Blue Swirl
Date April 14, 2012, 3:24 p.m.
Message ID <CAAu8pHtR2HutaFHapPBM_vfkmUicuEPxauPX5xJV0rGD2Cf7TA@mail.gmail.com>
Download mbox | patch
Permalink /patch/152515/
State New
Headers show

Comments

Blue Swirl - April 14, 2012, 3:24 p.m.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 cputlb.h |    6 ------
 exec.c   |    8 --------
 memory.h |   29 +++++++++++++++++++++++++++++
 3 files changed, 29 insertions(+), 14 deletions(-)

Patch

From dd901d0eac685234b4fa23376ae8702076836e3e Mon Sep 17 00:00:00 2001
Message-Id: <dd901d0eac685234b4fa23376ae8702076836e3e.1334416532.git.blauwirbel@gmail.com>
In-Reply-To: <a9e4121be10f58de87fd49a3e89f2e0132f65523.1334416532.git.blauwirbel@gmail.com>
References: <a9e4121be10f58de87fd49a3e89f2e0132f65523.1334416532.git.blauwirbel@gmail.com>
From: Blue Swirl <blauwirbel@gmail.com>
Date: Mon, 9 Apr 2012 17:38:52 +0000
Subject: [PATCH 3/3] memory: move functions is_romd and section_addr to memory API

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 cputlb.h |    6 ------
 exec.c   |    8 --------
 memory.h |   29 +++++++++++++++++++++++++++++
 3 files changed, 29 insertions(+), 14 deletions(-)

diff --git a/cputlb.h b/cputlb.h
index 60479af..ce6e297 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 b137c54..5ffb5b4 100644
--- a/exec.c
+++ b/exec.c
@@ -550,14 +550,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
-- 
1.7.2.5