Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Apr 2012 14:29:53 +0200
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Daniel Braniss <danny@cs.huji.ac.il>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: 8.3-PRERELEASE and ATA_CAM
Message-ID:  <20120407122953.GA12840@alchemy.franken.de>
In-Reply-To: <20120407115205.GW93449@alchemy.franken.de>
References:  <E1SG3u1-000Ian-Te@kabab.cs.huji.ac.il> <20120406171644.GA9162@alchemy.franken.de> <E1SGQSp-0003Lv-DK@kabab.cs.huji.ac.il> <20120407115205.GW93449@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 07, 2012 at 01:52:05PM +0200, Marius Strobl wrote:
> On Sat, Apr 07, 2012 at 10:53:39AM +0300, Daniel Braniss wrote:
> > > On Fri, Apr 06, 2012 at 10:48:13AM +0300, Daniel Braniss wrote:
> > > > with the latest svn, I can't compile kernel with  options ATA_CAM:
> > > > 
> > > > ...
> > > > linking kernel.debug
> > > > ata-disk.o(.text+0x93): In function `ad_init':
> > > > /r+d/stable/8.3/sys/dev/ata/ata-disk.c:389: undefined reference to 
> > > > `ata_setmode'
> > > > ata-disk.o(.text+0xaa):/r+d/stable/8.3/sys/dev/ata/ata-disk.c:397: undefined 
> > > > reference to `ata_wc'
> > > > ata-disk.o(.text+0xc5):/r+d/stable/8.3/sys/dev/ata/ata-disk.c:398: undefined 
> > > > reference to `ata_controlcmd'
> > > > ata-disk.o(.text+0x113):/r+d/stable/8.3/sys/dev/ata/ata-disk.c:400: undefined 
> > > > reference to `ata_controlcmd'
> > > > ata-disk.o(.text+0x133):/r+d/stable/8.3/sys/dev/ata/ata-disk.c:393: undefined 
> > > > reference to `ata_controlcmd'
> > > > ata-disk.o(.text+0x16d):/r+d/stable/8.3/sys/dev/ata/ata-disk.c:407: undefined 
> > > > reference to `ata_controlcmd'
> > > > ata-disk.o(.text+0x21a): In function `ad_shutdown':
> > > > /r+d/stable/8.3/sys/dev/ata/ata-disk.c:196: undefined reference to 
> > > > `ata_controlcmd'
> > > > ata-disk.o(.text+0x45c): In function `ad_detach':
> > > > /r+d/stable/8.3/sys/dev/ata/ata-disk.c:182: undefined reference to 
> > > > `ata_fail_requests'
> > > > ...
> > > > 
> > > 
> > > You seem to be using a mutually exclusive set of ata(4) options and
> > > devices (previously, this erroneously wasn't a bug). When including
> > > options ATA_CAM you do _not_ want to also include any of the following
> > > devices:
> > > device		atapicam
> > > device		atadisk
> > > device		ataraid
> > > device		atapicd
> > > device		atapifd
> > > device		atapist
> > > 
> > > Instead you need the corresponding driver from the following set:
> > > device		scbus
> > > device		ch
> > > device		da
> > > device		sa
> > > device		cd
> > > device		pass
> > > 
> > > Marius
> > > 
> > they are included by GENERIC, which i include, bummer.
> 
> It should work to include GENERIC but disable the "old" devices via
> "nodevice atadisk" etc. in your custom kernel configuration file.
> 
> > what about ATA_STATIC_ID, I guess that is also a nono? 
> 
> No, ATA_STATIC_ID is still available with ATA_CAM, in this case it's
> purpose is a bit different though; when present, it provides /dev/adX
> symbolic links to the /dev/adaY device nodes, trying to mimic the
> non-ATA_CAM numbering for /dev/adX. If you've already updated your
> /etc/fstab etc. to use /dev/adaY instead, you don't need ATA_STATIC_ID
> though.
> 

Sorry, I've just checked the source and the code for ATA_STATIC_ID
with ATA_CAM actually is only present in FreeBSD 9 and 10. With
FreeBSD 8 ATA_STATIC_ID in combination with ATA_CAM just does nothing,
but also doesn't pose any problem either.

Marius




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