Skip site navigation (1)Skip section navigation (2)
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>