Date: Sun, 3 Sep 1995 21:15:49 +1000 From: Bruce Evans <bde@zeta.org.au> To: deischen@iworks.InterWorks.org, rgrimes@gndrsh.aac.dev.com Cc: FreeBSD-current@FreeBSD.Org Subject: Re: Getting around conflicts for a driver w/out base address Message-ID: <199509031115.VAA08364@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> { 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509031115.VAA08364>