mirror of
https://github.com/simh/simh.git
synced 2026-01-31 05:43:06 +00:00
VAX780: Add an additional Massbus to support RPB
This commit is contained in:
committed by
Mark Pizzolato
parent
bdb021e6ac
commit
ef0f49204e
@@ -98,12 +98,13 @@
|
||||
|
||||
#define NEXUS_NUM 16 /* number of nexus */
|
||||
#define MCTL_NUM 2 /* number of mem ctrl */
|
||||
#define MBA_NUM 2 /* number of MBA's */
|
||||
#define MBA_NUM 3 /* number of MBA's */
|
||||
#define TR_MCTL0 1 /* nexus assignments */
|
||||
#define TR_MCTL1 2
|
||||
#define TR_UBA 3
|
||||
#define TR_MBA0 8
|
||||
#define TR_MBA1 9
|
||||
#define TR_MBA2 10
|
||||
#define NEXUS_HLVL (IPL_HMAX - IPL_HMIN + 1)
|
||||
#define SCB_NEXUS 0x100 /* nexus intr base */
|
||||
#define SBI_FAULTS 0xFC000000 /* SBI fault flags */
|
||||
@@ -118,6 +119,7 @@
|
||||
#define IPL_UBA (0x15 - IPL_HMIN)
|
||||
#define IPL_MBA0 (0x15 - IPL_HMIN)
|
||||
#define IPL_MBA1 (0x15 - IPL_HMIN)
|
||||
#define IPL_MBA2 (0x15 - IPL_HMIN)
|
||||
|
||||
/* Nexus interrupt macros */
|
||||
|
||||
|
||||
@@ -114,6 +114,7 @@ static t_stat (*nexusW[NEXUS_NUM])(int32 dat, int32 ad, int32 md);
|
||||
|
||||
static struct boot_dev boot_tab[] = {
|
||||
{ "RP", BOOT_MB, 0 },
|
||||
{ "RPB", BOOT_MB, 0 },
|
||||
{ "HK", BOOT_HK, 0 },
|
||||
{ "RL", BOOT_RL, 0 },
|
||||
{ "RQ", BOOT_UDA, 1 << 24 },
|
||||
|
||||
@@ -55,6 +55,7 @@ extern DEVICE rl_dev;
|
||||
extern DEVICE hk_dev;
|
||||
extern DEVICE rk_dev;
|
||||
extern DEVICE rp_dev;
|
||||
extern DEVICE rpb_dev;
|
||||
extern DEVICE ry_dev;
|
||||
extern DEVICE ts_dev;
|
||||
extern DEVICE tq_dev;
|
||||
@@ -76,6 +77,7 @@ DEVICE *sim_devices[] = {
|
||||
&uba_dev,
|
||||
&mba_dev[0],
|
||||
&mba_dev[1],
|
||||
&mba_dev[2],
|
||||
&clk_dev,
|
||||
&tmr_dev,
|
||||
&tti_dev,
|
||||
@@ -88,6 +90,7 @@ DEVICE *sim_devices[] = {
|
||||
&cr_dev,
|
||||
&lpt_dev,
|
||||
&rp_dev,
|
||||
&rpb_dev,
|
||||
&rl_dev,
|
||||
&hk_dev,
|
||||
&rk_dev,
|
||||
|
||||
@@ -23,7 +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.
|
||||
|
||||
mba0, mba1 RH780 Massbus adapter
|
||||
mba0, mba1, mba2 RH780 Massbus adapter
|
||||
|
||||
28-May-08 RMS Inlined physical memory routines
|
||||
*/
|
||||
@@ -324,6 +324,29 @@ REG mba1_reg[] = {
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
DIB mba2_dib = { TR_MBA2, 0, &mba_rdreg, &mba_wrreg, 0, NVCL (MBA2) };
|
||||
|
||||
UNIT mba2_unit = { UDATA (NULL, 0, 0) };
|
||||
|
||||
MTAB mba2_mod[] = {
|
||||
{ MTAB_XTD|MTAB_VDV, TR_MBA2, "NEXUS", NULL,
|
||||
NULL, &show_nexus, NULL, "Display nexus" },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
REG mba2_reg[] = {
|
||||
{ HRDATAD (CNFR, mba_cnf[2], 32, "config register") },
|
||||
{ HRDATAD (CR, mba_cr[2], 4, "control register") },
|
||||
{ HRDATAD (SR, mba_sr[2], 32, "status register") },
|
||||
{ HRDATAD (VA, mba_va[2], 17, "virtual address register") },
|
||||
{ HRDATAD (BC, mba_bc[2], 16, "byte count register") },
|
||||
{ HRDATAD (DR, mba_dr[2], 32, "diag register") },
|
||||
{ HRDATAD (SMR, mba_dr[2], 32, "sel map register") },
|
||||
{ BRDATAD (MAP, mba_map[2], 16, 32, MBA_NMAPR, "map registers") },
|
||||
{ FLDATAD (NEXINT, nexus_req[IPL_MBA2], TR_MBA2, "nexus interrupt request") },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
DEBTAB mba_deb[] = {
|
||||
{ "REGREAD", MBA_DEB_RRD },
|
||||
{ "REGWRITE", MBA_DEB_RWR },
|
||||
@@ -353,6 +376,15 @@ DEVICE mba_dev[] = {
|
||||
&mba1_dib, DEV_NEXUS | DEV_DEBUG, 0,
|
||||
mba_deb, NULL, NULL, &mba_help, NULL, NULL,
|
||||
&mba_description
|
||||
},
|
||||
{
|
||||
"MBA2", &mba2_unit, mba2_reg, mba2_mod,
|
||||
1, 0, 0, 0, 0, 0,
|
||||
NULL, NULL, &mba_reset,
|
||||
NULL, NULL, NULL,
|
||||
&mba2_dib, DEV_NEXUS | DEV_DEBUG, 0,
|
||||
mba_deb, NULL, NULL, &mba_help, NULL, NULL,
|
||||
&mba_description
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user