diff --git a/sys/arch/hpcsh/conf/GENERIC b/sys/arch/hpcsh/conf/GENERIC new file mode 100644 index 000000000000..ca5cbd0ac863 --- /dev/null +++ b/sys/arch/hpcsh/conf/GENERIC @@ -0,0 +1,149 @@ +# $NetBSD: GENERIC,v 1.1 2001/03/20 16:05:42 uch Exp $ +# +# GENERIC kernel for SH3+HD64461 based machines. +# + +include "arch/hpcsh/conf/std.hpcsh.el" + +maxusers 32 # estimated number of users + +options SH7709A # 133MHz +options SH7709A_BROKEN_IPR +options PCLOCK=22000000 # 22MHz + +options DDB # in-kernel debugger +options DIAGNOSTIC # extra kernel debugging checks +options DEBUG # extra kernel debugging support +options KTRACE # system call tracing support +options MSGBUFSIZE=65534 + +#options USE_RTCCLK + +# Standard system options + +options RTC_OFFSET=-540 # hardware clock is this many mins. west of GMT +options HZ=50 # clock interrupt generates every 1/HZ sec + +# Compatibility options +options COMPAT_43 + +options SCSIVERBOSE # human readable SCSI error messages +options PCMCIAVERBOSE # verbose PCMCIA configuration messages + +# Executable format options +options EXEC_COFF # 32-bit COFF executables +options EXEC_ELF32 # 32-bit ELF executables + +# File systems +file-system FFS # UFS +file-system MSDOSFS # MS-DOS file system +file-system MFS # memory file system +file-system NFS # Sun NFS-compatible filesystem client +file-system UNION # union file system +file-system FDESC # /dev/fd +file-system KERNFS # /kern +file-system PROCFS # /proc + +# File system options + +# Networking options +options INET # IP + ICMP + TCP + UDP +options NFS_BOOT_DHCP + +# Kernel root file system and dump configuration. +config netbsd root on ? type ? + +options WSEMUL_VT100 +options WSDISPLAY_DEFAULTSCREENS=4 +options FONT_VT220L8x10 +options WS_KERNEL_FG=WSCOL_BROWN +options WS_KERNEL_BG=WSCOL_BLUE +# compatibility to other console drivers +options WSDISPLAY_COMPAT_PCVT # emulate some ioctls +options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls +options WSDISPLAY_COMPAT_USL # VT handling +options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes + +# +# Device configuration +# +mainbus0 at root + +shb0 at mainbus? id HP +shb1 at mainbus? id HITACHI + +# +# Workstation Console attachments +# +bivideo* at mainbus? id HP +hpcfb* at bivideo? + +wsdisplay* at hpcfb? +pfckbd* at mainbus? id HP +hpckbd* at pfckbd? +wskbd* at hpckbd? mux 1 + +# +# HP Jornada +# +# Serial Devices +# don't need to define SCICONSOLE. you can select from bootloader. +options SCIFCN_SPEED=19200 +scif0 at shb0 port 0xa4000008 irq 12 + +hd64461if0 at shb0 irq 4 +hd64461pcmcia* at hd64461if0 + +# +# HITACHI PERSONA +# +hd64461if1 at shb1 irq 4 +com* at hd64461if1 + +# +# machine independent part +# +# PCMCIA bus support +pcmcia0 at hd64461pcmcia? controller 0 socket ? # I/O card, memory card +pcmcia1 at hd64461pcmcia? controller 1 socket ? # memory card only + +# PCMCIA network interfaces +ne* at pcmcia0 function ? # NE2000-compatible Ethernet +ep* at pcmcia0 function ? # 3Com 3c589 and 3c562 Ethernet +mbe* at pcmcia0 function ? # MB8696x based Ethernet +#wi* at pcmcia0 function ? # Lucent WaveLan IEEE (802.11) +#mhzc* at pcmcia0 function ? # Megahertz Ethernet/Modem combo cards +#com* at mhzc? +#sm* at mhzc? + +# PCMCIA SCSI interfaces +#aic* at pcmcia0 function ? # Adaptec APA-1460 SCSI + +#scsibus* at aic? + +# PCMCIA IDE disk +# PC-Card slot +wdc1 at pcmcia0 function ? +wd* at wdc1 channel ? drive ? flags 0x0000 +# Compact Flash slot (only memory mapped mode CF can attach) +wdc0 at pcmcia1 function ? +wd* at wdc0 channel ? drive ? flags 0x0000 + +# SCSI devices +#sd* at scsibus? target ? lun ? # SCSI disk drives + +# Network Interfaces + +# Pseudo-Devices +pseudo-device biconsdev 1 # build-in console device + +# network pseudo-devices +pseudo-device bpfilter 8 # Berkeley packet filter +pseudo-device ipfilter # IP filter (firewall) and NAT +pseudo-device loop # network loopback + +# miscellaneous pseudo-devices +pseudo-device pty # pseudo-terminals + +# mouse & keyboard multiplexor pseudo-devices +pseudo-device wsmux 2 diff --git a/sys/arch/hpcsh/conf/RAMDISK b/sys/arch/hpcsh/conf/RAMDISK index 4dee831a1b09..9a6a71494b87 100644 --- a/sys/arch/hpcsh/conf/RAMDISK +++ b/sys/arch/hpcsh/conf/RAMDISK @@ -1,10 +1,10 @@ # # kernel config file for memory(RAM) disk # -# $NetBSD: RAMDISK,v 1.2 2001/02/24 19:47:21 uch Exp $ +# $NetBSD: RAMDISK,v 1.3 2001/03/20 16:05:42 uch Exp $ # -include "arch/hpcsh/conf/JORNADA690" +include "arch/hpcsh/conf/GENERIC" # disk/mass storage pseudo-devices pseudo-device md 1 # memory disk device (ramdisk) diff --git a/sys/arch/hpcsh/conf/files.hpcsh b/sys/arch/hpcsh/conf/files.hpcsh index 86b99ad69f5b..f740affcc052 100644 --- a/sys/arch/hpcsh/conf/files.hpcsh +++ b/sys/arch/hpcsh/conf/files.hpcsh @@ -1,4 +1,4 @@ -# $NetBSD: files.hpcsh,v 1.9 2001/03/15 17:30:55 uch Exp $ +# $NetBSD: files.hpcsh,v 1.10 2001/03/20 16:05:42 uch Exp $ # maxpartitions 8 @@ -12,7 +12,7 @@ file arch/hpcsh/hpcsh/bus_space.c file arch/hpcsh/hpcsh/procfs_machdep.c procfs file arch/hpcsh/hpcsh/debug.c -define mainbus { } +device mainbus { [id = -1] } # # H/PC Platform common files. @@ -44,8 +44,6 @@ major {md = 6} # # System bus types # - -device mainbus: mainbus attach mainbus at root file arch/hpcsh/hpcsh/mainbus.c mainbus diff --git a/sys/arch/hpcsh/conf/ioconf.incl.hpcsh b/sys/arch/hpcsh/conf/ioconf.incl.hpcsh new file mode 100644 index 000000000000..7a729f6c4c61 --- /dev/null +++ b/sys/arch/hpcsh/conf/ioconf.incl.hpcsh @@ -0,0 +1,11 @@ +#include +#include +#include +#include +#include +#define PLATID_DEFINE_MASK_NICKNAME +#include +#undef PLATID_DEFINE_MASK_NICKNAME +#define CONFIG_HOOK_DEFINE_NICKNAME +#include +#undef CONFIG_HOOK_DEFINE_NICKNAME diff --git a/sys/arch/hpcsh/hpcsh/mainbus.c b/sys/arch/hpcsh/hpcsh/mainbus.c index 78a305db4250..b965756c1e75 100644 --- a/sys/arch/hpcsh/hpcsh/mainbus.c +++ b/sys/arch/hpcsh/hpcsh/mainbus.c @@ -1,7 +1,8 @@ -/* $NetBSD: mainbus.c,v 1.4 2001/02/24 20:17:45 uch Exp $ */ +/* $NetBSD: mainbus.c,v 1.5 2001/03/20 16:05:43 uch Exp $ */ -/* - * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. +/*- + * Copyright (c) 2001 The NetBSD Foundation, Inc. + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -13,70 +14,77 @@ * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ #include #include #include + #include +#include +#include + +#include "locators.h" static int mainbus_match(struct device *, struct cfdata *, void *); static void mainbus_attach(struct device *, struct device *, void *); +static int mainbus_search(struct device *, struct cfdata *, void *); static int mainbus_print(void *, const char *); struct cfattach mainbus_ca = { sizeof(struct device), mainbus_match, mainbus_attach }; -static struct mainbus_attach_args devs[] = { - { "shb" }, - { "bivideo" }, - { "pfckbd" } -}; - static int -mainbus_match(parent, cf, aux) - struct device *parent; - struct cfdata *cf; - void *aux; +mainbus_match(struct device *parent, struct cfdata *cf, void *aux) { - - return 1; + return (1); } static void mainbus_attach(struct device *parent, struct device *self, void *aux) { - int i; - printf("\n"); - for (i = 0; i < sizeof(devs) / sizeof(devs[0]); i++) - config_found(self, &devs[i], mainbus_print); + config_search(mainbus_search, self, 0); +} + +static int +mainbus_search(struct device *parent, struct cfdata *cf, void *aux) +{ + struct mainbus_attach_args maa; + int locator = cf->cf_loc[MAINBUSCF_ID]; + + if (locator != MAINBUSCF_ID_DEFAULT && + !platid_match(&platid, PLATID_DEREFP(locator))) + return (0); + + maa.ma_name = cf->cf_driver->cd_name; + if ((*cf->cf_attach->ca_match)(parent, cf, &maa)) + config_attach(parent, cf, &maa, mainbus_print); + + return (0); } static int mainbus_print(void *aux, const char *pnp) { - struct mainbus_attach_args *ma = aux; - - if (pnp) - printf("%s at %s", ma->ma_name, pnp); - - return (UNCONF); + return (pnp ? QUIET : UNCONF); }