Re: How does OS assign IRQ?

From: KM (konstmor_at_nospam_yahoo.com)
Date: 01/30/05


Date: Sun, 30 Jan 2005 03:07:53 -0800

Hawk,

> If I can reserve one IRQ from pci card, maybe my problem will disappear.
> During my work, I find some registy keys whose name tell me they may be
> related to reserve some IRQ or Assignment order.
>
> [ HKLM\System\CurrentControlSet\Control\Arbiters\AllocationOrder ]
> [ HKLM\System\CurrentControlSet\Control\Arbiters\ReservedResources ]
>
> [ HKLM\System\CurrentControlSet\Control\SystemResources\AssignmentOrdering ]
> [ HKLM\System\CurrentControlSet\Control\SystemResources\ReservedResources ]
>
> Unfortunately, no change occur even if I change them in my XPe
> configuration.
> and all registry keys return original value.

These registry entries are set by "PnP (Kernel-mode)" component. So if you want to change the entries through your component, make
sure that the component's build order is set above the "PnP (Kernel-mode)" build order.
Or just change the registry values directly at the "PnP (Kernel-mode)" component registry section in TD.

I don't have a clue if it will help you to change the Irq assigment order (it may be easier to test the reg.changes on XP Pro).

-- 
 Regards,
        KM
> Furthermore, I find the following registy:
> [ HKLM\System\CurrentControlSet\Control\PnP\PciIrqRouting ]
> I wonder how they work in Windows OS,and
> why my change on above registry value is recovered.
> Best Regards
>     Hawk
>
>
> "Slobodan Brcin (eMVP)" <sbrcin@ptt.yu> wrote in message
> news:uOodHQhBFHA.2076@TK2MSFTNGP15.phx.gbl...
> > Hi Hawk,
> >
> > This is tough question.
> >
> > For instance all PCI slots and usually AGP share only 4 wires for IRQ on
> > most motherboards.
> > ISA as legacy might go trough ISA2PCI bridge and share those 4 wires as
> > well.
> >
> > As you can see if you have more than 4 devices some physical int level
> > sharing must be done.
> >
> > Per PCI standard each PCI card can have up to 4 level triggered
> > interrupts. Interrupts are named as INTA# INTB# INTC# INTD#.
> > Most simpler PCI cards are hardwired to use INTA# line and that mean that
> > you can not reassign its interrupt trough software.
> >
> > On motherboards there are usually four lines that connect these lines in
> > some cyclic order. Lines are named IRQW IRQX IRQY IRQZ
> >
> > Following will illustrate how each PCI card in some slot is mapped to MB:
> >   IRQW  IRQX  IRQY   IRQZ
> > 0 INTA# INTB# INTC# INTD#.
> > 1 INTB# INTC# INTD# INTA#.
> > 2 INTC# INTD# INTA# INTB#.
> > 3 INTD# INTA# INTB# INTC#.
> > 4 INTA# INTB# INTC# INTD#.
> > ...
> >
> > These lines are connected to APIC that can translate these signals to some
> > IRQ numbers that windows tell it to. But only as long as
> > you do not have hardware IRQ conflict since then IRQ are shared physically
> > not trough software.
> > Some "smarter" PCI cards that use all four IRQ lines allow you to chose
> > one that will be used INTA#..INTD#. So you can avoid
> > collision trough software instead of repluging cards.
> >
> > Also all level triggered interrupts are intended to work together on same
> > IRQ line trough sharing. Each driver then examine hardware
> > that it cover and try to figure out if it should handle that IRQ.
> >
> > There is much more to this, and you should look for it on the net.
> >
> > Depending on your hardware capabilities you should examine:
> > http://search.microsoft.com/search/results.aspx?st=b&na=88&View=en-us&qu=IRQConfig
> >
> > Or rearrange PCI card positions.
> >
> > Regards,
> > Slobodan
> >
> >
> >
> > "Hawk Gauss" <gao.chao@advantech.com.cn> wrote in message
> > news:uToDjHeBFHA.1004@TK2MSFTNGP15.phx.gbl...
> >> Dear All,
> >>
> >> I encounter a problem about IRQ conflict problem.
> >>
> >> BIOS print IRQ15 is assigned to serial bus controller.
> >> But OS re-assign IRQ9 to it, and conflict occur when I insert my PC card
> >> which use ISA IRQ9.
> >> I found USB controller try to change its IRQ9 to IRQ11, which is used by
> >> a
> >> bad device driver. Then the system screen turn blue.:-(
> >>
> >> I can adjust IRQ resource in my BIOS, but there are too many hardware to
> >> modify.
> >> So I decide to find resolution in XPe configuration quickly.
> >>
> >> How does OS manage IRQs for its driver?
> >> Is there any orders for OS to assign IRQ to its PCI devices?
> >>
> >> I am so confused about such problem because it is urgent in my schedule.
> >>
> >> Any help will be appreciated.
> >> Thanks
> >>
> >>
> >
> >
>
>


Relevant Pages

  • Re: Error 7023
    ... This helps a PC to map devices using IRQ ... HAL (Hardware Abstraction Layer) driver appropriate for the type ... So some of your issues are most definitely related to McAfee. ... The kind of errors you report can be the result of Registry ...
    (microsoft.public.windowsxp.general)
  • Re: Error 7023
    ... This helps a PC to map devices using IRQ ... HAL (Hardware Abstraction Layer) driver appropriate for the type ... So some of your issues are most definitely related to McAfee. ... The kind of errors you report can be the result of Registry Cleaning. ...
    (microsoft.public.windowsxp.general)
  • Re: Error 7023
    ... This helps a PC to map devices using IRQ ... So some of your issues are most definitely related to McAfee. ... The kind of errors you report can be the result of Registry Cleaning. ... Product: Windows Operating System ...
    (microsoft.public.windowsxp.general)
  • Re: Error 7023
    ... This helps a PC to map devices using IRQ ... So some of your issues are most definitely related to McAfee. ... The kind of errors you report can be the result of Registry Cleaning. ... Component: System Event Log ...
    (microsoft.public.windowsxp.general)
  • RE: CE 5.0 PCMCIA ISR issue
    ... PCMCIA driver uses the real hardware IRQ, none of which is very obvious from ... to do), no matter how "NoISR" is set, this will cause the installable ISR to ... class inherits from CRegistryEdit helper class to deal with registry access. ...
    (microsoft.public.windowsce.platbuilder)