From owner-freebsd-hackers@FreeBSD.ORG Tue Aug 19 16:39:40 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 55A1B16A4C0; Tue, 19 Aug 2003 16:39:40 -0700 (PDT) Received: from artax.karlin.mff.cuni.cz (artax.karlin.mff.cuni.cz [195.113.31.125]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77D8B43FBD; Tue, 19 Aug 2003 16:39:39 -0700 (PDT) (envelope-from mikulas@artax.karlin.mff.cuni.cz) Received: by artax.karlin.mff.cuni.cz (Postfix, from userid 17421) id 79FFC3FAC; Wed, 20 Aug 2003 01:39:37 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by artax.karlin.mff.cuni.cz (Postfix) with ESMTP id 7827B2FBD9; Wed, 20 Aug 2003 01:39:37 +0200 (CEST) Date: Wed, 20 Aug 2003 01:39:37 +0200 (CEST) From: Mikulas Patocka To: sos@FreeBSD.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-hackers@freebsd.org Subject: Bug FreeBSD 4.8 ATA driver X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Aug 2003 23:39:40 -0000 Hi I am reading FreeBSD ATA drivers because I want to use them as base for my ATA driver and I found a total nonsence: in ata-dma.c in FreeBSD 4.8, there is line if (!((pci_read_config(parent,0x40,4)>>(ch->unit<<8))&0x4000)) { if ch->unit is 1, config word is shifted by 256 bytes, which gives undefined result in C. How was this meant? What should it do? Mikulas