From owner-freebsd-current Sun Sep 3 04:27:01 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id EAA11303 for current-outgoing; Sun, 3 Sep 1995 04:27:01 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id EAA11270 for ; Sun, 3 Sep 1995 04:26:46 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id VAA08364; Sun, 3 Sep 1995 21:15:49 +1000 Date: Sun, 3 Sep 1995 21:15:49 +1000 From: Bruce Evans Message-Id: <199509031115.VAA08364@godzilla.zeta.org.au> To: deischen@iworks.InterWorks.org, rgrimes@gndrsh.aac.dev.com Subject: Re: Getting around conflicts for a driver w/out base address Cc: FreeBSD-current@FreeBSD.Org Sender: current-owner@FreeBSD.Org Precedence: bulk >> { 3, &ahcdriver, 0x0000, 0, -1, C 0x00000, 0, ahcintr, 1, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, >> >> { 12, &lptdriver, 0xffffffff, IRQ7, -1, C 0x00000, 0, lptintr, 0, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, >> ... >Hummm... looks as if config emits 0x0000 for the port address when you >have none specified. That is arguably incorrect since address 0x0000 is >a valid I/O port address. [And when I wrote the conflict code I was -1 would be incorrect too since that is used for `port ?'. >It looks like config is specifically hacked to emit -1 for port?, which >is also arguable incorrect as 0xffffffff is a valid port address internal >to the pentium CPU (it will not drive this to the external bus but there Not specially. config uses -1 all over as an out of band value. It is used for `imomem ?' although -1 is a valid memory address on many machines. >It looks to me as if the isa_device struct needs another qualifying field >for iobase that says it is either wildcarded (port?), unspecified (no port >spec at all) or given (port 0xf0f). That would make things simpler for isa_configure() but more complicated for config(8). The out of band values are passed in band a lot. Bruce