summaryrefslogtreecommitdiffstats
path: root/target/openrisc/cpu.h
diff options
context:
space:
mode:
authorRichard Henderson2016-04-05 20:41:48 +0200
committerRichard Henderson2017-02-13 22:15:00 +0100
commit24c328521b19aff2559118809ddf0522d6dfaaea (patch)
treed8bd63c5a682fbc3aeb9d019195059928c482477 /target/openrisc/cpu.h
parenttarget/openrisc: Optimize l.jal to next (diff)
downloadqemu-24c328521b19aff2559118809ddf0522d6dfaaea.tar.gz
qemu-24c328521b19aff2559118809ddf0522d6dfaaea.tar.xz
qemu-24c328521b19aff2559118809ddf0522d6dfaaea.zip
target/openrisc: Tidy ppc/npc implementation
The NPC SPR is really only supposed to be used for FPGA debugging. It contains the same contents as PC, unless one plays games. Follow the or1ksim implementation in flushing delayed branch state when it is changed. The PPC SPR need not be updated every instruction, merely when we exit the TB or attempt to read its contents. Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target/openrisc/cpu.h')
-rw-r--r--target/openrisc/cpu.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/openrisc/cpu.h b/target/openrisc/cpu.h
index 069403884b..82946369dc 100644
--- a/target/openrisc/cpu.h
+++ b/target/openrisc/cpu.h
@@ -58,6 +58,7 @@ typedef struct OpenRISCCPUClass {
} OpenRISCCPUClass;
#define NB_MMU_MODES 3
+#define TARGET_INSN_START_EXTRA_WORDS 1
enum {
MMU_NOMMU_IDX = 0,
@@ -273,7 +274,6 @@ typedef struct CPUOpenRISCTLBContext {
typedef struct CPUOpenRISCState {
target_ulong gpr[32]; /* General registers */
target_ulong pc; /* Program counter */
- target_ulong npc; /* Next PC */
target_ulong ppc; /* Prev PC */
target_ulong jmp_pc; /* Jump PC */