aboutsummaryrefslogtreecommitdiff
path: root/sim/mips/sky-pke.c
diff options
context:
space:
mode:
authorIan Carmichael <iancarm@cygnus>1998-02-24 23:37:20 +0000
committerIan Carmichael <iancarm@cygnus>1998-02-24 23:37:20 +0000
commit733cfc784bc8d7264598ac045e3619aaf52f466b (patch)
treec17f4386056cbb78258132510425483f31600d9f /sim/mips/sky-pke.c
parent4771aa23aee83fd9fd6925a116d4e21fdc2be0a9 (diff)
downloadgdb-733cfc784bc8d7264598ac045e3619aaf52f466b.zip
gdb-733cfc784bc8d7264598ac045e3619aaf52f466b.tar.gz
gdb-733cfc784bc8d7264598ac045e3619aaf52f466b.tar.bz2
* A bunch of changes which get us closer to running the sample.
Diffstat (limited to 'sim/mips/sky-pke.c')
-rw-r--r--sim/mips/sky-pke.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sim/mips/sky-pke.c b/sim/mips/sky-pke.c
index 456cbaf..aec68c4 100644
--- a/sim/mips/sky-pke.c
+++ b/sim/mips/sky-pke.c
@@ -883,6 +883,11 @@ pke_check_stall(struct pke_device* me, enum pke_check_target what)
void
pke_flip_dbf(struct pke_device* me)
{
+ /* compute new ITOP and TOP */
+ PKE_REG_MASK_SET(me, ITOP, ITOP,
+ PKE_REG_MASK_GET(me, ITOPS, ITOPS));
+ PKE_REG_MASK_SET(me, TOP, TOP,
+ PKE_REG_MASK_GET(me, TOPS, TOPS));
/* flip DBF */
PKE_REG_MASK_SET(me, DBF, DF,
PKE_REG_MASK_GET(me, DBF, DF) ? 0 : 1);
@@ -892,11 +897,6 @@ pke_flip_dbf(struct pke_device* me)
(PKE_REG_MASK_GET(me, BASE, BASE) +
(PKE_REG_MASK_GET(me, DBF, DF) *
PKE_REG_MASK_GET(me, OFST, OFFSET))));
- /* compute new ITOP and TOP */
- PKE_REG_MASK_SET(me, ITOP, ITOP,
- PKE_REG_MASK_GET(me, ITOPS, ITOPS));
- PKE_REG_MASK_SET(me, TOP, TOP,
- PKE_REG_MASK_GET(me, TOPS, TOPS));
}
@@ -1428,7 +1428,7 @@ pke_code_mpg(struct pke_device* me, unsigned_4 pkecode)
/* imm: in 64-bit units for MPG instruction */
/* VU*_MEM0 : instruction memory */
vu_addr_base = (me->pke_number == 0) ?
- VU0_MEM0_WINDOW_START : VU0_MEM0_WINDOW_START;
+ VU0_MEM0_WINDOW_START : VU1_MEM0_WINDOW_START;
vu_addr = vu_addr_base + (imm + i) * 8;
/* XXX: overflow check! */