1*3341Swnj /* autoconf.c 4.2 81/03/21 */ 23264Swnj 33264Swnj #include "../h/param.h" 43264Swnj #include "../h/cpu.h" 53264Swnj #include "../h/nexus.h" 63264Swnj #include "../h/pte.h" 73264Swnj #include "../h/ubareg.h" 83264Swnj #include "../h/mbareg.h" 93264Swnj #include "../h/mtpr.h" 103264Swnj #include "savax.h" 113264Swnj 123264Swnj #define UTR(i) ((struct uba_regs *)(NEX780+(i))) 133264Swnj #define UMA(i) ((caddr_t)UMEM780(i)) 143264Swnj #define MTR(i) ((struct mba_regs *)(NEX780+(i))) 153264Swnj 163264Swnj struct uba_regs *ubaddr780[] = { UTR(3), UTR(4), UTR(5), UTR(6) }; 173264Swnj caddr_t umaddr780[] = { UMA(0), UMA(1), UMA(2), UMA(3) }; 183264Swnj struct mba_regs *mbaddr780[] = { MTR(8), MTR(9), MTR(10), MTR(11) }; 193264Swnj 203264Swnj #undef UTR 213264Swnj #undef UMA 223264Swnj #undef MTR 233264Swnj 243264Swnj #define UTR(i) ((struct uba_regs *)(NEX750+(i))) 253264Swnj #define UMA(i) ((caddr_t)UMEM750(i)) 263264Swnj #define MTR(i) ((struct mba_regs *)(NEX750+(i))) 273264Swnj 283264Swnj struct uba_regs *ubaddr750[] = { UTR(8), UTR(9) }; 293264Swnj caddr_t umaddr750[] = { UMA(0), UMA(1) }; 30*3341Swnj struct mba_regs *mbaddr750[] = { MTR(4), MTR(5), MTR(6), MTR(7) }; 313264Swnj 323264Swnj #undef UTR 333264Swnj #undef UMA 343264Swnj #undef MTR 353264Swnj 36*3341Swnj #define UTR(i) ((struct uba_regs *)(NEX730+(i))) 37*3341Swnj #define UMA ((caddr_t)UMEM730) 38*3341Swnj 39*3341Swnj struct uba_regs *ubaddr730[] = { UTR(3) }; 40*3341Swnj caddr_t umaddr730[] = { UMA }; 41*3341Swnj 42*3341Swnj #undef UTR 43*3341Swnj #undef UMA 44*3341Swnj 453264Swnj configure() 463264Swnj { 473264Swnj union cpusid cpusid; 483264Swnj 493264Swnj cpusid.cpusid = mfpr(SID); 503264Swnj cpu = cpusid.cpuany.cp_type; 513264Swnj switch (cpu) { 523264Swnj 533264Swnj case VAX_780: 543264Swnj mbaddr = mbaddr780; 553264Swnj ubaddr = ubaddr780; 563264Swnj umaddr = umaddr780; 573264Swnj break; 583264Swnj 593264Swnj case VAX_750: 603264Swnj mbaddr = mbaddr750; 613264Swnj ubaddr = ubaddr750; 623264Swnj umaddr = umaddr750; 633264Swnj break; 64*3341Swnj 65*3341Swnj case VAX_730: 66*3341Swnj ubaddr = ubaddr730; 67*3341Swnj umaddr = umaddr730; 68*3341Swnj break; 693264Swnj } 703264Swnj } 71