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>
