Prev: How to run 1394 Async/Isoch Commands for DDK sample???
Next: Windows Vista Add printer driver Error (0x00000003)
From: John on 16 Jan 2007 19:39 The miniport driver I am working on is for an Ethernet device. The device supports MSI interrupts. Though, I have not been able to enable MSI interrupts on Vista so far. The driver sets MsiSupported to TRUE and sets required MSI handlers when it calls NdisMRegisterInterruptEx. The INF file adds the following registry values. According to the white paper on interrupts (MSI.doc available on microsoft web site), MSISupported is required. Is this true? HKR, "Interrupt Management", 0x00000010 HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010 HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1 HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 16 Am I missing something? Has anyone been able to use MSI interrupts on Vista? Any clue is welcome...
From: John on 16 Jan 2007 19:50 I forgot to mention the machine I am using. The machine is a dual-Opteron. Vista runs in 64-bit mode. On the same machine and using the same Ethernet device, I can enable MSI interrupts on Linux. So, the machine is capable of handling MSI interrupts. John wrote: > The miniport driver I am working on is for an Ethernet device. The > device supports MSI interrupts. Though, I have not been able to enable > MSI interrupts on Vista so far. > > The driver sets MsiSupported to TRUE and sets required MSI handlers > when it calls NdisMRegisterInterruptEx. > > The INF file adds the following registry values. According to the > white paper on interrupts (MSI.doc available on microsoft web site), > MSISupported is required. Is this true? > > HKR, "Interrupt Management", 0x00000010 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > 0x00000010 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > MSISupported, 0x00010001, 1 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > MessageNumberLimit, 0x00010001, 16 > > Am I missing something? Has anyone been able to use MSI interrupts on > Vista? Any clue is welcome...
From: Alireza Dabagh [MS] on 17 Jan 2007 00:52 MSI works for NDIS 6 drivers in Vista. We have NIC drivers that do MSI just fine. How many MSI messages do you ask for? Use NdisSetOptionalHandlers to register PnP handlers for your miniport driver (see NDIS_OBJECT_TYPE_MINIPORT_PNP_CHARACTERISTICS). In your MiniportFilterResourceRequirementsHandler check to see if you get MSI resources. -ali -- This posting is provided "AS IS" with no warranties, and confers no rights. "John" <hykim(a)rice.edu> wrote in message news:1168994386.247045.295550(a)11g2000cwr.googlegroups.com... > The miniport driver I am working on is for an Ethernet device. The > device supports MSI interrupts. Though, I have not been able to enable > MSI interrupts on Vista so far. > > The driver sets MsiSupported to TRUE and sets required MSI handlers > when it calls NdisMRegisterInterruptEx. > > The INF file adds the following registry values. According to the > white paper on interrupts (MSI.doc available on microsoft web site), > MSISupported is required. Is this true? > > HKR, "Interrupt Management", 0x00000010 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > 0x00000010 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > MSISupported, 0x00010001, 1 > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > MessageNumberLimit, 0x00010001, 16 > > Am I missing something? Has anyone been able to use MSI interrupts on > Vista? Any clue is welcome... >
From: John on 17 Jan 2007 13:26 Thanks for the reply. The original INF file added the registry entries (MSISupported) in DDInstall section, not DDInstall.HW section. Adding those entries in DDInstall.HW section enabled MSI interrupts. Here's follow-up questions. In MiniportFilterResourceRequirements, IO_RESOURCE_REQUIREMENTS_LIST has "AlternativeLists" field. It looks like if the device has both MSI-X and MSI capabilities, then AlternativeLists is set to 2. List[0] seems to include only MSI-X interrupt resources, and List[1] includes MSI and also legacy INTx interrupts. What's the purpose of having multiple lists? Also, "Count" of List[1] seems to be incorrect. Its value indicates that there are a lot more Descriptor entries in List[1] than "ListSize" of IO_RESOURCE_REQUIREMENTS_LIST indicates. If I just rely on "Count" field, memory access does go out-of-bound and leads to kernel panics... Am I even supposed to examine the second list? Thanks... Alireza Dabagh [MS] wrote: > MSI works for NDIS 6 drivers in Vista. We have NIC drivers that do MSI just > fine. How many MSI messages do you ask for? > > Use NdisSetOptionalHandlers to register PnP handlers for your miniport > driver (see NDIS_OBJECT_TYPE_MINIPORT_PNP_CHARACTERISTICS). In your > MiniportFilterResourceRequirementsHandler check to see if you get MSI > resources. > > -ali > > -- > This posting is provided "AS IS" with no warranties, and confers no rights. > > "John" <hykim(a)rice.edu> wrote in message > news:1168994386.247045.295550(a)11g2000cwr.googlegroups.com... > > The miniport driver I am working on is for an Ethernet device. The > > device supports MSI interrupts. Though, I have not been able to enable > > MSI interrupts on Vista so far. > > > > The driver sets MsiSupported to TRUE and sets required MSI handlers > > when it calls NdisMRegisterInterruptEx. > > > > The INF file adds the following registry values. According to the > > white paper on interrupts (MSI.doc available on microsoft web site), > > MSISupported is required. Is this true? > > > > HKR, "Interrupt Management", 0x00000010 > > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > > 0x00000010 > > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > > MSISupported, 0x00010001, 1 > > HKR, "Interrupt Management\MessageSignaledInterruptProperties", > > MessageNumberLimit, 0x00010001, 16 > > > > Am I missing something? Has anyone been able to use MSI interrupts on > > Vista? Any clue is welcome... > >
From: Alireza Dabagh [MS] on 17 Jan 2007 18:17
Sorry, I am not familiar with the exact format of the interrupt resources. hopefully somebody knowledgeable see this and steps in. You may also want to open a new thread with the right title to make this more visible. -ali -- This posting is provided "AS IS" with no warranties, and confers no rights. |