diff options
author | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-14 01:08:09 +0000 |
---|---|---|
committer | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-14 01:08:09 +0000 |
commit | 786c02f1acb73ca68ecdc4fa93911495dc1147c6 (patch) | |
tree | 0af7a4fd67683e1f6531d56c3da62a943b8ee801 /target-cris/op_helper.c | |
parent | e62b5b133b97e07711741e2a4e2bf3e4dbc254f8 (diff) |
Model more parts of the ETRAX mmu (still alot missing).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4056 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-cris/op_helper.c')
-rw-r--r-- | target-cris/op_helper.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/target-cris/op_helper.c b/target-cris/op_helper.c index 458b0585de..701c835be1 100644 --- a/target-cris/op_helper.c +++ b/target-cris/op_helper.c @@ -21,6 +21,7 @@ #include <assert.h> #include "exec.h" +#include "mmu.h" #define MMUSUFFIX _mmu #ifdef __s390__ @@ -41,6 +42,8 @@ #define SHIFT 3 #include "softmmu_template.h" +#define D(x) + /* Try to fill the TLB and return an exception if error. If retaddr is NULL, it means that the function was called in C code (i.e. not from generated code or from helper.c) */ @@ -73,8 +76,20 @@ void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr) env = saved_env; } +void helper_tlb_update(uint32_t T0) +{ +#if !defined(CONFIG_USER_ONLY) + uint32_t vaddr; + + vaddr = cris_mmu_tlb_latest_update(env, T0); + D(printf("flush vaddr %x\n", vaddr)); + tlb_flush_page(env, vaddr); +#endif +} + void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, int is_asi) { - + D(printf("%s addr=%x w=%d ex=%d asi=%d\n", + __func__, addr, is_write, is_exec, is_asi)); } |