- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested by hubert feyrer. - add a comment that we maybe should use the `bpp' driver, not the lpt, on the ebus because the `bpp' driver does DMA already. - ebus_attach_args got a member renamed
This commit is contained in:
parent
e4ca29ac00
commit
2aba26f773
|
@ -1,8 +1,8 @@
|
|||
# $NetBSD: GENERIC,v 1.29 2000/04/13 11:23:14 mrg Exp $
|
||||
# $NetBSD: GENERIC,v 1.30 2000/04/15 03:08:12 mrg Exp $
|
||||
|
||||
include "arch/sparc64/conf/std.sparc64"
|
||||
|
||||
#ident "GENERIC-$Revision: 1.29 $"
|
||||
#ident "GENERIC-$Revision: 1.30 $"
|
||||
|
||||
maxusers 32
|
||||
|
||||
|
@ -215,7 +215,8 @@ ebus* at pci? # ebus devices
|
|||
#### Standard system devices -- all required for a given architecture
|
||||
|
||||
## Auxiliary system registers -- We use the OBP for power management
|
||||
auxio0 at ebus? # auxio registers
|
||||
auxio* at ebus? # auxio registers
|
||||
auxio* at sbus? slot ? offset ? # auxio registers
|
||||
|
||||
# We also need:
|
||||
bpp* at sbus? slot ? offset ? # parallel port
|
||||
|
@ -305,7 +306,9 @@ uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
|
|||
## Floppy controller and drive found on SPARCstations.
|
||||
|
||||
# need share with the sparc, and everyone else. needs to use auxio.
|
||||
#fdc0 at sbus? slot ? offset ?
|
||||
# actually, the ebus version has (will have) direct access to it's AUXIO
|
||||
# register space (it is mapped in to fdthree not auxio).
|
||||
#fdc0 at sbus? slot ? offset ? # SUNW,fdtwo
|
||||
#fdc0 at ebus? # fdthree
|
||||
#fd* at fdc0 # the drive itself
|
||||
|
||||
|
|
|
@ -1,451 +1,9 @@
|
|||
# $NetBSD: GENERIC64,v 1.12 2000/04/13 11:23:14 mrg Exp $
|
||||
# $NetBSD: GENERIC64,v 1.13 2000/04/15 03:08:12 mrg Exp $
|
||||
|
||||
include "arch/sparc64/conf/std.sparc64"
|
||||
include "arch/sparc64/conf/GENERIC"
|
||||
|
||||
#ident "GENERIC-$Revision: 1.12 $"
|
||||
#ident "GENERIC64-$Revision: 1.13 $"
|
||||
|
||||
maxusers 32
|
||||
|
||||
## System kernel for a 64-bit configuration. See options(4) for more detail.
|
||||
|
||||
|
||||
# Options for variants of the Sun SPARC architecure.
|
||||
# We currently support three architecture types; at least one is required.
|
||||
options SUN4U # sun4u - Ultra 140 and 170
|
||||
options TRAPWIN
|
||||
options __ELF__ # we use elf
|
||||
options _LP64 # we're using a 64-bit compiler
|
||||
|
||||
## System options specific to the sparc machine type
|
||||
|
||||
## Use a faster console than the PROM's slow drawing routines. Not needed
|
||||
## for headless (no framebuffer) machines.
|
||||
# XXX broken on sparc64
|
||||
#options RASTERCONSOLE # fast rasterop console
|
||||
#options FONT_GALLANT12x22 # the console font
|
||||
#options FONT_BOLD8x16 # a somewhat smaller font
|
||||
|
||||
#### System options that are the same for all ports
|
||||
|
||||
## Root device configuration: change the ?'s if you are going to use a
|
||||
## nonstandard root partition (other than where the kernel is booted from)
|
||||
## and/or nonstandard root type (not ffs or nfs). Normally this can be
|
||||
## automagically determined at boot time.
|
||||
|
||||
config netbsd root on ? type ?
|
||||
|
||||
## UVM options.
|
||||
#options UVM_PAGE_TRKOWN
|
||||
#options UVMHIST
|
||||
#options UVMHIST_PRINT # Loud!
|
||||
|
||||
## System call tracing (see ktrace(1)).
|
||||
options KTRACE
|
||||
|
||||
## Collect statistics on kernel malloc's and free's. This does have a
|
||||
## significant performance hit on slower machines, so it is intended for
|
||||
## diagnostic use only.
|
||||
#options KMEMSTATS
|
||||
|
||||
## System V compatible IPC subsystem. (msgctl(2), semctl(2), and shmctl(2))
|
||||
options SYSVMSG # System V message queues
|
||||
options SYSVSEM # System V semaphores
|
||||
options SYSVSHM # System V shared memory
|
||||
#options SHMMAXPGS=1024 # 1024 pages is the default
|
||||
|
||||
## Loadable kernel module support; still under development.
|
||||
options LKM
|
||||
|
||||
## NFS boot options; default on sparc is the bootparam protocol
|
||||
options NFS_BOOT_BOOTPARAM
|
||||
#options NFS_BOOT_BOOTP
|
||||
#options NFS_BOOT_DHCP
|
||||
|
||||
#### Debugging options
|
||||
|
||||
## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
|
||||
## serial console break or keyboard reset, where the PROM would normally
|
||||
## intercept. DDB_HISTORY_SIZE adds up/down arrow command history.
|
||||
# we enable DDB in GENERIC for now.
|
||||
options DDB # kernel dynamic debugger
|
||||
options DDB_HISTORY_SIZE=100 # enable history editing in DDB
|
||||
#options DDB_ONPANIC # see also sysctl(8): `ddb.onpanic'
|
||||
|
||||
## You may also use gdb, on another computer connected to this machine over
|
||||
## a serial port. Both KGDBDEV and KGDBRATE should be specified; KGDBDEV is
|
||||
## a dev_t encoded device number of the serial port to use.
|
||||
## (0xc01 = ttya, 0xc02 = ttyb.)
|
||||
#options KGDB # support for kernel gdb
|
||||
#options KGDBDEV=0xc01 # kgdb device number (this sample is `ttyb')
|
||||
#options KGDBRATE=38400 # baud rate
|
||||
|
||||
|
||||
## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
|
||||
## such that gdb(1) can be used on a kernel coredump.
|
||||
|
||||
#makeoptions DEBUG="-g"
|
||||
|
||||
|
||||
## Adds code to the kernel that does internal consistency checks, and will
|
||||
## cause the kernel to panic if corruption of internal data structures
|
||||
## is detected.
|
||||
#options DIAGNOSTIC # extra kernel sanity checking
|
||||
|
||||
## Enable (possibly expensive) debugging code that may also display messages
|
||||
## on the system console
|
||||
#options DEBUG
|
||||
|
||||
## Make SCSI error messages more verbose when explaining their meanings.
|
||||
options SCSIVERBOSE
|
||||
options PCIVERBOSE
|
||||
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
|
||||
|
||||
## `INSECURE' turns off the kernel security level (securelevel = 0 always).
|
||||
## This allows writing to /dev/mem, loading kernel modules while multi-user,
|
||||
## and other insecurities good only for development work. Do not use this
|
||||
## option on a production machine.
|
||||
#options INSECURE
|
||||
|
||||
## Allow non-root users to grab /dev/console with programs such as xconsole.
|
||||
## `xconsole' therefore does not need setuid root with this option enabled.
|
||||
#options UCONSOLE
|
||||
|
||||
## `FDSCRIPTS' allows non-readable but executable scripts by providing a
|
||||
## pre-opened opaque file to the script interpreter. `SETUIDSCRIPTS',
|
||||
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
|
||||
## opaque file mechanism. Perl calls this "secure setuid scripts."
|
||||
|
||||
#options FDSCRIPTS
|
||||
#options SETUIDSCRIPTS
|
||||
|
||||
## Options for compatibility with previous releases foreign system binaries.
|
||||
## In the cases of COMPAT_SUNOS and COMPAT_SVR4, you may need to set up
|
||||
## additional user-level utilities or system configuration files. See
|
||||
## compat_sunos(8) and compat_svr4(8).
|
||||
|
||||
options COMPAT_43 # 4.3BSD system interfaces
|
||||
options COMPAT_10 # NetBSD 1.0 binary compatibility
|
||||
options COMPAT_11 # NetBSD 1.1 binary compatibility
|
||||
options COMPAT_12 # NetBSD 1.2 binary compatibility
|
||||
options COMPAT_13 # NetBSD 1.3 binary compatibility
|
||||
options COMPAT_14 # NetBSD 1.4 binary compatibility
|
||||
options COMPAT_NETBSD32 # NetBSD/sparc binary compatibility
|
||||
options COMPAT_SUNOS # SunOS 4.x binary compatibility
|
||||
options COMPAT_SVR4 # SunOS 5.x binary compatibility
|
||||
#options COMPAT_AOUT # NetBSD/sparc compat support
|
||||
options EXEC_AOUT # execve(2) support for a.out binaries
|
||||
options EXEC_ELF32 # Exec module for SunOS 5.x binaries.
|
||||
options EXEC_ELF64 # Exec module for sparc64 & SunOs 5.x binaries.
|
||||
#options SYSCALL_DEBUG
|
||||
|
||||
## File systems. You probably need at least one of FFS or NFS.
|
||||
file-system FFS # Berkeley Fast Filesystem
|
||||
file-system NFS # Sun NFS-compatible filesystem client
|
||||
file-system KERNFS # kernel data-structure filesystem
|
||||
file-system NULLFS # NULL layered filesystem
|
||||
file-system OVERLAY # overlay file system
|
||||
file-system MFS # memory-based filesystem
|
||||
file-system FDESC # user file descriptor filesystem
|
||||
file-system UMAPFS # uid/gid remapping filesystem
|
||||
file-system LFS # Log-based filesystem (still experimental)
|
||||
file-system PORTAL # portal filesystem (still experimental)
|
||||
file-system PROCFS # /proc
|
||||
file-system CD9660 # ISO 9660 + Rock Ridge file system
|
||||
file-system UNION # union file system
|
||||
file-system MSDOSFS # MS-DOS FAT filesystem(s).
|
||||
|
||||
## File system options.
|
||||
options NFSSERVER # Sun NFS-compatible filesystem server
|
||||
options QUOTA # FFS quotas
|
||||
#options FFS_EI # FFS Endian Independent support
|
||||
#options SOFTDEP # FFS soft updates support.
|
||||
|
||||
# Pull in config fragments for kernel crypto. This is required for
|
||||
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
|
||||
# one of these, based on whether you use crypto-us or crypto-intl, and
|
||||
# adjust the prefixes as necessary.
|
||||
|
||||
#prefix ../crypto-us/sys
|
||||
#cinclude "conf/files.crypto-us"
|
||||
#prefix
|
||||
|
||||
#prefix ../crypto-intl/sys
|
||||
#cinclude "conf/files.crypto-intl"
|
||||
#prefix
|
||||
|
||||
## Network protocol support. In most environments, INET is required.
|
||||
options INET # IP (Internet Protocol) v4
|
||||
options INET6 # IPV6
|
||||
#options IPSEC # IP security
|
||||
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
|
||||
#options IPSEC_DEBUG # debug for IP security
|
||||
options TCP_COMPAT_42 # 4.2BSD IP implementation compatibility
|
||||
#options GATEWAY # packet forwarding ("router switch")
|
||||
options MROUTING # packet forwarding of multicast packets
|
||||
#options DIRECTED_BROADCAST # allow broadcasts through routers
|
||||
options NS # Xerox NS networking
|
||||
#options NSIP # Xerox NS tunneling over IP
|
||||
options ISO,TPIP # OSI networking
|
||||
options EON # OSI tunneling over IP
|
||||
#options CCITT,LLC,HDLC # X.25 packet switched protocol
|
||||
options NETATALK # AppleTalk (over Ethernet) protocol
|
||||
options NTP # Network Time Protocol in-kernel support
|
||||
#options PPS_SYNC # Add serial line synchronization for NTP
|
||||
options PFIL_HOOKS # Add pfil(9) hooks, intended for custom LKMs.
|
||||
options IPFILTER_LOG # Add ipmon(8) logging for ipfilter device
|
||||
options PPP_BSDCOMP # Add BSD compression to ppp device
|
||||
options PPP_DEFLATE # Add deflate (libz) compression to ppp device
|
||||
options PPP_FILTER # Add active filters for ppp (via bpf)
|
||||
|
||||
|
||||
#### Main bus and CPU .. all systems.
|
||||
mainbus0 at root
|
||||
cpu0 at mainbus0
|
||||
|
||||
#### Bus types found on SPARC systems.
|
||||
|
||||
sbus0 at mainbus0 # Ultra 1
|
||||
#upa0 at mainbus0 # Ultra 1E, Ultra 2, Ex0000
|
||||
psycho* at mainbus0 # Darwin, Ultra5
|
||||
pci* at psycho?
|
||||
pci* at simba?
|
||||
simba* at pci? dev ? function ? # `APB' support.
|
||||
ebus* at pci? # ebus devices
|
||||
|
||||
#### Standard system devices -- all required for a given architecture
|
||||
|
||||
## Auxiliary system registers -- We use the OBP for power management
|
||||
auxio0 at ebus? # auxio registers
|
||||
|
||||
# We also need:
|
||||
bpp* at sbus? slot ? offset ? # parallel port
|
||||
lpt* at ebus? # parallel port
|
||||
|
||||
## Mostek clock found on 4/300, sun4c, sun4m and sun4u systems.
|
||||
## The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
|
||||
clock* at sbus? slot ? offset ?
|
||||
clock* at ebus?
|
||||
|
||||
## Timer chip found on 4/300, sun4c, sun4m and (some) sun4u systems.
|
||||
timer* at mainbus0 # sun4c
|
||||
|
||||
#### Serial port configuration
|
||||
|
||||
## Zilog 8530 serial chips. Each has two-channels.
|
||||
## zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
|
||||
zs0 at sbus? slot ? offset ?
|
||||
zstty0 at zs0 channel 0 # ttya
|
||||
zstty1 at zs0 channel 1 # ttyb
|
||||
|
||||
zs1 at sbus? slot ? offset ?
|
||||
kbd0 at zs1 channel 0 # keyboard
|
||||
ms0 at zs1 channel 1 # mouse
|
||||
|
||||
## PCI machines have serial ports:
|
||||
## Siemens SAB82532 controller: ttya and ttyb (`su'; sab)
|
||||
## Part of NS PC87332VLJ Super I/O controller: kbd/mouse (`se'; com)
|
||||
|
||||
## These are two SAB82532 controllers
|
||||
#sab0 at ebus? # ttya/ttyb
|
||||
#sabtty0 at sab0 channel 0 # ttya
|
||||
#sabtty1 at sab0 channel 1 # ttyb
|
||||
|
||||
## Part of a PC87332VLJ?
|
||||
#ucom0 at ebus? addr 0x3083f8 # `com' driver
|
||||
#ucom1 at ebus? addr 0x3062f8 #
|
||||
#ucom0 at ebus? # `com' driver
|
||||
#ucom1 at ebus? #
|
||||
#kbd0 at ucom0 channel 0 # keyboard
|
||||
#ms0 at ucom1 channel 1 # mouse
|
||||
|
||||
#### Disk controllers and disks
|
||||
|
||||
## The following flags may be set for the NCR53c94 based esp driver:
|
||||
## bits 0-7: disable disconnect/reselect for the corresponding target
|
||||
## bits 8-15: disable synchronous negotiation for target [bit-8]
|
||||
|
||||
## sun4u on-board SCSI, and FSBE/S SBus SCSI cards, an NCR53c94 or
|
||||
## equivalent behind an LSI Logic DMA controller
|
||||
|
||||
dma* at sbus? slot ? offset ? # SBus
|
||||
esp* at dma? flags 0x0000 # SBus
|
||||
|
||||
scsibus* at esp?
|
||||
|
||||
## Qlogic ISP SBus SCSI Card
|
||||
isp* at sbus? slot ? offset ?
|
||||
scsibus* at isp?
|
||||
|
||||
## FAS support missing
|
||||
#fas* at sbus? slot ? offset ?
|
||||
#scsibus* at fas?
|
||||
|
||||
## GLM support missing
|
||||
#sym* at pci? # 53C875 "glm" compatible
|
||||
#scsibus* at sym?
|
||||
|
||||
## These entries find devices on all SCSI busses and assign
|
||||
## unit numbers dynamically.
|
||||
sd* at scsibus? target ? lun ? # SCSI disks
|
||||
st* at scsibus? target ? lun ? # SCSI tapes
|
||||
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
|
||||
ch* at scsibus? target ? lun ? # SCSI changer devices
|
||||
ss* at scsibus? target ? lun ? # SCSI scanners
|
||||
uk* at scsibus? target ? lun ? # unknown SCSI
|
||||
|
||||
# PCI IDE.
|
||||
pciide* at pci ? dev ? function ? flags 0x0000
|
||||
wd* at pciide? channel ? drive ? flags 0x0000
|
||||
atapibus* at pciide? channel ?
|
||||
|
||||
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
|
||||
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
|
||||
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
|
||||
|
||||
## Floppy controller and drive found on SPARCstations.
|
||||
|
||||
# need share with the sparc, and everyone else. needs to use auxio.
|
||||
#fdc0 at sbus? slot ? offset ?
|
||||
#fdc0 at ebus? # fdthree
|
||||
#fd* at fdc0 # the drive itself
|
||||
|
||||
## A disk-like interface to files. Can be used to create floppy, CD,
|
||||
## miniroot images, etc.
|
||||
|
||||
pseudo-device vnd 4
|
||||
|
||||
## Concatenated and striped disks; with this, you can create a software-based
|
||||
## disk array similar to a "RAID 0" setup. See ccd(4).
|
||||
|
||||
pseudo-device ccd 4
|
||||
|
||||
## RAIDframe disk driver: software RAID driver. See raid(4).
|
||||
|
||||
pseudo-device raid 4
|
||||
#options RAID_AUTOCONFIG # auto-configuration of RAID components
|
||||
|
||||
## Memory disk device, used on boot floppies with compressed
|
||||
## kernel-plus-root-disk images.
|
||||
|
||||
pseudo-device md 1
|
||||
|
||||
|
||||
#### Network interfaces
|
||||
|
||||
## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
|
||||
## Three flavors of additional SBus ethernets are available. One attaches
|
||||
## directly like the sun4c on-board, one uses the ledma device like the
|
||||
## sun4m on-board, and one uses the lebuffer device.
|
||||
|
||||
ledma0 at sbus? slot ? offset ? # sun4m on-board
|
||||
le0 at ledma0 # sun4m on-board
|
||||
le* at sbus? slot ? offset ? # SBus
|
||||
ledma* at sbus? slot ? offset ? # SBus
|
||||
le* at ledma? # SBus
|
||||
lebuffer0 at sbus? slot ? offset ? # SBus
|
||||
le0 at lebuffer? # SBus
|
||||
lebuffer* at sbus? slot ? offset ? # SBus
|
||||
le* at lebuffer? # SBus
|
||||
|
||||
## Happy Meal Ethernet
|
||||
hme* at sbus? slot ? offset ?
|
||||
hme* at pci? # "hme" compatible
|
||||
|
||||
# MII/PHY support
|
||||
# XXX: only nsphy "tested"
|
||||
exphy* at mii? phy ? # 3Com internal PHYs
|
||||
icsphy* at mii? phy ? # Integrated Circuit Systems ICS1890
|
||||
inphy* at mii? phy ? # Intel 82555 PHYs
|
||||
lxtphy* at mii? phy ? # Level One LXT-970 PHYs
|
||||
nsphy* at mii? phy ? # NS83840 PHYs
|
||||
qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs
|
||||
sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs
|
||||
tlphy* at mii? phy ? # ThunderLAN PHYs
|
||||
ukphy* at mii? phy ? # generic unknown PHYs
|
||||
|
||||
## qec/be, qec/hme
|
||||
qec* at sbus? slot ? offset ?
|
||||
be* at qec?
|
||||
qe* at qec?
|
||||
|
||||
## Loopback network interface; required
|
||||
pseudo-device loop
|
||||
|
||||
## SLIP and CSLIP interfaces, for IP over a serial line.
|
||||
pseudo-device sl 2
|
||||
|
||||
## PPP, the successor to SLIP. See pppd(8).
|
||||
pseudo-device ppp 2
|
||||
|
||||
## Starmode Radio IP, a special hardware network device.
|
||||
pseudo-device strip 1
|
||||
|
||||
## Network "tunnel" device, allowing protocol stacks to run in the userland.
|
||||
## This is used by the third-party user-mode "ppp" program, and others.
|
||||
pseudo-device tun 4
|
||||
|
||||
## Generic L3 over IP tunnel
|
||||
#pseudo-device gre 2 # generic L3 over IP tunnel
|
||||
|
||||
## Berkeley Packet Filter, required to run RARPD. A generic C-language
|
||||
## interface that allows selective examining of incoming packets.
|
||||
pseudo-device bpfilter 8
|
||||
|
||||
## IP Filter, used in firewall and NAT applications. See ipnat(8) for
|
||||
## one example of the use of the IP Filter.
|
||||
pseudo-device ipfilter
|
||||
|
||||
## for IPv6
|
||||
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
|
||||
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
|
||||
|
||||
|
||||
#### Audio and video devices
|
||||
|
||||
## /dev/audio support (`audiocs' plus `audio')
|
||||
##
|
||||
audiocs* at sbus? slot ? offset ? # SUNW,CS4231
|
||||
audio* at audiocs?
|
||||
|
||||
|
||||
## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
|
||||
## systems. If your sun4 system has a cgfour installed in the P4 slot,
|
||||
## the P4 entries for "bwtwo" will attach to the overlay plane of the
|
||||
## "cgfour".
|
||||
|
||||
#bwtwo0 at sbus? slot ? offset ? # sun4c and sun4m
|
||||
#bwtwo* at sbus? slot ? offset ? #
|
||||
|
||||
## Sun "cgthree" Sbus color framebuffer
|
||||
#cgthree0 at sbus? slot ? offset ?
|
||||
#cgthree* at sbus? slot ? offset ?
|
||||
|
||||
## Sun "cgsix" accelerated color framebuffer.
|
||||
cgsix0 at sbus? slot ? offset ?
|
||||
cgsix* at sbus? slot ? offset ?
|
||||
|
||||
## Sun "tcx" accelerated color framebuffer.
|
||||
#tcx0 at sbus? slot ? offset ?
|
||||
#tcx* at sbus? slot ? offset ?
|
||||
|
||||
# Sun "cgfourteen" accelerated 24-bit framebuffer.
|
||||
#cgfourteen0 at obio0 # sun4m
|
||||
|
||||
## Sun FFB not supported
|
||||
#ffb* at upa?
|
||||
|
||||
#### Other device configuration
|
||||
|
||||
## Pseudo ttys, required for network logins and programs like screen.
|
||||
## 32 is a good number for average systems; you may have as many as you
|
||||
## like, though 256 is more or less the upper limit. Increasing this
|
||||
## number still requires you to run /dev/MAKEDEV to create the files
|
||||
## for the ptys.
|
||||
|
||||
pseudo-device pty 64 # pseudo-ttys (for network, etc.)
|
||||
|
||||
## Random device, used to implement /dev/random (a source of random noise),
|
||||
## and generate randomness for some kernel formulae.
|
||||
## THIS DEVICE IS EXPERIMENTAL; use at your own risk.
|
||||
|
||||
pseudo-device rnd
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: files.sparc64,v 1.26 2000/04/05 07:58:44 mrg Exp $
|
||||
# $NetBSD: files.sparc64,v 1.27 2000/04/15 03:08:12 mrg Exp $
|
||||
|
||||
# @(#)files.sparc64 8.1 (Berkeley) 7/19/93
|
||||
# sparc64-specific configuration info
|
||||
|
@ -42,10 +42,6 @@ file arch/sparc64/dev/ebus_bus.c ebus
|
|||
# network devices MII bus
|
||||
include "dev/mii/files.mii"
|
||||
|
||||
#device auxreg
|
||||
#attach auxreg at mainbus, sbus
|
||||
#file arch/sparc64/sparc64/auxreg.c
|
||||
|
||||
device clock
|
||||
attach clock at mainbus, sbus with clock_sbus
|
||||
attach clock at ebus with clock_ebus
|
||||
|
@ -82,12 +78,15 @@ file dev/ic/z8530sc.c zs
|
|||
#file arch/sparc64/dev/ucom_ebus.c ucom
|
||||
|
||||
# XXX bogus; this is in dev/isa/files.isa. fix me please!
|
||||
# XXX we should attach a `bpp'-style device here rather than
|
||||
# `lpt' because the `bpp' driver supports DMA.
|
||||
device lpt
|
||||
file dev/ic/lpt.c lpt needs-flag
|
||||
|
||||
device auxio
|
||||
attach auxio at ebus with auxio_ebus
|
||||
file arch/sparc64/dev/auxio_ebus.c auxio_ebus
|
||||
attach auxio at ebus with auxio_ebus
|
||||
attach auxio at sbus with auxio_sbus
|
||||
file arch/sparc64/dev/auxio.c auxio
|
||||
|
||||
attach lpt at ebus with lpt_ebus
|
||||
file arch/sparc64/dev/lpt_ebus.c lpt_ebus
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: auxio_ebus.c,v 1.4 2000/04/13 09:53:49 mrg Exp $ */
|
||||
/* $NetBSD: auxio.c,v 1.1 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 Matthew R. Green
|
||||
|
@ -29,7 +29,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* AUXIO registers support on the Ebus2.
|
||||
* AUXIO registers support on the sbus & ebus2.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -43,26 +43,27 @@
|
|||
|
||||
#include <sparc64/dev/ebusreg.h>
|
||||
#include <sparc64/dev/ebusvar.h>
|
||||
#include <sparc64/dev/sbusvar.h>
|
||||
#include <sparc64/dev/auxioreg.h>
|
||||
#include <sparc64/dev/auxiovar.h>
|
||||
|
||||
#define AUXIO_ROM_NAME "auxio"
|
||||
|
||||
/*
|
||||
* ebus code.
|
||||
*/
|
||||
int auxio_ebus_match __P((struct device *, struct cfdata *, void *));
|
||||
void auxio_ebus_attach __P((struct device *, struct device *, void *));
|
||||
int auxio_sbus_match __P((struct device *, struct cfdata *, void *));
|
||||
void auxio_sbus_attach __P((struct device *, struct device *, void *));
|
||||
|
||||
struct cfattach auxio_ebus_ca = {
|
||||
sizeof(struct device), auxio_ebus_match, auxio_ebus_attach
|
||||
sizeof(struct auxio_softc), auxio_ebus_match, auxio_ebus_attach
|
||||
};
|
||||
|
||||
/*
|
||||
* We export this structure so that anyone who wishes to fiddle the
|
||||
* AUXIO registers can.
|
||||
*
|
||||
* XXX we need to better design the access here for when there are
|
||||
* multiple Ebus2's in one system..
|
||||
*/
|
||||
struct auxio_registers auxio_registers;
|
||||
struct cfattach auxio_sbus_ca = {
|
||||
sizeof(struct auxio_softc), auxio_sbus_match, auxio_sbus_attach
|
||||
};
|
||||
|
||||
int
|
||||
auxio_ebus_match(parent, cf, aux)
|
||||
|
@ -80,59 +81,83 @@ auxio_ebus_attach(parent, self, aux)
|
|||
struct device *parent, *self;
|
||||
void *aux;
|
||||
{
|
||||
struct auxio_softc *sc = (struct auxio_softc *)self;
|
||||
struct ebus_attach_args *ea = aux;
|
||||
int i, first = 1;
|
||||
|
||||
/*
|
||||
* for each of the registers found, if we know the matching
|
||||
* AUXIO register, set it up.
|
||||
*/
|
||||
for (i = 0; i < ea->ea_nregs; i++) {
|
||||
|
||||
#define SHOWIT(s) do { \
|
||||
if (first) { \
|
||||
first = 0; \
|
||||
printf(": found"); \
|
||||
} \
|
||||
printf(" %s", s); \
|
||||
} while (0)
|
||||
|
||||
if (ea->ea_regs[i].lo == AUXIO_FD) {
|
||||
SHOWIT("fd");
|
||||
auxio_registers.auxio_fd.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_fd.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_AUDIO) {
|
||||
SHOWIT("audio");
|
||||
auxio_registers.auxio_audio.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_audio.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_POWER) {
|
||||
SHOWIT("power");
|
||||
auxio_registers.auxio_power.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_power.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_LED) {
|
||||
SHOWIT("led");
|
||||
auxio_registers.auxio_led.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_led.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_PCI) {
|
||||
SHOWIT("pci");
|
||||
auxio_registers.auxio_pci.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_pci.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_FREQ) {
|
||||
SHOWIT("freq");
|
||||
auxio_registers.auxio_freq.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_freq.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_SCSI) {
|
||||
SHOWIT("scsi");
|
||||
auxio_registers.auxio_scsi.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_scsi.hi = ea->ea_regs[i].hi;
|
||||
} else if (ea->ea_regs[i].lo == AUXIO_TEMP) {
|
||||
SHOWIT("temp");
|
||||
auxio_registers.auxio_temp.lo = ea->ea_regs[i].lo;
|
||||
auxio_registers.auxio_temp.hi = ea->ea_regs[i].hi;
|
||||
} else {
|
||||
printf(": unknown auxio register %x.%x",
|
||||
ea->ea_regs[i].hi, ea->ea_regs[i].lo);
|
||||
}
|
||||
if (ea->ea_nregs < 1 || ea->ea_nvaddrs < 1) {
|
||||
printf(": no registers??\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ea->ea_nregs != 5 || ea->ea_nvaddrs != 5) {
|
||||
printf(": not 5 (%d) registers, only setting led",
|
||||
ea->ea_nregs);
|
||||
sc->sc_flags = AUXIO_LEDONLY|AUXIO_EBUS;
|
||||
} else {
|
||||
sc->sc_flags = AUXIO_EBUS;
|
||||
sc->sc_registers.auxio_pci = (u_int32_t *)(u_long)ea->ea_vaddrs[1];
|
||||
sc->sc_registers.auxio_freq = (u_int32_t *)(u_long)ea->ea_vaddrs[2];
|
||||
sc->sc_registers.auxio_scsi = (u_int32_t *)(u_long)ea->ea_vaddrs[3];
|
||||
sc->sc_registers.auxio_temp = (u_int32_t *)(u_long)ea->ea_vaddrs[4];
|
||||
}
|
||||
sc->sc_registers.auxio_led = (u_int32_t *)(u_long)ea->ea_vaddrs[0];
|
||||
|
||||
if (!auxio_reg)
|
||||
auxio_reg = (u_char *)(u_long)ea->ea_vaddrs[0];
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int
|
||||
auxio_sbus_match(parent, cf, aux)
|
||||
struct device *parent;
|
||||
struct cfdata *cf;
|
||||
void *aux;
|
||||
{
|
||||
struct sbus_attach_args *sa = aux;
|
||||
|
||||
return (strcmp(AUXIO_ROM_NAME, sa->sa_name) == 0);
|
||||
}
|
||||
|
||||
void
|
||||
auxio_sbus_attach(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
void *aux;
|
||||
{
|
||||
struct auxio_softc *sc = (struct auxio_softc *)self;
|
||||
struct sbus_attach_args *sa = aux;
|
||||
|
||||
if (sa->sa_nreg < 1 || sa->sa_npromvaddrs < 1) {
|
||||
printf(": no registers??\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (sa->sa_nreg != 1 || sa->sa_npromvaddrs != 1) {
|
||||
printf(": not 1 (%d/%d) registers??", sa->sa_nreg, sa->sa_npromvaddrs);
|
||||
return;
|
||||
}
|
||||
|
||||
/* sbus auxio only has one set of registers */
|
||||
sc->sc_flags = AUXIO_LEDONLY|AUXIO_SBUS;
|
||||
sc->sc_registers.auxio_led = (u_int32_t *)(u_long)sa->sa_promvaddr;
|
||||
|
||||
if (!auxio_reg)
|
||||
auxio_reg = (u_char *)(u_long)sa->sa_promvaddr;
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* old interface; used by fd driver for now
|
||||
*/
|
||||
unsigned int
|
||||
auxregbisc(bis, bic)
|
||||
int bis, bic;
|
||||
{
|
||||
register int v, s = splhigh();
|
||||
|
||||
v = *auxio_reg;
|
||||
*auxio_reg = ((v | bis) & ~bic) | AUXIO_LED_MB1;
|
||||
splx(s);
|
||||
return v;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: auxioreg.h,v 1.2 2000/04/08 03:07:07 mrg Exp $ */
|
||||
/* $NetBSD: auxioreg.h,v 1.3 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 Matthew R. Green
|
||||
|
@ -30,7 +30,9 @@
|
|||
|
||||
/*
|
||||
* The AUXIO registers; their offset in the Ebus2 address space, plus the
|
||||
* bits for each register.
|
||||
* bits for each register. Note that the fdthree (FD), SUNW,CS4231 (AUDIO)
|
||||
* and power (POWER) devices on the Ebus2 have their AUXIO regsiters mapped
|
||||
* into their own "reg" properties, not the "auxio" device's "reg" properties.
|
||||
*/
|
||||
#define AUXIO_FD 0x00720000
|
||||
#define AUXIO_FD_DENSENSE_INPUT 0x0
|
||||
|
@ -45,6 +47,16 @@
|
|||
|
||||
#define AUXIO_LED 0x00726000
|
||||
#define AUXIO_LED_LED 0x0
|
||||
#define AUXIO_LED_MB1 0xf0 /* must be set on write */
|
||||
/* XXX: these may be useless on Ebus2 auxio! find out! */
|
||||
#define AUXIO_LED_FHD 0x20 /* floppy: high density (unreliable?)*/
|
||||
#define AUXIO_LED_FDC 0x10 /* floppy: diskette was changed */
|
||||
#define AUXIO_LED_FDS 0x08 /* floppy: drive select */
|
||||
#define AUXIO_LED_FTC 0x04 /* floppy: drives Terminal Count pin */
|
||||
#define AUXIO_LED_FEJ 0x02 /* floppy: eject disk */
|
||||
#if 0
|
||||
#define AUXIO_LED_LED 0x01 /* front panel LED */
|
||||
#endif
|
||||
|
||||
#define AUXIO_PCI 0x00728000
|
||||
#define AUXIO_PCI_SLOT0 0x0 /* two bits each */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: auxiovar.h,v 1.3 2000/04/13 09:53:49 mrg Exp $ */
|
||||
/* $NetBSD: auxiovar.h,v 1.4 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 Matthew R. Green
|
||||
|
@ -28,20 +28,46 @@
|
|||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
struct auxio_phys {
|
||||
u_int32_t hi;
|
||||
u_int32_t lo;
|
||||
};
|
||||
/*
|
||||
* on sun4u, auxio exists with one register (LED) on the sbus, and 5
|
||||
* registers on the ebus2 (pci) (LED, PCIMODE, FREQUENCY, SCSI
|
||||
* OSCILLATOR, and TEMP SENSE.
|
||||
*
|
||||
* clients of the auxio registers (eg, blinken lights, or the sbus
|
||||
* floppy) should search in auxio_cd for their matching auxio register
|
||||
* (to deal with multiple auxio's that may appear.)
|
||||
*/
|
||||
|
||||
struct auxio_registers {
|
||||
struct auxio_phys auxio_fd;
|
||||
struct auxio_phys auxio_audio;
|
||||
struct auxio_phys auxio_power;
|
||||
struct auxio_phys auxio_led;
|
||||
struct auxio_phys auxio_pci;
|
||||
struct auxio_phys auxio_freq;
|
||||
struct auxio_phys auxio_scsi;
|
||||
struct auxio_phys auxio_temp;
|
||||
#if 0 /* these do not exist on the Ebus2 */
|
||||
volatile u_int32_t *auxio_fd;
|
||||
volatile u_int32_t *auxio_audio;
|
||||
volatile u_int32_t *auxio_power;
|
||||
#endif
|
||||
volatile u_int32_t *auxio_led;
|
||||
volatile u_int32_t *auxio_pci;
|
||||
volatile u_int32_t *auxio_freq;
|
||||
volatile u_int32_t *auxio_scsi;
|
||||
volatile u_int32_t *auxio_temp;
|
||||
};
|
||||
|
||||
extern struct auxio_registers auxio_registers;
|
||||
struct auxio_softc {
|
||||
struct device sc_dev;
|
||||
struct auxio_registers sc_registers;
|
||||
int sc_flags;
|
||||
#define AUXIO_LEDONLY 0x1
|
||||
#define AUXIO_EBUS 0x2
|
||||
#define AUXIO_SBUS 0x4
|
||||
};
|
||||
|
||||
/*
|
||||
* XXX: old interfaces. we set auxio_reg the first auxio we attach.
|
||||
*/
|
||||
#ifndef _LOCORE
|
||||
/*
|
||||
* Copy of AUXIO_REG for the benefit of assembler modules (eg. trap handlers)
|
||||
* as AUXREG_VA depends on NBPG which is not a constant.
|
||||
*/
|
||||
volatile u_char *auxio_reg;
|
||||
unsigned int auxregbisc __P((int, int));
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: cs4231_ebus.c,v 1.2 2000/04/05 14:23:45 mrg Exp $ */
|
||||
/* $NetBSD: cs4231_ebus.c,v 1.3 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
|
||||
|
@ -113,7 +113,7 @@ cs4231_attach_ebus(parent, self, aux)
|
|||
* Map my registers in, if they aren't already in virtual
|
||||
* address space.
|
||||
*/
|
||||
if (ea->ea_naddrs) {
|
||||
if (ea->ea_nvaddrs) {
|
||||
bh = (bus_space_handle_t)ea->ea_vaddrs[0];
|
||||
} else {
|
||||
if (ebus_bus_map(ea->ea_bustag, 0,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ebus.c,v 1.6 2000/04/13 14:39:34 mrg Exp $ */
|
||||
/* $NetBSD: ebus.c,v 1.7 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999, 2000 Matthew R. Green
|
||||
|
@ -190,17 +190,17 @@ ebus_setup_attach_args(sc, node, ea)
|
|||
if (rv)
|
||||
return (rv);
|
||||
|
||||
rv = getprop(node, "address", sizeof(u_int32_t), &ea->ea_naddrs,
|
||||
rv = getprop(node, "address", sizeof(u_int32_t), &ea->ea_nvaddrs,
|
||||
(void **)&ea->ea_vaddrs);
|
||||
if (rv != ENOENT) {
|
||||
if (rv)
|
||||
return (rv);
|
||||
|
||||
if (ea->ea_nregs != ea->ea_naddrs)
|
||||
if (ea->ea_nregs != ea->ea_nvaddrs)
|
||||
printf("ebus loses: device %s: %d regs and %d addrs\n",
|
||||
ea->ea_name, ea->ea_nregs, ea->ea_naddrs);
|
||||
ea->ea_name, ea->ea_nregs, ea->ea_nvaddrs);
|
||||
} else
|
||||
ea->ea_naddrs = 0;
|
||||
ea->ea_nvaddrs = 0;
|
||||
|
||||
if (getprop(node, "interrupts", sizeof(u_int32_t), &ea->ea_nintrs,
|
||||
(void **)&ea->ea_intrs))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ebusvar.h,v 1.3 2000/04/08 04:33:10 mrg Exp $ */
|
||||
/* $NetBSD: ebusvar.h,v 1.4 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999, 2000 Matthew R. Green
|
||||
|
@ -48,7 +48,7 @@ struct ebus_attach_args {
|
|||
u_int32_t *ea_intrs; /* interrupts */
|
||||
|
||||
int ea_nregs; /* number of them */
|
||||
int ea_naddrs;
|
||||
int ea_nvaddrs;
|
||||
int ea_nintrs;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: fd.c,v 1.14 2000/04/07 16:58:56 thorpej Exp $ */
|
||||
/* $NetBSD: fd.c,v 1.15 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1993, 1994, 1995 Charles M. Hannum.
|
||||
|
@ -69,7 +69,6 @@
|
|||
#include <machine/autoconf.h>
|
||||
#include <machine/conf.h>
|
||||
|
||||
#include <sparc64/sparc64/auxreg.h>
|
||||
#include <sparc64/dev/fdreg.h>
|
||||
#include <sparc64/dev/fdvar.h>
|
||||
|
||||
|
@ -270,6 +269,7 @@ static void fdconf __P((struct fdc_softc *));
|
|||
|
||||
#define FD_SET_SWINTR send_softint(-1, PIL_FDSOFT, fdc->sc_sih)
|
||||
|
||||
/* XXX sun4u */
|
||||
#define OBP_FDNAME (CPU_ISSUN4M ? "SUNW,fdtwo" : "fd")
|
||||
|
||||
int
|
||||
|
@ -470,14 +470,10 @@ fdmatch(parent, match, aux)
|
|||
/* XXX - for now, punt on more than one drive */
|
||||
return (0);
|
||||
|
||||
if (fdc->sc_flags & FDC_82077) {
|
||||
/* select drive and turn on motor */
|
||||
*fdc->sc_reg_dor = drive | FDO_FRST | FDO_MOEN(drive);
|
||||
/* wait for motor to spin up */
|
||||
delay(250000);
|
||||
} else {
|
||||
auxregbisc(AUXIO4C_FDS, 0);
|
||||
}
|
||||
/* select drive and turn on motor */
|
||||
*fdc->sc_reg_dor = drive | FDO_FRST | FDO_MOEN(drive);
|
||||
/* wait for motor to spin up */
|
||||
delay(250000);
|
||||
fdc->sc_nstat = 0;
|
||||
out_fdc(fdc, NE7CMD_RECAL);
|
||||
out_fdc(fdc, drive);
|
||||
|
@ -511,13 +507,8 @@ fdmatch(parent, match, aux)
|
|||
#endif
|
||||
ok = (n == 2 && (fdc->sc_status[0] & 0xf8) == 0x20) ? 1 : 0;
|
||||
|
||||
/* turn off motor */
|
||||
if (fdc->sc_flags & FDC_82077) {
|
||||
/* deselect drive and turn motor off */
|
||||
*fdc->sc_reg_dor = FDO_FRST | FDO_DS;
|
||||
} else {
|
||||
auxregbisc(0, AUXIO4C_FDS);
|
||||
}
|
||||
/* deselect drive and turn motor off */
|
||||
*fdc->sc_reg_dor = FDO_FRST | FDO_DS;
|
||||
|
||||
return (ok);
|
||||
}
|
||||
|
@ -740,27 +731,14 @@ fd_set_motor(fdc)
|
|||
u_char status;
|
||||
int n;
|
||||
|
||||
if (fdc->sc_flags & FDC_82077) {
|
||||
status = FDO_FRST | FDO_FDMAEN;
|
||||
if ((fd = fdc->sc_drives.tqh_first) != NULL)
|
||||
status |= fd->sc_drive;
|
||||
status = FDO_FRST | FDO_FDMAEN;
|
||||
if ((fd = fdc->sc_drives.tqh_first) != NULL)
|
||||
status |= fd->sc_drive;
|
||||
|
||||
for (n = 0; n < 4; n++)
|
||||
if ((fd = fdc->sc_fd[n]) && (fd->sc_flags & FD_MOTOR))
|
||||
status |= FDO_MOEN(n);
|
||||
*fdc->sc_reg_dor = status;
|
||||
} else {
|
||||
int on = 0;
|
||||
|
||||
for (n = 0; n < 4; n++)
|
||||
if ((fd = fdc->sc_fd[n]) && (fd->sc_flags & FD_MOTOR))
|
||||
on = 1;
|
||||
if (on) {
|
||||
auxregbisc(AUXIO4C_FDS, 0);
|
||||
} else {
|
||||
auxregbisc(0, AUXIO4C_FDS);
|
||||
}
|
||||
}
|
||||
for (n = 0; n < 4; n++)
|
||||
if ((fd = fdc->sc_fd[n]) && (fd->sc_flags & FD_MOTOR))
|
||||
status |= FDO_MOEN(n);
|
||||
*fdc->sc_reg_dor = status;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -954,17 +932,6 @@ fdcstatus(dv, n, s)
|
|||
{
|
||||
struct fdc_softc *fdc = (void *)dv->dv_parent;
|
||||
char bits[64];
|
||||
#if 0
|
||||
/*
|
||||
* A 82072 seems to return <invalid command> on
|
||||
* gratuitous Sense Interrupt commands.
|
||||
*/
|
||||
if (n == 0 && (fdc->sc_flags & FDC_82077)) {
|
||||
out_fdc(fdc, NE7CMD_SENSEI);
|
||||
(void) fdcresult(fdc);
|
||||
n = 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Just print last status */
|
||||
n = fdc->sc_nstat;
|
||||
|
@ -1918,19 +1885,11 @@ fd_do_eject(fd)
|
|||
{
|
||||
struct fdc_softc *fdc = (void *)fd->sc_dv.dv_parent;
|
||||
|
||||
if (CPU_ISSUN4C) {
|
||||
auxregbisc(AUXIO4C_FDS, AUXIO4C_FEJ);
|
||||
delay(10);
|
||||
auxregbisc(AUXIO4C_FEJ, AUXIO4C_FDS);
|
||||
return;
|
||||
}
|
||||
if (CPU_ISSUN4M && (fdc->sc_flags & FDC_82077)) {
|
||||
int dor = FDO_FRST | FDO_FDMAEN | FDO_MOEN(0);
|
||||
*fdc->sc_reg_dor = dor | FDO_EJ;
|
||||
delay(10);
|
||||
*fdc->sc_reg_dor = FDO_FRST | FDO_DS;
|
||||
return;
|
||||
}
|
||||
int dor = FDO_FRST | FDO_FDMAEN | FDO_MOEN(0);
|
||||
*fdc->sc_reg_dor = dor | FDO_EJ;
|
||||
delay(10);
|
||||
*fdc->sc_reg_dor = FDO_FRST | FDO_DS;
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef MEMORY_DISK_HOOKS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: lpt_ebus.c,v 1.4 2000/04/08 04:33:10 mrg Exp $ */
|
||||
/* $NetBSD: lpt_ebus.c,v 1.5 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999, 2000 Matthew R. Green
|
||||
|
@ -89,7 +89,7 @@ lpt_ebus_attach(parent, self, aux)
|
|||
*
|
||||
* Use the prom address if there.
|
||||
*/
|
||||
if (ea->ea_naddrs)
|
||||
if (ea->ea_nvaddrs)
|
||||
sc->sc_ioh = (bus_space_handle_t)ea->ea_vaddrs[0];
|
||||
else if (ebus_bus_map(sc->sc_iot, 0,
|
||||
EBUS_PADDR_FROM_REG(&ea->ea_regs[0]),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: bsd_fdintr.s,v 1.1.1.1 1998/06/20 04:58:52 eeh Exp $ */
|
||||
/* $NetBSD: bsd_fdintr.s,v 1.2 2000/04/15 03:08:13 mrg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Paul Kranenburg
|
||||
|
@ -34,10 +34,10 @@
|
|||
#ifndef FDC_C_HANDLER
|
||||
#include "assym.h"
|
||||
#include <sparc64/sparc64/intreg.h>
|
||||
#include <sparc64/sparc64/auxreg.h>
|
||||
#include <sparc64/sparc64/vaddrs.h>
|
||||
#include <sparc64/dev/fdreg.h>
|
||||
#include <sparc64/dev/fdvar.h>
|
||||
#include <sparc64/dev/auxioreg.h>
|
||||
#include <machine/asm.h>
|
||||
/* XXX this goes in a header file -- currently, it's hidden in locore.s */
|
||||
#define INTREG_ADDR 0xf8002000
|
||||
|
@ -149,7 +149,7 @@ nextc:
|
|||
sethi %hi(_C_LABEL(auxio_reg)), %l6
|
||||
ld [%l6 + %lo(_C_LABEL(auxio_reg))], %l6
|
||||
ldub [%l6], %l7
|
||||
or %l7, AUXIO_MB1|AUXIO_FTC, %l7
|
||||
or %l7, AUXIO_LED_MB1|AUXIO_LED_FTC, %l7
|
||||
stb %l7, [%l6]
|
||||
|
||||
! we have some time to kill; anticipate on upcoming
|
||||
|
@ -159,8 +159,8 @@ nextc:
|
|||
st %l7, [R_fdc + FDC_NSTAT] ! fdc->sc_nstat = -1;
|
||||
|
||||
ldub [%l6], %l7
|
||||
andn %l7, AUXIO_FTC, %l7
|
||||
or %l7, AUXIO_MB1, %l7
|
||||
andn %l7, AUXIO_LED_FTC, %l7
|
||||
or %l7, AUXIO_LED_MB1, %l7
|
||||
stb %l7, [%l6]
|
||||
b resultphase1
|
||||
nop
|
||||
|
|
Loading…
Reference in New Issue