1# $NetBSD: GENERIC,v 1.118 2024/01/29 18:27:12 christos Exp $
2#
3# GENERIC machine description file
4#
5# This machine description file is used to generate the default NetBSD
6# kernel.  The generic kernel does not include all options, subsystems
7# and device drivers, but should be useful for most applications.
8#
9# The machine description file can be customised for your specific
10# machine to reduce the kernel size and improve its performance.
11#
12# For further information on compiling NetBSD kernels, see the config(8)
13# man page.
14#
15# For further information on hardware support for this architecture, see
16# the intro(4) man page.  For further information about kernel options
17# for this architecture, see the options(4) man page.  For an explanation
18# of each device driver in this file see the section 4 man page for the
19# device.
20
21#
22# This kernel supports...
23#         HP Jornada 680/690
24#         HP 620LX/660LX
25#         HITACHI HPW50PA
26#
27
28include   "arch/hpcsh/conf/std.hpcsh"
29
30options   INCLUDE_CONFIG_FILE # embed config file in kernel binary
31
32maxusers  32                            # estimated number of users
33
34options   HZ=64                         # default clock rate
35
36# System options specific to hpcsh
37
38# CPU support.  At least one is REQUIRED.
39options   SH3
40#options  SH4
41
42# Example of how to set gcc optimization options (XXX: not tested)
43#makeoptions        COPTS="-Os"                   # generic
44#makeoptions        CPUFLAGS="-m3"                # CPU specific
45
46#
47# PCLOCK is estimated by kernel.
48#                                       PCLOCK              CPU CLOCK
49#         HP Jornada 680/690  22.22MHz  133MHz
50#         HP 620LX            18.75MHz   75MHz
51#         HITACHI HPW50PA               25MHz               100MHz
52#
53#options  PCLOCK=...
54
55# in-kernel bootloader, see kloader(4)
56options   KLOADER
57#options  KLOADER_KERNEL_PATH="\"/netbsd\""
58#options  KLOADER_DEBUG
59
60#options  HPC_DEBUG_INTERRUPT_MONITOR
61#options  KSTACK_DEBUG
62
63
64# Standard system options
65
66#options  RTC_OFFSET=-540 # hardware clock is this many mins. west of GMT
67                                        # (overrides tz info that hpcboot.exe passes)
68
69options   KTRACE              # system call tracing via ktrace(1)
70
71options   SYSVMSG             # System V-like message queues
72options   SYSVSEM             # System V-like semaphores
73options   SYSVSHM             # System V-like memory sharing
74
75#options  MODULAR             # new style module(7) framework
76#options  MODULAR_DEFAULT_AUTOLOAD
77
78options   USERCONF            # userconf(4) support
79options   PIPE_SOCKETPAIR               # smaller, but slower pipe(2)
80options   SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
81
82# Alternate buffer queue strategies for better responsiveness under high
83# disk I/O load.
84#options  BUFQ_READPRIO
85#options  BUFQ_PRIOCSCAN
86
87# Alternate buffer queue strategies for better responsiveness under high
88# disk I/O load.
89#options  BUFQ_READPRIO
90options   BUFQ_PRIOCSCAN
91
92# Diagnostic/debugging support options
93#options  DIAGNOSTIC          # expensive kernel consistency checks
94#options  DEBUG               # expensive debugging checks/support
95#options  DDB                 # in-kernel debugger
96#options  DDB_ONPANIC=1       # see also sysctl(7): `ddb.onpanic'
97#options  DDB_HISTORY_SIZE=512          # enable history editing in DDB
98#options  KGDB                # remote debugger
99#options  KGDB_DEVRATE=19200
100#options  KGDB_DEVNAME="\"scif\""                 # HP Jornada
101#options  KGDB_DEVNAME="\"hd64461uart\""          # HITACHI PERSONA (SH3)
102#options  KGDB_DEVNAME="\"hd64465uart\""          # HITACHI PERSONA (SH4)
103#makeoptions        DEBUG="-g"          # compile full symbol table
104
105# Compatibility options
106include   "conf/compat_netbsd15.config"
107#options  BSDDISKLABEL_EI     # endian independent disklabel support
108
109# Executable format options
110options   EXEC_COFF # 32-bit COFF executables
111
112# File systems
113file-system         FFS                 # UFS
114file-system         MFS                 # memory file system (requires FFS)
115#file-system        EXT2FS              # second extended file system (linux)
116file-system         MSDOSFS             # MS-DOS file system
117file-system         NFS                 # Sun NFS-compatible filesystem client
118#file-system        NULLFS              # loopback file system
119#file-system        UMAPFS              # NULLFS + uid and gid remapping
120#file-system        UNION               # union file system
121#file-system        OVERLAY             # overlay file system
122#file-system        FDESC               # /dev/fd
123file-system         KERNFS              # /kern
124file-system         PROCFS              # /proc
125#file-system        CODA                # Coda File System; also needs vcoda (below)
126file-system         PTYFS               # /dev/pts/N support
127#file-system        TMPFS               # Efficient memory file-system
128#file-system        UDF                 # experimental - OSTA UDF CD/DVD file-system
129
130# File system options
131#options  FFS_EI              # FFS Endian Independent support
132options   FFS_NO_SNAPSHOT     # No FFS snapshot support
133#options  UFS_DIRHASH         # UFS Large Directory Hashing
134#options  UFS_EXTATTR         # Extended attribute support for UFS1
135options   WAPBL               # File system journaling support
136
137# Networking options
138options   INET                # IP + ICMP + TCP + UDP
139options   INET6               # IPV6
140
141options   PPP_BSDCOMP         # BSD-Compress compression support for PPP
142options   PPP_DEFLATE         # Deflate compression support for PPP
143options   PPP_FILTER          # Active filter support for PPP (requires bpf)
144
145#options  ALTQ                # Manipulate network interfaces' output queues
146#options  ALTQ_BLUE # Stochastic Fair Blue
147#options  ALTQ_CBQ  # Class-Based Queueing
148#options  ALTQ_CDNR # Diffserv Traffic Conditioner
149#options  ALTQ_FIFOQ          # First-In First-Out Queue
150#options  ALTQ_FLOWVALVE      # RED/flow-valve (red-penalty-box)
151#options  ALTQ_HFSC # Hierarchical Fair Service Curve
152#options  ALTQ_LOCALQ         # Local queueing discipline
153#options  ALTQ_PRIQ # Priority Queueing
154#options  ALTQ_RED  # Random Early Detection
155#options  ALTQ_RIO  # RED with IN/OUT
156#options  ALTQ_WFQ  # Weighted Fair Queueing
157
158# These options enable verbose messages for several subsystems.
159# Warning, these may compile large string tables into the kernel!
160options   MIIVERBOSE          # verbose PHY autoconfig messages
161#options  PCMCIAVERBOSE       # verbose PCMCIA configuration messages
162
163options   NFS_BOOT_DHCP
164
165#
166# wscons options
167#
168# builtin terminal emulations
169options   WSEMUL_VT100
170# allocate a number of virtual screens at autoconfiguration time
171options   WSDISPLAY_DEFAULTSCREENS=4
172
173# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
174options   WSDISPLAY_CUSTOM_OUTPUT       # color customization from wsconsctl(8)
175#options  WS_DEFAULT_FG=WSCOL_WHITE
176#options  WS_DEFAULT_BG=WSCOL_BLACK
177#options  WS_DEFAULT_COLATTR="(0)"
178#options  WS_DEFAULT_MONOATTR="(0)"
179options   WS_KERNEL_FG=WSCOL_BROWN
180options   WS_KERNEL_BG=WSCOL_BLUE
181#options  WS_KERNEL_COLATTR=""
182#options  WS_KERNEL_MONOATTR=""
183
184# compatibility to other console drivers
185options   WSDISPLAY_COMPAT_PCVT                   # emulate some ioctls
186options   WSDISPLAY_COMPAT_SYSCONS      # emulate some ioctls
187options   WSDISPLAY_COMPAT_USL                    # wsconscfg VT handling
188options   WSDISPLAY_COMPAT_RAWKBD                 # can get raw scancodes
189
190options   FONT_VT220L8x10                         # the console font
191
192
193# Kernel root file system and dump configuration.
194config              netbsd    root on ? type ?
195
196#
197# Device configuration
198#
199mainbus0 at root
200
201# temporally power management
202hpcapm0             at mainbus0                             # power management
203apmdev0             at hpcapm0                              # APM
204btnmgr0             at mainbus0
205wskbd*              at btnmgr0 mux 1
206
207cpu*                at mainbus?
208shb*                at mainbus?
209rtc*                at shb?
210adc*                at shb?                       # analog->digital converter
211pfckbd*             at mainbus?
212
213#
214# Workstation Console attachments
215#
216hpcfb*              at hd64461video?
217wsdisplay*          at hpcfb?
218
219hpckbd*             at pfckbd?
220wskbd0              at hpckbd? mux 1
221
222#
223# HP Jornada (620LX/660LX, 680/690)
224#
225scif0               at shb?                       # serial port/console
226options   SCIFCN_SPEED=19200
227# don't need to define SCIFCONSOLE, you can select from the bootloader.
228
229j6x0pwr*  at adc?                       # battery, on/off, etc
230
231j6x0lcd*  at shb?                       # LCD power, brightness, contrast
232
233j6x0tp*             at adc?                       # touch panel
234wsmouse*  at j6x0tp? mux 0    # - as a pointing device
235wskbd1              at j6x0tp? mux 1    # - "hard icons" as keys
236# Do not convert hard icons to key presses while serving mouse input.
237options   J6X0TP_WSMOUSE_EXCLUSIVE
238# Customization for the mini-keymap of hard icons.
239#options  J6X0TP_SETTINGS_ICON_KEYSYM="KS_Home"
240#options  J6X0TP_PGUP_ICON_KEYSYM="KS_Prior"
241#options  J6X0TP_PGDN_ICON_KEYSYM="KS_Next"
242#options  J6X0TP_SWITCH_ICON_KEYSYM="KS_End"
243
244#
245# HITACHI PERSONA (HPW-50PAD, HPQ-650PA)
246#
247com0                at hd64461if?
248
249psh3pwr*  at adc?                       # PERSONA SH3 battery, on/off, etc
250
251psh3lcd*  at shb?                       # LCD power, brightness, contrast
252
253psh3tp*             at adc?                       # PERSONA SH3 touch panel
254wsmouse*  at psh3tp? mux 0
255
256#
257# Common HD64461 devices
258#
259hd64461if* at shb?
260
261hd64461pcmcia*      at hd64461if?
262#options  HD64461PCMCIA_DEBUG
263#options  HD64461PCMCIA_REORDER_ATTACH  # attach channel 1 (CF) first
264
265hd64461video*       at hd64461if?
266#options  HD64461VIDEO_DEBUG
267#options  HD64461VIDEO_HWACCEL                    # XXX: too slow to bother
268
269
270#
271# machine independent part
272#
273
274# PCMCIA bus support
275#pcmcia* at hd64461pcmcia? controller ? socket ?
276pcmcia0 at hd64461pcmcia? controller 0 socket ?   # I/O card, memory card
277pcmcia1 at hd64461pcmcia? controller 1 socket ? # memory card only
278
279# PCMCIA IDE controllers
280#wdc*     at pcmcia? function ?
281wdc0      at pcmcia1 function ?                   # CF slot
282wdc1      at pcmcia0 function ?                   # PC Card slot
283
284# ATA (IDE) bus support
285#atabus* at ata?
286atabus0 at wdc0 channel ?               # CF slot
287atabus1 at wdc1 channel ?               # PC Card slot
288
289# IDE drives
290wd*       at atabus? drive ? flags 0x0000
291
292# PCMCIA network interfaces
293#ep*      at pcmcia0 function ?                   # 3Com EtherLink III Ethernet
294mbe*      at pcmcia0 function ?                   # MB8696x based Ethernet
295ne*       at pcmcia0 function ?                   # NE2000-compatible Ethernet
296wi*       at pcmcia0 function ?                   # Lucent/Intersil WaveLan IEEE (802.11)
297
298# MII/PHY support
299lxtphy*   at mii? phy ?                           # Level One LXT-970 PHYs
300nsphyter* at mii? phy ?                           # NS83843 PHYs
301#tqphy* at mii? phy?                              # TDK Semiconductor PHYs
302ukphy*    at mii? phy ?                           # generic unknown PHYs
303
304# PCMCIA Serial Devices
305com*      at pcmcia? function ?                   # Modems and serial cards
306
307# Bluetooth Controller and Device support
308
309# Bluetooth PCMCIA Controllers
310bt3c*     at pcmcia? function ?                   # 3Com 3CRWB6096-A
311btbc*     at pcmcia? function ?                   # AnyCom BlueCard LSE041/039/139
312
313# Bluetooth Device Hub
314bthub*    at bcsp?
315bthub*    at bt3c?
316bthub*    at btbc?
317bthub*    at btuart?
318
319# Bluetooth HID support
320#bthidev* at bthub?
321
322# Bluetooth Mouse
323#btms*    at bthidev? reportid ?
324#wsmouse* at btms? mux 0
325
326# Bluetooth Keyboard
327#btkbd*   at bthidev? reportid ?
328#wskbd*   at btkbd? console ? mux 1
329
330# Bluetooth Apple Magic Mouse
331#btmagic* at bthub?
332#wsmouse* at btmagic? mux 0
333
334# Bluetooth Audio support
335#btsco*   at bthub?
336
337
338# Pseudo-Devices
339
340# disk/mass storage pseudo-devices
341#pseudo-device      vnd                           # disk-like interface to files
342#options  VND_COMPRESSION               # compressed vnd(4)
343pseudo-device       fss                           # file system snapshot device
344
345# network pseudo-devices
346pseudo-device       loop                          # network loopback
347pseudo-device       ppp                           # serial-line IP ports
348pseudo-device       bpfilter            # Berkeley packet filter
349pseudo-device       carp                          # Common Address Redundancy Protocol
350#pseudo-device      npf                           # NPF packet filter
351
352#
353# accept filters
354pseudo-device   accf_data               # "dataready" accept filter
355pseudo-device   accf_http               # "httpready" accept filter
356
357# miscellaneous pseudo-devices
358pseudo-device       pty                           # pseudo-terminals
359pseudo-device       clockctl            # user control of clock subsystem
360#pseudo-device      irframetty                    # IrDA frame line discipline
361pseudo-device       ksyms                         # kernel symbol table interface
362pseudo-device       bcsp                          # BlueCore Serial Protocol
363pseudo-device       btuart                        # Bluetooth HCI UART (H4)
364pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
365
366# a pseudo device needed for Coda       # also needs CODA (above)
367#pseudo-device      vcoda                         # coda minicache <-> venus comm.
368
369# wscons pseudo-devices
370pseudo-device       wsmux                         # mouse & keyboard multiplexor
371#pseudo-device      wsfont                        # dynamic font loading support
372#pseudo-device      hpf1275a            # HP F1275A external keyboard
373#wskbd* at hpf1275a? mux 1
374
375include "dev/veriexec.config"
376
377# Pull in optional local configuration - always at end
378cinclude  "arch/hpcsh/conf/GENERIC.local"
379