Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

HalAssignSlotResources fails on Motherboard with APIC

0 views
Skip to first unread message

Lawrence Barbieri

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
I have a driver that works fine except when I try to install it on a
Tyan motherboard. This MB is a dual processor board and uses an APIC to
route the PCI interrupts. My driver controls a PCI board that requires
an interrupt.

When I call HalAssignSlotResources for this board it fails (error code
0xC0000018, 'Address Conflict'). So, I thought, well maybe I'll detect
the resources myself and call IoAssignResources...HAH! I discovered
that when I try to allocate JUST the IRQ I get the same error code back
from IoAssignResources. I filled in my resource descriptor with the
following information (I gathered this by walking through
HalAssignSlotResources until it called IoAssignResources):

Option = 0 (I guess this means fixed resource, can't use alternative)
Type = 2 (CmResourceTypeInterrupt)
ShareDispositon = 3 (CmResourceShareShared)
Spare1 = 0
Flags = 0 (Interrupt is level sensitive)
Spare2 = 0
MinimumVector = 0
MaximumVector = 255

Even though IoAssignResources returns an error code it still puts the
requested resources in the registry. When I looked at that I saw that
it had assigned IRQ 40 to my device. This actually made sense since
there are 5 PCI slots in this system and 2 other cards had IRQs of 52
and 56. Assuming the IRQs are spaced apart by a value of 4 and the
highest IRQ is 56, then the remaining 3 would be 48, 44 and 40.

All that being said. It is obviously possible to get a driver to work
in this system, there are 2 other ones that work fine. What is the
'magic'? I have been beating my head against the wall for several days
now and all I've gotten is a flat head!

Thanks,

Larry Barbieri

You can also respond via e-mail by removing the NOSPAM from my address.


Stan Shkolnyy

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
On Wed, 7 Apr 1999, Lawrence Barbieri wrote:
>
> All that being said. It is obviously possible to get a driver to work
> in this system, there are 2 other ones that work fine. What is the
> 'magic'?

Wouldn't it be faster to just ask those two drivers?

Lawrence Barbieri

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
Well if I had the source for the Sound card driver and/or the Network card
driver then the answer would be 'yes'. But, since I don't have that I'm
stuck waiting for outside help or maybe Microsoft will just fix the damn
problem with HalAssignSlotResources!

Mark Roddy

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to
Is it possible that one of the other drivers has claimed a shared PCI
interrupt as non-shared and that your board's pci slot is wired to use the
same PCI interrupt?

Lawrence Barbieri <log...@ziplink.NOSPAM.net> wrote in message
news:370BF2E2...@ziplink.NOSPAM.net...

Lawrence Barbieri

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to

Mark Roddy wrote:

> Is it possible that one of the other drivers has claimed a shared PCI
> interrupt as non-shared and that your board's pci slot is wired to use the
> same PCI interrupt?
>

I did think of that. I modified the registry to load my driver as early as
possible and HalAssignSlotResources still fails. My driver was loaded almost
immediately so I know no other PCI driver would have loaded ahead of it and
claimed the resource.

Thanks.
Larry

0 new messages