@ -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 ) ;