Subject: port-sparc/1357: Cannot build a sparc kernel with SUN4C & not SUN4
To: None <gnats-bugs@NetBSD.ORG>
From: None <abs@mono.city.ac.uk>
List: netbsd-bugs
Date: 08/14/1995 18:46:29
>Number:         1357
>Category:       port-sparc
>Synopsis:       Cannot build a sparc kernel with SUN4C & not SUN4
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 14 14:20:04 1995
>Last-Modified:
>Originator:     David Brownlee
>Organization:
Monochrome
>Release:        Aug 14th 1995
>Environment:
sparc, 1.0A, current
System: NetBSD gluon.city.ac.uk 1.0A NetBSD 1.0A (GLUON) #1: monoadm@gluon.city.ac.uk:/mono/u1/NetBSD/src/sys/arch/sparc/compile/GLUON sparc

>Description:
	If you config a kernel for a SUN4C and not SUN4 the build fails
	in arch/sparc/dev/obio.c due to some VME #defines not being defined.

(Tail end of a make)
../../../../arch/sparc/dev/obio.c: In function `vmeintr':
../../../../arch/sparc/dev/obio.c:296: `AC_VMEINTVEC' undeclared (first use this function)
../../../../arch/sparc/dev/obio.c:296: (Each undeclared identifier is reported only once
../../../../arch/sparc/dev/obio.c:296: for each function it appears in.)
../../../../arch/sparc/dev/obio.c: In function `bus_map':
../../../../arch/sparc/dev/obio.c:362: `PG_VME32' undeclared (first use this function)
../../../../arch/sparc/dev/obio.c:365: `PG_VME16' undeclared (first use this function)
*** Error code 1

o
>How-To-Repeat:

	Try building the config file appended to the end of this mail.


>Fix:
	You could make the vme code in obio.c conditional on SUN4 (which would
	make sense as the #defines are conditional on SUN4). This is probably
	not ideal as SUN4M machines can have a VME bus, but would be better
	than the current situation!

	Ideally it should be conditional on the presence of 'vmesX' or 'vmelX'.
	As an additional thought, could the sbus code be made conditional
	on the presence of 'sbusX'?


*** config file ***


# 	$NetBSD: GENERIC,v 1.10 1995/07/08 21:33:48 pk Exp $

machine		sparc
#@ options		"SUN4", "SUN4C"
options		"SUN4C"
#options	MMU_3L
#options	DDB,DEBUG,DIAGNOSTIC

# obsolete timezone spec
options		TIMEZONE=0, DST=0

# Standard system options
options		SWAPPAGER, VNODEPAGER, DEVPAGER	# paging
#options	DEBUG, DIAGNOSTIC	# extra kernel debugging
options		KTRACE			# system call tracing support
#options	KGDB			# support for kernel gdb
#options	KGDBDEV=0xc01, KGDBRATE=38400	# device & baud rate
options		RCONSOLE		# fast rasterop console
options		SYSVMSG,SYSVSEM,SYSVSHM
#@ options		"COMPAT_09", "COMPAT_10"

#@ added
maxusers	32

# Filesystem options
options		FFS
options		NFSSERVER	# Sun NFS-compatible filesystem
options		NFSCLIENT	# Sun NFS-compatible filesystem
#@ options	KERNFS		# kernel data-structure filesystem
options		FIFO		# POSIX fifo support (in all filesystems)
#@ options	QUOTA		# fast filesystem with user and group quotas
#@ options	MFS		# memory-based filesystem
#@ options	LOFS		# Loop-back filesystem
#@ options	FDESC		# user file descriptor filesystem
#@ options	UMAPFS		# uid/gid remapping filesystem
#@ options	LFS		# Log-based filesystem (still experimental)
#@ options	PORTAL		# portal filesystem (still experimental)
#@ options	PROCFS		# /proc
#@ options	CD9660		# ISO 9660 + Rock Ridge file system
options		UNION		# union file system

# Networking options
options		INET
options		TCP_COMPAT_42	# compatibility with 4.2BSD TCP/IP
#options	GATEWAY		# IP packet forwarding
#options	ISO		# OSI networking
#options	TPIP
#options	EON
options		COMPAT_43

#@ options		LKM

# Options for SPARCstation hardware
#@ options	COMPAT_SUNOS		# compatibility with SunOS binaries
#@ options	COMPAT_SVR4		# compatibility with SVR4 binaries

config		netbsd	swap generic

mainbus0 at root
cpu0	at mainbus0

sbus0	at mainbus0
obio0	at mainbus0
#@ vmes0	at mainbus0
#@ vmel0	at mainbus0

audio0	at mainbus0
auxreg0	at mainbus0
clock0	at mainbus0
#@ clock0	at obio0 addr 0xf2000000
#@ oclock0	at obio0 addr 0xf3000000
#@ oclock0	at obio0 addr 0x03000000		# 4/100
memreg0	at mainbus0
#@ memreg0	at obio0 addr 0xf4000000
#@ memreg0	at obio0 addr 0x04000000		# 4/100
timer0	at mainbus0
#@ timer0	at obio0 addr 0xef000000

zs0	at mainbus0
#@ zs0	at obio0 addr 0xf1000000 level 12 flags 0x103
#@ zs0	at obio0 addr 0x01000000 level 12 flags 0x103	# 4/100
zs1	at mainbus0
#@ zs1	at obio0 addr 0xf0000000 level 12 flags 0x103
#@ zs1	at obio0 addr 0x00000000 level 12 flags 0x103	# 4/100
#@ zs2	at obio0 addr 0xe0000000 level 12 flags 0x103

# FSBE/S or sun4m
#@ espdma0	at sbus0 slot ? offset ?
#@ espdma*	at sbus0 slot ? offset ?
#@ esp0	at espdma? slot ? offset ?
#@ esp*	at espdma? slot ? offset ?

# old sun4c SCSI
dma0	at sbus0 slot ? offset ?
#@ dma*	at sbus0 slot ? offset ?
#@ dma0	at obio0 addr 0xfa001000 level 4
esp0	at sbus0 slot ? offset ?
#@ esp*	at sbus0 slot ? offset ?
#@ esp0	at obio0 addr 0xfa000000 level 4

# old sun4c
le0	at sbus? slot ? offset ?
#@ le*	at sbus? slot ? offset ?
#@ le0	at obio0 addr 0xf9000000 level 6

#@ ie0	at obio0 addr 0xf6000000 level 6
#@ ie0	at obio0 addr 0x06000000 level 6		# 4/100
#@ 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

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

#@ si0	at vmes0 addr 0xff200000 level 2 vect 0x40

#@ bwtwo0	at sbus? slot ? offset ?
#@ bwtwo*	at sbus? slot ? offset ?
#@ cgthree0 at sbus? slot ? offset ?
#@ cgthree* at sbus? slot ? offset ?
#@ cgsix0 at sbus? slot ? offset ?
#@ cgsix* at sbus? slot ? offset ?

scsibus* at esp?

sd*	at scsibus? target ? lun ?
#@ st*	at scsibus? target ? lun ?
#@ cd*	at scsibus? target ? lun ?

#@ fdc0	at mainbus0
#@ fd*	at fdc0

pseudo-device	loop
pseudo-device	pty	64
#@ pseudo-device	sl	2
pseudo-device	kbd
pseudo-device	ppp	2
pseudo-device	tun	4
pseudo-device	vnd	3
pseudo-device	bpfilter 16
>Audit-Trail:
>Unformatted: