Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jan 1999 15:24:57 -0800
From:      ONE-MO <onemo@jps.net>
To:        Mark Dawson <md@doc.ic.ac.uk>, stable@FreeBSD.ORG
Subject:   Re: Compaq ida driver patch
Message-ID:  <36B4E648.D8ADE2DE@jps.net>
References:  <36B3826B.D84339D1@jps.net> <36B443A6.84AF6D17@doc.ic.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Mark Dawson wrote:

> The patch may now be out of date wrt 3.0 in this regard.  Try building
> the kernel without applying (3) and see what happens. [I don't run 3.0
> systems myself, all my kit is using 2.2.x.]

Thanks for getting back to me so soon. I tried a couple of things without
success, so I decided to forward a full breakdown of the situation.

First, a little hardware description:

Compaq Prosignia 500
Smart-2E controller with 3 4Gb drives RAID5
one 2Gb drive on embedded NCR controller (to boot from).

I'm running a completely ELF system, kernel & userland. Here's my kernel
config:

machine                 "i386"
ident                        JUPITER
maxusers               32
options                   "MAXDSIZ=(256*1024*1024)"
options                   "DFLDSIZ=(256*1024*1024)"
options                   "MAXMEM=(256*1024)"
config                     kernel  root on da0
cpu                         "I586_CPU"
cpu                          "I686_CPU"
options                   GPL_MATH_EMULATE
options                   "COMPAT_43"
options                   USER_LDT
options                   SYSVSHM
options                   SYSVSEM
options                   SYSVMSG
options                   "MD5"
options                   PQ_HUGECACHE
options                   PERFMON
options                   UCONSOLE
options                   USERCONFIG
options                   VISUAL_USERCONFIG
options                   INET
pseudo-device    ether
pseudo-device    loop
pseudo-device    bpfilter 4
pseudo-device    disc
pseudo-device    tun     1
options                    IPFIREWALL
options                    IPFIREWALL_DEFAULT_TO_ACCEPT
options                    IPDIVERT
options                    "ICMP_BANDLIM"
options                    "VM86"
options                    FFS
options                    NFS
options                    "CD9660"
options                    MSDOSFS
options                    PROCFS
options                    FFS_ROOT
options                    SOFTUPDATES
options                    NSWAPDEV=20
options                    "NFS_MINATTRTIMO=3"
options                    "NFS_MAXATTRTIMO=60"
options                    "NFS_MINDIRATTRTIMO=30"
options                    "NFS_MAXDIRATTRTIMO=60"
options                    "NFS_GATHERDELAY=10"
options                    "NFS_UIDHASHSIZ=29"
options                    "NFS_WDELAYHASHSIZ=16"
options                    "NFS_MUIDHASHSIZ=63"
options                    "P1003_1B"
options                    "_KPOSIX_PRIORITY_SCHEDULING"
options                    "_KPOSIX_VERSION=199309L"
controller                scbus0
device                     da0
device                     sa0
device                     cd0
device                     pass0
options                    "SA_SPACE_TIMEOUT=(60)"
options                    "SA_REWIND_TIMEOUT=(2*60)"
options                    "SA_ERASE_TIMEOUT=(4*60)"
pseudo-device     pty     16
pseudo-device     speaker
pseudo-device     gzip
pseudo-device     vn
controller                isa0
controller               pnp0
controller               atkbdc0 at isa? port IO_KBD tty
device                     atkbd0  at isa? tty irq 1
device                     psm0    at isa? port IO_KBD conflicts tty irq 12
device                     vga0    at isa? port ? conflicts
device                     sc0     at isa? tty
pseudo-device    splash
options                   MAXCONS=12
options                   VESA
device                    npx0    at isa? port IO_NPX iosiz 0x0 flags 0x0
irq 13
controller              wdc0    at isa? port "IO_WD1" bio irq 14
disk                         wd0     at wdc0 drive 0
disk                         wd1     at wdc0 drive 1
controller              wdc1    at isa? port "IO_WD2" bio irq 15
disk                         wd2     at wdc1 drive 0
disk                         wd3     at wdc1 drive 1
options                   "CMD640"
options                   ATAPI
options                   ATAPI_STATIC
options                   IDE_DELAY=8000
controller              eisa0
controller              ida0    at isa? bio irq ? vector idaintr
disk                         id0     at ida0 drive 0
disk                         id1     at ida0 drive 1
disk                         id2     at ida0 drive 2
disk                         id3     at ida0 drive 3
disk                         id4     at ida0 drive 4
disk                         id5     at ida0 drive 5
disk                         id6     at ida0 drive 6
device                    acd0
controller              fdc0    at isa? port "IO_FD1" bio irq 6 drq 2
disk                        fd0     at fdc0 drive 0
device                   lpt0    at isa? port? tty irq 7
device                   sio0    at isa? port "IO_COM1" tty flags 0x10 irq 4

device                   sio1    at isa? port "IO_COM2" tty irq 3
device                   pcm0    at isa? port ? tty irq 5 drq 1 flags 0x15
controller             pci0
controller             ahc1
controller             ncr0
device                   fxp0
device                   tl0
device                   xl0
options                  PCI_QUIET
options                 COMPAT_LINUX

The following is the relavent portion of the make results without Step 3:

cc -c -O -pipe -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith
-Winline -Wuninitialized -Wformat -Wunused  -fformat-extensions -ansi
-nostdinc -I- -I. -I../.. -I../../../include  -DKERNEL -include opt_global.h
-elf  ../../i386/isa/ida.c
../../i386/isa/ida.c:430: warning: initialization from incompatible pointer
type
../../i386/isa/ida.c: In function `ida_pci_attach':
../../i386/isa/ida.c:573: `idaintr' undeclared (first use this function)
../../i386/isa/ida.c:573: (Each undeclared identifier is reported only once
../../i386/isa/ida.c:573: for each function it appears in.)
../../i386/isa/ida.c:541: warning: unused variable `i'
../../i386/isa/ida.c:538: warning: unused variable `io_port'
../../i386/isa/ida.c: In function `ida_eisa_probe':
../../i386/isa/ida.c:603: warning: unused variable `drive'
../../i386/isa/ida.c:601: warning: unused variable `qcbp'
../../i386/isa/ida.c: In function `idopen':
../../i386/isa/ida.c:908: warning: label `bad' defined but not used
../../i386/isa/ida.c: In function `idstrategy':
../../i386/isa/ida.c:981: warning: unused variable `part'
../../i386/isa/ida.c: In function `ida_queue_buf':
../../i386/isa/ida.c:1176: warning: unused variable `blkno'
../../i386/isa/ida.c: At top level:
../../i386/isa/ida.c:1387: warning: no previous prototype for `idaintr'
../../i386/isa/ida.c:1387: `idaintr' used prior to declaration
../../i386/isa/ida.c:405: warning: `ida_xsubmit' declared `static' but never
defined
../../i386/isa/ida.c:413: warning: `id_bdevsw' defined but not used
*** Error code 1

Stop.

So, I obviously need the declaration of the idaintr variable. I received a
suggestion from another user who stated replacing Step 3 as follows worked
for him:

/sys/i386/isa/isa_device.h

[...]
void    isa_dma_release __P((int chan));
int     isa_dmastatus __P((int chan));
int     isa_dmastop __P((int chan));
void    reconfig_isadev __P((struct isa_device *isdp, u_int *mp));
void    idaintr (int cntlr);

#endif /* KERNEL */

#endif /* !_I386_ISA_ISA_DEVICE_H_ */

This time I was able to compile and install the kernel, but I receive the
following error upon boot:

[...]
Jan 31 14:44:13 jupiter /kernel: eisa0: <CPQ531 (System Board)>
Jan 31 14:44:13 jupiter /kernel: Probing for devices on the EISA bus
Jan 31 14:44:13 jupiter /kernel: eisa0:1 <CPQ4030=0xe114030> unknown device
[...]
Jan 31 14:44:13 jupiter /kernel: wdc0 not found at 0x1f0
Jan 31 14:44:13 jupiter /kernel: wdc1 not found at 0x170
Jan 31 14:44:13 jupiter /kernel: ida: port address (0xffffffff) out of range

Jan 31 14:44:13 jupiter /kernel: ida0 not found
[...]

So, it still doesn't work :-(

If you have any other suggestions, the machine I'm using can be hacked all
over the place if necessary. It's not really useful if I can't to the
RAID anyway.

Michael.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36B4E648.D8ADE2DE>