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: