File: [local] / sys / arch / sparc / conf / RAMDISK (download)
Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:07:53 2008 UTC (16 years, 4 months ago) by nbrk
Branch: OPENBSD_4_2_BASE, MAIN
CVS Tags: jornada-partial-support-wip, HEAD Changes since 1.1: +0 -0 lines
Import of OpenBSD 4.2 release kernel tree with initial code to support
Jornada 720/728, StrongARM 1110-based handheld PC.
At this point kernel roots on NFS and boots into vfs_mountroot() and traps.
What is supported:
- glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode
(needs some palette tweaks for non black/white/blue colors, i think)
- saic, SA11x0 interrupt controller (needs cleanup)
- sacom, SA11x0 UART (supported only as boot console for now)
- SA11x0 GPIO controller fully supported (but can't handle multiple interrupt
handlers on one gpio pin)
- sassp, SSP port on SA11x0 that attaches spibus
- Jornada microcontroller (jmcu) to control kbd, battery, etc throught
the SPI bus (wskbd attaches on jmcu, but not tested)
- tod functions seem work
- initial code for SA-1111 (chip companion) : this is TODO
Next important steps, i think:
- gpio and intc on sa1111
- pcmcia support for sa11x0 (and sa1111 help logic)
- REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs)
- root on wd0! (using already supported PCMCIA-ATA)
|
# $OpenBSD: RAMDISK,v 1.62 2007/05/29 09:54:03 sobrado Exp $
# $NetBSD: GENERIC,v 1.28.2.1 1996/07/02 23:55:22 jtc Exp $
# Machine architecture; required by config(8)
machine sparc
# maxusers means mostly "let's get small" in terms of kernel malloc's
maxusers 2
# the size for MINIROOTSIZE must insure: 16384+size(bsd) < RELOC(boot,bootxx)
option RAMDISK_HOOKS
option MINIROOTSIZE=4352
#option DDB # need this to see what's happening
option TIMEZONE=0 # time zone to adjust RTC time by
option DST=0 # daylight saving time used by RTC
option SMALL_KERNEL
option NO_PROPOLICE
option FFS # UFS
#option NFSCLIENT # Network File System client
option CD9660 # ISO 9660 + Rock Ridge file system
#option FIFO # FIFOs; RECOMMENDED
option INET # IP + ICMP + TCP + UDP
#option INET6 # IPv6 (needs INET)
option BOOT_CONFIG # add support for boot -c
# Options for variants of the Sun SPARC architecture.
# At least one is required.
option SUN4 # sun4/100, sun4/200, sun4/300
option SUN4C # sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
option SUN4M # sun4m - SS10, SS20, Classic, etc.
#option MMU_3L # 3-level MMU on sun4/400
#option KGDB # support for kernel gdb
#option KGDBDEV=0xc01 # kgdb device number (dev_t)
#option KGDBRATE=38400 # baud rate
# Options for SPARCstation hardware
#option COMPAT_SUNOS # compatibility with SunOS binaries
#option COMPAT_SVR4 # compatibility with SVR4 binaries
option WSEMUL_SUN # provide sun terminal emulation; required
option WSEMUL_NO_VT100 # do not provide vt100 terminal emulation
# Generic swap; second partition of root disk or network.
config bsd root on rd0a
# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
# Bus types found on SPARC systems.
sbus0 at mainbus0 # sun4c
obio0 at mainbus0 # sun4 and sun4m
vmes0 at mainbus0 # sun4
vmel0 at mainbus0 # sun4
iommu0 at mainbus0 # sun4m
sbus0 at iommu0 # sun4m
#audioamd0 at mainbus0 # sun4c
#audioamd0 at obio0 # sun4m
#audioamd0 at sbus0 # sun4m
#audio* at audioamd?
auxreg* at mainbus0 # sun4c
auxreg* at obio0 # sun4m
# Power status and control register found on Sun4m systems
power0 at obio0
# Mostek clock found on 4/300, sun4c, and sun4m systems.
# The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
clock0 at mainbus0 # sun4c
clock0 at obio0 # sun4m
clock0 at obio0 addr 0xf2000000 # sun4/300
# Intersil clock found on 4/100 and 4/200 systems.
oclock0 at obio0 addr 0xf3000000 # sun4/200
oclock0 at obio0 addr 0x03000000 # sun4/100
# Memory error registers.
memreg0 at mainbus0 # sun4c
memreg0 at obio0 # sun4m
memreg0 at obio0 addr 0xf4000000 # sun4/200 and sun4/300
memreg0 at obio0 addr 0x04000000 # sun4/100
# Timer chip found on 4/300, sun4c, and sun4m systems.
timer0 at mainbus0 # sun4c
timer0 at obio0 # sun4m
timer0 at obio0 addr 0xef000000 # sun4/300
# EEPROM found on 4/100 and 4/200 systems. Note that the 4/300
# doesn't use this driver; the `EEPROM' is in the NVRAM on the
# Mostek clock chip on 4/300 systems.
eeprom0 at obio0 addr 0xf2000000 # sun4/200
eeprom0 at obio0 addr 0x02000000 # sun4/100
# Zilog 8530 serial chips. Each has two-channels.
# zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
zs0 at mainbus0 # sun4c
zs0 at obio0 # sun4m
zs0 at obio0 addr 0xf1000000 level 12 # sun4/200 and sun4/300
zs0 at obio0 addr 0x01000000 level 12 # sun4/100
zs1 at mainbus0 # sun4c
zs1 at obio0 # sun4m
zs1 at obio0 addr 0xf0000000 level 12 # sun4/200 and sun4/300
zs1 at obio0 addr 0x00000000 level 12 # sun4/100
zs2 at obio0 addr 0xe0000000 level 12 # sun4/300
zstty* at zs?
zskbd* at zs?
wskbd* at zskbd?
# SUNW,xbox SBus Expansion Subsystem
xbox* at sbus? # SBus Expansion box
sbus* at xbox?
#
# Note the flags on the esp entries below, that work around
# deficiencies in the current driver:
# bits 0-7: disable disconnect/reselect for the corresponding target
# bits 8-15: disable synch negotiation for target [bit-8]
# Note: targets 4-7 have disconnect/reselect enabled on the premise
# that tape devices normally have one of these targets. Tape
# devices should be allowed to disconnect for the SCSI bus
# to operate acceptably.
#
# sun4/300 SCSI - an NCR53c94 or equivalent behind
# an LSI Logic DMA controller
dma0 at obio0 addr 0xfa001000 level 4 # sun4/300
esp0 at obio0 addr 0xfa000000 level 4 flags 0x00ff000f
# sun4c or sun4m SCSI - an NCR53c94 or equivalent behind
# specialized DMA glue
dma0 at sbus0 # on-board SCSI
esp0 at sbus0 flags 0x00ff000f # sun4c
esp0 at dma0 flags 0x00ff000f # sun4m
# FSBE/S SCSI - an NCR53c94 or equivalent behind
dma* at sbus? # SBus SCSI
esp* at sbus? flags 0x00ff000f # two flavours
esp* at dma? flags 0x00ff000f # depending on model
# sun4m Ethernet - an AMD 7990 LANCE behind specialized DMA glue
ledma0 at sbus? # sun4m on-board
le0 at ledma0 #
ledma* at sbus? # Anteres sbus
le* at ledma? #
# Additional SBus LANCE devices - glued on by lebuffer
lebuffer0 at sbus0 # sun4m SBus
lebuffer* at sbus? # sun4m SBus
le0 at lebuffer0 #
le* at lebuffer? #
# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
le0 at sbus0 # sun4c on-board
le* at sbus?
le0 at obio0 addr 0xf9000000 level 6 # sun4/300
# sun4/100 and sun4/200 Ethernet - an Intel 82586 on-board
# or on a Multibus/VME card.
ie0 at obio0 addr 0xf6000000 level 6 # sun4/200 on-board
ie0 at obio0 addr 0x06000000 level 6 # sun4/100 on-board
ie1 at vmes0 addr 0xffe88000 level 5 vect 0x75
ie2 at vmes0 addr 0xff31ff02 level 5 vect 0x76
ie3 at vmes0 addr 0xff35ff02 level 5 vect 0x77
ie4 at vmes0 addr 0xff2dff02 level 5 vect 0x7c
# HappyMeal ethernet
hme* at sbus?
# Media Independent Interface (mii) drivers (required for hme)
nsphy* at mii? # NS and compatible PHYs
qsphy* at mii? # Quality Semi QS6612 PHYs
luphy* at mii? # Lucent LU6612 PHY
# Quad-ethernet glue device, and sub-devices
qec* at sbus?
qe* at qec?
be* at qec?
# Xylogics 753 or 7053 VME SMD disk controllers and disks, found
# on sun4 systems.
xdc0 at vmel0 addr 0xffffee80 level 3 vect 0x44
xdc1 at vmel0 addr 0xffffee90 level 3 vect 0x45
xdc2 at vmel0 addr 0xffffeea0 level 3 vect 0x46
xdc3 at vmel0 addr 0xffffeeb0 level 3 vect 0x47
xd* at xdc?
# Xylogics 451 or 451 VME SMD disk controllers and disks, found
# on sun4 systems.
xyc0 at vmes0 addr 0xffffee40 level 3 vect 0x48
xyc1 at vmes0 addr 0xffffee48 level 3 vect 0x49
xy* at xyc?
# Sun PCMCIA bridge
#stp* at sbus?
#pcmcia* at stp?
# PCMCIA controller found on Tadpole SPARCbook
#tslot* at sbus?
#pcmcia* at tslot?
# PCMCIA devices
#wi* at pcmcia? # WaveLAN IEEE 802.11DS
#an* at pcmcia? # Aironet IEEE 802.11DS
#ne* at pcmcia? # NE2000-compat ethernet
#ep* at pcmcia? # PCMCIA based 3C5xx ethernet
#com* at pcmcia? # PCMCIA modems/serial ports
# NCR5380-based "Sun SCSI 3" VME SCSI controller.
# This driver has several flags which may be enabled by OR'ing
# the values and using the "flags" directive.
# Valid flags are:
#
# 0x01 Use DMA (may be polled)
# 0x02 Use DMA completion interrupts
# 0x04 Allow disconnect/reselect
#
# E.g. the following would enable DMA, interrupts, and reselect:
# si0 at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x07
#
si0 at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x01
# NCR5380-based "SCSI Weird" on-board SCSI interface found
# on sun4/100 systems. The flags are the same as the "si"
# controller. Note, while DMA is enabled by default, only
# polled DMA works at this time, and reselects do not work
# on this particular controller.
sw0 at obio0 addr 0x0a000000 level 3 flags 0x01
# Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
# systems.
bwtwo0 at sbus0 # sun4c on-board
bwtwo* at sbus? # sun4c and sun4m
bwtwo0 at obio0 addr 0xfd000000 level 4 # sun4/200
bwtwo0 at obio0 addr 0xfb300000 level 4 # sun4/300 in P4 slot
bwtwo0 at obio0 addr 0x0b300000 level 4 # sun4/100 in P4 slot
wsdisplay* at bwtwo?
# Sun "cgtwo" VME color framebuffer.
cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xa8
wsdisplay* at cgtwo?
# Sun "cgthree" SBus color framebuffer.
cgthree* at sbus?
wsdisplay* at cgthree?
# Sun "cgfour" color framebuffer.
cgfour0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
cgfour0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
wsdisplay* at cgfour?
# Sun "cgsix" accelerated color framebuffer.
cgsix0 at sbus?
cgsix* at sbus?
cgsix0 at obio0 addr 0xfb000000 level 4 # sun4/300 P4
cgsix0 at obio0 addr 0x0b000000 level 4 # sun4/100 P4
wsdisplay* at cgsix?
# Sun "cgeight" 24-bit framebuffer.
cgeight0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
cgeight0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
wsdisplay* at cgeight?
# Sun "tcx" accelerated color framebuffer.
tcx* at sbus?
wsdisplay* at tcx?
# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen0 at obio0 addr 0x9c000000 flags 0x0001 # sun4m
cgfourteen1 at obio0 addr 0x90000000 flags 0x0001 # sun4m
wsdisplay* at cgfourteen?
# Sun "cgtwelve" (GS) accelerated 24-bit framebuffer.
cgtwelve* at sbus?
wsdisplay* at cgtwelve?
# Sun "leo" (ZX) accelerated 24-bit framebuffer.
zx* at sbus?
wsdisplay* at zx?
# Vigra VS10 or VS12 framebuffer.
vigra* at sbus?
wsdisplay* at vigra?
# Weitek P9000 found on Tadpole SPARCbook 3, with external ``Chameleon'' RAMDAC
pninek0 at sbus?
btcham0 at obio?
wsdisplay* at pninek?
# Weitek P9100 found on Tadpole SPARCbook 3GS/3GX/3TX/3XP
pnozz0 at sbus?
wsdisplay* at pnozz?
# Parallax XVideo and PowerVideo
tvtwo* at sbus?
wsdisplay* at tvtwo?
# Fujitsu AG-10e framebuffer.
agten* at sbus?
wsdisplay* at agten?
# Southland Media Systems MGX/MGXPlus framebuffer.
mgx* at sbus?
wsdisplay* at mgx?
# Vitec/Connectware/AP&D RasterFlex framebuffer series.
rfx* at sbus?
wsdisplay* at rfx?
# SCSI bus layer. SCSI devices attach to the SCSI bus, which attaches
# to the underlying hardware controller.
scsibus* at esp?
scsibus* at si?
scsibus* at sw?
# These entries find devices on all SCSI busses and assign
# unit numers dynamically.
sd* at scsibus? # SCSI disks
st* at scsibus? # SCSI tapes
cd* at scsibus? # SCSI CD-ROMs
ch* at scsibus? # SCSI changer devices
#ss* at scsibus? # SCSI scanners
#uk* at scsibus? # unknown SCSI devices
# Floppy controller and drive found on SPARCstations.
fdc0 at mainbus0 # sun4c controller
fdc0 at obio0 # sun4m controller
fd* at fdc0 # the drive itself
pseudo-device rd 2
pseudo-device loop 1 # network loopback
pseudo-device bpfilter 1 # packet filter
#pseudo-device pty 4 # pseudo-terminals