1*25930Ssam /* vbaparam.h 1.1 86/01/21 */ 2*25930Ssam 3*25930Ssam /* 4*25930Ssam * Parameters related to the VERSAbus i/o configuration. 5*25930Ssam */ 6*25930Ssam 7*25930Ssam /* 8*25930Ssam * VERSAbus i/o devices use either memory mapped interfaces 9*25930Ssam * or mapped i/o register banks, or some of both. Page tables 10*25930Ssam * are allocated at boot time by each device driver, as needed. 11*25930Ssam * VMEMmap is used to map a fixed size portion of the VERSAbus 12*25930Ssam * i/o space, while VMEMmap1 maps dynamically defined portions 13*25930Ssam * for devices which utilize shared i/o memory. VBmap is used 14*25930Ssam * for mapping kernel intermediate buffers for DMA devices which 15*25930Ssam * are incapable of utilizing user virtual addresses or which 16*25930Ssam * require page aligned i/o buffers. The size of the VMEMmap1 17*25930Ssam * VBmap tables must be large enough for the needs of all devices 18*25930Ssam * in the system. 19*25930Ssam */ 20*25930Ssam extern struct pte VMEMmap[], VMEMmap1[]; 21*25930Ssam extern caddr_t vmem1, vmemend; 22*25930Ssam extern struct pte VBmap[]; 23*25930Ssam extern caddr_t vbbase, vbend; 24*25930Ssam 25*25930Ssam /* 26*25930Ssam * The following constants define the fixed size map of the 27*25930Ssam * VERSAbus i/o space. The values should reflect the range 28*25930Ssam * of i/o addresses used by all the controllers handled in 29*25930Ssam * the system as specified in the ubminit structure in ioconf.c. 30*25930Ssam */ 31*25930Ssam #define VBIOBASE 0xfff00000 /* base of VERSAbus address space */ 32*25930Ssam #define VBIOEND 0xffffee45 /* last address in mapped space */ 33*25930Ssam /* number of entries in the system page pable for i/o space */ 34*25930Ssam #define VBIOSIZE btoc(VBIOEND-VBIOBASE) 35*25930Ssam 36*25930Ssam /* 37*25930Ssam * Page table map sizes. 38*25930Ssam * 39*25930Ssam * Current VBmap allotments are: 40*25930Ssam * 4 vd controllers 32+1 pte's 41*25930Ssam * 2 cy controllers 32+1 pte's 42*25930Ssam * Current VBMEMmap allotments are: 43*25930Ssam * 2 ace controllers 32+1 pte's 44*25930Ssam */ 45*25930Ssam #define VBPTSIZE (((4*(32+1))+2*(32+1)+3) &~ 3) 46*25930Ssam #define VBMEMSIZE ((2*(32+1)+3) &~ 3) 47