summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2010-03-01 03:31:14 +0000
committerPaul Brook <paul@codesourcery.com>2010-03-01 04:40:29 +0000
commitc527ee8fc8550f49fb94890bc88dcdf011c0b4eb (patch)
treeb202413b79de0d62f95327807375c05b1548c5be
parentc04b2b78992589b112affac608e74354bfa0c247 (diff)
downloadfocaccia-qemu-c527ee8fc8550f49fb94890bc88dcdf011c0b4eb.tar.gz
focaccia-qemu-c527ee8fc8550f49fb94890bc88dcdf011c0b4eb.zip
Avoid tlb_set_page in userspace emulation
tlb_set_page isn't meaningful for userspace emulation, so remove it.

Signed-off-by: Paul Brook <paul@codesourcery.com>
-rw-r--r--exec-all.h2
-rw-r--r--exec.c20
2 files changed, 15 insertions, 7 deletions
diff --git a/exec-all.h b/exec-all.h
index 820b59eea6..5c6fc8271b 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -86,6 +86,7 @@ void tb_invalidate_phys_page_range(target_phys_addr_t start, target_phys_addr_t
 void tb_invalidate_page_range(target_ulong start, target_ulong end);
 void tlb_flush_page(CPUState *env, target_ulong addr);
 void tlb_flush(CPUState *env, int flush_global);
+#if !defined(CONFIG_USER_ONLY)
 int tlb_set_page_exec(CPUState *env, target_ulong vaddr,
                       target_phys_addr_t paddr, int prot,
                       int mmu_idx, int is_softmmu);
@@ -97,6 +98,7 @@ static inline int tlb_set_page(CPUState *env1, target_ulong vaddr,
         prot |= PAGE_EXEC;
     return tlb_set_page_exec(env1, vaddr, paddr, prot, mmu_idx, is_softmmu);
 }
+#endif
 
 #define CODE_GEN_ALIGN           16 /* must be >= of the size of a icache line */
 
diff --git a/exec.c b/exec.c
index 3276a0874f..6a3c912b7f 100644
--- a/exec.c
+++ b/exec.c
@@ -1333,6 +1333,18 @@ static void breakpoint_invalidate(CPUState *env, target_ulong pc)
 #endif
 #endif /* TARGET_HAS_ICE */
 
+#if defined(CONFIG_USER_ONLY)
+void cpu_watchpoint_remove_all(CPUState *env, int mask)
+
+{
+}
+
+int cpu_watchpoint_insert(CPUState *env, target_ulong addr, target_ulong len,
+                          int flags, CPUWatchpoint **watchpoint)
+{
+    return -ENOSYS;
+}
+#else
 /* Add a watchpoint.  */
 int cpu_watchpoint_insert(CPUState *env, target_ulong addr, target_ulong len,
                           int flags, CPUWatchpoint **watchpoint)
@@ -1402,6 +1414,7 @@ void cpu_watchpoint_remove_all(CPUState *env, int mask)
             cpu_watchpoint_remove_by_ref(env, wp);
     }
 }
+#endif
 
 /* Add a breakpoint.  */
 int cpu_breakpoint_insert(CPUState *env, target_ulong pc, int flags,
@@ -2165,13 +2178,6 @@ void tlb_flush_page(CPUState *env, target_ulong addr)
 {
 }
 
-int tlb_set_page_exec(CPUState *env, target_ulong vaddr,
-                      target_phys_addr_t paddr, int prot,
-                      int mmu_idx, int is_softmmu)
-{
-    return 0;
-}
-
 /*
  * Walks guest process memory "regions" one by one
  * and calls callback function 'fn' for each region.