user-exec.c (aadac5b3d9fdce28030495f80fc76a4336e97328) user-exec.c (e124536f37377cff5d68925d4976ad604d0ebf3a)
1/*
2 * User emulator execution
3 *
4 * Copyright (c) 2003-2005 Fabrice Bellard
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either

--- 173 unchanged lines hidden (view full) ---

182 /*
183 * There is no way the target can handle this other than raising
184 * an exception. Undo signal and retaddr state prior to longjmp.
185 */
186 sigprocmask(SIG_SETMASK, old_set, NULL);
187 clear_helper_retaddr();
188
189 cc = CPU_GET_CLASS(cpu);
1/*
2 * User emulator execution
3 *
4 * Copyright (c) 2003-2005 Fabrice Bellard
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either

--- 173 unchanged lines hidden (view full) ---

182 /*
183 * There is no way the target can handle this other than raising
184 * an exception. Undo signal and retaddr state prior to longjmp.
185 */
186 sigprocmask(SIG_SETMASK, old_set, NULL);
187 clear_helper_retaddr();
188
189 cc = CPU_GET_CLASS(cpu);
190 cc->tlb_fill(cpu, address, 0, access_type, MMU_USER_IDX, false, pc);
190 cc->tcg_ops.tlb_fill(cpu, address, 0, access_type, MMU_USER_IDX, false, pc);
191 g_assert_not_reached();
192}
193
194static int probe_access_internal(CPUArchState *env, target_ulong addr,
195 int fault_size, MMUAccessType access_type,
196 bool nonfault, uintptr_t ra)
197{
198 int flags;

--- 13 unchanged lines hidden (view full) ---

212 }
213
214 if (!guest_addr_valid(addr) || page_check_range(addr, 1, flags) < 0) {
215 if (nonfault) {
216 return TLB_INVALID_MASK;
217 } else {
218 CPUState *cpu = env_cpu(env);
219 CPUClass *cc = CPU_GET_CLASS(cpu);
191 g_assert_not_reached();
192}
193
194static int probe_access_internal(CPUArchState *env, target_ulong addr,
195 int fault_size, MMUAccessType access_type,
196 bool nonfault, uintptr_t ra)
197{
198 int flags;

--- 13 unchanged lines hidden (view full) ---

212 }
213
214 if (!guest_addr_valid(addr) || page_check_range(addr, 1, flags) < 0) {
215 if (nonfault) {
216 return TLB_INVALID_MASK;
217 } else {
218 CPUState *cpu = env_cpu(env);
219 CPUClass *cc = CPU_GET_CLASS(cpu);
220 cc->tlb_fill(cpu, addr, fault_size, access_type,
221 MMU_USER_IDX, false, ra);
220 cc->tcg_ops.tlb_fill(cpu, addr, fault_size, access_type,
221 MMU_USER_IDX, false, ra);
222 g_assert_not_reached();
223 }
224 }
225 return 0;
226}
227
228int probe_access_flags(CPUArchState *env, target_ulong addr,
229 MMUAccessType access_type, int mmu_idx,

--- 1031 unchanged lines hidden ---
222 g_assert_not_reached();
223 }
224 }
225 return 0;
226}
227
228int probe_access_flags(CPUArchState *env, target_ulong addr,
229 MMUAccessType access_type, int mmu_idx,

--- 1031 unchanged lines hidden ---