mirror of
https://github.com/simh/simh.git
synced 2026-04-25 03:34:34 +00:00
Notes For V3.7
1. New Features 1.1 3.7-0 1.1.1 SCP - Added SET THROTTLE and SET NOTHROTTLE commands to regulate simulator execution rate and host resource utilization. - Added idle support (based on work by Mark Pizzolato). - Added -e to control error processing in nested DO commands (from Dave Bryan). 1.1.2 HP2100 - Added Double Integer instructions, 1000-F CPU, and Floating Point Processor (from Dave Bryan). - Added 2114 and 2115 CPUs, 12607B and 12578A DMA controllers, and 21xx binary loader protection (from Dave Bryan). 1.1.3 Interdata - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state. 1.1.4 PDP-11 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (WAIT instruction executed). - Added TA11/TU60 cassette support. 1.1.5 PDP-8 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). - Added TA8E/TU60 cassette support. 1.1.6 PDP-1 - Added support for 16-channel sequence break system. - Added support for PDP-1D extended features and timesharing clock. - Added support for Type 630 data communications subsystem. 1.1.6 PDP-4/7/9/15 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). 1.1.7 VAX, VAX780 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (more than 200 cycles at IPL's 0, 1, or 3 in kernel mode). 1.1.8 PDP-10 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (operating system dependent). - Added CD20 (CD11) support. 2. Bugs Fixed Please see the revision history on http://simh.trailing-edge.com or in the source module sim_rev.h.
This commit is contained in:
committed by
Mark Pizzolato
parent
53d02f7fa7
commit
6149cc7e06
@@ -51,6 +51,10 @@
|
||||
50. LDPCTX: 11/780 implements mbz tests on PCB fields.
|
||||
51. LDPCTX/MTPR: 11/780 validity checks PCBB, SCBB, SBR, SLR, P0BR, P0LR, P1BR, P1LR.
|
||||
52. TMR: tmr_inc not updated in standard (100Hz) mode.
|
||||
53. MTPR SBR/PCBB/SCBB: 11/780 only checks that bits<1:0> == 0.
|
||||
54. MTPR xLR: 11/780 excludes bits<31:24> from mbz test.
|
||||
55. MTPR PxBR: 11/780 only checks bits<31,1:0> == 1,00.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* vax780_defs.h: VAX 780 model-specific definitions file
|
||||
|
||||
Copyright (c) 2004-2006, Robert M Supnik
|
||||
Copyright (c) 2004-2007, 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"),
|
||||
@@ -23,9 +23,11 @@
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
29-Oct-2006 RMS Added clock coscheduler function
|
||||
17-May-2006 RMS Added CR11/CD11 support (from John Dundas)
|
||||
10-May-2006 RMS Added model-specific reserved operand check macros
|
||||
29-Apr-07 RMS Modified model-specific reserved operand check macros
|
||||
to reflect 780 microcode patches (found by Naoki Hamada)
|
||||
29-Oct-06 RMS Added clock coscheduler function
|
||||
17-May-06 RMS Added CR11/CD11 support (from John Dundas)
|
||||
10-May-06 RMS Added model-specific reserved operand check macros
|
||||
|
||||
This file covers the VAX 11/780, the first VAX.
|
||||
|
||||
@@ -119,10 +121,20 @@
|
||||
|
||||
/* Machine specific reserved operand tests */
|
||||
|
||||
#define ML_PA_TEST(r) if ((r) & 0xC0000003) RSVD_OPND_FAULT
|
||||
#define ML_LR_TEST(r) if ((uint32)(r) > 0x200000) RSVD_OPND_FAULT
|
||||
#define ML_BR_TEST(r) if ((((r) & 0xC0000000) != 0x80000000) || \
|
||||
/* 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
|
||||
|
||||
/* 780 microcode patch 38 - only test PxBR<31>=1 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
|
||||
|
||||
/* 780 microcode patch 78 - only test xCBB<1:0> = 0 */
|
||||
|
||||
#define ML_PA_TEST(r) if ((r) & 0x00000003) 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* vax_cpu.c: VAX CPU
|
||||
|
||||
Copyright (c) 1998-2006, Robert M Supnik
|
||||
Copyright (c) 1998-2007, 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
|
||||
|
||||
28-Apr-07 RMS Removed clock initialization
|
||||
29-Oct-06 RMS Added idle support
|
||||
22-May-06 RMS Fixed format error in CPU history (found by Peter Schorn)
|
||||
10-May-06 RMS Added -kesu switches for virtual addressing modes
|
||||
@@ -284,7 +285,6 @@ extern int32 sim_int_char;
|
||||
extern int32 sim_switches;
|
||||
extern uint32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */
|
||||
extern t_bool sim_idle_enab;
|
||||
extern UNIT clk_unit;
|
||||
|
||||
extern t_stat build_dib_tab (void);
|
||||
extern UNIT rom_unit, nvr_unit;
|
||||
@@ -501,7 +501,6 @@ set_map_reg (); /* set map reg */
|
||||
GET_CUR; /* set access mask */
|
||||
SET_IRQL; /* eval interrupts */
|
||||
FLUSH_ISTR; /* clear prefetch */
|
||||
sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init clock */
|
||||
|
||||
abortval = setjmp (save_env); /* set abort hdlr */
|
||||
if (abortval > 0) { /* sim stop? */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* vax_cpu1.c: VAX complex instructions
|
||||
|
||||
Copyright (c) 1998-2006, Robert M Supnik
|
||||
Copyright (c) 1998-2007, 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"),
|
||||
@@ -23,6 +23,7 @@
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
29-Apr-07 RMS Separated base register access checks for 11/780
|
||||
10-May-06 RMS Added access check on system PTE for 11/780
|
||||
Added mbz check in LDPCTX for 11/780
|
||||
22-Sep-06 RMS Fixed declarations (from Sterling Garwood)
|
||||
@@ -1230,7 +1231,7 @@ newpc = ReadLP (pcbpa + 72); /* get PC, PSL */
|
||||
newpsl = ReadLP (pcbpa + 76);
|
||||
|
||||
t = ReadLP (pcbpa + 80);
|
||||
ML_BR_TEST (t); /* validate P0BR */
|
||||
ML_PXBR_TEST (t); /* validate P0BR */
|
||||
P0BR = t & BR_MASK; /* restore P0BR */
|
||||
t = ReadLP (pcbpa + 84);
|
||||
LP_MBZ84_TEST (t); /* test mbz */
|
||||
@@ -1240,7 +1241,7 @@ t = (t >> 24) & AST_MASK;
|
||||
LP_AST_TEST (t); /* validate AST */
|
||||
ASTLVL = t; /* restore AST */
|
||||
t = ReadLP (pcbpa + 88);
|
||||
ML_BR_TEST (t + 0x800000); /* validate P1BR */
|
||||
ML_PXBR_TEST (t + 0x800000); /* validate P1BR */
|
||||
P1BR = t & BR_MASK; /* restore P1BR */
|
||||
t = ReadLP (pcbpa + 92);
|
||||
LP_MBZ92_TEST (t); /* test MBZ */
|
||||
@@ -1387,7 +1388,7 @@ switch (prn) { /* case on reg # */
|
||||
break;
|
||||
|
||||
case MT_P0BR: /* P0BR */
|
||||
ML_BR_TEST (val); /* validate */
|
||||
ML_PXBR_TEST (val); /* validate */
|
||||
P0BR = val & BR_MASK; /* lw aligned */
|
||||
zap_tb (0); /* clr proc TLB */
|
||||
set_map_reg ();
|
||||
@@ -1401,7 +1402,7 @@ switch (prn) { /* case on reg # */
|
||||
break;
|
||||
|
||||
case MT_P1BR: /* P1BR */
|
||||
ML_BR_TEST (val + 0x800000); /* validate */
|
||||
ML_PXBR_TEST (val + 0x800000); /* validate */
|
||||
P1BR = val & BR_MASK; /* lw aligned */
|
||||
zap_tb (0); /* clr proc TLB */
|
||||
set_map_reg ();
|
||||
@@ -1415,7 +1416,7 @@ switch (prn) { /* case on reg # */
|
||||
break;
|
||||
|
||||
case MT_SBR: /* SBR */
|
||||
ML_PA_TEST (val); /* validate */
|
||||
ML_SBR_TEST (val); /* validate */
|
||||
SBR = val & BR_MASK; /* lw aligned */
|
||||
zap_tb (1); /* clr entire TLB */
|
||||
set_map_reg ();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* vax_mmu.c - VAX memory management
|
||||
|
||||
Copyright (c) 1998-2005, Robert M Supnik
|
||||
Copyright (c) 1998-2007, 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"),
|
||||
@@ -23,6 +23,7 @@
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
29-Apr-07 RMS Added address masking for system page table reads
|
||||
22-Sep-05 RMS Fixed declarations (from Sterling Garwood)
|
||||
30-Sep-04 RMS Comment and formating changes
|
||||
19-Sep-03 RMS Fixed upper/lower case linkage problems on VMS
|
||||
@@ -444,7 +445,7 @@ static TLBENT zero_pte = { 0, 0 };
|
||||
if (va & VA_S0) { /* system space? */
|
||||
if (ptidx >= d_slr) /* system */
|
||||
MM_ERR (PR_LNV);
|
||||
ptead = d_sbr + ptidx;
|
||||
ptead = (d_sbr + ptidx) & PAMASK;
|
||||
}
|
||||
else {
|
||||
if (va & VA_P1) { /* P1? */
|
||||
@@ -463,7 +464,7 @@ else {
|
||||
ptidx = ((uint32) ptead) >> 7; /* xlate like sys */
|
||||
if (ptidx >= d_slr)
|
||||
MM_ERR (PR_PLNV);
|
||||
pte = ReadLP (d_sbr + ptidx); /* get system pte */
|
||||
pte = ReadLP ((d_sbr + ptidx) & PAMASK); /* get system pte */
|
||||
#if defined (VAX_780)
|
||||
if ((pte & PTE_ACC) == 0) MM_ERR (PR_PACV); /* spte ACV? */
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* vaxmod_defs.h: VAX model-specific definitions file
|
||||
|
||||
Copyright (c) 1998-2006, Robert M Supnik
|
||||
Copyright (c) 1998-2007, 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"),
|
||||
@@ -23,6 +23,7 @@
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
29-Apr-07 RMS Separated checks for PxBR and SBR
|
||||
17-May-06 RMS Added CR11/CD11 support
|
||||
10-May-06 RMS Added NOP'd reserved operand checking macros
|
||||
05-Oct-05 RMS Added XU definitions for autoconfigure
|
||||
@@ -204,7 +205,8 @@
|
||||
|
||||
#define ML_PA_TEST(r)
|
||||
#define ML_LR_TEST(r)
|
||||
#define ML_BR_TEST(r)
|
||||
#define ML_SBR_TEST(r)
|
||||
#define ML_PXBR_TEST(r)
|
||||
#define LP_AST_TEST(r)
|
||||
#define LP_MBZ84_TEST(r)
|
||||
#define LP_MBZ92_TEST(r)
|
||||
|
||||
Reference in New Issue
Block a user