Subject: Re: console weirdness
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Brad Salai <bsalai@tmonline.com>
List: port-sparc
Date: 10/29/1997 11:40:59
At 11:10 AM -0500 10/29/97, der Mouse wrote:
>> When quiting vi, the console doesn't clean up nicely, bogus
>> characters scroll backwards up the screen, about two screens worth
>> and persist after the prompt re-appears.
>
>> This isn't a problem anywhere except the console as far as I know.
>
>> 1.3_Alpha on an IPX,
>
>What sort of framebuffer?  Do you have RASTERCONSOLE turned on in the
>kernel?  (What I really want to know is, is RASTERCONSOLE getting used?
>Could you send dmesg output?  I've seen glitches under SunOS that make
>me suspect some bugs in the ROM console code for some framebuffers....)
>
>					der Mouse
>
>			       mouse@rodents.montreal.qc.ca
>		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Here it is:

law:bsalai {101} dmesg


NetBSD 1.3_ALPHA (APOLLO) #1: Tue Oct 28 17:17:47 EST 1997
    bsalai@law.roc.servtech.com:/usr/src/sys/arch/sparc/compile/APOLLO
real mem = 33406976
avail mem = 30658560
using 128 buffers containing 524288 bytes of memory
bootpath: /sbus0/esp@0,800000/sd@0,0
mainbus0 (root): SUNW,Sun 4/50
cpu0 at mainbus0: cache chip bug; trap page uncached: W8601/8701 or MB86903
@ 40
 MHz, on-chip FPU
cpu0: 64K byte write-through, 32 bytes/line, hw flush: cache enabled
memreg0 at mainbus0 ioaddr 0xf4000000
clock0 at mainbus0 ioaddr 0xf2000000: mk48t02 (eeprom)
timer0 at mainbus0 ioaddr 0xf3000000 delay constant 17
auxreg0 at mainbus0 ioaddr 0xf7400003
zs0 at mainbus0 ioaddr 0xf1000000 pri 12, softpri 6
zstty0 at zs0 channel 0
zstty1 at zs0 channel 1
zs1 at mainbus0 ioaddr 0xf0000000 pri 12, softpri 6
kbd0 at zs1 channel 0 (console)
ms0 at zs1 channel 1
audioamd0 at mainbus0 ioaddr 0xf7201000 pri 13, softpri 4
audio0 at audioamd0
sbus0 at mainbus0 ioaddr 0xf8000000: clock = 20 MHz
dma0 at sbus0 slot 0 offset 0x400000: rev 1+
esp0 at sbus0 slot 0 offset 0x800000 pri 3: ESP100A, 20MHz, SCSI ID 7
scsibus0 at esp0: 8 targets
probe(esp0:0:0): max sync rate 4.03Mb/s
sd3 at scsibus0 targ 0 lun 0: <SEAGATE, ST31230N, 0300> SCSI2 0/direct fixed
sd3: 1010MB, 3992 cyl, 5 head, 103 sec, 512 bytes/sect x 2069860 sectors
probe(esp0:1:0): max sync rate 4.03Mb/s
sd1 at scsibus0 targ 1 lun 0: <SEAGATE, ST31230N, 0300> SCSI2 0/direct fixed
sd1: 1010MB, 3992 cyl, 5 head, 103 sec, 512 bytes/sect x 2069860 sectors
probe(esp0:3:0): max sync rate 4.03Mb/s
sd0 at scsibus0 targ 3 lun 0: <SEAGATE, ST31200N SUN1.05, 8564> SCSI2
0/direct f
ixed
sd0: 1006MB, 2700 cyl, 9 head, 84 sec, 512 bytes/sect x 2061108 sectors
esp0: !TC [intr 10, stat 87, step 1] prevphase 6, resid 0
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
esp0: !TC [intr 10, stat 87, step 1] prevphase 6, resid 0
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
esp0: !TC [intr 10, stat 87, step 1] prevphase 6, resid 0
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
esp0: illegal command: 0x90 (state 4, phase 6, prevphase 6)
probe(esp0:6:0): max sync rate 4.03Mb/s
cd0 at scsibus0 targ 6 lun 0: <TOSHIBA, XM-4101TASUNSLCD, 0494> SCSI2
5/cdrom re
movable
le0 at sbus0 slot 0 offset 0xc00000 pri 5: address 08:00:20:0c:c6:ed
le0: 8 receive buffers, 2 transmit buffers
SUNW,lpvi at sbus0 slot 1 offset 0x300000 not configured
SUNW,bpp at sbus0 slot 1 offset 0x200000 not configured
cgsix0 at sbus0 slot 3 offset 0x0: SUNW,501-1672, 1152 x 900, rev 8 (console)
cgsix0: attached to /dev/fb
fdc0 at mainbus0 ioaddr 0xf7200000 pri 11, softpri 4: chip 82072
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
root on sd3a dumps on sd3b
sd3(esp0:0:0): max sync rate 4.03Mb/s
root file system type: ffs
IP Filter: initialized.  Default = pass

Here is the config file in case it helps.

# 	$NetBSD: GENERIC_SCSI3,v 1.37 1997/01/06 07:34:14 mrg Exp $


# 	$NetBSD: GENERIC,v 1.51 1997/10/20 18:05:21 pk Exp $

include "arch/sparc/conf/std.sparc"

maxusers	32

# Options for variants of the Sun SPARC architecure.
# At least one is required.
#options 	SUN4		# sun4/100, sun4/200, sun4/300
options 	SUN4C		# sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
#options 	SUN4M		# sun4m - SS10, SS20, Classic, etc.

#options 	MMU_3L		# 3-level MMU on sun4/400; (incomplete)

# Standard system options
options 	KTRACE		# system call tracing
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
options 	LKM		# loadable kernel modules
#options 	INSECURE	# disable kernel security level
options 	UCONSOLE	# allow anyone to steal the virtual console

# Debugging options
#options 	DDB		# kernel dynamic debugger
#options 	DEBUG		# kernel debugging code
#options 	DIAGNOSTIC	# extra kernel sanity checking
#options 	KGDB		# support for kernel gdb
#options 	KGDBDEV=0xc01	# kgdb device number (dev_t)
#options 	KGDBRATE=38400	# baud rate
#options 	SCSIVERBOSE	# Verbose SCSI errors

# Compatibility options
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_SUNOS	# SunOS 4.x binary compatibility
options 	COMPAT_SVR4	# SunOS 5.x binary compatibility
options 	EXEC_ELF32	# Exec module for SunOS 5.x binaries.

# Filesystem options
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	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).

options 	NFSSERVER	# Sun NFS-compatible filesystem server
options 	QUOTA		# FFS quotas
options 	FIFO		# POSIX fifo support (in all filesystems)

# Networking options
options 	INET		# IP stack
options 	TCP_COMPAT_42	# compatibility with 4.2BSD TCP/IP
options 	GATEWAY		# IP packet forwarding
#options 	ISO,TPIP	# OSI networking
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25
options 	PFIL_HOOKS	# pfil(9) packet filter hooks.
options		NETATALK	#netatalk

# Options for SPARCstation hardware
options 	RASTERCONSOLE	# fast rasterop console
#options 	BLINK		# blink the led on supported machines

# Generic swap; second partition of root disk or network.
config		netbsd	root on ? type ?

# 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
audio*	at audioamd0
audioamd0	at obio0				# sun4m
audio*	at audioamd0
audioamd0	at sbus0 slot ? offset ?		# sun4m
audio*	at audioamd0

auxreg0	at mainbus0				# sun4c
auxreg0	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 flags 0x103	# sun4/200 and sun4/300
zs0	at obio0 addr 0x01000000 level 12 flags 0x103	# sun4/100
zstty0	at zs0 channel 0	# ttya
zstty1	at zs0 channel 1	# ttyb

zs1	at mainbus0					# sun4c
zs1	at obio0					# sun4m
zs1	at obio0 addr 0xf0000000 level 12 flags 0x103	# sun4/200 and sun4/300
zs1	at obio0 addr 0x00000000 level 12 flags 0x103	# sun4/100
kbd0	at zs1 channel 0	# keyboard
ms0	at zs1 channel 1	# mouse

zs2	at obio0 addr 0xe0000000 level 12 flags 0x103	# sun4/300
zstty2	at zs2 channel 0	# ttyc
zstty3	at zs2 channel 1	# ttyd

#
# 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 0x0000	#

# sun4c or sun4m SCSI - an NCR53c94 or equivalent behind
# specialized DMA glue
dma0	at sbus0 slot ? offset ?			# on-board SCSI
esp0	at sbus0 slot ? offset ? flags 0x0000		# sun4c
esp0	at dma0 flags 0x0000				# sun4m

# FSBE/S SCSI - an NCR53c94 or equivalent behind
dma*	at sbus? slot ? offset ?			# SBus SCSI
esp*	at sbus? slot ? offset ? flags 0x0000		# two flavours
esp*	at dma? flags 0x0000				# depending on model

# Qlogic ISP SBus SCSI Card
isp*	at sbus? slot ? offset ?

# sun4m Ethernet - an AMD 7990 LANCE behind
# specialized DMA glue
ledma0	at sbus0 slot ? offset ?			# sun4m on-board
le0	at ledma0					#

# Additional SBus LANCE devices - glued on by lebuffer
lebuffer0	at sbus0 slot ? offset ?		# sun4m SBus
lebuffer*	at sbus? slot ? offset ?		# sun4m SBus
le0	at lebuffer0					#
le*	at lebuffer?					#

# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
le0	at sbus0 slot ? offset ?			# sun4c on-board
le*	at sbus? slot ? offset ?

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 vmel0 addr 0xff31ff02 level 5 vect 0x76
ie3	at vmel0 addr 0xff35ff02 level 5 vect 0x77
ie4	at vmel0 addr 0xff2dff02 level 5 vect 0x7c

# 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? drive ?

# 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? drive ?

# 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
#
# By default, DMA is enabled in the driver.
si0	at vmes0 addr 0xff200000 level 3 vect 0x40

# 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

# 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 sbus0 slot ? offset ?		# sun4c on-board
bwtwo*	at sbus? slot ? offset ?		# 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

# Sun "cgtwo" VME color framebuffer
cgtwo0	at vmes0 addr 0xff400000 level 4 vect 0xa8

# Sun "cgthree" Sbus color framebuffer
cgthree0 at sbus? slot ? offset ?
cgthree* at sbus? slot ? offset ?
#cgthree0 at obio? slot ? offset ?		# sun4m
#cgthree* at obio? slot ? offset ?		# sun4m

# Sun "cgfour" color framebuffer with overlay plane.  See above comment
# regarding overlay plane.
cgfour0	at obio0 addr 0xfb300000 level 4	# sun4/300 P4
cgfour0	at obio0 addr 0x0b300000 level 4	# sun4/100 P4

# Sun "cgsix" accelerated color framebuffer.
cgsix0	at sbus? slot ? offset ?
cgsix*	at sbus? slot ? offset ?
cgsix0	at obio0 addr 0xfb000000 level 4	# sun4/300 P4
cgsix0	at obio0 addr 0x0b000000 level 4	# sun4/100 P4

# 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

# 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

# SCSI bus layer.  SCSI devices attach to the SCSI bus, which attaches
# to the underlying hardware controller.
scsibus* at esp?
scsibus* at isp?
scsibus* at si?
scsibus* at sw?

# 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

# 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	loop			# loopback interface; required
pseudo-device	pty		32	# pseudo-ttys (for network, etc.)
pseudo-device	sl		2	# SLIP interfaces
pseudo-device	ppp		2	# PPP interfaces
pseudo-device	tun		4	# Network "tunnel" device
pseudo-device	bpfilter	16	# Berkeley Packet Filter
pseudo-device	vnd		4	# disk-like interface to files
pseudo-device	ccd		4	# concatenated and striped disks
#pseudo-device	strip		1	# radio clock
pseudo-device	ipfilter		# ip filter

# Map the SCSI disk at targets 3120 to units 0123, a'la SunOS.
sd0	at scsibus? target 3 lun ?		# first SCSI disk
sd1	at scsibus? target 1 lun ?		# second SCSI disk
sd2	at scsibus? target 2 lun ?		# third SCSI disk
sd3	at scsibus? target 0 lun ?		# fourth SCSI disk

If anything else would be helpful, let me know.

Brad

Stephen B. Salai                            Phone (716) 325-5553
Cumpston & Shaw                             Fax    (716) 262-3906
Two State Street                            email bsalai@tmonline.com
Rochester, NY 14614