mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
target-cris: Switch to AREG0 free mode
Add an explicit CPUCRISState parameter instead of relying on AREG0, and use cpu_ld* in translation and interrupt handling. Remove AREG0 swapping in tlb_fill(). Switch to AREG0 free mode Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
febc9920c6
commit
cf7e0c80aa
6 changed files with 181 additions and 187 deletions
|
@ -151,7 +151,7 @@ static void do_interruptv10(CPUCRISState *env)
|
|||
}
|
||||
|
||||
/* Now that we are in kernel mode, load the handlers address. */
|
||||
env->pc = ldl_code(env->pregs[PR_EBP] + ex_vec * 4);
|
||||
env->pc = cpu_ldl_code(env, env->pregs[PR_EBP] + ex_vec * 4);
|
||||
env->locked_irq = 1;
|
||||
env->pregs[PR_CCS] |= F_FLAG_V10; /* set F. */
|
||||
|
||||
|
@ -233,7 +233,7 @@ void do_interrupt(CPUCRISState *env)
|
|||
/* Now that we are in kernel mode, load the handlers address.
|
||||
This load may not fault, real hw leaves that behaviour as
|
||||
undefined. */
|
||||
env->pc = ldl_code(env->pregs[PR_EBP] + ex_vec * 4);
|
||||
env->pc = cpu_ldl_code(env, env->pregs[PR_EBP] + ex_vec * 4);
|
||||
|
||||
/* Clear the excption_index to avoid spurios hw_aborts for recursive
|
||||
bus faults. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue