target-microblaze: lwx/swx: first implementation

Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
Peter A. G. Crosthwaite
2012-06-01 13:23:28 +10:00
committed by Edgar E. Iglesias
parent 9c92bf7f6c
commit 8cc9b43f7c
4 changed files with 64 additions and 5 deletions

View File

@ -29,6 +29,7 @@
void do_interrupt (CPUMBState *env)
{
env->exception_index = -1;
env->res_addr = RES_ADDR_NONE;
env->regs[14] = env->sregs[SR_PC];
}
@ -116,6 +117,7 @@ void do_interrupt(CPUMBState *env)
assert(!((env->iflags & D_FLAG) && (env->iflags & IMM_FLAG)));
assert(!(env->iflags & (DRTI_FLAG | DRTE_FLAG | DRTB_FLAG)));
/* assert(env->sregs[SR_MSR] & (MSR_EE)); Only for HW exceptions. */
env->res_addr = RES_ADDR_NONE;
switch (env->exception_index) {
case EXCP_HW_EXCP:
if (!(env->pvr.regs[0] & PVR0_USE_EXC_MASK)) {