VAX: Fix the PxBR and SBR validation tests to correctly reflect the 780 microcode patch 38 from Bob Supnik
This fix allows older Unix operating systems to once again run with the VAX 780 simulator.
This commit is contained in:
parent
d6456e506d
commit
3e01bef859
4 changed files with 15 additions and 15 deletions
|
@ -100,21 +100,21 @@
|
|||
|
||||
/* 780 microcode patch 37 - only test LR<23:0> for appropriate length */
|
||||
|
||||
#define ML_LR_TEST(r) if ((uint32)((r) & 0xFFFFFF) > 0x200000) RSVD_OPND_FAULT
|
||||
#define ML_LR_TEST(r) if (((uint32)((r) & 0xFFFFFF)) > 0x200000) RSVD_OPND_FAULT
|
||||
|
||||
/* 780 microcode patch 38 - only test PxBR<31>=1 and xBR<1:0> = 0 */
|
||||
/* 780 microcode patch 38 - only test PxBR<31>=1, PxBR<30> = 0, and xBR<1:0> = 0 */
|
||||
|
||||
#define ML_PXBR_TEST(r) if ((((r) & 0x80000000) == 0) || \
|
||||
((r) & 0x00000003)) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((r) & 0x00000003) RSVD_OPND_FAULT
|
||||
#define ML_PXBR_TEST(r) if (((((uint32)(r)) & 0x80000000) == 0) || \
|
||||
((((uint32)(r)) & 0x40000003) != 0)) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
/* 780 microcode patch 78 - only test xCBB<1:0> = 0 */
|
||||
/* 780 microcode patch 78 - test xCBB<1:0> = 0 */
|
||||
|
||||
#define ML_PA_TEST(r) if ((r) & 0x00000003) RSVD_OPND_FAULT
|
||||
#define ML_PA_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
#define LP_AST_TEST(r) if ((r) > AST_MAX) RSVD_OPND_FAULT
|
||||
#define LP_MBZ84_TEST(r) if ((r) & 0xF8C00000) RSVD_OPND_FAULT
|
||||
#define LP_MBZ92_TEST(r) if ((r) & 0x7FC00000) RSVD_OPND_FAULT
|
||||
#define LP_MBZ84_TEST(r) if ((((uint32)(r)) & 0xF8C00000) != 0) RSVD_OPND_FAULT
|
||||
#define LP_MBZ92_TEST(r) if ((((uint32)(r)) & 0x7FC00000) != 0) RSVD_OPND_FAULT
|
||||
|
||||
/* Memory */
|
||||
|
||||
|
|
|
@ -127,9 +127,9 @@
|
|||
|
||||
#define ML_PXBR_TEST(r) if (((((uint32)(r)) & 0x80000000) == 0) || \
|
||||
((((uint32)(r)) & 0x40000003) != 0)) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0xC0000003) != 0) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
/* 780 microcode patch 78 - only test xCBB<1:0> = 0 */
|
||||
/* 780 microcode patch 78 - test xCBB<1:0> = 0 */
|
||||
|
||||
#define ML_PA_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
|
|
|
@ -140,9 +140,9 @@
|
|||
|
||||
#define ML_PXBR_TEST(r) if (((((uint32)(r)) & 0x80000000) == 0) || \
|
||||
((((uint32)(r)) & 0x40000003) != 0)) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0xC0000003) != 0) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
/* 780 microcode patch 78 - only test xCBB<1:0> = 0 */
|
||||
/* 780 microcode patch 78 - test xCBB<1:0> = 0 */
|
||||
|
||||
#define ML_PA_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
|
|
|
@ -164,9 +164,9 @@
|
|||
|
||||
#define ML_PXBR_TEST(r) if (((((uint32)(r)) & 0x80000000) == 0) || \
|
||||
((((uint32)(r)) & 0x40000003) != 0)) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0xC0000003) != 0) RSVD_OPND_FAULT
|
||||
#define ML_SBR_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
/* 780 microcode patch 78 - only test xCBB<1:0> = 0 */
|
||||
/* 780 microcode patch 78 - test xCBB<1:0> = 0 */
|
||||
|
||||
#define ML_PA_TEST(r) if ((((uint32)(r)) & 0x00000003) != 0) RSVD_OPND_FAULT
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue