From owner-freebsd-stable@FreeBSD.ORG Mon Jun 25 10:04:37 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8AEE106567F for ; Mon, 25 Jun 2012 10:04:37 +0000 (UTC) (envelope-from hlh@restart.be) Received: from tignes.restart.be (tignes.restart.be [IPv6:2001:41d0:2:56bf:0:1::]) by mx1.freebsd.org (Postfix) with ESMTP id 36BFF8FC0A for ; Mon, 25 Jun 2012 10:04:37 +0000 (UTC) Received: from restart.be (avoriaz.tunnel.bel [IPv6:2001:41d0:2:56bf:1:ffff::]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "smtp.restart.be", Issuer "CA master" (verified OK)) by tignes.restart.be (Postfix) with ESMTPS id 3WLQwN0QXQz8RS; Mon, 25 Jun 2012 12:04:36 +0200 (CEST) X-DKIM: OpenDKIM Filter v2.5.2 tignes.restart.be 3WLQwN0QXQz8RS DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=restart.be; s=tignes; t=1340618676; bh=vonoldqdkasVGto9/nWNXlbB8PZ91BcRwmyCk7EETYQ=; h=Date:From:To:CC:Subject:References:In-Reply-To; z=Date:=20Mon,=2025=20Jun=202012=2012:04:34=20+0200|From:=20Henri=2 0Hennebert=20|To:=20Mitya=20| CC:=20freebsd-stable@freebsd.org|Subject:=20Re:=20Can=20not=20buil d=20kernel=20with=20modular=20ata=20and=20ATA_CAM|References:=20<4 FE8264B.2010302@cabletv.dp.ua>|In-Reply-To:=20<4FE8264B.2010302@ca bletv.dp.ua>; b=Rn9nt+iElSKu+1pKVWcdSbobd8nf77Oke/lrTseLvr62J2B2ZSqEeWcn2Q7fR9lNO rI+ZTzs068e4/EtXFQxWcIyAVqJVSyrTgvaKCPPE7UTumsQ6ZwdcVHIljoYF4nE8gx jfY6atCY9e6KA0aN4DLOwajlO+sF7FQll8ZFYCfk= Received: from morzine.restart.bel (morzine.restart.be [IPv6:2001:41d0:2:56bf:1:2::]) (authenticated bits=0) by restart.be (8.14.5/8.14.5) with ESMTP id q5PA4YxQ041429; Mon, 25 Jun 2012 12:04:35 +0200 (CEST) (envelope-from hlh@restart.be) Message-ID: <4FE837B2.6090507@restart.be> Date: Mon, 25 Jun 2012 12:04:34 +0200 From: Henri Hennebert Organization: RestartSoft User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:13.0) Gecko/20120611 Thunderbird/13.0 MIME-Version: 1.0 To: Mitya References: <4FE8264B.2010302@cabletv.dp.ua> In-Reply-To: <4FE8264B.2010302@cabletv.dp.ua> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: Can not build kernel with modular ata and ATA_CAM X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jun 2012 10:04:37 -0000 On 06/25/2012 10:50, Mitya wrote: > My kernel options: > > # Bus support. > device acpi > device pci > > # Modular ATA > device atadisk # ATA disk drives > device atacore # Core ATA functionality > device atapci # PCI bus support; only generic chipset > support > device ataintel # Intel > > options ATA_CAM # Handle legacy controllers with CAM > options ATA_STATIC_ID # Static device numbering > > # ATA/SCSI peripherals > device scbus # SCSI bus (required for ATA/SCSI) > device da # Direct Access (disks) > device pass # Passthrough device (direct ATA/SCSI > access) From /usr/src/sys/conf/NOTES: # ATA_CAM: Turn ata(4) subsystem controller drivers into cam(4) # interface modules. This deprecates all ata(4) # peripheral device drivers (atadisk, ataraid, atapicd, # atapifd, atapist, atapicam) and all user-level APIs. # cam(4) drivers and APIs will be connected instead. So you must remove 'device atadisk' Henri > > make's output: > > ata-disk.o: In function `ad_init': > ata-disk.c:(.text+0x7d): undefined reference to `ata_setmode' > ata-disk.c:(.text+0x95): undefined reference to `ata_wc' > ata-disk.c:(.text+0xc9): undefined reference to `ata_controlcmd' > ata-disk.c:(.text+0x11b): undefined reference to `ata_controlcmd' > ata-disk.c:(.text+0x16d): undefined reference to `ata_controlcmd' > ata-disk.c:(.text+0x1b6): undefined reference to `ata_controlcmd' > ata-disk.o: In function `ad_shutdown': > ata-disk.c:(.text+0x258): undefined reference to `ata_controlcmd' > ata-disk.o: In function `ad_detach': > ata-disk.c:(.text+0x479): undefined reference to `ata_fail_requests' > ata-disk.o: In function `ad_dump': > ata-disk.c:(.text+0x861): undefined reference to `ata_drop_requests' > ata-disk.c:(.text+0x921): undefined reference to `ata_controlcmd' > ata-disk.o: In function `ad_attach': > ata-disk.c:(.text+0xa40): undefined reference to `ata_setmax' > ata-disk.c:(.text+0xb62): undefined reference to `ata_satarev2str' > ata-disk.c:(.text+0xba7): undefined reference to `ata_unit2str' > ata-disk.c:(.text+0xfff): undefined reference to `ata_queue_request' > ata-disk.c:(.text+0x131e): undefined reference to `ata_queue_request' > ata-disk.c:(.text+0x1340): undefined reference to `ata_getparam' > ata-disk.o: In function `ad_spindown': > ata-disk.c:(.text+0x539): undefined reference to `ata_queue_request' > ata-disk.o: In function `ad_ioctl': > ata-disk.c:(.text+0x5a4): undefined reference to `ata_device_ioctl' > ata-disk.o: In function `ad_strategy': > ata-disk.c:(.text+0x6c7): undefined reference to `ata_queue_request' > *** [kernel] Error code 1 > > I found differences in ata-all.c and ata-all.h > > In ata-all.c: > #ifndef ATA_CAM > void > ata_setmode(device_t dev) > { > > But, in ata-all.h: > void ata_setmode(device_t dev); > > without any #ifdef or #ifndef > > > > > > > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" >