URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 139 |
Rev 153 |
Line 84... |
Line 84... |
|
|
/* CZ 21/06/01 ... the debugger wants to do this! */
|
/* CZ 21/06/01 ... the debugger wants to do this! */
|
if(GlobalMode)
|
if(GlobalMode)
|
{
|
{
|
extern unsigned long pc;
|
extern unsigned long pc;
|
|
extern unsigned long pcnext;
|
|
extern int delay_insn;
|
|
extern unsigned long pcdelay;
|
|
|
if(regno == SPR_PC)
|
if(regno == SPR_PC)
|
{
|
{
|
sprs[SPR_PC] = value;
|
sprs[SPR_PC] = value;
|
#if 0
|
|
/* There is currently a problem with symbol tables by
|
/* The debugger has redirected us to a new address */
|
gdb. It doesn't properly set up the CPU. We'll ignore
|
/* This is usually done to reissue an instruction
|
this for now. */
|
which just caused a breakpoint exception. */
|
pc = value;
|
pcnext = value;
|
pc_phy = simulate_ic_mmu_fetch(pc);
|
|
pcnext = pc+4;
|
if(!value)
|
#endif
|
{
|
|
printf("WARNING: Debugger just set us to 0!\n");
|
|
}
|
|
|
|
/* Clear any pending delay slot jumps also */
|
|
delay_insn = 0;
|
|
pcdelay = value+4;
|
|
|
return;
|
return;
|
}
|
}
|
}
|
}
|
|
|
/* printf("mtspr(%x, %x)\n", regno, value);
|
/* printf("mtspr(%x, %x)\n", regno, value);
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.