INFO: Explanation of CardBus Registry Entries In PCMCIA.INF

ID: Q201018


The information in this article applies to:


SUMMARY

The Pcmcia.inf file shipped in Windows 98 has several registry entries used specifically by the CardBus socket services driver (Cbss.vxd). This article explains how each of these registry values is used by Cbss.vxd.


MORE INFORMATION

CBSSCompatID

Cbss.vxd has built-in support for a wide variety of CardBus controllers, and recognizes these controllers by their PCI vendor and product IDs. In the case where a new controller is compatible with one of the controllers supported by Cbss.vxd, an INF can specify a CBSSCompatID value to indicate which CardBus controller it is compatible with. A valid CBSSCompatID in an INF's AddReg section looks like this:


    HKR,,CBSSCompatID, 3, 4c, 10, 15, ac 
In this example, the 4c and 10 indicate that the compatible CardBus controller has a PCI vendor ID of 104C (TI in this case) and the 15 and ac indicate the compatible device's product ID is AC15 (the TI 1131 CardBus controller in this case).

CBSSCSContextRanges

CBSSCSContextRanges is used to tell Cbss.vxd which parts of the CardBus controller's configuration space should be preserved between when Windows boots and when Windows shuts down. It consists of WORD pairs indicating offset and length. Following is an example of what a valid CBSSCSContextRanges entry would look like in an INF's AddReg section:


    HKR,,CBSSCSContextRanges,3,3e,00,02,00,44,00,04,00,80,00,1f,00 
The example indicates that 2 bytes at offset 3E, 4 bytes at offset 44, and 1F bytes at offset 80 of the controller's configuration space should be saved during Windows boot and then restored at Windows shut down.

CBSSCBContextRanges

CBSSCBContextRanges is used to tell Cbss.vxd which CardBus registers on the CardBus controller should be preserved between when Windows boots and Windows shuts down. It consists of WORD pairs indicating offset and length. Here is an example of what a valid CBSSCBContextRanges entry would look like in an INF's AddReg section:


    HKR,,CBSSCBContextRanges,3,00,00,14,00,20,00,04,00 
The example indicates that 14h bytes located at offset 0 and 4 bytes located at offset 20h of the base address register on the CardBus controller should be saved during Windows boot, and then restored at Windows shut down.

CBSSEXCAContextRanges

CBSSEXCAContextRanges is used to tell Cbss.vxd which ExCA registers on the CardBus controller should be preserved between when Windows boots and when Windows shuts down. It consists of WORD pairs indicating offset and length. Here is an example of what a valid CBSSEXCAContextRanges entry would look like in an INF's AddReg section:


    HKR,,CBSSEXCAContextRanges,3,02,00,45,00,03,01,01,00 
The example indicates that 45h bytes of ExCA register space located at offset 2 and 1 byte of ExCA register space located at offset 103h should be saved during Windows boot and then restored at Windows shutdown.

CBSSIRQMap

CBSSIRQMap is used to tell Cbss.vxd which IRQs can be generated by the CardBus controller, and how they are routed to the interrupt controller. Normally, Cbss.vxd can detect IRQ routing by simply triggering each interrupt on the controller and checking if the IRQ was asserted on the interrupt controller. In some cases however, this detection method can produce erroneous results. In this case, the INF can use the CBSSIRQMap registry value to specify exactly how the IRQs are routed from the CardBus controller to the interrupt controller. Here is an example of the CBSSIRQMap registry value as it would appear in the INF's AddReg section:


    HKR,,CBSSIRQMap,3,00,00,00,03,04,05,00,07,00,09,0A,0B,0C,00,0E,0F 
The CBSSIRQMap consists of 16 ordered hexadecimal byte values that correspond to each of the possible 16 interrupts in the system. If the value for an IRQ is 0, then it indicates that the interrupt is not routed to the interrupt controller. If the value is non-zero, then it indicates that the interrupt is routed to the interrupt controller, and the value indicates which IRQ on the interrupt controller it is routed to.

Additional query words:


Keywords          : kbDDK kbWinOS98 
Version           : WINDOWS:
Platform          : WINDOWS 
Issue type        : kbinfo 

Last Reviewed: May 7, 1999