From 4c55f1af0cbbc6940a55514c976f1df93140e14b Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Thu, 17 Jul 2014 10:04:40 -0700 Subject: [PATCH] VAX: Make sure that Ultrix 1.X specific behaviors are only in effect with that OS --- PDP11/pdp11_xq.h | 2 +- VAX/vax_cpu.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/PDP11/pdp11_xq.h b/PDP11/pdp11_xq.h index 6ed011ee..1b14bc44 100644 --- a/PDP11/pdp11_xq.h +++ b/PDP11/pdp11_xq.h @@ -76,7 +76,7 @@ extern int32 PSL; /* PSL */ extern int32 fault_PC; /* fault PC */ extern int32 int_req[IPL_HLVL]; uint32 cpu_idle_mask; /* idle mask (OS type) */ -#define ULTRIX1X (cpu_idle_mask&VAX_IDLE_ULT1X) +#define ULTRIX1X ((cpu_idle_mask&VAX_IDLE_ULT1X) && ((cpu_idle_mask & ~VAX_IDLE_ULT1X) == 0)) #else /* PDP-11 version */ #include "pdp11_defs.h" #define XQ_RDX 8 diff --git a/VAX/vax_cpu.c b/VAX/vax_cpu.c index b5a7d6ee..f94d580e 100644 --- a/VAX/vax_cpu.c +++ b/VAX/vax_cpu.c @@ -2544,7 +2544,8 @@ for ( ;; ) { if ((cc == CC_Z) && /* No set bits found? */ (cpu_idle_mask & VAX_IDLE_ULT1X) && /* running Ultrix 1.X" */ (PSL_GETIPL (PSL) == 0x0) && /* at IPL 0? */ - (fault_PC & 0x80000000)) /* in system space? */ + (fault_PC & 0x80000000) && /* in system space? */ + ((fault_PC & 0x7fffffff) < 0x3000)) /* in low system space? */ cpu_idle(); /* idle loop */ break;