mirror of
https://github.com/open-simh/simh.git
synced 2026-01-27 20:48:12 +00:00
VAX, VAX780: Added idle test for VMS 5.0/5.1 (Mark Pizzolato)
This commit is contained in:
committed by
Mark Pizzolato
parent
be1df57fa2
commit
0d319b9eff
@@ -1,6 +1,6 @@
|
||||
/* vax_cpu.c: VAX CPU
|
||||
|
||||
Copyright (c) 1998-2019, Robert M Supnik
|
||||
Copyright (c) 1998-2020, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
cpu VAX central processor
|
||||
|
||||
20-May-20 RMS Added idle test for VMS 5.0/5.1 (Mark Pizzolato)
|
||||
23-Apr-19 RMS Added hook for unpredictable indexed immediate .aw
|
||||
14-Apr-19 RMS Added hook for non-standard MxPR CC's
|
||||
31-Mar-17 RMS Fixed uninitialized variable on FPD path (COVERITY)
|
||||
@@ -1580,13 +1581,16 @@ for ( ;; ) {
|
||||
case TSTL:
|
||||
CC_IIZZ_L (op0); /* set cc's */
|
||||
if ((cc == CC_Z) && /* zero result and */
|
||||
((((cpu_idle_mask & VAX_IDLE_ULTOLD) && /* running Old Ultrix or friends? */
|
||||
((PC - fault_PC) == 6) && /* 6 byte instruction? */
|
||||
(fault_PC & 0x80000000) && /* in system space? */
|
||||
(((cpu_idle_mask & VAX_IDLE_VMS) && /* VMS 5.0 and 5.1 */
|
||||
(PSL_GETIPL (PSL) == 0x3) && /* at IPL 3 */
|
||||
(PSL_IS & PSL)) || /* on the interrupt stack */
|
||||
((((cpu_idle_mask & VAX_IDLE_ULTOLD) && /* running Old Ultrix or friends? */
|
||||
(PSL_GETIPL (PSL) == 0x1)) || /* at IPL 1? */
|
||||
((cpu_idle_mask & VAX_IDLE_QUAD) && /* running Quasijarus or friends? */
|
||||
(PSL_GETIPL (PSL) == 0x0))) && /* at IPL 0? */
|
||||
(fault_PC & 0x80000000) && /* in system space? */
|
||||
((PC - fault_PC) == 6) && /* 6 byte instruction? */
|
||||
((fault_PC & 0x7fffffff) < 0x4000))) /* in low system space? */
|
||||
((fault_PC & 0x7fffffff) < 0x4000)))) /* in low system space? */
|
||||
cpu_idle(); /* idle loop */
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user