summaryrefslogtreecommitdiff
path: root/exec-all.h
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2012-03-08 18:08:35 +0200
committerAvi Kivity <avi@redhat.com>2012-03-08 19:06:11 +0200
commit37ec01d43343fc20b6e1ce34f82ec617020a9849 (patch)
tree695897b3abe5e16ed272127f7a5d49f34410b6c8 /exec-all.h
parentce5d64c2d0aa2aaf2ef60e9af48b0bf57852470b (diff)
downloadqemu-37ec01d43343fc20b6e1ce34f82ec617020a9849.tar.gz
memory: dispatch directly via MemoryRegion
Instead of indirecting via io_mem_region, dispatch directly through the MemoryRegion obtained from the iotlb or phys_page_find(). Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'exec-all.h')
-rw-r--r--exec-all.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/exec-all.h b/exec-all.h
index 3ffe9dd171..4e8c7f537c 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -299,10 +299,11 @@ extern void *tci_tb_ptr;
#if !defined(CONFIG_USER_ONLY)
-target_phys_addr_t section_to_ioaddr(target_phys_addr_t section_io_addr);
-uint64_t io_mem_read(int index, target_phys_addr_t addr, unsigned size);
-void io_mem_write(int index, target_phys_addr_t addr, uint64_t value,
- unsigned size);
+struct MemoryRegion *iotlb_to_region(target_phys_addr_t index);
+uint64_t io_mem_read(struct MemoryRegion *mr, target_phys_addr_t addr,
+ unsigned size);
+void io_mem_write(struct MemoryRegion *mr, target_phys_addr_t addr,
+ uint64_t value, unsigned size);
extern struct MemoryRegion *io_mem_region[IO_MEM_NB_ENTRIES];
void tlb_fill(CPUState *env1, target_ulong addr, int is_write, int mmu_idx,