MSI on PCI to PCI bridge (PCIe switch)

Hi

I am writing an UpperFilter driver to a PCI-to-PCI bridge (PCIe switch) device.
The switch is 1-3 (mean one upstream port and 3 downstream ports)
While investigating the IRQ resources I get from the OS I can see that
although my bridge support MSI I could not get Vista to allocate MSI for my bridge.
It always allocate an IRQ between 0-32.

I also notice that the device under my downstream bridge port (Intel NIC) does get an MSI from the OS.

Can I force Vista to allocate MSI to my device ? Is it BIOS ?
Does PCIe switches ever get MSI from the OS - I notice that the ICH also get an interrupt and not MSI

10x
Yossi

You can see from the debugger that my bridge 1e90:abcd on buses 0xe and 0xd is not getting MSI enable while the NIC on bus 0xf get MSI enable from the OS

Kd> !pci 43 ff

PCI Segment 0 Bus 0xd
00:0 1ae9:abcd.00 Cmd[0107:imb…s] Sts[0010:c…] PCI-PCI Bridge 0xd->0xe-0x88
cf8:800d0000 IntPin:1 IntLine:13 Rom:0 cap:40 2sts:0 BCtrl:2
IO:d000-dfff Mem:ff700000-ff7fffff PMem:fff00000-fffff
MEM[0]:ff6f0000 MEM[1]:ff6e0000
Cap[40] ID 01 PowerManagement
PMC c9c3 (PME from D3C3H0 v3)
WARNING PMC non-zero reserved fields 01c0
PMCSR 0000 (PME_Status=0 PME_En=0 State=D0)
Cap[50] ID 05 MSI
MSI NOT Enabled
MsgAddr 0
MsgAddrHi 0
MsData 0

PCI Segment 0 Bus 0xe
00:0 1ae9:abcd.00 Cmd[0107:imb…s] Sts[0010:c…] PCI-PCI Bridge 0xe->0xf-0xf
cf8:800e0000 IntPin:1 IntLine:13 Rom:0 cap:40 2sts:0 BCtrl:2
IO:d000-dfff Mem:ff700000-ff7fffff PMem:fff00000-fffff
Cap[40] ID 01 PowerManagement
PMC c9c3 (PME from D3C3H0 v3)
WARNING PMC non-zero reserved fields 01c0
PMCSR 0000 (PME_Status=0 PME_En=0 State=D0)
Cap[50] ID 05 MSI
MSI NOT Enabled
MsgAddr 0
MsgAddrHi 0
MsData 0

01:0 1ae9:abcd.00 Cmd[0104:…b…s] Sts[0010:c…] PCI-PCI Bridge 0->0x88-0x88
cf8:800e0800 IntPin:1 IntLine:10 Rom:0 cap:40 2sts:0 BCtrl:2
IO:f000-fff Mem:fff00000-fffff PMem:fff00000-fffff
Cap[40] ID 01 PowerManagement
PMC 49c3 (PME from D3H0 v3)
WARNING PMC non-zero reserved fields 01c0
PMCSR 0000 (PME_Status=0 PME_En=0 State=D0)
Cap[50] ID 05 MSI
MSI NOT Enabled
MsgAddr 0
MsgAddrHi 0
MsData 0

02:0 1ae9:abcd.00 Cmd[0104:…b…s] Sts[0010:c…] PCI-PCI Bridge 0->0x4c-0x4c
cf8:800e1000 IntPin:1 IntLine:11 Rom:0 cap:40 2sts:0 BCtrl:2
IO:f000-fff Mem:fff00000-fffff PMem:fff00000-fffff
Cap[40] ID 01 PowerManagement
PMC 49c3 (PME from D3H0 v3)
WARNING PMC non-zero reserved fields 01c0
PMCSR 0000 (PME_Status=0 PME_En=0 State=D0)
Cap[50] ID 05 MSI
MSI NOT Enabled
MsgAddr 0
MsgAddrHi 0
MsData 0

PCI Segment 0 Bus 0xf
00:0 8086:107d.06 Cmd[0506:.mb…s] Sts[0010:c…] Intel Ethernet Controller SubID:8086:1082
cf8:800f0000 IntPin:1 IntLine:0 Rom:0 cis:0 cap:c8
MEM[0]:ff7e0000 MEM[1]:ff7c0000 IO[2]:1
Cap[c8] ID 01 PowerManagement
PMC c822 (PME from D3C3H0 DSI v2)
PMCSR 2000 (PME_Status=0 PME_En=0 State=D0)
Cap[d0] ID 05 MSI
MSI Enabled
MsgAddr fee00000
MsgAddrHi 0
MsData 4090
Cap[e0] ID 10 PCI Express