/** @file This file includes two parts. 1. Define the platform channel slot map. 2. Modify default String definitions for Smbios Memory SubClass data.(smbiosmeorystrings.uni) by OEM ;****************************************************************************** ;* Copyright (c) 2014, Insyde Software Corporation. All Rights Reserved. ;* ;* You may not reproduce, distribute, publish, display, perform, modify, adapt, ;* transmit, broadcast, present, recite, release, license or otherwise exploit ;* any part of this publication in any form, by any means, without the prior ;* written permission of Insyde Software Corporation. ;* ;****************************************************************************** */ #ifndef _OEM_SMBIOS_MEMORY_H_ #define _OEM_SMBIOS_MEMORY_H_ /********************************************** Define the every channel slots map **********************************************/ #define PRESENT 1 #define NOT_PRESENT 0 #define CHANNELA_SLOT1 PRESENT #define CHANNELA_SLOT2 PRESENT #define CHANNELB_SLOT1 PRESENT #define CHANNELB_SLOT2 PRESENT // Bit 0: Slot 1 of the channel // Bit 1: Slot 2 of the channel #define CHANNELA_SLOT_MAP (UINT8) ((CHANNELA_SLOT2 << 1) | (CHANNELA_SLOT1)) #define CHANNELB_SLOT_MAP (UINT8) ((CHANNELB_SLOT2 << 1) | (CHANNELB_SLOT1)) /********************************************* Define OEM want change the string *********************************************/ // // Swithch of the SMBIOS string hook. // #define ENABLE_HOOK 1 #define DISABLE_HOOK 0 #define SMBIOS_MEMORY_STR_HOOK ENABLE_HOOK // // New strings define. // #define SMBIOS_MEMORY_STRING_HOOK_LIST \ { \ { STRING_TOKEN (STR_MEMORY_SUBCLASS_DEVICE_LOCATOR_2), L"DIMM1" }, \ { 0xFFFF, NULL }\ } // // The below is sample. If you want to modify smbiosmemorystrings.uni, You can refer // the below sample to add a data in the above SMBIOS_MEMORY_STRING_HOOK_LIST // // SMBIOSMemoryStrings.uni : udpate strings // STR_MEMORY_SUBCLASS_DEVICE_LOCATOR_0 "MyDimm0" // STR_MEMORY_SUBCLASS_DEVICE_LOCATOR_2 "MyDimm1" // STR_MEMORY_SUBCLASS_BANK_LOCATOR_0 "MyBank0" // STR_MEMORY_SUBCLASS_BANK_LOCATOR_2 "MyBank1" // // #define SMBIOS_MEMORY_STRING_HOOK_LIST \ // { \ // { STRING_TOKEN (STR_MEMORY_SUBCLASS_DEVICE_LOCATOR_0), L"MyDimm0" }, \ // { STRING_TOKEN (STR_MEMORY_SUBCLASS_DEVICE_LOCATOR_2), L"MyDimm1" }, \ // { STRING_TOKEN (STR_MEMORY_SUBCLASS_BANK_LOCATOR_0), L"MyBank0" }, \ // { STRING_TOKEN (STR_MEMORY_SUBCLASS_BANK_LOCATOR_2), L"MyBank1" }, \ // { STRING_TOKEN (STR_MEMORY_SUBCLASS_ASSET_TAG), L"Asset Tag" }, \ // { 0xFFFF, NULL }\ // } /********************************************* Define the Memory form factor by platform *********************************************/ // // According to EFI_MEMORY_FORM_FACTOR to define the memory form factor // EfiMemoryFormFactorOther // EfiMemoryFormFactorUnknown // EfiMemoryFormFactorSimm // EfiMemoryFormFactorSip // EfiMemoryFormFactorChip // EfiMemoryFormFactorDip // EfiMemoryFormFactorZip // EfiMemoryFormFactorProprietaryCard // EfiMemoryFormFactorDimm // EfiMemoryFormFactorTsop // EfiMemoryFormFactorRowOfChips // EfiMemoryFormFactorRimm // EfiMemoryFormFactorSodimm // EfiMemoryFormFactorSrimm // EfiMemoryFormFactorFbDimm #define MEM_FORM_FACTOR EfiMemoryFormFactorDimm /********************************************* Define Type17 Offset 15h/ 20h unit (If define, use "Clock rate" as the unit of measurement) *********************************************/ //// //// Type 17 Offset 15h //// //#define USE_CLOCK_RATE_AS_THE_UNIT_OF_MAX_CAPABLE_SPEED // //// //// Type 17 Offset 20h //// //#define USE_CLOCK_RATE_AS_THE_UNIT_OF_CONFIGURED_CLOCK_SPEED /********************************************* Define On Broard SPD Data *********************************************/ // //#define USE_CUSTOMER_SPD_DATA TRUE // //#define CHANNEL_A 0 //#define CHANNEL_B 1 // //#define DIMM0 0 //#define DIMM1 1 // //// //// Please fill the 256 Bytes for every SPD. //// //// If the Manufacture, Serial Number, Part Number want to display "Unknow", //// please fill the 0xFF at offset 117~118(Manufacture), 122~125(Serial Number), //// 128~145(Part Number). //// //#define SPD_CHANLA_DIMM0_DATA \ // 0x92,0x05,0x0B,0x03,0x02,0x11,0x00,0x09,0x03,0x52,0x01,0x08,0x0F,0x00,0x1C,0x00,\ // 0x69,0x78,0x69,0x3C,0x69,0x11,0x2C,0x95,0x70,0x03,0x3C,0x3C,0x01,0x2C,0x83,0x01,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x11,0x05,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x01,0x4F,0x54,0x09,0x42,0x00,0x08,0x2E,0xB3,0xA4,0x8B,\ // 0x54,0x53,0x32,0x35,0x36,0x4D,0x53,0x4B,0x36,0x34,0x56,0x31,0x55,0x20,0x20,0x20,\ // 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x70,0x61,0x73,0x73,0x47,0x50,0x34,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x70,0x61,0x73,0x73,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // //#define SPD_CHANLB_DIMM0_DATA \ // 0x92,0x05,0x0B,0x03,0x02,0x11,0x00,0x09,0x03,0x52,0x01,0x08,0x0F,0x00,0x1C,0x00,\ // 0x69,0x78,0x69,0x3C,0x69,0x11,0x2C,0x95,0x70,0x03,0x3C,0x3C,0x01,0x2C,0x83,0x01,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x11,0x05,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x01,0x4F,0x54,0x09,0x42,0x00,0x08,0x2E,0xB3,0xA4,0x8B,\ // 0x54,0x53,0x32,0x35,0x36,0x4D,0x53,0x4B,0x36,0x34,0x56,0x31,0x55,0x20,0x20,0x20,\ // 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x70,0x61,0x73,0x73,0x47,0x50,0x34,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x70,0x61,0x73,0x73,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // //#define CUSTOMER_SPD {CHANNEL_A, DIMM0, {SPD_CHANLA_DIMM0_DATA}},\ // {CHANNEL_B, DIMM0, {SPD_CHANLB_DIMM0_DATA}},\ // // Partition row position of Smbios memory device mapped address (type 20) // The default value is 0xFF. By Smbios' definition: // Identifies the position of the referenced Memory Device in a row of the // address partition. For example, if two 8-bit devices form a 16-bit row, // this field!|s value is either 1 or 2. The value 0 is reserved. If the // position is unknown, the field contains FFh. // #define MEMORY_PARTITION_ROW_POSITION 0xFF // 1 or 2 will be applicable for lock step mode #endif