diff options
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r-- | sys/arch/hppa/conf/GECKO | 12 | ||||
-rw-r--r-- | sys/arch/hppa/conf/SHEPHERD_PIE | 27 | ||||
-rw-r--r-- | sys/arch/hppa/conf/files.hppa | 6 | ||||
-rw-r--r-- | sys/arch/hppa/gsc/gscbus.c | 7 | ||||
-rw-r--r-- | sys/arch/hppa/gsc/gscbusvar.h | 3 | ||||
-rw-r--r-- | sys/arch/hppa/hppa/mainbus.c | 17 | ||||
-rw-r--r-- | sys/arch/hppa/include/autoconf.h | 6 |
7 files changed, 48 insertions, 30 deletions
diff --git a/sys/arch/hppa/conf/GECKO b/sys/arch/hppa/conf/GECKO index a279660eacf..bf1f04697bf 100644 --- a/sys/arch/hppa/conf/GECKO +++ b/sys/arch/hppa/conf/GECKO @@ -1,4 +1,4 @@ -# $OpenBSD: GECKO,v 1.9 2001/11/29 17:31:38 mickey Exp $ +# $OpenBSD: GECKO,v 1.10 2001/12/02 04:03:53 mickey Exp $ # # HP 9000/712/{60,80,80i,100} boxens # @@ -18,22 +18,22 @@ option HP7300LC_CPU config bsd swap generic -lasi0 at mainbus0 irq 28 # LASI host adapter (LSI ???) -#lasi1 at mainbus0 irq ? # LASI host adapter in the GIO slot +lasi0 at mainbus0 offset 0x100000 irq 28 # LASI host adapter (LSI ???) +#lasi1 at mainbus0 offset 0x500000 irq ? # LASI host adapter in the GIO #wax0 at mainbus0 irq 27? # WAX ASIC in the GIO slot sti0 at mainbus0 # onboard HCRX-8 graphics #sti1 at mainbus0 # GIO slot HCRX-8 graphics # internal I/O space gsc0 at lasi0 -#gsc1 at wax0 -#gsc2 at lasi1 +gsc1 at lasi1 +#gsc2 at wax0 com0 at gsc0 irq 5 # serial port #com1 at gsc1 irq 6? # serial port lpt0 at gsc0 irq 7 # both com0 and lpt0 are on LASI ie0 at gsc0 irq 8 # 82C596 ether #ie1 at gsc1 irq 10? # 82C596 ether -#tms0 at gsc1 irq ? # TMS380C26 TR/9000 +#tms0 at gsc2 irq ? # TMS380C26 TR/9000 siop0 at gsc0 irq 9 # NCR 53C710 scsibus0 at siop? #harmony0 at gsc0 irq 13 # Audio Type 2 (CS4215) diff --git a/sys/arch/hppa/conf/SHEPHERD_PIE b/sys/arch/hppa/conf/SHEPHERD_PIE index 3906bdb3967..b77a1e85f7c 100644 --- a/sys/arch/hppa/conf/SHEPHERD_PIE +++ b/sys/arch/hppa/conf/SHEPHERD_PIE @@ -1,4 +1,4 @@ -# $OpenBSD: SHEPHERD_PIE,v 1.13 2001/10/10 23:43:42 millert Exp $ +# $OpenBSD: SHEPHERD_PIE,v 1.14 2001/12/02 04:03:53 mickey Exp $ # # Diskless kernel config # @@ -68,7 +68,8 @@ pseudo-device rd 2 # RAM disk device option FPEMUL option USELEDS # blink 'em -lasi* at mainbus0 irq 28 # LASI host adapter (LSI PN???) +lasi0 at mainbus0 offset 0x100000 irq 28 # LASI host adapter (LSI PN???) +lasi1 at mainbus0 offset 0x500000 # GIO card asp* at mainbus0 irq 28 # this one comes w/ Viper and leds #wax* at mainbus0 irq 27 # Wax may host EISA as well mongoose* at mainbus0 irq 17 # EISA Bus Adapter (i82350 or TI???) @@ -79,8 +80,9 @@ sti* at mainbus0 irq ? # [H]CRX-{8,24,48}[Z] graphics # internal i/o space gsc0 at asp? # 7xx -gsc0 at lasi? # 712,715/100,725/75,725/100 -#gsc1 at wax? # basically it's another face of LASI +gsc0 at lasi0 # 712,715/100,725/75,725/100 +gsc1 at lasi1 +#gsc2 at wax? # it's another face of LASI #vme* at vmeb? #option VMEVERBOSE @@ -96,7 +98,7 @@ option EISAVERBOSE #hil* at gsc? irq 1 # Human Interface Loop, kbd and mouse #hkbd* at hil? code 0 # keyboard -#hilnmi0 at kbd? irq 2 # double-break on hil keyboard +#hilnmi0 at hil? irq 2 # double-break on hil keyboard #tb* at hil? code 1 # graphics tablet #hms* at hil? code 2 # mouse, 3b mouse, 3b trackball, 3b quadrature mouse #knob* at hil? code 3 # knob @@ -109,15 +111,15 @@ option EISAVERBOSE com0 at gsc? irq 5 # RS/232 serial port #com1 at gsc? irq 6 # RS/232 serial port lpt0 at gsc? irq 7 # both com and lpt are on WD16C552 -ie0 at gsc? irq 8 # 82C5[89]6 ether +ie0 at gsc0 irq 8 # 82C5[89]6 ether #tms* at gsc? irq 10 # TMS380C26 Network Controller (either 802.3 or 802.5) -#siop0 at gsc? irq 9 # NCR 53C7xx -#siop1 at gsc? irq 3 # NCR 53C7xx (Fast/Wide) +#siop0 at gsc? irq 9 # NCR 53C700/710 +#siop1 at gsc? irq 3 # NCR 53C720 (Fast/Wide) #scsibus* at siop? #aone* at gsc? irq 13 # Audio Type 1 (PSB 2160-N) -#audio* at aone? -#harmony* at gsc? irq 13 # Audio Type 2 (CS4215) -#audio* at harmony? +#audio* at aone? +#harmony* at gsc? irq 13 # Audio Type 2 (CS4215/AD1849) +#audio* at harmony? #pckbc* at gsc? irq 26 #pckbd* at pckbc? # PS/2 keyboard #pms* at pckbc? # PS/2 mouse @@ -126,8 +128,9 @@ ie0 at gsc? irq 8 # 82C5[89]6 ether # EISA devices #sh* at eisa? slot ? # Interphase Seahawk 4811 EISA/FDDI board -ep* at eisa? slot ? +#ep* at eisa? slot ? #ie* at eisa? slot ? +#option BHADEBUG #bha* at eisa? slot ? #scsibus* at bha? diff --git a/sys/arch/hppa/conf/files.hppa b/sys/arch/hppa/conf/files.hppa index a288ccef044..7a0e3eb2791 100644 --- a/sys/arch/hppa/conf/files.hppa +++ b/sys/arch/hppa/conf/files.hppa @@ -1,4 +1,4 @@ -# $OpenBSD: files.hppa,v 1.31 2001/06/26 02:41:25 mickey Exp $ +# $OpenBSD: files.hppa,v 1.32 2001/12/02 04:03:53 mickey Exp $ # # hppa-specific configuration info @@ -62,7 +62,7 @@ define gscbus { } # Mainbus # -define mainbus {[irq = -1]} +define mainbus {[offset = -1], [irq = -1]} device mainbus attach mainbus at root file arch/hppa/hppa/mainbus.c mainbus @@ -120,7 +120,7 @@ major {rd = 3} # GSC bus devices # -device gsc {[irq = -1]} +device gsc {[offset = -1], [irq = -1]} attach gsc at gscbus file arch/hppa/gsc/gscbus.c gsc diff --git a/sys/arch/hppa/gsc/gscbus.c b/sys/arch/hppa/gsc/gscbus.c index 02ed051d1cf..258381bf402 100644 --- a/sys/arch/hppa/gsc/gscbus.c +++ b/sys/arch/hppa/gsc/gscbus.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gscbus.c,v 1.15 2001/11/05 17:25:57 art Exp $ */ +/* $OpenBSD: gscbus.c,v 1.16 2001/12/02 04:03:57 mickey Exp $ */ /* * Copyright (c) 1998 Michael Shalayeff @@ -167,6 +167,7 @@ gscattach(parent, self, aux) sc->sc_dmatag._dmamem_unmap = gsc_dmamem_unmap; sc->sc_dmatag._dmamem_mmap = gsc_dmamem_mmap; + ga->ga_hpamask = HPPA_FLEX_MASK; pdc_scanbus(self, &ga->ga_ca, ga->ga_mod, MAXMODBUS); } @@ -175,6 +176,10 @@ gscprint(aux, pnp) void *aux; const char *pnp; { + struct gsc_attach_args *ga = aux; + + if (pnp) + printf("%s at %s", ga->ga_name, pnp); return (UNCONF); } diff --git a/sys/arch/hppa/gsc/gscbusvar.h b/sys/arch/hppa/gsc/gscbusvar.h index ece10350b53..cc74b12b3df 100644 --- a/sys/arch/hppa/gsc/gscbusvar.h +++ b/sys/arch/hppa/gsc/gscbusvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: gscbusvar.h,v 1.3 1999/08/16 02:48:39 mickey Exp $ */ +/* $OpenBSD: gscbusvar.h,v 1.4 2001/12/02 04:03:57 mickey Exp $ */ /* * Copyright (c) 1998 Michael Shalayeff @@ -47,6 +47,7 @@ struct gsc_attach_args { #define ga_mod ga_ca.ca_mod #define ga_type ga_ca.ca_type #define ga_hpa ga_ca.ca_hpa +#define ga_hpamask ga_ca.ca_hpamask #define ga_dmatag ga_ca.ca_dmatag #define ga_irq ga_ca.ca_irq /*#define ga_pdc_iodc_read ga_ca.ca_pdc_iodc_read */ diff --git a/sys/arch/hppa/hppa/mainbus.c b/sys/arch/hppa/hppa/mainbus.c index ef8df572df6..2e97ac96d40 100644 --- a/sys/arch/hppa/hppa/mainbus.c +++ b/sys/arch/hppa/hppa/mainbus.c @@ -1,7 +1,7 @@ -/* $OpenBSD: mainbus.c,v 1.17 2001/11/28 13:47:38 art Exp $ */ +/* $OpenBSD: mainbus.c,v 1.18 2001/12/02 04:03:57 mickey Exp $ */ /* - * Copyright (c) 1998-2000 Michael Shalayeff + * Copyright (c) 1998-2001 Michael Shalayeff * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -842,6 +842,7 @@ mbattach(parent, self, aux) bzero (&nca, sizeof(nca)); nca.ca_name = "pdc"; nca.ca_hpa = 0; + nca.ca_hpamask = 0; nca.ca_iot = &hppa_bustag; nca.ca_dmatag = &hppa_dmatag; config_found(self, &nca, mbprint); @@ -849,6 +850,7 @@ mbattach(parent, self, aux) bzero (&nca, sizeof(nca)); nca.ca_name = "mainbus"; nca.ca_hpa = 0; + nca.ca_hpamask = HPPA_IOSPACE; nca.ca_iot = &hppa_bustag; nca.ca_dmatag = &hppa_dmatag; pdc_scanbus(self, &nca, -1, MAXMODBUS); @@ -879,7 +881,8 @@ mbprint(aux, pnp) printf("\"%s\" at %s (type %x, sv %x)", ca->ca_name, pnp, ca->ca_type.iodc_type, ca->ca_type.iodc_sv_model); if (ca->ca_hpa) { - printf(" hpa %x", ca->ca_hpa); + if (ca->ca_hpa & ~ca->ca_hpamask) + printf(" offset %x", ca->ca_hpa & ~ca->ca_hpamask); if (!pnp && ca->ca_irq >= 0) printf(" irq %d", ca->ca_irq); } @@ -896,9 +899,13 @@ mbsubmatch(parent, match, aux) register struct confargs *ca = aux; register int ret; - if ((ret = (*cf->cf_attach->ca_match)(parent, match, aux))) { + if (ca->ca_hpa && ~ca->ca_hpamask && cf->hppacf_off != -1 && + ((ca->ca_hpa & ~ca->ca_hpamask) != cf->hppacf_off)) + return (0); + + if ((ret = (*cf->cf_attach->ca_match)(parent, match, aux)) && + cf->hppacf_irq != -1) ca->ca_irq = cf->hppacf_irq; - } return ret; } diff --git a/sys/arch/hppa/include/autoconf.h b/sys/arch/hppa/include/autoconf.h index 61a1989e168..392aa5788fa 100644 --- a/sys/arch/hppa/include/autoconf.h +++ b/sys/arch/hppa/include/autoconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: autoconf.h,v 1.10 2001/05/05 22:33:42 art Exp $ */ +/* $OpenBSD: autoconf.h,v 1.11 2001/12/02 04:03:57 mickey Exp $ */ /* * Copyright (c) 1998 Michael Shalayeff @@ -39,12 +39,14 @@ struct confargs { int ca_mod; /* module number on the bus */ struct iodc_data ca_type; /* iodc-specific type descrition */ hppa_hpa_t ca_hpa; /* module HPA */ + hppa_hpa_t ca_hpamask; /* mask for modules on the bus */ bus_dma_tag_t ca_dmatag; /* DMA tag */ int ca_irq; /* module IRQ */ struct pdc_iodc_read *ca_pdc_iodc_read; }; -#define hppacf_irq cf_loc[0] +#define hppacf_off cf_loc[0] +#define hppacf_irq cf_loc[1] /* this is used for hppa_knownmodules table * describing known to this port modules, |