|
@@ -22,7 +22,6 @@
|
|
|
|
|
|
#include "cpu.h"
|
|
|
#if defined(CONFIG_USER_ONLY)
|
|
|
-#include "exec/abi_ptr.h"
|
|
|
#include "exec/cpu_ldst.h"
|
|
|
#endif
|
|
|
#include "exec/mmu-access-type.h"
|
|
@@ -518,60 +517,8 @@ static inline tb_page_addr_t get_page_addr_code(CPUArchState *env,
|
|
|
return get_page_addr_code_hostp(env, addr, NULL);
|
|
|
}
|
|
|
|
|
|
-#if defined(CONFIG_USER_ONLY)
|
|
|
-
|
|
|
-/**
|
|
|
- * adjust_signal_pc:
|
|
|
- * @pc: raw pc from the host signal ucontext_t.
|
|
|
- * @is_write: host memory operation was write, or read-modify-write.
|
|
|
- *
|
|
|
- * Alter @pc as required for unwinding. Return the type of the
|
|
|
- * guest memory access -- host reads may be for guest execution.
|
|
|
- */
|
|
|
-MMUAccessType adjust_signal_pc(uintptr_t *pc, bool is_write);
|
|
|
-
|
|
|
-/**
|
|
|
- * handle_sigsegv_accerr_write:
|
|
|
- * @cpu: the cpu context
|
|
|
- * @old_set: the sigset_t from the signal ucontext_t
|
|
|
- * @host_pc: the host pc, adjusted for the signal
|
|
|
- * @host_addr: the host address of the fault
|
|
|
- *
|
|
|
- * Return true if the write fault has been handled, and should be re-tried.
|
|
|
- */
|
|
|
-bool handle_sigsegv_accerr_write(CPUState *cpu, sigset_t *old_set,
|
|
|
- uintptr_t host_pc, abi_ptr guest_addr);
|
|
|
-
|
|
|
-/**
|
|
|
- * cpu_loop_exit_sigsegv:
|
|
|
- * @cpu: the cpu context
|
|
|
- * @addr: the guest address of the fault
|
|
|
- * @access_type: access was read/write/execute
|
|
|
- * @maperr: true for invalid page, false for permission fault
|
|
|
- * @ra: host pc for unwinding
|
|
|
- *
|
|
|
- * Use the TCGCPUOps hook to record cpu state, do guest operating system
|
|
|
- * specific things to raise SIGSEGV, and jump to the main cpu loop.
|
|
|
- */
|
|
|
-G_NORETURN void cpu_loop_exit_sigsegv(CPUState *cpu, target_ulong addr,
|
|
|
- MMUAccessType access_type,
|
|
|
- bool maperr, uintptr_t ra);
|
|
|
-
|
|
|
-/**
|
|
|
- * cpu_loop_exit_sigbus:
|
|
|
- * @cpu: the cpu context
|
|
|
- * @addr: the guest address of the alignment fault
|
|
|
- * @access_type: access was read/write/execute
|
|
|
- * @ra: host pc for unwinding
|
|
|
- *
|
|
|
- * Use the TCGCPUOps hook to record cpu state, do guest operating system
|
|
|
- * specific things to raise SIGBUS, and jump to the main cpu loop.
|
|
|
- */
|
|
|
-G_NORETURN void cpu_loop_exit_sigbus(CPUState *cpu, target_ulong addr,
|
|
|
- MMUAccessType access_type,
|
|
|
- uintptr_t ra);
|
|
|
+#if !defined(CONFIG_USER_ONLY)
|
|
|
|
|
|
-#else
|
|
|
void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length);
|
|
|
void tlb_reset_dirty_range_all(ram_addr_t start, ram_addr_t length);
|
|
|
|