parent
63d2eccd64
commit
5e540cea98
3 changed files with 19 additions and 6 deletions
|
@ -89,8 +89,6 @@ CTAB is1000_cmd[] = {
|
||||||
#define DMANMAPR 32768 /* number of map reg */
|
#define DMANMAPR 32768 /* number of map reg */
|
||||||
#define DMAMAP_VLD 0x80000000 /* valid */
|
#define DMAMAP_VLD 0x80000000 /* valid */
|
||||||
#define DMAMAP_PAG 0x0000FFFF /* mem page */
|
#define DMAMAP_PAG 0x0000FFFF /* mem page */
|
||||||
#define DMAMAP_RD (QBMAP_VLD | QBMAP_PAG)
|
|
||||||
#define DMAMAP_WR (QBMAP_VLD | QBMAP_PAG)
|
|
||||||
|
|
||||||
#define CSR_XDONE 0x01
|
#define CSR_XDONE 0x01
|
||||||
#define CSR_RDONE 0x02
|
#define CSR_RDONE 0x02
|
||||||
|
|
|
@ -113,6 +113,7 @@
|
||||||
#define INITMEMSIZE (1 << 24) /* initial memory size */
|
#define INITMEMSIZE (1 << 24) /* initial memory size */
|
||||||
#define MEMSIZE (cpu_unit.capac)
|
#define MEMSIZE (cpu_unit.capac)
|
||||||
#define ADDR_IS_MEM(x) (((uint32) (x)) < MEMSIZE)
|
#define ADDR_IS_MEM(x) (((uint32) (x)) < MEMSIZE)
|
||||||
|
#if defined (VAX_46) || defined (VAX_47)
|
||||||
#define MEM_MODIFIERS { UNIT_MSIZE, (1u << 23), NULL, "8M", &cpu_set_size }, \
|
#define MEM_MODIFIERS { UNIT_MSIZE, (1u << 23), NULL, "8M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 24), NULL, "16M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 24), NULL, "16M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 24) + (1u << 23), NULL, "24M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 24) + (1u << 23), NULL, "24M", &cpu_set_size }, \
|
||||||
|
@ -122,7 +123,12 @@
|
||||||
{ UNIT_MSIZE, (1u << 25) + (1u << 24) + (1u << 23), NULL, "56M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 25) + (1u << 24) + (1u << 23), NULL, "56M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 26) + (1u << 23), NULL, "72M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 26) + (1u << 23), NULL, "72M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 26) + (1u << 24), NULL, "80M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 26) + (1u << 24), NULL, "80M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 26) + (1u << 25) + (1u << 24), NULL, "104M", &cpu_set_size }
|
{ UNIT_MSIZE, (1u << 26) + (1u << 25) + (1u << 23), NULL, "104M", &cpu_set_size }
|
||||||
|
#elif defined (VAX_48)
|
||||||
|
#define MEM_MODIFIERS { UNIT_MSIZE, (1u << 23), NULL, "8M", &cpu_set_size }, \
|
||||||
|
{ UNIT_MSIZE, (1u << 24), NULL, "16M", &cpu_set_size }, \
|
||||||
|
{ UNIT_MSIZE, (1u << 24) + (1u << 23), NULL, "24M", &cpu_set_size }
|
||||||
|
#endif
|
||||||
|
|
||||||
/* DMA map */
|
/* DMA map */
|
||||||
|
|
||||||
|
|
|
@ -123,9 +123,11 @@ CTAB vax460_cmd[] = {
|
||||||
|
|
||||||
#define DMANMAPR 32768 /* number of map reg */
|
#define DMANMAPR 32768 /* number of map reg */
|
||||||
#define DMAMAP_VLD 0x80000000 /* valid */
|
#define DMAMAP_VLD 0x80000000 /* valid */
|
||||||
|
#if defined (VAX_46) || defined (VAX_47)
|
||||||
|
#define DMAMAP_PAG 0x0003FFFF /* mem page */
|
||||||
|
#elif defined (VAX_48)
|
||||||
#define DMAMAP_PAG 0x0000FFFF /* mem page */
|
#define DMAMAP_PAG 0x0000FFFF /* mem page */
|
||||||
#define DMAMAP_RD (QBMAP_VLD | QBMAP_PAG)
|
#endif
|
||||||
#define DMAMAP_WR (QBMAP_VLD | QBMAP_PAG)
|
|
||||||
|
|
||||||
extern int32 tmr_int;
|
extern int32 tmr_int;
|
||||||
extern DEVICE lk_dev, vs_dev;
|
extern DEVICE lk_dev, vs_dev;
|
||||||
|
@ -429,7 +431,6 @@ uint32 sc;
|
||||||
|
|
||||||
#if defined (VAX_46) || defined (VAX_47)
|
#if defined (VAX_46) || defined (VAX_47)
|
||||||
mem -= (1u << 23); /* 8MB on system board */
|
mem -= (1u << 23); /* 8MB on system board */
|
||||||
#endif
|
|
||||||
for (sc = 0; mem > 0; sc+=2) {
|
for (sc = 0; mem > 0; sc+=2) {
|
||||||
if (mem >= (1u << 25)) {
|
if (mem >= (1u << 25)) {
|
||||||
val |= (0x3 << sc); /* add two 16MB SIMMs */
|
val |= (0x3 << sc); /* add two 16MB SIMMs */
|
||||||
|
@ -438,9 +439,17 @@ for (sc = 0; mem > 0; sc+=2) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
val |= (0x3 << sc); /* add two 4MB SIMMs */
|
val |= (0x3 << sc); /* add two 4MB SIMMs */
|
||||||
|
val = (val & ~CFGT_SIM) | ((val & CFGT_SIM) << 2); /* must be installed before 16MB SIMMs */
|
||||||
mem -= (1u << 23);
|
mem -= (1u << 23);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#elif defined (VAX_48)
|
||||||
|
val |= 0x1; /* bit zero always set */
|
||||||
|
for (sc = 1; mem > 0; sc++) {
|
||||||
|
val |= (0x1 << sc); /* add two 4MB SIMMs */
|
||||||
|
mem -= (1u << 23);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue