Avoid tlb_set_page in userspace emulation
authorPaul Brook <paul@codesourcery.com>
Mon, 1 Mar 2010 03:31:14 +0000 (03:31 +0000)
committerPaul Brook <paul@codesourcery.com>
Mon, 1 Mar 2010 04:40:29 +0000 (04:40 +0000)
tlb_set_page isn't meaningful for userspace emulation, so remove it.

Signed-off-by: Paul Brook <paul@codesourcery.com>
exec-all.h
exec.c

index 820b59e..5c6fc82 100644 (file)
@@ -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 3276a08..6a3c912 100644 (file)
--- 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.