[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fixing IO Base and IRQ



Scott,

> I need some advice.
> ...
>  To minimize
> the impact on the software it is desired that the Base IO address and IRQ
be
> the same as that on the ISA card.  From Tom Shanley's book, the Base IO
> address can be fixed by using a legacy class code and omitting the Base
> Address Registers on the card.

Yes, it can be done, and some people (VIA, particularly) do so, but this
violates
the spec. While in some cases (when you are in close contact with BIOS and
OS
writers and can tell them which addresses your hardware reserves for its
use) it
can be relatively safe, in other cases you are at risk of causing resource
conflict.
There is a probability that some PCI bus enumerator (in BIOS or in an OS)
will allocates some other device's IO address to one you boards responds on.

>  What I can't figure out is how to fix the IRQ.  I believe that the BIOS
selects the IRQs to
> associate with PCI interrupts and the application has no control over
that.

Stricly speaking, it depends on hardware but generally you are right --
software has
no control over interrupt routing. Your program should read the IRT and
figure out
the interrupt line number.

> Does anybody out there have any idea how to fix the IRQ and Base IO
address
> on a PCI system?

Do you really need this? In normal case, the adaptation ISA DOS driver to
PCI is
not really a very complicated job (at least, in comparison with fixing of
resources).
If the programmer who has written the driver still working for your company,
perhaps it makes him no much trouble to change the driver.

Or, I can do it, for a reasonable price :)  I hope others here will forgive
me such
a self-advertisment.

Regards,
Alexander

> Thanks,
>
> Scott Davis
>
> _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
>
> Scott Davis
> Principal Engineer
> TechniQuest Associates
> P.O. Box 1822
> Nevada City, CA 95959
> (530) 263-1314
> (530) 265-9589 (FAX)
> scottd@techniquestassociates.com
> www.techniquestassociates.com