3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
12 MiscSubclassDriverDataTable.c
16 Create the mMiscSubclassDataTable structure, and it is used to report
17 any generate data to the DataHub.
23 #include "CommonHeader.h"
25 #include "MiscSubclassDriver.h"
28 // External definitions referenced by Data Table entries.
30 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_BIOS_VENDOR_DATA
, MiscBiosVendor
, MiscBiosVendor
);
31 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_MANUFACTURER_DATA
, MiscSystemManufacturer
, MiscSystemManufacturer
);
32 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_BASE_BOARD_MANUFACTURER_DATA
, MiscBaseBoardManufacturer
, MiscBaseBoardManufacturer
);
33 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_CHASSIS_MANUFACTURER_DATA
, MiscChassisManufacturer
, MiscChassisManufacturer
);
34 MISC_SMBIOS_TABLE_EXTERNS(EFI_CACHE_VARIABLE_RECORD
, MiscProcessorCache
, MiscProcessorCache
); //type 7
35 MISC_SMBIOS_TABLE_EXTERNS(EFI_CPU_DATA_RECORD
, MiscProcessorInformation
, MiscProcessorInformation
); //type 4
36 MISC_SMBIOS_TABLE_EXTERNS(EFI_MEMORY_ARRAY_LOCATION_DATA
, MiscPhysicalMemoryArray
,MiscPhysicalMemoryArray
);
37 MISC_SMBIOS_TABLE_EXTERNS(EFI_MEMORY_ARRAY_LINK_DATA
, MiscMemoryDevice
, MiscMemoryDevice
);
39 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA
, MiscPortIde1
, MiscPortInternalConnectorDesignator
);
40 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA
, MiscPortIde2
, MiscPortInternalConnectorDesignator
);
41 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA
, MiscPortAtxPower
, MiscPortInternalConnectorDesignator
);
42 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx16Slot1
, MiscSystemSlotDesignation
);
43 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx16Slot2
, MiscSystemSlotDesignation
);
44 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx4
, MiscSystemSlotDesignation
);
45 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx1Slot1
, MiscSystemSlotDesignation
);
46 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx1Slot2
, MiscSystemSlotDesignation
);
47 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCIEx1Slot3
, MiscSystemSlotDesignation
);
48 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCI1
, MiscSystemSlotDesignation
);
49 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCI2
, MiscSystemSlotDesignation
);
50 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA
, MiscSystemSlotPCI3
, MiscSystemSlotDesignation
);
51 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_ONBOARD_DEVICE_DATA
, MiscOnboardDeviceVideo
, MiscOnboardDevice
);
52 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_ONBOARD_DEVICE_DATA
, MiscOnboardDeviceNetwork
, MiscOnboardDevice
);
53 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_ONBOARD_DEVICE_DATA
, MiscOnboardDeviceAudio
, MiscOnboardDevice
);
54 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA
, NumberOfInstallableLanguages
, NumberOfInstallableLanguages
);
55 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA
, SystemLanguageString
, SystemLanguageString
);
56 MISC_SMBIOS_TABLE_EXTERNS(EFI_MISC_BOOT_INFORMATION_STATUS_DATA
, BootInformationStatus
, BootInformationStatus
);
61 EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable
[] = {
62 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscBiosVendor
, MiscBiosVendor
),
63 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemManufacturer
, MiscSystemManufacturer
),
64 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscBaseBoardManufacturer
, MiscBaseBoardManufacturer
),
65 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscChassisManufacturer
, MiscChassisManufacturer
),
66 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscProcessorCache
, MiscProcessorCache
), //type 7
67 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscProcessorInformation
, MiscProcessorInformation
), //type 4
68 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscPhysicalMemoryArray
, MiscPhysicalMemoryArray
), //Type 16
69 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscMemoryDevice
, MiscMemoryDevice
), //Type 17
70 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscPortIde1
, MiscPortInternalConnectorDesignator
),
71 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscPortIde2
, MiscPortInternalConnectorDesignator
),
72 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscPortAtxPower
, MiscPortInternalConnectorDesignator
),
73 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx16Slot1
, MiscSystemSlotDesignation
),
74 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx16Slot2
, MiscSystemSlotDesignation
),
75 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx4
, MiscSystemSlotDesignation
),
76 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx1Slot1
, MiscSystemSlotDesignation
),
77 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx1Slot2
, MiscSystemSlotDesignation
),
78 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCIEx1Slot3
, MiscSystemSlotDesignation
),
79 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCI1
, MiscSystemSlotDesignation
),
80 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCI2
, MiscSystemSlotDesignation
),
81 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscSystemSlotPCI3
, MiscSystemSlotDesignation
),
82 #if defined( ALWAYS_DISABLE_ONBOARD_VIDEO ) && \
83 ( ALWAYS_DISABLE_ONBOARD_VIDEO != 0 )
84 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscOnboardDeviceNetwork
, MiscOnboardDevice
),
85 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscOnboardDeviceAudio
, MiscOnboardDevice
),
87 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscOnboardDeviceVideo
, MiscOnboardDevice
),
88 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(MiscOnboardDeviceAudio
, MiscOnboardDevice
),
90 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(SystemLanguageString
, SystemLanguageString
),
91 MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(BootInformationStatus
, BootInformationStatus
),
95 // Number of Data Table entries.
97 UINTN mMiscSubclassDataTableEntries
=
98 (sizeof mMiscSubclassDataTable
) / sizeof(EFI_MISC_SMBIOS_DATA_TABLE
);