aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/mips/ChangeLog9
-rw-r--r--sim/mips/sim-main.h12
-rw-r--r--sim/mips/sky-pke.c6
3 files changed, 14 insertions, 13 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 8f13e68..ab70c7e 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,4 +1,13 @@
start-sanitize-sky
+Thu Apr 9 16:38:23 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * r5900.igen (LQC,SQC): Adapted code to DOUBLEWORD accesses
+ instead of QUADWORD.
+
+ * sim-main.h: Removed attempt at allowing 128-bit access.
+
+end-sanitize-sky
+start-sanitize-sky
Wed Apr 8 18:12:13 1998 Frank Ch. Eigler <fche@cygnus.com>
* Makefile.in (SIM_SKY_OBJS): Added sky-vudis.o.
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index 776e0b3..af9378a 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -837,18 +837,6 @@ decode_coproc (SD, CPU, cia, (instruction))
#define PSIZE (WITH_TARGET_ADDRESS_BITSIZE)
#endif
-/* start-sanitize-sky */
-#ifdef OOPS_THIS_DOESN_T_WORK
-#ifdef TARGET_SKY
- /* 128-bit accesses are allowed */
-#undef LOADDRMASK
-#define LOADDRMASK AccessLength_QUADWORD
-#undef PSIZE
-#define PSIZE (WITH_TARGET_ADDRESS_BITSIZE)
-#endif /* TARGET_SKY */
-#endif
-/* end-sanitize-sky */
-
INLINE_SIM_MAIN (int) address_translation PARAMS ((SIM_DESC sd, sim_cpu *, address_word cia, address_word vAddr, int IorD, int LorS, address_word *pAddr, int *CCA, int raw));
#define AddressTranslation(vAddr,IorD,LorS,pAddr,CCA,host,raw) \
diff --git a/sim/mips/sky-pke.c b/sim/mips/sky-pke.c
index ce5c478..6e31875 100644
--- a/sim/mips/sky-pke.c
+++ b/sim/mips/sky-pke.c
@@ -197,14 +197,16 @@ pke_attach(SIM_DESC sd, struct pke_device* me)
}
}
+
/* Read PKE Pseudo-PC into buf in target order */
int
read_pke_pc (struct pke_device *me, void *buf)
{
- *((int *) buf) = H2T_4( me->fifo_pc );
+ *((int *) buf) = H2T_4( (me->fifo_pc << 2) | me->qw_pc );
return 4;
}
+
/* Read PKE reg into buf in target order */
int
read_pke_reg (struct pke_device *me, int reg_num, void *buf)
@@ -415,6 +417,8 @@ write_pke_reg (struct pke_device *me, int reg_num, const void *buf)
return 4;
}
+
+
/* Handle a PKE write; return no. of bytes written */
int