Home | History | Annotate | Download | only in SmbiosMiscDxe
      1 /** @file
      2 This driver parses the mMiscSubclassDataTable structure and reports
      3 any generated data to the DataHub.
      4 
      5 Copyright (c) 2013-2015 Intel Corporation.
      6 
      7 This program and the accompanying materials
      8 are licensed and made available under the terms and conditions of the BSD License
      9 which accompanies this distribution.  The full text of the license may be found at
     10 http://opensource.org/licenses/bsd-license.php
     11 
     12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 
     16 **/
     17 
     18 
     19 #include "CommonHeader.h"
     20 
     21 #include "SmbiosMisc.h"
     22 
     23 
     24 //
     25 // Static (possibly build generated) Bios Vendor data.
     26 //
     27 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot1) = {
     28   STRING_TOKEN(STR_MISC_SYSTEM_SLOT1),        // SlotDesignation
     29   EfiSlotTypePci,                             // SlotType
     30   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
     31   EfiSlotUsageAvailable,                      // SlotUsage
     32   EfiSlotLengthLong ,                         // SlotLength
     33   1,                                          // SlotId
     34   {                                           // SlotCharacteristics
     35     0,                                        // CharacteristicsUnknown  :1;
     36     0,                                        // Provides50Volts         :1;
     37     1,                                        // Provides33Volts         :1;
     38     0,                                        // SharedSlot              :1;
     39     0,                                        // PcCard16Supported       :1;
     40     0,                                        // CardBusSupported        :1;
     41     0,                                        // ZoomVideoSupported      :1;
     42     0,                                        // ModemRingResumeSupported:1;
     43     1,                                        // PmeSignalSupported      :1;
     44     0,                                        // HotPlugDevicesSupported :1;
     45     1,                                        // SmbusSignalSupported    :1;
     46     0                                         // Reserved                :21;
     47   },
     48   {0}                                           // SlotDevicePath
     49 };
     50 
     51 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot2) = {
     52   STRING_TOKEN(STR_MISC_SYSTEM_SLOT2),        // SlotDesignation
     53   EfiSlotTypePciExpress,                      // SlotType
     54   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
     55   EfiSlotUsageAvailable,                      // SlotUsage
     56   EfiSlotLengthLong ,                         // SlotLength
     57   1,                                          // SlotId
     58   {                                           // SlotCharacteristics
     59     0,                                        // CharacteristicsUnknown  :1;
     60     0,                                        // Provides50Volts         :1;
     61     1,                                        // Provides33Volts         :1;
     62     0,                                        // SharedSlot              :1;
     63     0,                                        // PcCard16Supported       :1;
     64     0,                                        // CardBusSupported        :1;
     65     0,                                        // ZoomVideoSupported      :1;
     66     0,                                        // ModemRingResumeSupported:1;
     67     1,                                        // PmeSignalSupported      :1;
     68     1,                                        // HotPlugDevicesSupported :1;
     69     1,                                        // SmbusSignalSupported    :1;
     70     0                                         // Reserved                :21;
     71   },
     72   {0}                                           // SlotDevicePath
     73 };
     74 
     75 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot3) = {
     76   STRING_TOKEN(STR_MISC_SYSTEM_SLOT3),        // SlotDesignation
     77   EfiSlotTypePciExpress,                      // SlotType
     78   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
     79   EfiSlotUsageAvailable,                      // SlotUsage
     80   EfiSlotLengthLong ,                         // SlotLength
     81   2,                                          // SlotId
     82   {                                           // SlotCharacteristics
     83     0,                                        // CharacteristicsUnknown  :1;
     84     0,                                        // Provides50Volts         :1;
     85     1,                                        // Provides33Volts         :1;
     86     0,                                        // SharedSlot              :1;
     87     0,                                        // PcCard16Supported       :1;
     88     0,                                        // CardBusSupported        :1;
     89     0,                                        // ZoomVideoSupported      :1;
     90     0,                                        // ModemRingResumeSupported:1;
     91     1,                                        // PmeSignalSupported      :1;
     92     1,                                        // HotPlugDevicesSupported :1;
     93     1,                                        // SmbusSignalSupported    :1;
     94     0                                         // Reserved                :21;
     95   },
     96   {0}                                           // SlotDevicePath
     97 };
     98 
     99 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot4) = {
    100   STRING_TOKEN(STR_MISC_SYSTEM_SLOT4),        // SlotDesignation
    101   EfiSlotTypePciExpress,                      // SlotType
    102   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
    103   EfiSlotUsageAvailable,                      // SlotUsage
    104   EfiSlotLengthLong ,                         // SlotLength
    105   2,                                          // SlotId
    106   {                                           // SlotCharacteristics
    107     0,                                        // CharacteristicsUnknown  :1;
    108     0,                                        // Provides50Volts         :1;
    109     1,                                        // Provides33Volts         :1;
    110     0,                                        // SharedSlot              :1;
    111     0,                                        // PcCard16Supported       :1;
    112     0,                                        // CardBusSupported        :1;
    113     0,                                        // ZoomVideoSupported      :1;
    114     0,                                        // ModemRingResumeSupported:1;
    115     1,                                        // PmeSignalSupported      :1;
    116     1,                                        // HotPlugDevicesSupported :1;
    117     1,                                        // SmbusSignalSupported    :1;
    118     0                                         // Reserved                :21;
    119   },
    120   {0}                                           // SlotDevicePath
    121 };
    122 
    123 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot5) = {
    124   STRING_TOKEN(STR_MISC_SYSTEM_SLOT5),        // SlotDesignation
    125   EfiSlotTypePciExpress,                      // SlotType
    126   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
    127   EfiSlotUsageAvailable,                      // SlotUsage
    128   EfiSlotLengthLong ,                         // SlotLength
    129   3,                                          // SlotId
    130   {                                           // SlotCharacteristics
    131     0,                                        // CharacteristicsUnknown  :1;
    132     0,                                        // Provides50Volts         :1;
    133     1,                                        // Provides33Volts         :1;
    134     0,                                        // SharedSlot              :1;
    135     0,                                        // PcCard16Supported       :1;
    136     0,                                        // CardBusSupported        :1;
    137     0,                                        // ZoomVideoSupported      :1;
    138     0,                                        // ModemRingResumeSupported:1;
    139     1,                                        // PmeSignalSupported      :1;
    140     1,                                        // HotPlugDevicesSupported :1;
    141     1,                                        // SmbusSignalSupported    :1;
    142     0                                         // Reserved                :21;
    143   },
    144   {0}                                           // SlotDevicePath
    145 };
    146 
    147 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot6) = {
    148   STRING_TOKEN(STR_MISC_SYSTEM_SLOT6),        // SlotDesignation
    149   EfiSlotTypePciExpress,                      // SlotType
    150   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
    151   EfiSlotUsageAvailable,                      // SlotUsage
    152   EfiSlotLengthLong ,                         // SlotLength
    153   3,                                          // SlotId
    154   {                                           // SlotCharacteristics
    155     0,                                        // CharacteristicsUnknown  :1;
    156     0,                                        // Provides50Volts         :1;
    157     1,                                        // Provides33Volts         :1;
    158     0,                                        // SharedSlot              :1;
    159     0,                                        // PcCard16Supported       :1;
    160     0,                                        // CardBusSupported        :1;
    161     0,                                        // ZoomVideoSupported      :1;
    162     0,                                        // ModemRingResumeSupported:1;
    163     1,                                        // PmeSignalSupported      :1;
    164     1,                                        // HotPlugDevicesSupported :1;
    165     1,                                        // SmbusSignalSupported    :1;
    166     0                                         // Reserved                :21;
    167   },
    168   {0}                                           // SlotDevicePath
    169 };
    170 
    171 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot7) = {
    172   STRING_TOKEN(STR_MISC_SYSTEM_SLOT7),        // SlotDesignation
    173   EfiSlotTypePciExpress,                      // SlotType
    174   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
    175   EfiSlotUsageAvailable,                      // SlotUsage
    176   EfiSlotLengthLong ,                         // SlotLength
    177   3,                                          // SlotId
    178   {                                           // SlotCharacteristics
    179     0,                                        // CharacteristicsUnknown  :1;
    180     0,                                        // Provides50Volts         :1;
    181     1,                                        // Provides33Volts         :1;
    182     0,                                        // SharedSlot              :1;
    183     0,                                        // PcCard16Supported       :1;
    184     0,                                        // CardBusSupported        :1;
    185     0,                                        // ZoomVideoSupported      :1;
    186     0,                                        // ModemRingResumeSupported:1;
    187     1,                                        // PmeSignalSupported      :1;
    188     1,                                        // HotPlugDevicesSupported :1;
    189     1,                                        // SmbusSignalSupported    :1;
    190     0                                         // Reserved                :21;
    191   },
    192   {0}                                           // SlotDevicePath
    193 };
    194 
    195 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot8) = {
    196   STRING_TOKEN(STR_MISC_SYSTEM_SLOT8),        // SlotDesignation
    197   EfiSlotTypePciExpress,                      // SlotType
    198   EfiSlotDataBusWidth32Bit,                   // SlotDataBusWidth
    199   EfiSlotUsageAvailable,                      // SlotUsage
    200   EfiSlotLengthLong ,                         // SlotLength
    201   3,                                          // SlotId
    202   {                                           // SlotCharacteristics
    203     0,                                        // CharacteristicsUnknown  :1;
    204     0,                                        // Provides50Volts         :1;
    205     1,                                        // Provides33Volts         :1;
    206     0,                                        // SharedSlot              :1;
    207     0,                                        // PcCard16Supported       :1;
    208     0,                                        // CardBusSupported        :1;
    209     0,                                        // ZoomVideoSupported      :1;
    210     0,                                        // ModemRingResumeSupported:1;
    211     1,                                        // PmeSignalSupported      :1;
    212     1,                                        // HotPlugDevicesSupported :1;
    213     1,                                        // SmbusSignalSupported    :1;
    214     0                                         // Reserved                :21;
    215   },
    216   {0}                                           // SlotDevicePath
    217 };
    218 
    219 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot9) = {
    220   STRING_TOKEN(STR_MISC_SYSTEM_SLOT9),        // SlotDesignation
    221   EfiSlotTypeUnknown,                         // SlotType
    222   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    223   EfiSlotUsageUnknown,                        // SlotUsage
    224   EfiSlotLengthUnknown ,                      // SlotLength
    225   0,                                          // SlotId
    226   {                                           // SlotCharacteristics
    227     0,                                        // CharacteristicsUnknown  :1;
    228     0,                                        // Provides50Volts         :1;
    229     1,                                        // Provides33Volts         :1;
    230     0,                                        // SharedSlot              :1;
    231     0,                                        // PcCard16Supported       :1;
    232     0,                                        // CardBusSupported        :1;
    233     0,                                        // ZoomVideoSupported      :1;
    234     0,                                        // ModemRingResumeSupported:1;
    235     1,                                        // PmeSignalSupported      :1;
    236     1,                                        // HotPlugDevicesSupported :1;
    237     1,                                        // SmbusSignalSupported    :1;
    238     0                                         // Reserved                :21;
    239   },
    240   {0}                                           // SlotDevicePath
    241 };
    242 
    243 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot10) = {
    244   STRING_TOKEN(STR_MISC_SYSTEM_SLOT10),       // SlotDesignation
    245   EfiSlotTypeUnknown,                         // SlotType
    246   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    247   EfiSlotUsageUnknown,                        // SlotUsage
    248   EfiSlotLengthUnknown ,                      // SlotLength
    249   0,                                          // SlotId
    250   {                                           // SlotCharacteristics
    251     0,                                        // CharacteristicsUnknown  :1;
    252     0,                                        // Provides50Volts         :1;
    253     1,                                        // Provides33Volts         :1;
    254     0,                                        // SharedSlot              :1;
    255     0,                                        // PcCard16Supported       :1;
    256     0,                                        // CardBusSupported        :1;
    257     0,                                        // ZoomVideoSupported      :1;
    258     0,                                        // ModemRingResumeSupported:1;
    259     1,                                        // PmeSignalSupported      :1;
    260     1,                                        // HotPlugDevicesSupported :1;
    261     1,                                        // SmbusSignalSupported    :1;
    262     0                                         // Reserved                :21;
    263   },
    264   {0}                                           // SlotDevicePath
    265 };
    266 
    267 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot11) = {
    268   STRING_TOKEN(STR_MISC_SYSTEM_SLOT11),       // SlotDesignation
    269   EfiSlotTypeUnknown,                         // SlotType
    270   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    271   EfiSlotUsageUnknown,                        // SlotUsage
    272   EfiSlotLengthUnknown ,                      // SlotLength
    273   0,                                          // SlotId
    274   {                                           // SlotCharacteristics
    275     0,                                        // CharacteristicsUnknown  :1;
    276     0,                                        // Provides50Volts         :1;
    277     1,                                        // Provides33Volts         :1;
    278     0,                                        // SharedSlot              :1;
    279     0,                                        // PcCard16Supported       :1;
    280     0,                                        // CardBusSupported        :1;
    281     0,                                        // ZoomVideoSupported      :1;
    282     0,                                        // ModemRingResumeSupported:1;
    283     1,                                        // PmeSignalSupported      :1;
    284     1,                                        // HotPlugDevicesSupported :1;
    285     1,                                        // SmbusSignalSupported    :1;
    286     0                                         // Reserved                :21;
    287   },
    288   {0}                                           // SlotDevicePath
    289 };
    290 
    291 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot12) = {
    292   STRING_TOKEN(STR_MISC_SYSTEM_SLOT12),       // SlotDesignation
    293   EfiSlotTypeUnknown,                         // SlotType
    294   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    295   EfiSlotUsageUnknown,                        // SlotUsage
    296   EfiSlotLengthUnknown ,                      // SlotLength
    297   0,                                          // SlotId
    298   {                                           // SlotCharacteristics
    299     0,                                        // CharacteristicsUnknown  :1;
    300     0,                                        // Provides50Volts         :1;
    301     1,                                        // Provides33Volts         :1;
    302     0,                                        // SharedSlot              :1;
    303     0,                                        // PcCard16Supported       :1;
    304     0,                                        // CardBusSupported        :1;
    305     0,                                        // ZoomVideoSupported      :1;
    306     0,                                        // ModemRingResumeSupported:1;
    307     1,                                        // PmeSignalSupported      :1;
    308     1,                                        // HotPlugDevicesSupported :1;
    309     1,                                        // SmbusSignalSupported    :1;
    310     0                                         // Reserved                :21;
    311   },
    312   {0}                                           // SlotDevicePath
    313 };
    314 
    315 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot13) = {
    316   STRING_TOKEN(STR_MISC_SYSTEM_SLOT13),       // SlotDesignation
    317   EfiSlotTypeUnknown,                         // SlotType
    318   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    319   EfiSlotUsageUnknown,                        // SlotUsage
    320   EfiSlotLengthUnknown ,                      // SlotLength
    321   0,                                          // SlotId
    322   {                                           // SlotCharacteristics
    323     0,                                        // CharacteristicsUnknown  :1;
    324     0,                                        // Provides50Volts         :1;
    325     1,                                        // Provides33Volts         :1;
    326     0,                                        // SharedSlot              :1;
    327     0,                                        // PcCard16Supported       :1;
    328     0,                                        // CardBusSupported        :1;
    329     0,                                        // ZoomVideoSupported      :1;
    330     0,                                        // ModemRingResumeSupported:1;
    331     1,                                        // PmeSignalSupported      :1;
    332     1,                                        // HotPlugDevicesSupported :1;
    333     1,                                        // SmbusSignalSupported    :1;
    334     0                                         // Reserved                :21;
    335   },
    336   {0}                                           // SlotDevicePath
    337 };
    338 
    339 MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION, MiscSystemSlot14) = {
    340   STRING_TOKEN(STR_MISC_SYSTEM_SLOT14),       // SlotDesignation
    341   EfiSlotTypeUnknown,                         // SlotType
    342   EfiSlotDataBusWidthUnknown,                 // SlotDataBusWidth
    343   EfiSlotUsageUnknown,                        // SlotUsage
    344   EfiSlotLengthUnknown ,                      // SlotLength
    345   0,                                          // SlotId
    346   {                                           // SlotCharacteristics
    347     0,                                        // CharacteristicsUnknown  :1;
    348     0,                                        // Provides50Volts         :1;
    349     1,                                        // Provides33Volts         :1;
    350     0,                                        // SharedSlot              :1;
    351     0,                                        // PcCard16Supported       :1;
    352     0,                                        // CardBusSupported        :1;
    353     0,                                        // ZoomVideoSupported      :1;
    354     0,                                        // ModemRingResumeSupported:1;
    355     1,                                        // PmeSignalSupported      :1;
    356     1,                                        // HotPlugDevicesSupported :1;
    357     1,                                        // SmbusSignalSupported    :1;
    358     0                                         // Reserved                :21;
    359   },
    360   {0}                                           // SlotDevicePath
    361 };
    362 
    363 
    364