mirror of
https://github.com/prirun/p50em.git
synced 2026-03-05 10:24:06 +00:00
For CPUT4, add LPID (only checks restricted) and mark some other
unimplemented instructions as restricted.
This commit is contained in:
@@ -347,7 +347,7 @@ DIGEN(000003, "SYNC", d_sync);
|
||||
DIGEN(000503, "EMCM", d_emcm);
|
||||
DIGEN(000501, "LMCM", d_lmcm);
|
||||
DIGEN(000021, "RMC", d_rmc);
|
||||
DIGEN(000311, "VIFY", d_viry);
|
||||
DIGEN(000311, "VIRY", d_viry);
|
||||
DIGEN(001113, "XVFY", d_xvfy);
|
||||
DIGEN(001304, "MDEI", d_mdxx);
|
||||
DIGEN(001305, "MDII", d_mdxx);
|
||||
@@ -365,6 +365,8 @@ DIGEN(000723, "EVMX", d_uii);
|
||||
DIGEN(000721, "ERMX", d_uii);
|
||||
DIGEN(000515, "OSI", d_uii);
|
||||
|
||||
DIGEN(000617, "LPID", d_lpid);
|
||||
|
||||
/* initialize entire class 1 generics (shift group) to "badshift",
|
||||
then initialize each individual shift instruction */
|
||||
|
||||
|
||||
10
em.c
10
em.c
@@ -7162,18 +7162,22 @@ d_tstq: /* 0141757 */
|
||||
|
||||
d_emcm: /* 000503 - enter machine check mode */
|
||||
TRACE(T_FLOW, " EMCM\n");
|
||||
RESTRICT();
|
||||
goto fetch;
|
||||
|
||||
d_lmcm: /* 000501 - leave machine check mode */
|
||||
TRACE(T_FLOW, " LMCM\n");
|
||||
RESTRICT();
|
||||
goto fetch;
|
||||
|
||||
d_rmc: /* 000021 - reset machine check FF */
|
||||
TRACE(T_FLOW, " RMC\n");
|
||||
RESTRICT();
|
||||
goto fetch;
|
||||
|
||||
d_viry: /* 000311 - ucode verify */
|
||||
TRACE(T_FLOW, " VIRY\n");
|
||||
RESTRICT();
|
||||
goto fetch;
|
||||
|
||||
d_xvfy: /* 001113 - extended ucode verify */
|
||||
@@ -7190,6 +7194,7 @@ d_xvfy: /* 001113 - extended ucode verify */
|
||||
|
||||
d_mdxx: /* 01304-01307, 01324 */
|
||||
TRACE(T_FLOW, " MDxx\n");
|
||||
RESTRICT();
|
||||
goto fetch;
|
||||
|
||||
|
||||
@@ -10036,6 +10041,11 @@ d_entr: /* 00103 */
|
||||
put16t(utempa,crs[S]);
|
||||
goto fetch;
|
||||
|
||||
d_lpid: /* LPID 00617 */
|
||||
TRACE(T_FLOW, " LPID\n");
|
||||
RESTRICT();
|
||||
goto d_uii;
|
||||
|
||||
d_badmr:
|
||||
printf("em: unknown memory reference, inst='%06o, opcode '%o, op index=%d\n", inst, opcode, opix);
|
||||
fault(UIIFAULT, RPL, RP);
|
||||
|
||||
Reference in New Issue
Block a user