[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 1/8] exec: Make tb_invalidate_phys_addr input an
From: |
edgar . iglesias |
Subject: |
[Qemu-devel] [RFC PATCH 1/8] exec: Make tb_invalidate_phys_addr input an AS |
Date: |
Fri, 22 Nov 2013 16:15:52 +0100 |
From: "Edgar E. Iglesias" <address@hidden>
No functional change.
Signed-off-by: Edgar E. Iglesias <address@hidden>
---
exec.c | 3 ++-
include/exec/exec-all.h | 2 +-
target-xtensa/op_helper.c | 3 ++-
translate-all.c | 4 ++--
4 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/exec.c b/exec.c
index 95c4356..189c324 100644
--- a/exec.c
+++ b/exec.c
@@ -411,7 +411,8 @@ static void breakpoint_invalidate(CPUState *cpu,
target_ulong pc)
{
hwaddr phys = cpu_get_phys_page_debug(cpu, pc);
if (phys != -1) {
- tb_invalidate_phys_addr(phys | (pc & ~TARGET_PAGE_MASK));
+ tb_invalidate_phys_addr(&address_space_memory,
+ phys | (pc & ~TARGET_PAGE_MASK));
}
}
#endif
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index ea90b64..b4dfc07 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -101,7 +101,7 @@ void tlb_flush(CPUArchState *env, int flush_global);
void tlb_set_page(CPUArchState *env, target_ulong vaddr,
hwaddr paddr, int prot,
int mmu_idx, target_ulong size);
-void tb_invalidate_phys_addr(hwaddr addr);
+void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr);
#else
static inline void tlb_flush_page(CPUArchState *env, target_ulong addr)
{
diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c
index cf97025..89a72b5 100644
--- a/target-xtensa/op_helper.c
+++ b/target-xtensa/op_helper.c
@@ -29,6 +29,7 @@
#include "helper.h"
#include "qemu/host-utils.h"
#include "exec/softmmu_exec.h"
+#include "exec/address-spaces.h"
static void do_unaligned_access(CPUXtensaState *env,
target_ulong addr, int is_write, int is_user, uintptr_t retaddr);
@@ -90,7 +91,7 @@ static void tb_invalidate_virtual_addr(CPUXtensaState *env,
uint32_t vaddr)
int ret = xtensa_get_physical_addr(env, false, vaddr, 2, 0,
&paddr, &page_size, &access);
if (ret == 0) {
- tb_invalidate_phys_addr(paddr);
+ tb_invalidate_phys_addr(&address_space_memory, paddr);
}
}
diff --git a/translate-all.c b/translate-all.c
index aeda54d..7596b8d 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -1352,13 +1352,13 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
}
#if defined(TARGET_HAS_ICE) && !defined(CONFIG_USER_ONLY)
-void tb_invalidate_phys_addr(hwaddr addr)
+void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr)
{
ram_addr_t ram_addr;
MemoryRegion *mr;
hwaddr l = 1;
- mr = address_space_translate(&address_space_memory, addr, &addr, &l,
false);
+ mr = address_space_translate(as, addr, &addr, &l, false);
if (!(memory_region_is_ram(mr)
|| memory_region_is_romd(mr))) {
return;
--
1.7.10.4
- [Qemu-devel] [RFC PATCH 0/8] Steps towards per CPU address-spaces, edgar . iglesias, 2013/11/22
- [Qemu-devel] [RFC PATCH 1/8] exec: Make tb_invalidate_phys_addr input an AS,
edgar . iglesias <=
- [Qemu-devel] [RFC PATCH 2/8] exec: Make iotlb_to_region input an AS, edgar . iglesias, 2013/11/22
- [Qemu-devel] [RFC PATCH 3/8] exec: Always initialize MemorySection address spaces, edgar . iglesias, 2013/11/22
- [Qemu-devel] [RFC PATCH 4/8] exec: Make memory_region_section_get_iotlb use section AS, edgar . iglesias, 2013/11/22
- [Qemu-devel] [RFC PATCH 5/8] memory: Add MemoryListener to typedefs, edgar . iglesias, 2013/11/22
- [Qemu-devel] [RFC PATCH 6/8] cpu: Add per-cpu address space, edgar . iglesias, 2013/11/22
[Qemu-devel] [RFC PATCH 7/8] exec: On AS changes, only flush affected CPU TLBs, edgar . iglesias, 2013/11/22