* Copyright (c) 1982 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
* @(#)autoconf.c 6.3 (Berkeley) %G%
#include "../machine/pte.h"
#include "../vax/nexus.h"
#include "../vaxuba/ubareg.h"
#include "../vaxmba/mbareg.h"
#define UTR(i) ((struct uba_regs *)(NEX780+(i)))
#define UMA(i) ((caddr_t)UMEM780(i))
#define MTR(i) ((struct mba_regs *)(NEX780+(i)))
struct uba_regs
*ubaddr780
[] = { UTR(3), UTR(4), UTR(5), UTR(6) };
caddr_t umaddr780
[] = { UMA(0), UMA(1), UMA(2), UMA(3) };
struct mba_regs
*mbaddr780
[] = { MTR(8), MTR(9), MTR(10), MTR(11) };
#define UTR(i) ((struct uba_regs *)(NEX750+(i)))
#define UMA(i) ((caddr_t)UMEM750(i))
#define MTR(i) ((struct mba_regs *)(NEX750+(i)))
struct uba_regs
*ubaddr750
[] = { UTR(8), UTR(9) };
caddr_t umaddr750
[] = { UMA(0), UMA(1) };
struct mba_regs
*mbaddr750
[] = { MTR(4), MTR(5), MTR(6), MTR(7) };
#define UTR(i) ((struct uba_regs *)(NEX730+(i)))
#define UMA ((caddr_t)UMEM730)
struct uba_regs
*ubaddr730
[] = { UTR(3) };
caddr_t umaddr730
[] = { UMA
};
cpusid
.cpusid
= mfpr(SID
);
cpu
= cpusid
.cpuany
.cp_type
;
nmba
= sizeof (mbaddr780
) / sizeof (mbaddr780
[0]);
nuba
= sizeof (ubaddr780
) / sizeof (ubaddr780
[0]);
nmba
= sizeof (mbaddr750
) / sizeof (mbaddr750
[0]);
* Forward into the past...
for (i = 0; i < nmba; i++)
mbaddr[i]->mba_cr = MBCR_INIT;
for (i
= 0; i
< nuba
; i
++)
ubaddr
[i
]->uba_cr
= UBACR_ADINIT
;
if ((cpu
!= VAX_780
) && (cpu
!= VAX_8600
))
/* give unibus devices a chance to recover... */