diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ea9d71e..a1e1cef9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -640,11 +640,11 @@ if((ASCIIDOCTOR_FOUND OR A2X_FOUND) AND LNX_BUILD) set(DOCUMENTATION_INPUT_FILES ${ROOT}/Documentation/ipmctl/ipmctl.txt - ${ROOT}/Documentation/ipmctl/DIMM_Discovery/ipmctl-show-device.txt - ${ROOT}/Documentation/ipmctl/DIMM_Discovery/ipmctl-show-memory-resources.txt - ${ROOT}/Documentation/ipmctl/DIMM_Discovery/ipmctl-show-socket.txt - ${ROOT}/Documentation/ipmctl/DIMM_Discovery/ipmctl-show-system-capabilities.txt - ${ROOT}/Documentation/ipmctl/DIMM_Discovery/ipmctl-show-topology.txt + ${ROOT}/Documentation/ipmctl/Discovery/ipmctl-show-device.txt + ${ROOT}/Documentation/ipmctl/Discovery/ipmctl-show-memory-resources.txt + ${ROOT}/Documentation/ipmctl/Discovery/ipmctl-show-socket.txt + ${ROOT}/Documentation/ipmctl/Discovery/ipmctl-show-system-capabilities.txt + ${ROOT}/Documentation/ipmctl/Discovery/ipmctl-show-topology.txt ${ROOT}/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-passphrase.txt ${ROOT}/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-security.txt ${ROOT}/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-create-goal.txt diff --git a/DcpmPkg/cli/CommandParser.h b/DcpmPkg/cli/CommandParser.h index faf284e4..7014a61b 100644 --- a/DcpmPkg/cli/CommandParser.h +++ b/DcpmPkg/cli/CommandParser.h @@ -10,6 +10,7 @@ #include #include #include +#include #define DISP_NAME_LEN 32 //!< Display string length (used when formatting output in alternative formats) #define DISP_DELIMS_LEN 10 //!< Deliminter string length (used when formatting output in alternative formats) @@ -63,7 +64,7 @@ #define FORCE_OPTION_DETAILS_TEXT L"Suppress confirmations" //!< 'force' option help text detail #define RECOVER_OPTION L"-recover" //!< 'recover' option name #define RECOVER_OPTION_FLASH_SPI L"FlashSPI" //!< 'recover' option value to FlashSpi during update -#define RECOVER_OPTION_DETAILS_TEXT L"Run update on non-functional DCPMMs only (deprecated) or run SPI Flash recovery" //!< 'recover' option value to FlashSpi during update +#define RECOVER_OPTION_DETAILS_TEXT L"Run update on non-functional" PMEM_MODULES_STR L"only (deprecated) or run SPI Flash recovery" //!< 'recover' option value to FlashSpi during update #define UNITS_OPTION L"-units" //!< 'units' option name #define UNITS_OPTION_B L"B" //!< 'units' option value for B #define UNITS_OPTION_MB L"MB" //!< 'units' option value for MB @@ -261,18 +262,18 @@ #define DCPMM_PERFORMANCE_TOTAL_WRITE_REQUESTS L"TotalWriteRequests" /** Sensor Detail Messages **/ -#define DIMM_HEALTH_STR_DETAIL L"Health - The current DCPMM health as reported in the SMART log" -#define MEDIA_TEMPERATURE_STR_DETAIL L"MediaTemperature-The current DCPMM media temperature in Celsius" -#define CONTROLLER_TEMPERATURE_STR_DETAIL L"ControllerTemperature - The current DCPMM controller temperature in Celsius" -#define SPARE_CAPACITY_STR_DETAIL L"PercentageRemaining - Remaining DCPMMs life as a percentage value of factory expected\ +#define DIMM_HEALTH_STR_DETAIL L"Health - The current " PMEM_MODULE_STR L" health as reported in the SMART log" +#define MEDIA_TEMPERATURE_STR_DETAIL L"MediaTemperature - The current " PMEM_MODULE_STR L" media temperature in Celsius" +#define CONTROLLER_TEMPERATURE_STR_DETAIL L"ControllerTemperature - The current " PMEM_MODULE_STR " controller temperature in Celsius" +#define SPARE_CAPACITY_STR_DETAIL L"PercentageRemaining - Remaining " PMEM_MODULES_STR L" life as a percentage value of factory expected\ life spa" #define LATCHED_DIRTY_SHUTDOWN_COUNT_STR_DETAIL L"LatchedDirtyShutdownCount - The number of shutdowns without notification over the lifetime of\ - the DCPMM" + the " PMEM_MODULE_STR #define UNLATCHED_DIRTY_SHUTDOWN_COUNT_STR_DETAIL L"UnlatchedDirtyShutdownCount - The number of shutdowns without notification over the lifetime of\ - the DCPMM." -#define POWER_ON_TIME_STR_DETAIL L"PowerOnTime - The total power-on time over the lifetime of the DCPMM" -#define UPTIME_STR_DETAIL L"UpTime - The total power-on time since the last power cycle of the DCPMM" -#define POWER_CYCLES_STR_DETAIL L"PowerCycles - The number of power cycles over the lifetime of the DCPMM" + the " PMEM_MODULE_STR L"." +#define POWER_ON_TIME_STR_DETAIL L"PowerOnTime - The total power-on time over the lifetime of the " PMEM_MODULE_STR +#define UPTIME_STR_DETAIL L"UpTime - The total power-on time since the last power cycle of the " PMEM_MODULE_STR +#define POWER_CYCLES_STR_DETAIL L"PowerCycles - The number of power cycles over the lifetime of the " PMEM_MODULE_STR #define FW_ERROR_COUNT_STR_DETAIL L"FwErrorCount - The total number of firmware error log entries" diff --git a/DcpmPkg/cli/Common.c b/DcpmPkg/cli/Common.c index 0dc015d4..ee7b2d8a 100644 --- a/DcpmPkg/cli/Common.c +++ b/DcpmPkg/cli/Common.c @@ -494,7 +494,7 @@ GetDimmIdsFromString( if (!DimmIdFound) { Rc = EFI_NOT_FOUND; - PRINTER_SET_MSG(pCmd->pPrintCtx, Rc, L"DIMM not found. Invalid DimmID: " FORMAT_STR_NL, ppDimmIdTokensStr[Index]); + PRINTER_SET_MSG(pCmd->pPrintCtx, Rc, PMEM_MODULE_STR L" not found. Invalid DimmID: " FORMAT_STR_NL, ppDimmIdTokensStr[Index]); goto FinishError; } } diff --git a/DcpmPkg/cli/Common.h b/DcpmPkg/cli/Common.h index 5413d306..7e3f95e9 100644 --- a/DcpmPkg/cli/Common.h +++ b/DcpmPkg/cli/Common.h @@ -30,7 +30,7 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ARGS_STR L"Args" #define TAG_STR L"Tag" #define DDR_STR L"DDR" -#define DCPMM_STR L"DCPMM" +// Find PMEM_MODULE_STR in CommandParser.h #define TOTAL_STR L"Total" #define MEMORY_TYPE_STR L"MemoryType" @@ -76,8 +76,8 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ERR_FAILED_TO_FIND_PROTOCOL L"Error: DCPMM_CONFIG2_PROTOCOL not found." #define CLI_ERR_INVALID_REGION_ID L"Error: The region identifier is not valid." #define CLI_ERR_INVALID_NAMESPACE_ID L"Error: The namespace identifier is not valid." -#define CLI_ERR_NO_DIMMS_ON_SOCKET L"Error: There are no DIMMs on the specified socket(s)." -#define CLI_ERR_NO_SPECIFIED_DIMMS_ON_SPECIFIED_SOCKET L"Error: None of the specified dimm(s) belong to the specified socket(s)." +#define CLI_ERR_NO_DIMMS_ON_SOCKET L"Error: There are no " PMEM_MODULES_STR L" on the specified socket(s)." +#define CLI_ERR_NO_SPECIFIED_DIMMS_ON_SPECIFIED_SOCKET L"Error: None of the specified " PMEM_MODULE_STR L"(s) belong to the specified socket(s)." #define CLI_ERR_INVALID_SOCKET_ID L"Error: The socket identifier is not valid." #define CLI_ERR_OUT_OF_MEMORY L"Error: There is not enough memory to complete the requested operation." #define CLI_ERR_WRONG_FILE_PATH L"Error: Wrong file path." @@ -91,7 +91,7 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ERR_POPULATION_VIOLATION L"Error: The specified device is in population violation." #define CLI_ERR_REGION_TO_SOCKET_MAPPING L"The specified region id might not exist on the specified Socket(s).\n" #define CLI_ERR_PCD_CORRUPTED L"Error: Unable to complete operation due to existing PCD Configuration partition corruption. Use create -f -goal to override current PCD and create goal." -#define CLI_ERR_OPENING_PBR_PROTOCOL L"Error: Communication with the device driver failed. Failed to obtain PBR protocol." +#define CLI_ERR_OPENING_PBR_PROTOCOL L"Error: Communication with the device driver failed. Failed to obtain PBR protocol." #define CLI_ERR_NMFM_LOWER_VIOLATION L"WARNING! The requested memory mode size for 2LM goal is below the recommended NM:FM limit of 1:%d" #define CLI_ERR_NMFM_UPPER_VIOLATION L"WARNING! The requested memory mode size for 2LM goal is above the recommended NM:FM limit of 1:%d" @@ -155,11 +155,11 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ERR_PROPERTIES_MEMORYMODE_RESERVED_TOO_LARGE L"Syntax Error: Properties MemoryMode and Reserved cannot sum greater than 100%%%%" //%%%% because format string is processed twice -#define CLI_INFO_NO_DIMMS L"No DIMMs in the system." -#define CLI_INFO_NO_FUNCTIONAL_DIMMS L"No functional DIMMs in the system." +#define CLI_INFO_NO_DIMMS L"No " PMEM_MODULES_STR L" in the system." +#define CLI_INFO_NO_FUNCTIONAL_DIMMS L"No functional " PMEM_MODULES_STR L" in the system." #define CLI_INFO_NO_REGIONS L"There are no Regions defined in the system." -#define CLI_INFO_NO_MANAGEABLE_DIMMS L"No manageable DIMMs in the system." -#define CLI_INFO_NO_NON_FUNCTIONAL_DIMMS L"No non-functional DIMMs in the system." +#define CLI_INFO_NO_MANAGEABLE_DIMMS L"No manageable " PMEM_MODULES_STR L" in the system." +#define CLI_INFO_NO_NON_FUNCTIONAL_DIMMS L"No non-functional " PMEM_MODULES_STR L" in the system." #define CLI_INFO_SHOW_REGION L"Show Region" #define CLI_INFO_NO_NAMESPACES_DEFINED L"No Namespaces defined in the system." #define CLI_INFO_SHOW_NAMESPACE L"Show Namespace" @@ -167,10 +167,10 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_INFO_DELETE_NAMESPACE L"Delete Namespace" #define CLI_INFO_DUMP_DEBUG_LOG L"Dump Debug Log" #define CLI_INFO_LOAD_GOAL L"Load Goal" -#define CLI_INFO_LOAD_GOAL_CONFIRM_PROMPT L"Load the configuration goal from '" FORMAT_STR L"' which will delete existing data and provision the capacity of the DIMMs on the next reboot." +#define CLI_INFO_LOAD_GOAL_CONFIRM_PROMPT L"Load the configuration goal from '" FORMAT_STR L"' which will delete existing data and provision the capacity of the " PMEM_MODULES_STR L" on the next reboot." #define CLI_INFO_SHOW_REGISTER L"Show Register" -#define CLI_ERR_MASTER_PASSPHRASE_NOT_ENABLED L"Master Passphrase not enabled on specified dimms." +#define CLI_ERR_MASTER_PASSPHRASE_NOT_ENABLED L"Master Passphrase not enabled on specified " PMEM_MODULES_STR L"." #define CLI_ERR_MISSING_PASSPHRASE_PROPERTY L"Syntax Error: Passphrase property not provided." #define CLI_ERR_DEFAULT_OPTION_NOT_COMBINED L"Syntax Error: Default option should be given in combination with master option." #define CLI_ERR_DEFAULT_OPTION_PASSPHRASE_PROPERTY_USED_TOGETHER L"Syntax Error: Passphrase property and default option cannot be used together." @@ -178,7 +178,7 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ERR_FORCE_REQUIRED L"Error: This command requires force option." #define CLI_ERR_INVALID_BLOCKSIZE_FOR_CAPACITY L"Error: Capacity property can only be used with 512 or 4096 bytes block size." #define CLI_ERR_INVALID_NAMESPACE_CAPACITY L"Error: Invalid value for namespace capacity." -#define CLI_ERR_SOME_VALUES_NOT_SUPPORTED L"Error: One or more of the fields specified are not supported on all the DIMMs." +#define CLI_ERR_SOME_VALUES_NOT_SUPPORTED L"Error: One or more of the fields specified are not supported on all the " PMEM_MODULES_STR L"." #define CLI_ERR_VERSION_RETRIEVE L": Unable to retrieve version from FW image." #define CLI_ERR_PRINTING_DIAGNOSTICS_RESULTS L"Error: Printing of diagnostics results failed." #define CLI_INJECT_ERROR_FAILED L"Error: Inject error command failed" @@ -190,9 +190,9 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_INFO_LOAD_FW L"Load FW" #define CLI_INFO_LOAD_RECOVER_FW L"Load recovery FW" -#define CLI_INFO_LOAD_RECOVER_INVALID_DIMM L"The specified dimm does not exist or is not in a non-functional state." +#define CLI_INFO_LOAD_RECOVER_INVALID_DIMM L"The specified " PMEM_MODULE_STR L" does not exist or is not in a non-functional state." #define CLI_INFO_ON L" on" -#define CLI_PROGRESS_STR L"\rOperation on DIMM 0x%04x Progress: %d%%" +#define CLI_PROGRESS_STR L"\rOperation on " PMEM_MODULE_STR L" 0x%04x Progress: %d%%" #define CLI_LOAD_MFG_FW L"MFG Load Prod FW" #define CLI_INJECT_MFG L"MFG Inject command" @@ -225,14 +225,14 @@ typedef struct _CMD_DISPLAY_OPTIONS { #define CLI_ERR_DISPLAY_PREFERENCES_RETRIEVE L"Unable to retrieve user display preferences." -#define CLI_DOWNGRADE_PROMPT L"Downgrade firmware on DIMM " FORMAT_STR L"?" +#define CLI_DOWNGRADE_PROMPT L"Downgrade firmware on " PMEM_MODULE_STR L" " FORMAT_STR L"?" -#define CLI_RECOVER_DIMM_PROMPT_STR L"Recover dimm:" +#define CLI_RECOVER_DIMM_PROMPT_STR L"Recover " PMEM_MODULE_STR L":" #define CLI_FORMAT_DIMM_REBOOT_REQUIRED_STR L"A power cycle is required after a device format." -#define CLI_FORMAT_DIMM_PROMPT_STR L"This operation will take several minutes to complete and will erase all data on DIMM " +#define CLI_FORMAT_DIMM_PROMPT_STR L"This operation will take several minutes to complete and will erase all data on " PMEM_MODULE_STR L" " #define CLI_INFO_START_FORMAT L"Format" -#define CLI_FORMAT_DIMM_STARTING_FORMAT L"Formatting DIMM(s)..." +#define CLI_FORMAT_DIMM_STARTING_FORMAT L"Formatting " PMEM_MODULE_STR L"(s)..." #define CLI_INFO_DUMP_SUPPORT_SUCCESS L"Dump support data successfully written to " FORMAT_STR L"." #define CLI_INFO_DUMP_CONFIG_SUCCESS L"Successfully dumped system configuration to file: " FORMAT_STR_NL diff --git a/DcpmPkg/cli/CreateGoalCommand.c b/DcpmPkg/cli/CreateGoalCommand.c index 20f00ebc..6f00f0b9 100644 --- a/DcpmPkg/cli/CreateGoalCommand.c +++ b/DcpmPkg/cli/CreateGoalCommand.c @@ -50,7 +50,7 @@ struct Command CreateGoalCommand = {RESERVED_PROPERTY, L"", HELP_TEXT_PERCENT, FALSE, ValueRequired}, {NS_LABEL_VERSION_PROPERTY, L"", HELP_TEXT_NS_LABEL_VERSION, FALSE, ValueRequired} }, - L"Provision capacity on one or more DCPMMs into regions.", //!< help + L"Provision capacity on one or more " PMEM_MODULES_STR L" into regions.", //!< help CreateGoal, TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/DeleteDimmCommand.c b/DcpmPkg/cli/DeleteDimmCommand.c index 7db582bf..a17e3c83 100644 --- a/DcpmPkg/cli/DeleteDimmCommand.c +++ b/DcpmPkg/cli/DeleteDimmCommand.c @@ -38,7 +38,7 @@ struct Command DeleteDimmCommand = }, {{DIMM_TARGET, L"", HELP_TEXT_DIMM_IDS, TRUE, ValueOptional}}, //!< targets {{PASSPHRASE_PROPERTY, L"", HELP_TEXT_STRING, FALSE, ValueOptional}}, //!< properties - L"Erase persistent data on one or more DCPMMs.", //!< help + L"Erase persistent data on one or more " PMEM_MODULES_STR L".", //!< help DeleteDimm, TRUE }; @@ -295,7 +295,7 @@ DeleteDimm( if (EFI_ERROR(ReturnCode)) { goto Finish; } - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Erasing DIMM " FORMAT_STR L".", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Erasing " PMEM_MODULE_STR L" " FORMAT_STR L".", DimmStr); ReturnCode = PromptYesNo(&Confirmation); if (!EFI_ERROR(ReturnCode) && Confirmation) { ReturnCode = pNvmDimmConfigProtocol->SetSecurityState(pNvmDimmConfigProtocol,&pDimmIds[Index], 1, @@ -304,7 +304,7 @@ DeleteDimm( goto FinishCommandStatusSet; } } else { - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipped erasing data from DIMM " FORMAT_STR L"\n", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipped erasing data from " PMEM_MODULE_STR L" " FORMAT_STR L"\n", DimmStr); continue; } } diff --git a/DcpmPkg/cli/DeleteGoalCommand.c b/DcpmPkg/cli/DeleteGoalCommand.c index f1e2859b..bec9fb70 100644 --- a/DcpmPkg/cli/DeleteGoalCommand.c +++ b/DcpmPkg/cli/DeleteGoalCommand.c @@ -36,7 +36,7 @@ struct Command DeleteGoalCommand = {SOCKET_TARGET, L"", HELP_TEXT_SOCKET_IDS, FALSE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Delete the region configuration goal from one or more DCPMMs.", //!< help + L"Delete the region configuration goal from one or more " PMEM_MODULES_STR L".", //!< help DeleteGoal, TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/DeletePcdCommand.c b/DcpmPkg/cli/DeletePcdCommand.c index 835225e8..7a6446d3 100644 --- a/DcpmPkg/cli/DeletePcdCommand.c +++ b/DcpmPkg/cli/DeletePcdCommand.c @@ -37,7 +37,7 @@ struct Command DeletePcdCommand = , TRUE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Clear the namespace LSA partition on one or more DCPMMs.", //!< help + L"Clear the namespace LSA partition on one or more " PMEM_MODULES_STR L".", //!< help DeletePcdCmd, TRUE //!< enable print control support }; @@ -172,7 +172,7 @@ DeletePcdCmd( #ifdef OS_BUILD ReturnCode = EFI_INVALID_PARAMETER; PRINTER_SET_MSG(pPrinterCtx, ReturnCode, CLI_ERR_INCORRECT_VALUE_TARGET_PCD); - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"LSA option not available. Refer to your OSV tools for DCPMM namespace management."); + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"LSA option not available. Refer to your OSV tools for " PMEM_MODULE_STR L" namespace management."); goto Finish; #endif ConfigIdMask |= DELETE_PCD_CONFIG_LSA_MASK; @@ -238,7 +238,7 @@ DeletePcdCmd( if (!Force) { PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"WARNING: Modifying the Platform Configuration Data can result in loss of data!\n"); - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Clear " FORMAT_STR L"partition(s) on %d DIMM(s).", pDisplayTargets, DimmIdsCount); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Clear " FORMAT_STR L"partition(s) on %d " PMEM_MODULE_STR L"(s).", pDisplayTargets, DimmIdsCount); ReturnCode = PromptYesNo(&Confirmation); if (EFI_ERROR(ReturnCode) || !Confirmation) { ReturnCode = EFI_NOT_STARTED; @@ -277,7 +277,7 @@ DeletePcdCmd( } if (DimmInNamespace) { - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"DIMM " FORMAT_STR L" is a member of a Namespace. Will not delete data from this DIMM.", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, PMEM_MODULE_STR L" " FORMAT_STR L" is a member of a Namespace. Will not delete data from this " PMEM_MODULE_STR ".", DimmStr); SetObjStatusForDimmInfoWithErase(pCommandStatus, pDimm, NVM_ERR_PCD_DELETE_DENIED, TRUE); } else { pCommandStatus->GeneralStatus = NVM_ERR_OPERATION_NOT_STARTED; diff --git a/DcpmPkg/cli/LoadCommand.c b/DcpmPkg/cli/LoadCommand.c index f7c7651a..77196e11 100644 --- a/DcpmPkg/cli/LoadCommand.c +++ b/DcpmPkg/cli/LoadCommand.c @@ -39,7 +39,7 @@ struct Command LoadCommand = {DIMM_TARGET, L"", HELP_TEXT_DIMM_IDS, TRUE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Update the firmware on one or more DCPMMs.", //!< help + L"Update the firmware on one or more " PMEM_MODULES_STR L".", //!< help Load //!< run function }; @@ -300,7 +300,7 @@ Load( ResetCmdStatus(pCommandStatus, NVM_ERR_OPERATION_NOT_STARTED); if (!Examine) { - Print(L"Starting update on %d dimm(s)...\n", DimmTargetsNum); + Print(L"Starting update on %d " PMEM_MODULE_STR L"(s)...\n", DimmTargetsNum); // Create callback that will print progress gBS->CreateEvent((EVT_TIMER | EVT_NOTIFY_SIGNAL), PRINT_PRIORITY, PrintProgress, pCommandStatus, &ProgressEvent); gBS->SetTimer(ProgressEvent, TimerPeriodic, PROGRESS_EVENT_TIMEOUT); diff --git a/DcpmPkg/cli/NvmDimmCli.c b/DcpmPkg/cli/NvmDimmCli.c index c823ac92..91415369 100644 --- a/DcpmPkg/cli/NvmDimmCli.c +++ b/DcpmPkg/cli/NvmDimmCli.c @@ -1121,7 +1121,7 @@ EFI_STATUS showVersion(struct Command *pCmd) ReturnCode = GetPreferredDimmIdAsString(pDimms[DimmIndex].DimmHandle, pDimms[DimmIndex].DimmUid, DimmStr, MAX_DIMM_UID_LENGTH); if (EFI_ERROR(ReturnCode)) { ReturnCode = EFI_ABORTED; - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to determine DCPMM id for DCPMM ID %d", pDimms[DimmIndex].DimmHandle); + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to determine " PMEM_MODULE_STR L" id for " PMEM_MODULE_STR " ID %d", pDimms[DimmIndex].DimmHandle); goto Finish; } @@ -1129,7 +1129,7 @@ EFI_STATUS showVersion(struct Command *pCmd) (pDimms[DimmIndex].FwVer.FwApiMajor == MAX_FIS_SUPPORTED_BY_THIS_SW_MAJOR && pDimms[DimmIndex].FwVer.FwApiMinor > MAX_FIS_SUPPORTED_BY_THIS_SW_MINOR)) { DimmFromTheFutureCount++; - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"DCPMM " FORMAT_STR L" supports FIS %d.%d\r\n", + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, PMEM_MODULE_STR L" " FORMAT_STR L" supports FIS %d.%d\r\n", DimmStr, pDimms[DimmIndex].FwVer.FwApiMajor, pDimms[DimmIndex].FwVer.FwApiMinor); @@ -1138,7 +1138,7 @@ EFI_STATUS showVersion(struct Command *pCmd) } if (DimmFromTheFutureCount > 0) { - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"This ipmctl software version predates the firmware interface specification version (FIS | FWAPIVersion: %d.%d) for %d DCPMM(s). It is recommended to update ipmctl.\r\n", + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"This ipmctl software version predates the firmware interface specification version (FIS | FWAPIVersion: %d.%d) for %d " PMEM_MODULE_STR L"(s). It is recommended to update ipmctl.\r\n", MAX_FIS_SUPPORTED_BY_THIS_SW_MAJOR, MAX_FIS_SUPPORTED_BY_THIS_SW_MINOR, DimmFromTheFutureCount); diff --git a/DcpmPkg/cli/SetDimmCommand.c b/DcpmPkg/cli/SetDimmCommand.c index 470b3e14..43bda506 100644 --- a/DcpmPkg/cli/SetDimmCommand.c +++ b/DcpmPkg/cli/SetDimmCommand.c @@ -56,7 +56,7 @@ struct Command SetDimmCommand = {AVG_PWR_REPORTING_TIME_CONSTANT_MULT_PROPERTY, L"", HELP_TEXT_AVG_PWR_REPORTING_TIME_CONSTANT_MULT_PROPERTY, FALSE, ValueRequired}, {AVG_PWR_REPORTING_TIME_CONSTANT, L"", HELP_TEXT_AVG_PWR_REPORTING_TIME_CONSTANT_PROPERTY, FALSE, ValueRequired} }, //!< properties - L"Set properties of one or more DCPMMs, such as device security and modify device.", //!< help + L"Set properties of one or more " PMEM_MODULES_STR L", such as device security and modify device.", //!< help SetDimm, TRUE }; @@ -647,13 +647,13 @@ SetDimm( PRINTER_SET_MSG(pPrinterCtx, ReturnCode, CLI_ERR_INTERNAL_ERROR); goto Finish; } - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Modifying device settings on DIMM (" FORMAT_STR L").", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Modifying device settings on " PMEM_MODULE_STR L" (" FORMAT_STR L").", DimmStr); ReturnCode = PromptYesNo(&Confirmation); if (!EFI_ERROR(ReturnCode) && Confirmation) { ReturnCode = pNvmDimmConfigProtocol->SetOptionalConfigurationDataPolicy(pNvmDimmConfigProtocol, &pDimmIds[Index], 1, pAvgPowerReportingTimeConstantMult, pAvgPowerReportingTimeConstant, pCommandStatus); } else { - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipping modify device settings on DIMM (" FORMAT_STR L")\n", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipping modify device settings on " PMEM_MODULE_STR L" (" FORMAT_STR L")\n", DimmStr); continue; } } diff --git a/DcpmPkg/cli/SetSensorCommand.c b/DcpmPkg/cli/SetSensorCommand.c index 29fc915e..1a36065a 100644 --- a/DcpmPkg/cli/SetSensorCommand.c +++ b/DcpmPkg/cli/SetSensorCommand.c @@ -33,7 +33,7 @@ struct Command SetSensorCommand = {ALARM_THRESHOLD_PROPERTY, L"", HELP_TEXT_VALUE, FALSE}, {ALARM_ENABLED_PROPERTY, L"", PROPERTY_VALUE_0 L"|" PROPERTY_VALUE_1, FALSE} }, - L"Modify the alarm threshold(s) for one or more DCPMMs.", //!< help + L"Modify the alarm threshold(s) for one or more " PMEM_MODULES_STR L".", //!< help SetSensor, TRUE }; @@ -212,7 +212,7 @@ SetSensor( PRINTER_SET_MSG(pPrinterCtx, ReturnCode, CLI_ERR_INTERNAL_ERROR); goto Finish; } - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Modifying settings on DIMM " FORMAT_STR L".", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Modifying settings on " PMEM_MODULE_STR L" " FORMAT_STR L".", DimmStr); ReturnCode = PromptYesNo(&Confirmation); if (!EFI_ERROR(ReturnCode) && Confirmation) { ReturnCode = pNvmDimmConfigProtocol->SetAlarmThresholds(pNvmDimmConfigProtocol, &pDimmIds[Index], 1, @@ -221,7 +221,7 @@ SetSensor( goto FinishCommandStatusSet; } } else { - PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipped modifying settings for DIMM " FORMAT_STR L"\n", DimmStr); + PRINTER_PROMPT_MSG(pPrinterCtx, ReturnCode, L"Skipped modifying settings for " PMEM_MODULE_STR L" " FORMAT_STR L"\n", DimmStr); continue; } } diff --git a/DcpmPkg/cli/ShowAcpiCommand.c b/DcpmPkg/cli/ShowAcpiCommand.c index 5380521e..823063a5 100644 --- a/DcpmPkg/cli/ShowAcpiCommand.c +++ b/DcpmPkg/cli/ShowAcpiCommand.c @@ -63,7 +63,7 @@ struct Command showAcpiCommand = }, //!< options {{SYSTEM_TARGET, L"", SYSTEM_ACPI_TARGETS, TRUE, ValueOptional}}, //!< targets {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show the ACPI tables related to the DCPMMs in the system.", //!< help + L"Show the ACPI tables related to the " PMEM_MODULES_STR L" in the system.", //!< help showAcpi, //!< run function TRUE //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowCelCommand.c b/DcpmPkg/cli/ShowCelCommand.c index a8a0501b..3ad958b6 100644 --- a/DcpmPkg/cli/ShowCelCommand.c +++ b/DcpmPkg/cli/ShowCelCommand.c @@ -41,7 +41,7 @@ struct Command ShowCelCommandSyntax = {DIMM_TARGET, L"", HELP_TEXT_DIMM_IDS, FALSE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show command effect log (CEL) for one or more DCPMMs.", //!< help + L"Show command effect log (CEL) for one or more " PMEM_MODULES_STR L".", //!< help ShowCelCommand, //!< run function TRUE }; diff --git a/DcpmPkg/cli/ShowCmdAccessPolicyCommand.c b/DcpmPkg/cli/ShowCmdAccessPolicyCommand.c index 16df2aad..26fc8e5b 100644 --- a/DcpmPkg/cli/ShowCmdAccessPolicyCommand.c +++ b/DcpmPkg/cli/ShowCmdAccessPolicyCommand.c @@ -49,7 +49,7 @@ struct Command ShowCmdAccessPolicyCommand = { CAP_TARGET, L"", L"", TRUE, ValueEmpty }, }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show command access policy (CAP) restrictions for one ore more DCPMM(s).", //!< help + L"Show command access policy (CAP) restrictions for one ore more " PMEM_MODULE_STR L"(s).", //!< help ShowCmdAccessPolicy, //!< run function TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowDimmsCommand.c b/DcpmPkg/cli/ShowDimmsCommand.c index 82068c1a..68be3746 100644 --- a/DcpmPkg/cli/ShowDimmsCommand.c +++ b/DcpmPkg/cli/ShowDimmsCommand.c @@ -121,7 +121,7 @@ struct Command ShowDimmsCommand = {SOCKET_TARGET, L"", HELP_TEXT_SOCKET_IDS, FALSE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show information about one or more DCPMMs.", //!< help + L"Show information about one or more " PMEM_MODULES_STR L".", //!< help ShowDimms, //!< run function TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowDimmsCommand.h b/DcpmPkg/cli/ShowDimmsCommand.h index 43375eb5..eb220a23 100644 --- a/DcpmPkg/cli/ShowDimmsCommand.h +++ b/DcpmPkg/cli/ShowDimmsCommand.h @@ -117,7 +117,7 @@ #define MAX_AVERAGE_POWER_REPORTING_TIME_CONSTANT L"MaxAveragePowerReportingTimeConstant" #define AVERAGE_POWER_REPORTING_TIME_CONSTANT_STEP L"AveragePowerReportingTimeConstantStep" #define MIXED_SKU_STR L"MixedSKU" -#define DCPMM_AVERAGE_POWER_STR L"DcpmmAveragePower" +#define DCPMM_AVERAGE_POWER_STR L"AveragePower" #define AVERAGE_12V_POWER_STR L"Average12vPower" #define AVERAGE_1_2V_POWER_STR L"Average1_2vPower" #define EXTENDED_ADR_ENABLED_STR L"ExtendedAdrEnabled" diff --git a/DcpmPkg/cli/ShowErrorCommand.c b/DcpmPkg/cli/ShowErrorCommand.c index 50d76286..60857198 100644 --- a/DcpmPkg/cli/ShowErrorCommand.c +++ b/DcpmPkg/cli/ShowErrorCommand.c @@ -40,7 +40,7 @@ struct Command ShowErrorCommandSyntax = {LEVEL_PROPERTY, L"", HELP_TEXT_ERROR_LOG_LEVEL_PROPERTY, FALSE, ValueRequired}, {COUNT_PROPERTY, L"", HELP_TEXT_ERROR_LOG_COUNT_PROPERTY, FALSE, ValueRequired} }, //!< properties - L"Show error log for one or more DCPMMs.", //!< help + L"Show error log for one or more " PMEM_MODULES_STR L".", //!< help ShowErrorCommand, //!< run function TRUE }; @@ -453,11 +453,11 @@ ShowErrorCommand( if (pCommandStatus->GeneralStatus != NVM_SUCCESS) { ReturnCode = MatchCliReturnCode(pCommandStatus->GeneralStatus); } - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to get error logs from DIMM " FORMAT_STR L"\n", DimmStr); + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to get error logs from " PMEM_MODULE_STR L" " FORMAT_STR L"\n", DimmStr); continue; } if (ReturnedCount == 0) { - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"No errors found on DIMM " FORMAT_STR L"\n", DimmStr); + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"No errors found on " PMEM_MODULE_STR L" " FORMAT_STR L"\n", DimmStr); } else { PRINTER_BUILD_KEY_PATH(pPath, DS_DIMM_INDEX_PATH, Index); diff --git a/DcpmPkg/cli/ShowFirmwareCommand.c b/DcpmPkg/cli/ShowFirmwareCommand.c index 5706a8af..6a03692f 100644 --- a/DcpmPkg/cli/ShowFirmwareCommand.c +++ b/DcpmPkg/cli/ShowFirmwareCommand.c @@ -94,7 +94,7 @@ struct Command ShowFirmwareCommand = {FIRMWARE_TARGET, L"", L"", TRUE, ValueEmpty} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show information about firmware on one or more DCPMMs.", //!< help + L"Show information about firmware on one or more " PMEM_MODULES_STR L".", //!< help ShowFirmware, //!< run function TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowGoalCommand.c b/DcpmPkg/cli/ShowGoalCommand.c index e8c34595..801e9d0c 100644 --- a/DcpmPkg/cli/ShowGoalCommand.c +++ b/DcpmPkg/cli/ShowGoalCommand.c @@ -106,7 +106,7 @@ struct Command ShowGoalCommand = {SOCKET_TARGET, L"", HELP_TEXT_SOCKET_IDS, FALSE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show a pending memory allocation goal on one or more DCPMMs to be applied on reboot.", //!< help + L"Show a pending memory allocation goal on one or more " PMEM_MODULES_STR L" to be applied on reboot.", //!< help ShowGoal, TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowMemoryResourcesCommand.c b/DcpmPkg/cli/ShowMemoryResourcesCommand.c index 974bd2e3..c71aa007 100644 --- a/DcpmPkg/cli/ShowMemoryResourcesCommand.c +++ b/DcpmPkg/cli/ShowMemoryResourcesCommand.c @@ -46,9 +46,9 @@ PRINTER_TABLE_ATTRIB ShowMemoryResourcesTableAttributes = DS_MEMORY_RESOURCES_DATA_PATH PATH_KEY_DELIM DDR_STR //COLUMN DATA PATH }, { - DCPMM_STR, //COLUMN HEADER - DCPMM_MAX_STR_WIDTH, //COLUMN MAX STR WIDTH - DS_MEMORY_RESOURCES_DATA_PATH PATH_KEY_DELIM DCPMM_STR //COLUMN DATA PATH + PMEM_MODULE_STR, //COLUMN HEADER + PMEM_MODULE_MAX_STR_WIDTH, //COLUMN MAX STR WIDTH + DS_MEMORY_RESOURCES_DATA_PATH PATH_KEY_DELIM PMEM_MODULE_STR //COLUMN DATA PATH }, { TOTAL_STR, //COLUMN HEADER @@ -184,10 +184,10 @@ ShowMemoryResources( KEEP_ERROR(ReturnCode, TempReturnCode); PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DDR_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); - // Print DCPMM Volatile Capacity + // Print PMem module Volatile Capacity TempReturnCode = MakeCapacityString(gNvmDimmCliHiiHandle, MemoryResourcesInfo.VolatileCapacity, UnitsToDisplay, TRUE, &pCapacityStr); KEEP_ERROR(ReturnCode, TempReturnCode); - PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DCPMM_STR, pCapacityStr); + PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, PMEM_MODULE_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); // Print Total Volatile Capacity TotalCapacity = MemoryResourcesInfo.DDRVolatileCapacity + MemoryResourcesInfo.VolatileCapacity; @@ -203,10 +203,10 @@ ShowMemoryResources( PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, MEMORY_TYPE_STR, L"AppDirect"); // Print DDR App Direct Capacities (as of now, this is N/A) PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DDR_STR, DASH_STR); - // Print DCPMM DDR App Direct Capacities + // Print PMem module DDR App Direct Capacities TempReturnCode = MakeCapacityString(gNvmDimmCliHiiHandle, MemoryResourcesInfo.AppDirectCapacity, UnitsToDisplay, TRUE, &pCapacityStr); KEEP_ERROR(ReturnCode, TempReturnCode); - PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DCPMM_STR, pCapacityStr); + PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, PMEM_MODULE_STR, pCapacityStr); // Print Total App Direct Capacities PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, TOTAL_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); @@ -220,8 +220,8 @@ ShowMemoryResources( KEEP_ERROR(ReturnCode, TempReturnCode); // Print DDR Cache Capacity PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DDR_STR, pCapacityStr); - // Print DCPMM Cache Capacity - PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DCPMM_STR, DASH_STR); + // Print PMem module Cache Capacity + PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, PMEM_MODULE_STR, DASH_STR); // Print Total Cache Capacity PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, TOTAL_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); @@ -235,11 +235,11 @@ ShowMemoryResources( KEEP_ERROR(ReturnCode, TempReturnCode); PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DDR_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); - // Print DCPMM Inaccessible Capacity + // Print PMem module Inaccessible Capacity DcpmmInaccessibleCapacity = MemoryResourcesInfo.InaccessibleCapacity + MemoryResourcesInfo.ReservedCapacity + MemoryResourcesInfo.UnconfiguredCapacity; TempReturnCode = MakeCapacityString(gNvmDimmCliHiiHandle, DcpmmInaccessibleCapacity, UnitsToDisplay, TRUE, &pCapacityStr); KEEP_ERROR(ReturnCode, TempReturnCode); - PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DCPMM_STR, pCapacityStr); + PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, PMEM_MODULE_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); // Print Total Inaccessible Capacity TotalCapacity = MemoryResourcesInfo.DDRInaccessibleCapacity + DcpmmInaccessibleCapacity; @@ -258,10 +258,10 @@ ShowMemoryResources( KEEP_ERROR(ReturnCode, TempReturnCode); PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DDR_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); - // Print DCPMM Physical Capacity + // Print PMem module Physical Capacity ReturnCode = MakeCapacityString(gNvmDimmCliHiiHandle, MemoryResourcesInfo.RawCapacity, UnitsToDisplay, TRUE, &pCapacityStr); KEEP_ERROR(ReturnCode, TempReturnCode); - PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, DCPMM_STR, pCapacityStr); + PRINTER_SET_KEY_VAL_WIDE_STR(pPrinterCtx, pPath, PMEM_MODULE_STR, pCapacityStr); FREE_POOL_SAFE(pCapacityStr); // Print Total Physical Capacity TotalCapacity = MemoryResourcesInfo.DDRRawCapacity + MemoryResourcesInfo.RawCapacity; diff --git a/DcpmPkg/cli/ShowPcdCommand.c b/DcpmPkg/cli/ShowPcdCommand.c index 44f709a3..bea72662 100644 --- a/DcpmPkg/cli/ShowPcdCommand.c +++ b/DcpmPkg/cli/ShowPcdCommand.c @@ -35,7 +35,7 @@ struct Command ShowPcdCommand = {PCD_TARGET, L"", PCD_CONFIG_TARGET_VALUE L"|" PCD_LSA_TARGET_VALUE, TRUE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show platform configuration data (PCD) stored on one or more DCPMMs.", //!< help + L"Show platform configuration data (PCD) stored on one or more " PMEM_MODULES_STR L".", //!< help ShowPcd, TRUE }; diff --git a/DcpmPkg/cli/ShowPerformanceCommand.c b/DcpmPkg/cli/ShowPerformanceCommand.c index bec8cfb3..a8378baa 100644 --- a/DcpmPkg/cli/ShowPerformanceCommand.c +++ b/DcpmPkg/cli/ShowPerformanceCommand.c @@ -69,7 +69,7 @@ struct Command ShowPerformanceCommand = { //!< properties { L"", L"", L"", FALSE, ValueOptional }, }, - L"Show performance statistics of one or more DCPMMs.", //!< help + L"Show performance statistics of one or more " PMEM_MODULES_STR L".", //!< help ShowPerformance, TRUE, //!< enable print control support }; diff --git a/DcpmPkg/cli/ShowRegisterCommand.c b/DcpmPkg/cli/ShowRegisterCommand.c index 571187d3..f2e000f4 100644 --- a/DcpmPkg/cli/ShowRegisterCommand.c +++ b/DcpmPkg/cli/ShowRegisterCommand.c @@ -76,7 +76,7 @@ struct Command ShowRegisterCommand = {REGISTER_TARGET, L"", L"Register", TRUE, ValueOptional}, }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show Key DIMM Registers.", //!< help + L"Show Key " PMEM_MODULE_STR L" Registers.", //!< help ShowRegister, TRUE //!< enable print control support }; @@ -254,7 +254,7 @@ ShowRegister( PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [25:25] SVNDE (SVN Downgrade Opt-In Enable) ------", FORMAT_HEX_NOWIDTH L" (0:Not Enabled; 1:Enabled)", Bsr.Separated_Current_FIS.SVNDE); PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [26:26] SVNCOIS (SVN Downgrade Opt-In Was Enabled)", FORMAT_HEX_NOWIDTH L" (0:Never Enabled; 1:Has Been Enabled)", Bsr.Separated_Current_FIS.SVNCOIS); PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [28:27] DR (DRAM Ready(AIT)) ---------------------", FORMAT_HEX_NOWIDTH L" (0:Not trained,Not Loaded; 1:Trained,Not Loaded; 2:Error; 3:Trained,Loaded(Ready))", Bsr.Separated_Current_FIS.DR); - PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [29:29] RR (Reboot Required) ---------------------", FORMAT_HEX_NOWIDTH L" (0:No reset is needed by the DIMM; 1:The DIMMs internal state requires a platform power cycle)", Bsr.Separated_Current_FIS.RR); + PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [29:29] RR (Reboot Required) ---------------------", FORMAT_HEX_NOWIDTH L" (0:No reset is needed by the " PMEM_MODULE_STR L"; 1:The " PMEM_MODULES_STR L" internal state requires a platform power cycle)", Bsr.Separated_Current_FIS.RR); PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [30:30] LFOPB ------------------------------------", FORMAT_HEX_NOWIDTH L" (0:No Error; 1:Fatal Link Error)", Bsr.Separated_Current_FIS.LFOPB); PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [31:31] SVNWC ------------------------------------", FORMAT_HEX_NOWIDTH L" (0:The SVN Opt-In Window is open; 1:The SVN Opt-In Window is closed)", Bsr.Separated_Current_FIS.SVNWC); PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pPath, L" [33:32] Rsvd -------------------------------------", FORMAT_HEX_NOWIDTH L" (Rsvd)", Bsr.Separated_Current_FIS.Rsvd); diff --git a/DcpmPkg/cli/ShowSensorCommand.c b/DcpmPkg/cli/ShowSensorCommand.c index 693db4ac..a37f8b43 100644 --- a/DcpmPkg/cli/ShowSensorCommand.c +++ b/DcpmPkg/cli/ShowSensorCommand.c @@ -294,21 +294,21 @@ ShowSensor( ReturnCode = GetPreferredDimmIdAsString(pDimms[DimmIndex].DimmHandle, pDimms[DimmIndex].DimmUid, DimmStr, MAX_DIMM_UID_LENGTH); if (EFI_ERROR(ReturnCode)) { - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to translate DIMM identifier to string\n"); + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to translate " PMEM_MODULE_STR L" identifier to string\n"); goto Finish; } ReturnCode = GetSensorsInfo(pNvmDimmConfigProtocol, pDimms[DimmIndex].DimmID, DimmSensorsSet); if (EFI_ERROR(ReturnCode)) { /** - We do not return on error. Just inform the user and skip to the next DIMM or end. + We do not return on error. Just inform the user and skip to the next PMem module or end. **/ if (ReturnCode == EFI_NOT_READY) { - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to read the sensors or thresholds values from DIMM " FORMAT_STR L" - Dimm is unmanageable.\n", + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to read the sensors or thresholds values from " PMEM_MODULE_STR L" " FORMAT_STR L" - " PMEM_MODULE_STR L" is unmanageable.\n", DimmStr); } else { - PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to read the sensors or thresholds values from DIMM " FORMAT_STR L". Code: " FORMAT_EFI_STATUS "\n", + PRINTER_SET_MSG(pPrinterCtx, ReturnCode, L"Failed to read the sensors or thresholds values from " PMEM_MODULE_STR L" " FORMAT_STR L". Code: " FORMAT_EFI_STATUS "\n", DimmStr, ReturnCode); } continue; diff --git a/DcpmPkg/cli/ShowSystemCapabilitiesCommand.c b/DcpmPkg/cli/ShowSystemCapabilitiesCommand.c index ed5d0552..de0f5585 100644 --- a/DcpmPkg/cli/ShowSystemCapabilitiesCommand.c +++ b/DcpmPkg/cli/ShowSystemCapabilitiesCommand.c @@ -39,7 +39,7 @@ struct Command ShowSystemCapabilitiesCommand = { {CAPABILITIES_TARGET, L"", L"", TRUE, ValueEmpty} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show the platform supported DCPMM capabilities.", + L"Show the platform supported " PMEM_MODULE_STR L" capabilities.", ShowSystemCapabilities, TRUE }; diff --git a/DcpmPkg/cli/ShowTopologyCommand.c b/DcpmPkg/cli/ShowTopologyCommand.c index 094e5201..b40d6ea0 100644 --- a/DcpmPkg/cli/ShowTopologyCommand.c +++ b/DcpmPkg/cli/ShowTopologyCommand.c @@ -156,7 +156,7 @@ struct Command ShowTopologyCommand = {SOCKET_TARGET, L"", HELP_TEXT_SOCKET_IDS, FALSE, ValueOptional} }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Show the topology of all the DDRs and DCPMMs.", //!< help + L"Show the topology of all the DDRs and " PMEM_MODULES_STR L".", //!< help ShowTopology, TRUE }; diff --git a/DcpmPkg/cli/StartDiagnosticCommand.c b/DcpmPkg/cli/StartDiagnosticCommand.c index 6b397ef1..d7ac2a20 100644 --- a/DcpmPkg/cli/StartDiagnosticCommand.c +++ b/DcpmPkg/cli/StartDiagnosticCommand.c @@ -84,7 +84,7 @@ COMMAND StartDiagnosticCommand = {DIMM_TARGET, L"", HELP_TEXT_DIMM_IDS, FALSE, ValueOptional}, }, {{L"", L"", L"", FALSE, ValueOptional}}, //!< properties - L"Run a diagnostic test on one or more DCPMMs.", //!< help + L"Run a diagnostic test on one or more " PMEM_MODULES_STR L".", //!< help StartDiagnosticCmd, TRUE }; diff --git a/DcpmPkg/common/FwUtility.c b/DcpmPkg/common/FwUtility.c index c2e25739..b35ae211 100644 --- a/DcpmPkg/common/FwUtility.c +++ b/DcpmPkg/common/FwUtility.c @@ -46,7 +46,7 @@ ValidateImage( } if (pImage->ModuleVendor != VENDOR_ID || pImage->ModuleType != LT_MODULETYPE_CSS) { - *ppError = CatSPrint(NULL, L"The firmware is not compatible with the DIMMs."); + *ppError = CatSPrint(NULL, L"The firmware is not compatible with the PMem modules."); return FALSE; } @@ -88,12 +88,12 @@ ValidateRecoverySpiImage( } if (SubsystemDeviceId == SPD_DEVICE_ID_10) { - *ppError = CatSPrint(NULL, L"First generation DCPMM are not supported for SPI image recovery. A 1.x release of this software is required."); + *ppError = CatSPrint(NULL, L"First generation " PMEM_MODULES_STR " are not supported for SPI image recovery. A 1.x release of this software is required."); goto Finish; } if (SubsystemDeviceId != SPD_DEVICE_ID_15) { - *ppError = CatSPrint(NULL, L"Dimm is reporting an unexpected device id. SPI image recovery is not supported."); + *ppError = CatSPrint(NULL, PMEM_MODULE_STR L" is reporting an unexpected device id. SPI image recovery is not supported."); goto Finish; } @@ -103,7 +103,7 @@ ValidateRecoverySpiImage( } if (pImage->ModuleVendor != VENDOR_ID || pImage->ModuleType != LT_MODULETYPE_CSS) { - *ppError = CatSPrint(NULL, L"The firmware is not compatible with the DIMMs."); + *ppError = CatSPrint(NULL, L"The firmware is not compatible with the " PMEM_MODULES_STR "."); goto Finish; } ReturnValue = TRUE; diff --git a/DcpmPkg/common/NvmHealth.h b/DcpmPkg/common/NvmHealth.h index a662b406..e03a65d2 100644 --- a/DcpmPkg/common/NvmHealth.h +++ b/DcpmPkg/common/NvmHealth.h @@ -5,7 +5,7 @@ /** * @file NvmHealth.h - * @brief Health Types for EFI_NVMDIMMS_CONFIG_PROTOCOL to configure and manage DCPMMs. + * @brief Health Types for EFI_DCPMM_CONFIG2_PROTOCOL to configure and manage PMem modules. */ #ifndef _NVMHEALTH_H_ @@ -66,7 +66,7 @@ typedef enum { #define CONTROLLER_HEALTH_NORMAL 0 -/** Overall DIMM Health Status */ +/** Overall PMem module Health Status */ enum HEALTH_STATUS { HealthStatusNoncritical = BIT0, //!< Non-Critical (maintenance required) HealthStatusCritical = BIT1, //!< Critcial (features or performance degraded due to failure) @@ -200,7 +200,7 @@ SensorEnabledStateToString( /** Convert Health state bitmask to a defined state - @param[in] HealthMask - mask from DIMM structure + @param[in] HealthMask - mask from PMem module structure @param[out] pHealthState - pointer to output with defined Health State **/ VOID @@ -210,7 +210,7 @@ ConvertHealthBitmask( ); /** - Convert dimm or sensor health state to a string. The caller is responsible for + Convert PMem module or sensor health state to a string. The caller is responsible for freeing the returned string @param[in] HiiHandle handle to the HII database that contains i18n strings diff --git a/DcpmPkg/common/NvmInterface.h b/DcpmPkg/common/NvmInterface.h index 4cf615af..f44cfb9d 100644 --- a/DcpmPkg/common/NvmInterface.h +++ b/DcpmPkg/common/NvmInterface.h @@ -5,8 +5,8 @@ /** * @file NvmInterface.h - * @brief Implementation of the EFI_NVMDIMMS_CONFIG_PROTOCOL, a custom protocol - * to configure and manage DCPMMs + * @brief Implementation of the EFI_DCPMM_CONFIG2_PROTOCOL, a custom protocol + * to configure and manage Intel Optane persistent memory modules */ #ifndef _NVM_INTERFACE_H_ @@ -81,10 +81,10 @@ typedef struct _EFI_DCPMM_CONFIG2_PROTOCOL EFI_DCPMM_CONFIG2_PROTOCOL; typedef struct _EFI_DCPMM_PBR_PROTOCOL EFI_DCPMM_PBR_PROTOCOL; /** - Retrieve the number of DCPMMs in the system found in NFIT + Retrieve the number of PMem modules in the system found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[out] pDimmCount The number of DCPMMs found in NFIT. + @param[out] pDimmCount The number of PMem modules found in NFIT. @retval EFI_SUCCESS The count was returned properly @retval EFI_INVALID_PARAMETER One or more parameters are NULL @@ -97,10 +97,10 @@ EFI_STATUS ); /** - Retrieve the number of uninitialized DCPMMs in the system found through SMBUS + Retrieve the number of uninitialized PMem modules in the system found through SMBUS @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[out] pDimmCount The number of DCPMMs found through SMBUS. + @param[out] pDimmCount The number of PMem modules found through SMBUS. @retval EFI_SUCCESS The count was returned properly @retval EFI_INVALID_PARAMETER One or more parameters are NULL @@ -113,16 +113,16 @@ EFI_STATUS ); /** - Retrieve the list of DCPMMs found in NFIT + Retrieve the list of PMem modules found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] DimmCount The size of pDimms. - @param[in] dimmInfoCategories The categories of additional dimm info parameters to retrieve - @param[out] pDimms The dimm list found in NFIT. + @param[in] dimmInfoCategories The categories of additional PMem module info parameters to retrieve + @param[out] pDimms The PMem module list found in NFIT. - @retval EFI_SUCCESS The dimm list was returned properly + @retval EFI_SUCCESS The PMem module list was returned properly @retval EFI_INVALID_PARAMETER one or more parameters are NULL. - @retval EFI_NOT_FOUND Dimm not found + @retval EFI_NOT_FOUND PMem module not found **/ typedef EFI_STATUS @@ -134,15 +134,15 @@ EFI_STATUS ); /** - Retrieve the list of uninitialized DCPMMs found through SMBUS + Retrieve the list of uninitialized PMem modules found through SMBUS @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] DimmCount The size of pDimms. - @param[out] pDimms The dimm list found through SMBUS. + @param[out] pDimms The PMem module list found through SMBUS. - @retval EFI_SUCCESS The dimm list was returned properly + @retval EFI_SUCCESS The PMem module list was returned properly @retval EFI_INVALID_PARAMETER one or more parameter are NULL. - @retval EFI_NOT_FOUND Dimm not found + @retval EFI_NOT_FOUND PMem module not found **/ typedef EFI_STATUS @@ -153,15 +153,15 @@ EFI_STATUS ); /** - Retrieve the details about the DIMM specified with pid found in NFIT + Retrieve the details about the PMem module specified with pid found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve - @param[in] dimmInfoCategories The categories of additional dimm info parameters to retrieve - @param[out] pDimmInfo A pointer to the dimm found in NFIT + @param[in] Pid The ID of the PMem module to retrieve + @param[in] dimmInfoCategories The categories of additional PMem module info parameters to retrieve + @param[out] pDimmInfo A pointer to the PMem module found in NFIT - @retval EFI_SUCCESS The dimm information was returned properly - @retval EFI_INVALID_PARAMETER pDimm is NULL or the dimm with the pid provided does not exist. + @retval EFI_SUCCESS The PMem module information was returned properly + @retval EFI_INVALID_PARAMETER pDimm is NULL or the PMem module with the pid provided does not exist. **/ typedef EFI_STATUS @@ -176,12 +176,12 @@ EFI_STATUS Get the PMON registers @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve - @param[in] dimmInfoCategories The categories of additional dimm info parameters to retrieve - @param[out] pDimmInfo A pointer to the dimm found in NFIT + @param[in] Pid The ID of the PMem module to retrieve + @param[in] dimmInfoCategories The categories of additional PMem module info parameters to retrieve + @param[out] pDimmInfo A pointer to the PMem module found in NFIT - @retval EFI_SUCCESS The dimm information was returned properly - @retval EFI_INVALID_PARAMETER pDimm is NULL or the dimm with the pid provided does not exist. + @retval EFI_SUCCESS The PMem module information was returned properly + @retval EFI_INVALID_PARAMETER pDimm is NULL or the PMem module with the pid provided does not exist. **/ typedef EFI_STATUS @@ -196,12 +196,12 @@ EFI_STATUS Set the PMON Group @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve - @param[in] dimmInfoCategories The categories of additional dimm info parameters to retrieve - @param[out] pDimmInfo A pointer to the dimm found in NFIT + @param[in] Pid The ID of the PMem module to retrieve + @param[in] dimmInfoCategories The categories of additional PMem module info parameters to retrieve + @param[out] pDimmInfo A pointer to the PMem module found in NFIT - @retval EFI_SUCCESS The dimm information was returned properly - @retval EFI_INVALID_PARAMETER pDimm is NULL or the dimm with the pid provided does not exist. + @retval EFI_SUCCESS The PMem module information was returned properly + @retval EFI_INVALID_PARAMETER pDimm is NULL or the PMem module with the pid provided does not exist. **/ typedef EFI_STATUS @@ -213,14 +213,14 @@ EFI_STATUS #endif /** - Retrieve the details about the uninitialized DIMM specified with pid found through SMBUS + Retrieve the details about the uninitialized PMem module specified with pid found through SMBUS @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve - @param[out] pDimmInfo A pointer to the dimm found through SMBUS + @param[in] Pid The ID of the PMem module to retrieve + @param[out] pDimmInfo A pointer to the PMem module found through SMBUS - @retval EFI_SUCCESS The dimm information was returned properly - @retval EFI_INVALID_PARAMETER pDimm is NULL or the dimm with the pid provided does not exist. + @retval EFI_SUCCESS The PMem module information was returned properly + @retval EFI_INVALID_PARAMETER pDimm is NULL or the PMem module with the pid provided does not exist. **/ typedef EFI_STATUS @@ -253,15 +253,15 @@ EFI_STATUS ); /** - Retrieve an SMBIOS table type 17 table for a specific DIMM + Retrieve an SMBIOS table type 17 table for a specific PMem module @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve + @param[in] Pid The ID of the PMem module to retrieve @param[out] pTable A pointer to the SMBIOS table @retval EFI_SUCCESS The count was returned properly @retval EFI_INVALID_PARAMETER pTable is NULL - @retval EFI_INVALID_PARAMETER DIMM pid is not valid. + @retval EFI_INVALID_PARAMETER PMem module pid is not valid. **/ typedef EFI_STATUS @@ -331,15 +331,15 @@ EFI_STATUS @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param{in] PcdTarget Taget PCD partition: ALL=0, CONFIG=1, NAMESPACES=2 - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[out] ppDimmPcdInfo Pointer to output array of PCDs - @param[out] pDimmPcdInfoCount Number of items in Dimm PCD Info + @param[out] pDimmPcdInfoCount Number of items in PMem module PCD Info @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @retval EFI_INVALID_PARAMETER One or more input parameters are NULL - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_OUT_OF_RESOURCES Memory allocation failure **/ typedef @@ -358,14 +358,14 @@ EFI_STATUS Clear PCD configs @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. -@param[in] pDimmIds Pointer to an array of DIMM IDs -@param[in] DimmIdsCount Number of items in array of DIMM IDs +@param[in] pDimmIds Pointer to an array of PMem module IDs +@param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] ConfigIdMask Bitmask that defines which config to delete @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @retval EFI_INVALID_PARAMETER One or more input parameters are NULL -@retval EFI_NO_RESPONSE FW busy for one or more dimms +@retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_OUT_OF_RESOURCES Memory allocation failure **/ typedef @@ -381,17 +381,17 @@ EFI_STATUS /** Check NVM device security state - Function checks security state of a set of DIMMs. It sets security state - to mixed when not all DIMMs have the same state. + Function checks security state of a set of PMem modules. It sets security state + to mixed when not all PMem modules have the same state. @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs - @param[out] pSecurityState security state of a DIMM or all DIMMs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs + @param[out] pSecurityState security state of a PMem module or all PMem modules @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_INVALID_PARAMETER when pSecurityState is NULL - @retval EFI_NOT_FOUND it was not possible to get state of a DIMM + @retval EFI_NOT_FOUND it was not possible to get state of a PMem module @retval EFI_SUCCESS state correctly detected and stored in pSecurityState **/ typedef @@ -407,13 +407,13 @@ EFI_STATUS /** Set NVM device security state. - Function sets security state on a set of DIMMs. If there is a failure on - one of DIMMs function continues with setting state on following DIMMs + Function sets security state on a set of PMem modules. If there is a failure on + one of PMem modules function continues with setting state on following PMem modules but exits with error. @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - if NULL, execute operation on all dimms - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs - if NULL, execute operation on all PMem modules + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] SecurityOperation Security Operation code @param[in] pPassphrase a pointer to string with current passphrase @param[in] pNewPassphrase a pointer to string with new passphrase @@ -421,10 +421,10 @@ EFI_STATUS @retval EFI_INVALID_PARAMETER when pLockState is NULL @retval EFI_OUT_OF_RESOURCES couldn't allocate memory for a structure - @retval EFI_UNSUPPORTED LockState to be set is not recognized, or mixed sku of DCPMMs is detected - @retval EFI_DEVICE_ERROR setting state for a DIMM failed - @retval EFI_NOT_FOUND a DIMM was not found - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_UNSUPPORTED LockState to be set is not recognized, or mixed sku of PMem modules is detected + @retval EFI_DEVICE_ERROR setting state for a PMem module failed + @retval EFI_NOT_FOUND a PMem module was not found + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS security state correctly set **/ typedef @@ -440,7 +440,7 @@ EFI_STATUS ); /** - Gather info about total capacities on all dimms + Gather info about total capacities on all PMem modules @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance @param[in] UseNfit flag to indicate NFIT usage @@ -450,7 +450,7 @@ EFI_STATUS @retval EFI_ABORTED PCAT tables not found @retval Other errors failure of FW commands @retval EFI_SUCCESS Success - @retval EFI_NO_RESPONSE FW busy on one or more dimms + @retval EFI_NO_RESPONSE FW busy on one or more PMem modules **/ typedef EFI_STATUS @@ -469,7 +469,7 @@ Retrieve the region list @param[out] pRegions The region list @param[out] pCommandStatus Structure containing detailed NVM error codes -@retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system +@retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_SUCCESS The region list was returned properly @retval EFI_INVALID_PARAMETER pRegions is NULL. **/ @@ -491,10 +491,10 @@ EFI_STATUS @param[out] pRegion A pointer to the region @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_SUCCESS The region was returned properly @retval EFI_INVALID_PARAMETER pRegion is NULL - @retval EFI_NO_RESPONSE FW busy on one or more dimms + @retval EFI_NO_RESPONSE FW busy on one or more PMem modules **/ typedef EFI_STATUS @@ -506,7 +506,7 @@ EFI_STATUS ); /** - Gather info about total capacities on all dimms + Gather info about total capacities on all PMem modules @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance @param[out] pMemoryResourcesInfo structure filled with required information @@ -524,11 +524,11 @@ EFI_STATUS ); /** -Gather info about performance on all dimms +Gather info about performance on all PMem modules @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance -@param[out] pDimmCount pointer to the number of dimms on list -@param[out] pDimmsPerformanceData list of dimms' performance data +@param[out] pDimmCount pointer to the number of PMem modules on list +@param[out] pDimmsPerformanceData list of PMem modules' performance data @retval EFI_INVALID_PARAMETER passed NULL argument @retval EFI_ABORTED PCAT tables not found @@ -563,26 +563,26 @@ EFI_STATUS ); /** - Update firmware or training data in one or all NVDIMMs of the system + Update firmware or training data in one or all PMem modules of the system @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds is a pointer to an array of DIMM IDs - if NULL, execute operation on all dimms - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds is a pointer to an array of PMem module IDs - if NULL, execute operation on all PMem modules + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pFileName Name is a pointer to a file containing FW image @param[in] pWorkingDirectory is a pointer to a path to FW image file @param[in] Examine flag enables image verification only @param[in] Force flag suppresses warning message in case of attempted downgrade - @param[in] Recovery **Deprecated** Run the update on non-functional DCPMMs only - @param[in] FlashSpi Run a full DCPMM SPI recovery + @param[in] Recovery **Deprecated** Run the update on non-functional PMem modules only + @param[in] FlashSpi Run a full PMem module SPI recovery @param[out] pFwImageInfo is a pointer to a structure containing FW image information need to be provided if examine flag is set @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_INVALID_PARAMETER One of parameters provided is not acceptable - @retval EFI_NOT_FOUND there is no NVDIMM with such Pid + @retval EFI_NOT_FOUND there is no PMem module with such Pid @retval EFI_OUT_OF_RESOURCES Unable to allocate memory for a data structure - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_SUCCESS Update has completed successfully **/ typedef @@ -602,16 +602,16 @@ EFI_STATUS ); /** - Get DIMM alarm thresholds + Get PMem module alarm thresholds @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmPid The ID of the DIMM + @param[in] DimmPid The ID of the PMem module @param[in] SensorId Sensor id to retrieve information for @param[out] pNonCriticalThreshold Current non-critical threshold for sensor @param[out] pEnabledState Current enable state for sensor @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_INVALID_PARAMETER if no DIMM found for DimmPid or input parameter is NULL. + @retval EFI_INVALID_PARAMETER if no PMem module found for DimmPid or input parameter is NULL. @retval EFI_OUT_OF_RESOURCES memory allocation failure @retval EFI_DEVICE_ERROR device error detected @retval EFI_SUCCESS Success @@ -628,17 +628,17 @@ EFI_STATUS ); /** - Set DIMM alarm thresholds + Set PMem module alarm thresholds @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] SensorId Sensor id to set values for @param[in] NonCriticalThreshold New non-critical threshold for sensor @param[in] EnabledState New enable state for sensor @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All Ok **/ @@ -655,7 +655,7 @@ EFI_STATUS ); /** - Get NVM DIMM Health Info + Get PMem module Health Info This FW command is used to retrieve current health of system, including SMART information: * Overall health status @@ -667,14 +667,14 @@ EFI_STATUS * Dirty shutdowns * Last shutdown time. * Power Cycles (does not include warm resets or S3 resumes) - * Power on time (life of DIMM has been powered on) + * Power on time (life of PMem module has been powered on) * Uptime for current power cycle in seconds @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmPid The ID of the DIMM + @param[in] DimmPid The ID of the PMem module @param[out] pHealthInfo - pointer to structure containing all Health and Smarth variables - @retval EFI_INVALID_PARAMETER if no DIMM found for DimmPid. + @retval EFI_INVALID_PARAMETER if no PMem module found for DimmPid. @retval EFI_OUT_OF_RESOURCES memory allocation failure @retval EFI_DEVICE_ERROR device error detected @retval EFI_SUCCESS Success @@ -688,15 +688,15 @@ EFI_STATUS ); /** - Get NVM DIMM package sparing policy + Get PMem module package sparing policy @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmPid The ID of the DIMM + @param[in] DimmPid The ID of the PMem module @param[out] pEnable Reflects whether the package sparing policy is enabled or disabled (0x00 = Disabled) @param[out] pAggressiveness How aggressive to be on package sparing (0...255) - @param[out] pSupported Designates whether or not each rank of the DIMM still supports package sparing + @param[out] pSupported Designates whether or not each rank of the PMem module still supports package sparing - @retval EFI_INVALID_PARAMETER if no DIMM found for DimmPid + @retval EFI_INVALID_PARAMETER if no PMem module found for DimmPid @retval EFI_DEVICE_ERROR if device error detected @retval EFI_SUCCESS **/ @@ -714,23 +714,23 @@ EFI_STATUS Get actual Region goal capacities that would be used based on input values. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] PersistentMemType Persistent memory type @param[in, out] pVolatilePercent Volatile region size in percents. @param[in] ReservedPercent Amount of AppDirect memory to not map in percents - @param[in] ReserveDimm Reserve one DIMM for use as a not interleaved AppDirect memory + @param[in] ReserveDimm Reserve one PMem module for use as a not interleaved AppDirect memory @param[out] pConfigGoals pointer to output array @param[out] pConfigGoalsCount number of elements written - @param[out] pNumOfDimmsTargeted number of DIMMs targeted in a goal config request + @param[out] pNumOfDimmsTargeted number of PMem modules targeted in a goal config request @param[out] pMaxPMInterleaveSetsPerDie pointer to Maximum PM Interleave Sets per Die @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS All Ok **/ typedef @@ -753,23 +753,23 @@ EFI_STATUS ); /** - Create pool goal configuration + Create region goal configuration @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] Examine Do a dry run if set - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] PersistentMemType Persistent memory type @param[in] VolatilePercent Volatile region size in percents @param[in] ReservedPercent Amount of AppDirect memory to not map in percents - @param[in] ReserveDimm Reserve one DIMM for use as a not interleaved AppDirect memory + @param[in] ReserveDimm Reserve one PMem module for use as a not interleaved AppDirect memory @param[in] LabelVersionMajor Major version of label to init @param[in] LabelVersionMinor Minor version of label to init @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All Ok **/ @@ -793,16 +793,16 @@ EFI_STATUS ); /** - Delete pool goal configuration + Delete region goal configuration @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid EFI_DCPMM_CONFIG_DELETE_GOAL DeleteGoalConfig; @retval EFI_SUCCESS All Ok @@ -819,20 +819,20 @@ EFI_STATUS ); /** - Get pool goal configuration + Get region goal configuration @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[out] pConfigGoals pointer to output array @param[out] pConfigGoalsCount number of elements written @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS All Ok **/ typedef @@ -850,16 +850,16 @@ EFI_STATUS ); /** - Dump pool goal configuration into the file + Dump region goal configuration into the file @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] pFilePath Name is a pointer to a dump file path @param[in] pDevicePath is a pointer to a device where dump file will be stored @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS All Ok **/ typedef @@ -873,17 +873,17 @@ EFI_STATUS ); /** - Load pool goal configuration from file + Load region goal configuration from file @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs - @param[in] pFileString Buffer for Pool Goal configuration from file + @param[in] pFileString Buffer for Region Goal configuration from file @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All Ok **/ @@ -918,10 +918,10 @@ typedef struct DIAGNOSTIC_INFO Start Diagnostic Detail @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] DiagnosticTestId ID of a diagnostic test to be started - @param[in] DimmIdPreference Preference for the Dimm ID (handle or UID) + @param[in] DimmIdPreference Preference for the PMem module ID (handle or UID) @param[out] ppResult Pointer to structure that holds results of the tests @retval EFI_INVALID_PARAMETER One or more parameters are invalid @@ -941,10 +941,10 @@ EFI_STATUS /** Create namespace - Creates a AppDirect namespace on the provided pool/dimm. + Creates a AppDirect namespace on the provided region/PMem module. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] RegionId the ID of the pool that the Namespace is supposed to be created. + @param[in] RegionId the ID of the region that the Namespace is supposed to be created. @param[in] Reserved @param[in] BlockSize the size of each of the block in the device. Valid block sizes are: 1 (for AppDirect Namespace), 512 (default), 514, 520, 528, 4096, 4112, 4160, 4224. @@ -964,8 +964,8 @@ EFI_STATUS @retval EFI_SUCCESS if the operation was successful. @retval EFI_ALREADY_EXISTS if a namespace with the provided GUID already exists in the system. @retval EFI_DEVICE_ERROR if there was a problem with writing the configuration to the device. - @retval EFI_OUT_OF_RESOURCES if there is not enough free space on the DIMM/Pool. - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system. + @retval EFI_OUT_OF_RESOURCES if there is not enough free space on the PMem module/region. + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system. **/ typedef EFI_STATUS @@ -988,14 +988,14 @@ EFI_STATUS Delete Namespace @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] Force Force to perform deleting namespace configs on all affected DIMMs + @param[in] Force Force to perform deleting namespace configs on all affected PMem modules @param[in] NamespaceId the ID of the namespace to be removed. @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS if the operation was successful. @retval EFI_NOT_FOUND if a namespace with the provided GUID does not exist in the system. @retval EFI_DEVICE_ERROR if there was a problem with writing the configuration to the device. - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system. + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system. **/ typedef EFI_STATUS @@ -1030,10 +1030,10 @@ EFI_STATUS @param[out] pNamespacesCount - namespace count @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_OUT_OF_RESOURCES Memory allocation failure - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS All ok **/ typedef @@ -1046,11 +1046,11 @@ EFI_STATUS ); /** - Get Error log for given dimm + Get Error log for given PMem module @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - array of dimm pids. Use all dimms if pDimms is NULL and DimmsCount is 0. - @param[in] DimmsCount - number of dimms in array. Use all dimms if pDimms is NULL and DimmsCount is 0. + @param[in] pDimmIds - array of PMem module pids. Use all PMem modules if pDimms is NULL and DimmsCount is 0. + @param[in] DimmsCount - number of PMem modules in array. Use all PMem modules if pDimms is NULL and DimmsCount is 0. @param[in] ThermalError - is thermal error (if not it is media error) @param[in] SequenceNumber - sequence number of error to fetch in queue @param[in] HighLevel - high level if true, low level otherwise @@ -1076,10 +1076,10 @@ EFI_STATUS ); /** - Get the debug log from a specified dimm and fw debug log source + Get the debug log from a specified PMem module and fw debug log source @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID identifier of what dimm to get log pages from + @param[in] DimmID identifier of what PMem module to get log pages from @param[in] LogSource debug log source buffer to retrieve @param[in] Reserved for future use. Must be 0 for now. @param[out] ppDebugLogBuffer - an allocated buffer containing the raw debug log @@ -1107,7 +1107,7 @@ EFI_STATUS Get Optional Configuration Data Policy using FW command @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - pointer to array of UINT16 Dimm ids to get data for + @param[in] pDimmIds - pointer to array of UINT16 PMem module ids to get data for @param[in] DimmIdsCount - number of elements in pDimmIds @param[out] pAvgPwrReportingTimeConstantMultiplier - output buffer of @@ -1132,15 +1132,15 @@ EFI_STATUS Set Optional Configuration Data Policy using FW command @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - pointer to array of UINT16 Dimm ids to set + @param[in] pDimmIds - pointer to array of UINT16 PMem module ids to set @param[in] DimmIdsCount - number of elements in pDimmIds @param[in] AveragePowerReportingTimeConstantMultiplier - AveragePowerReportingTimeConstantMultiplier value to set @param[out] pCommandStatus Structure containing detailed NVM error codes. - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All ok - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules **/ typedef EFI_STATUS @@ -1154,10 +1154,10 @@ EFI_STATUS ); /** - Get requested number of specific DIMM registers for given DIMM id + Get requested number of specific PMem module registers for given PMem module id @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmId - ID of a DIMM. + @param[in] DimmId - ID of a PMem module. @param[out] pBsr - Pointer to buffer for Boot Status register, contains high and low 4B register. @param[out] Reserved @@ -1199,7 +1199,7 @@ EFI_STATUS /** Get the system-wide ARS status for the persistent memory capacity of the system. In this function, the system-wide ARS status is determined based on the ARS status - values for the individual DIMMs. + values for the individual PMem modules. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @@ -1252,12 +1252,12 @@ EFI_STATUS ); /** - Attempt to format a dimm through a customer format command + Attempt to format a PMem module through a customer format command @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs - @param[in] Recovery - Perform on non-functional dimms + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs + @param[in] Recovery - Perform on non-functional PMem modules @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_INVALID_PARAMETER One or more parameters are invalid @@ -1280,7 +1280,7 @@ EFI_STATUS @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance @param[in] DimmID DimmID of device to retrieve support data from - @param[out] pDdrtTrainingStatus pointer to the dimms DDRT training status + @param[out] pDdrtTrainingStatus pointer to the PMem modules DDRT training status @retval EFI_SUCCESS Success @retval EFI_INVALID_PARAMETER One or more parameters are invalid @@ -1323,7 +1323,7 @@ EFI_STATUS InjectError @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - pointer to array of UINT16 Dimm ids to get data for + @param[in] pDimmIds - pointer to array of UINT16 PMem module ids to get data for @param[in] DimmIdsCount - number of elements in pDimmIds @param[IN] ErrorInjType - Error Inject type @@ -1334,7 +1334,7 @@ EFI_STATUS @param[IN] pPercentRemaining - Pointer to percentage remaining @param[out] pCommandStatus Structure containing detailed NVM error codes. -@retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system +@retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All ok **/ @@ -1358,7 +1358,7 @@ EFI_STATUS UEFI - Read directly from BSR register OS - Get BSR value from BIOS emulated command @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID - dimm handle of the DIMM + @param[in] DimmID - PMem module handle of the PMem module @param[out] pBsrValue - pointer to BSR register value OPTIONAL @param[out] pBootStatusBitMask - pointer to bootstatusbitmask OPTIONAL @@ -1379,7 +1379,7 @@ EFI_STATUS /** Get Command Access Policy is used to retrieve a list of FW commands that may be restricted. @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID Handle of the DIMM + @param[in] DimmID Handle of the PMem module @param[in,out] pCount IN: Count is number of elements in the pCapInfo array. OUT: number of elements written to pCapInfo @param[out] pCapInfo Array of Command Access Policy Entries. If NULL, pCount will be updated with number of elements required. OPTIONAL @@ -1397,11 +1397,11 @@ EFI_STATUS ); /** - Get Command Effect Log is used to retrieve a list DIMM FW commands and their effects on the DIMM subsystem. + Get Command Effect Log is used to retrieve a list PMem module FW commands and their effects on the PMem module subsystem. @param[in] pThis - A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID - Handle of the DIMM - @param[in, out] pCelEntry - A pointer to the CEL entry table for a given DIMM + @param[in] DimmID - Handle of the PMem module + @param[in, out] pCelEntry - A pointer to the CEL entry table for a given PMem module @param[in, out] EntryCount - The number of CEL entries for a given table @retval EFI_SUCCESS Success @@ -1428,7 +1428,7 @@ EFI_STATUS @retval EFI_SUCCESS @retval EFI_INVALID_PARAMETER Invalid FW Command Parameter. - @retval EFI_NOT_FOUND The driver could not find the encoded in pCmd DIMM in the system. + @retval EFI_NOT_FOUND The driver could not find the encoded in pCmd PMem module in the system. @retval EFI_DEVICE_ERROR FW error received. @retval EFI_UNSUPPORTED if the command is ran not in the DEBUG version of the driver. @retval EFI_TIMEOUT A timeout occurred while waiting for the protocol command to execute. @@ -1684,7 +1684,7 @@ EFI_STATUS ); /** - Configuration and management of DCPMMs Protocol Interface + Configuration and management of PMem modules Protocol Interface **/ struct _EFI_DCPMM_CONFIG2_PROTOCOL { UINT32 Version; diff --git a/DcpmPkg/common/NvmSharedDefs.h b/DcpmPkg/common/NvmSharedDefs.h index 2a58b044..dff6a5d0 100644 --- a/DcpmPkg/common/NvmSharedDefs.h +++ b/DcpmPkg/common/NvmSharedDefs.h @@ -24,15 +24,15 @@ typedef enum _NvmStatusCode { NVM_ERR_INVALID_PARAMETER = 5, ///< Error: Invalid parameter NVM_ERR_COMMAND_NOT_SUPPORTED_BY_THIS_SKU = 9, ///< Error: Commnand not supported by this SKU - NVM_ERR_DIMM_NOT_FOUND = 11, ///< Error: DIMM not found - NVM_ERR_DIMM_ID_DUPLICATED = 12, ///< Error: DIMM ID duplicated + NVM_ERR_DIMM_NOT_FOUND = 11, ///< Error: PMem module not found + NVM_ERR_DIMM_ID_DUPLICATED = 12, ///< Error: PMem module ID duplicated NVM_ERR_SOCKET_ID_NOT_VALID = 13, ///< Error: Socket ID not valid - NVM_ERR_SOCKET_ID_INCOMPATIBLE_W_DIMM_ID = 14, ///< Error: Socket ID incompatible with dimm ID + NVM_ERR_SOCKET_ID_INCOMPATIBLE_W_DIMM_ID = 14, ///< Error: Socket ID incompatible with PMem module ID NVM_ERR_SOCKET_ID_DUPLICATED = 15, ///< Error: Socket ID duplicated NVM_ERR_CONFIG_NOT_SUPPORTED_BY_CURRENT_SKU = 16, ///< Error: Config Not supproted by current SKU - NVM_ERR_MANAGEABLE_DIMM_NOT_FOUND = 17, ///< Error: Manageable DIMM not found - NVM_ERR_NO_USABLE_DIMMS = 18, ///< Error: No usable DIMMs due to all DIMMs being unmanageable, non-functional, or having a population issue - NVM_ERR_DIMM_EXCLUDED = 19, ///< Error: DIMM excluded as it is unmanageable, non-functional, or has a population issue. + NVM_ERR_MANAGEABLE_DIMM_NOT_FOUND = 17, ///< Error: Manageable PMem module not found + NVM_ERR_NO_USABLE_DIMMS = 18, ///< Error: No usable PMem modules due to all PMem modules being unmanageable, non-functional, or having a population issue + NVM_ERR_DIMM_EXCLUDED = 19, ///< Error: PMem module excluded as it is unmanageable, non-functional, or has a population issue. NVM_ERR_PASSPHRASE_NOT_PROVIDED = 30, ///< Error: Passphrase not provided NVM_ERR_NEW_PASSPHRASE_NOT_PROVIDED = 31, ///< Error: New passphrase not provided @@ -46,11 +46,11 @@ typedef enum _NvmStatusCode { NVM_ERR_INCONSISTENT_SECURITY_STATE = 40, ///< Error: Inconsistent security state NVM_ERR_INVALID_PASSPHRASE = 41, ///< Error: Invalid passphrase NVM_ERR_SECURITY_USER_PP_COUNT_EXPIRED = 42, ///< Error: Security count for user passphrase expired - NVM_ERR_SPI_ACCESS_NOT_ENABLED = 43, ///< Error: DCPMM SPI access not enabled + NVM_ERR_SPI_ACCESS_NOT_ENABLED = 43, ///< Error: PMem module SPI access not enabled NVM_ERR_SECURE_ERASE_NAMESPACE_EXISTS = 44, ///< Error: Namespace exists - cannot execute request NVM_ERR_SECURITY_MASTER_PP_COUNT_EXPIRED = 45, ///< Error: Security count for master passphrase expired - NVM_ERR_IMAGE_FILE_NOT_COMPATIBLE_TO_CTLR_STEPPING = 59, ///< Error: Image not compatible with this DCPMM + NVM_ERR_IMAGE_FILE_NOT_COMPATIBLE_TO_CTLR_STEPPING = 59, ///< Error: Image not compatible with this PMem module NVM_ERR_FILENAME_NOT_PROVIDED = 60, ///< Error: Filename not provided NVM_SUCCESS_IMAGE_EXAMINE_OK = 61, ///< Success: Image OK NVM_ERR_IMAGE_FILE_NOT_VALID = 62, ///< Error: Image file not valid @@ -76,13 +76,13 @@ typedef enum _NvmStatusCode { NVM_WARN_REGION_MAX_AD_PM_INTERLEAVE_SETS_EXCEEDED = 99, ///< Warning: Interleave Sets cannot exceed MaxPMInterleaveSetsPerDie per Socket due to platform limitation for AD Interleaved mode NVM_WARN_REGION_MAX_AD_NI_PM_INTERLEAVE_SETS_EXCEEDED = 100, ///< Warning: Interleave Sets cannot exceed MaxPMInterleaveSetsPerDie per Socket due to platform limitation for AD Non-Interleaved mode NVM_WARN_REGION_AD_NI_PM_INTERLEAVE_SETS_REDUCED = 101, ///< Warning: Reducing the number of AppDirect2 (AD non-interleaved) regions created in AD interlaeved mode request when MaxPMInterleaveSetsPerDie limit exceeeded - NVM_ERR_REGION_MAX_PM_INTERLEAVE_SETS_EXCEEDED = 102, ///< Error: Interleave Sets cannot exceed MaxPMInterleaveSetsPerDie per Socket due to platform limitation (error if existing regions + new region goals for specific DIMMs greater then MaxPMInterleaveSetsPerDie limit) + NVM_ERR_REGION_MAX_PM_INTERLEAVE_SETS_EXCEEDED = 102, ///< Error: Interleave Sets cannot exceed MaxPMInterleaveSetsPerDie per Socket due to platform limitation (error if existing regions + new region goals for specific PMem modules greater then MaxPMInterleaveSetsPerDie limit) NVM_WARN_2LM_MODE_OFF = 103, ///< Error: MemoryMode off NVM_WARN_IMC_DDR_PMM_NOT_PAIRED = 104, ///< Error: PMM and DDR4 missing on iMC NVM_ERR_PCD_BAD_DEVICE_CONFIG = 105, ///< Error: Bad PCD config - NVM_ERR_REGION_GOAL_CONF_AFFECTS_UNSPEC_DIMM = 106, ///< Error: Goal config affects unspecified DIMM - NVM_ERR_REGION_CURR_CONF_AFFECTS_UNSPEC_DIMM = 107, ///< Error: Current config affects unspecified DIMM - NVM_ERR_REGION_GOAL_CURR_CONF_AFFECTS_UNSPEC_DIMM = 108, ///< Error: Current and goal config affects unspecified DIMM + NVM_ERR_REGION_GOAL_CONF_AFFECTS_UNSPEC_DIMM = 106, ///< Error: Goal config affects unspecified PMem module + NVM_ERR_REGION_CURR_CONF_AFFECTS_UNSPEC_DIMM = 107, ///< Error: Current config affects unspecified PMem module + NVM_ERR_REGION_GOAL_CURR_CONF_AFFECTS_UNSPEC_DIMM = 108, ///< Error: Current and goal config affects unspecified PMem module NVM_ERR_REGION_CONF_APPLYING_FAILED = 109, ///< Error: Failed to apply goal NVM_ERR_REGION_CONF_UNSUPPORTED_CONFIG = 110, ///< Error: Unsupported config @@ -96,28 +96,28 @@ typedef enum _NvmStatusCode { NVM_ERR_PLATFORM_NOT_SUPPORT_DEFAULT_INT_SIZES = 118, ///< Error: Platform does not support default interleave sizes NVM_ERR_REGION_NOT_HEALTHY = 119, ///< Error: Region not healthy NVM_ERR_REGION_NOT_ENOUGH_SPACE_FOR_PM_NAMESPACE = 121, ///< Error: Not enough space for persistent namesapce - NVM_ERR_REGION_NO_GOAL_EXISTS_ON_DIMM = 122, ///< Error: Goal does not exist on DIMM - NVM_ERR_RESERVE_DIMM_REQUIRES_AT_LEAST_TWO_DIMMS = 123, ///< Error: Reserve DIMM requires at least 2 DIMMs + NVM_ERR_REGION_NO_GOAL_EXISTS_ON_DIMM = 122, ///< Error: Goal does not exist on PMem module + NVM_ERR_RESERVE_DIMM_REQUIRES_AT_LEAST_TWO_DIMMS = 123, ///< Error: Reserve PMem module requires at least 2 PMem modules NVM_ERR_REGION_GOAL_NAMESPACE_EXISTS = 124, ///< Error: Namespace exists NVM_ERR_REGION_REMAINING_SIZE_NOT_IN_LAST_PROPERTY = 125, ///< Error: Remaining size not in last property - NVM_ERR_PERS_MEM_MUST_BE_APPLIED_TO_ALL_DIMMS = 126, ///< Error: Persistent memory must be applied to all DIMMs + NVM_ERR_PERS_MEM_MUST_BE_APPLIED_TO_ALL_DIMMS = 126, ///< Error: Persistent memory must be applied to all PMem modules NVM_WARN_MAPPED_MEM_REDUCED_DUE_TO_CPU_SKU = 127, ///< Warning: Mapped memory reduced due to CPU SKU limit NVM_ERR_REGION_GOAL_AUTO_PROV_ENABLED = 128, ///< Error: Automatic provision enabled NVM_ERR_CREATE_NAMESPACE_NOT_ALLOWED = 129, ///< Error: Create namespace not allowed NVM_ERR_OPEN_FILE_WITH_WRITE_MODE_FAILED = 130, ///< Error: Failed to open file with write mode - NVM_ERR_DUMP_NO_CONFIGURED_DIMMS = 131, ///< Error: No configured DIMMs + NVM_ERR_DUMP_NO_CONFIGURED_DIMMS = 131, ///< Error: No configured PMem modules NVM_ERR_DUMP_FILE_OPERATION_FAILED = 132, ///< Error: File IO failed NVM_ERR_LOAD_VERSION = 140, ///< Error: Invalid version NVM_ERR_LOAD_INVALID_DATA_IN_FILE = 141, ///< Error: Invalid data in file NVM_ERR_LOAD_IMPROPER_CONFIG_IN_FILE = 142, ///< Error: Improper config in file - NVM_ERR_LOAD_DIMM_COUNT_MISMATCH = 148, ///< Error: Mismatch in DIMMs + NVM_ERR_LOAD_DIMM_COUNT_MISMATCH = 148, ///< Error: Mismatch in PMem modules NVM_ERR_DIMM_SKU_MODE_MISMATCH = 151, ///< Error: SKU mode mismatch NVM_ERR_DIMM_SKU_SECURITY_MISMATCH = 152, ///< Error: SKU security mismatch - NVM_ERR_NONE_DIMM_FULFILLS_CRITERIA = 168, ///< Error: No DIMM matches request + NVM_ERR_NONE_DIMM_FULFILLS_CRITERIA = 168, ///< Error: No PMem module matches request NVM_ERR_UNSUPPORTED_BLOCK_SIZE = 171, ///< Error: Unsupported block size NVM_ERR_INVALID_NAMESPACE_CAPACITY = 174, ///< Error: Invalid namespace capacity NVM_ERR_NOT_ENOUGH_FREE_SPACE = 175, ///< Error: Not enough free space @@ -151,9 +151,9 @@ typedef enum _NvmStatusCode { NVM_ERR_FW_SET_OPTIONAL_DATA_POLICY_FAILED = 230, ///< Error: Set data policy failed NVM_ERR_INVALID_OPTIONAL_DATA_POLICY_STATE = 231, ///< Error: Invalid data policy state - NVM_ERR_FAILED_TO_GET_DIMM_INFO = 235, ///< Error: Failed to get DIMM info + NVM_ERR_FAILED_TO_GET_DIMM_INFO = 235, ///< Error: Failed to get PMem module info - NVM_ERR_FAILED_TO_GET_DIMM_REGISTERS = 240, ///< Error: Failed to get DIMM registers + NVM_ERR_FAILED_TO_GET_DIMM_REGISTERS = 240, ///< Error: Failed to get PMem module registers NVM_ERR_SMBIOS_DIMM_ENTRY_NOT_FOUND_IN_NFIT = 241, ///< Error: SMBIOS entry not found in NFIT NVM_OPERATION_IN_PROGRESS = 250, ///< Error: Operation in progress @@ -201,8 +201,8 @@ typedef enum _NvmStatusCode { NVM_ERR_UNABLE_TO_STAGE_NO_LONGOP = 312, ///< Error: the FW was unable to stage and no long op code was recoverable NVM_ERR_LONG_OP_UNKNOWN = 313, ///< Error: a long operation code is unknown NVM_ERR_PCD_DELETE_DENIED = 314, ///< Error: API not supported - NVM_ERR_MIXED_GENERATIONS_NOT_SUPPORTED = 315, ///< Error: Operation does not work when dimm that are different generations - NVM_ERR_DIMM_HEALTHY_FW_NOT_RECOVERABLE = 316, ///< Error: An attempt to recover FW on a healthy dimm + NVM_ERR_MIXED_GENERATIONS_NOT_SUPPORTED = 315, ///< Error: Operation does not work when PMem module that are different generations + NVM_ERR_DIMM_HEALTHY_FW_NOT_RECOVERABLE = 316, ///< Error: An attempt to recover FW on a healthy PMem module NVM_LAST_STATUS_VALUE } NvmStatusCode; diff --git a/DcpmPkg/common/NvmStatus.h b/DcpmPkg/common/NvmStatus.h index e73d36fc..17ad7d85 100644 --- a/DcpmPkg/common/NvmStatus.h +++ b/DcpmPkg/common/NvmStatus.h @@ -5,7 +5,7 @@ /** * @file NvmStatus.h - * @brief Status Types for EFI_NVMDIMMS_CONFIG_PROTOCOL. + * @brief Status Types for EFI_DCPMM_CONFIG2_PROTOCOL. */ #ifndef _NVM_STATUS_H_ @@ -26,7 +26,7 @@ typedef INT16 NVM_STATUS; /** Object type used by #COMMAND_STATUS **/ typedef enum { ObjectTypeSocket = 0, ///< Socket - ObjectTypeDimm = 1, ///< DIMM + ObjectTypeDimm = 1, ///< PMem module ObjectTypeRegion = 2, ///< Region ObjectTypeNamespace = 3, ///< Namespace ObjectTypeUnknown = 4 ///< Unknown @@ -79,7 +79,7 @@ InitErrorAndWarningNvmStatusCodes( /** Create command status as with specified command message. - Function displays per DIMM status if such exists and + Function displays per PMem module status if such exists and summarizing status for whole command. Memory allocated for status message and command status is freed after status is displayed. diff --git a/DcpmPkg/common/NvmStatus.uni b/DcpmPkg/common/NvmStatus.uni index 45db104f..d4e1d2fe 100644 --- a/DcpmPkg/common/NvmStatus.uni +++ b/DcpmPkg/common/NvmStatus.uni @@ -15,7 +15,7 @@ //Object Types #string STR_DCPMM_STATUS_SOCKET #language en "Socket" -#string STR_DCPMM_STATUS_PMM #language en "DIMM" +#string STR_DCPMM_STATUS_PMM #language en "PMem module" #string STR_DCPMM_STATUS_NAMESPACE #language en "Namespace" #string STR_DCPMM_STATUS_REGION #language en "Region" diff --git a/DcpmPkg/common/NvmTables.h b/DcpmPkg/common/NvmTables.h index 5288e16e..e30aa379 100644 --- a/DcpmPkg/common/NvmTables.h +++ b/DcpmPkg/common/NvmTables.h @@ -5,7 +5,7 @@ /** * @file NvmTables.h - * @brief ACPI Data Types for EFI_NVMDIMMS_CONFIG_PROTOCOL. + * @brief ACPI Data Types for EFI_DCPMM_CONFIG2_PROTOCOL. */ #ifndef _NVMTABLES_H_ @@ -167,7 +167,7 @@ typedef struct { /** NFIT Device Handle */ typedef union { struct { - UINT32 DimmNumber:4; ///< DIMM Number + UINT32 DimmNumber:4; ///< PMem module Number UINT32 MemChannel:4; ///< Memory Channel UINT32 MemControllerId:4; ///< Memory Controller ID UINT32 SocketId:4; ///< Socket ID @@ -177,10 +177,10 @@ typedef union { UINT32 AsUint32; ///< Combined value } NfitDeviceHandle; -/** DIMM Region table */ +/** PMem module Region table */ typedef struct { SubTableHeader Header; ///< Header - NfitDeviceHandle DeviceHandle; ///< DIMM Handle + NfitDeviceHandle DeviceHandle; ///< PMem module Handle UINT16 NvDimmPhysicalId; ///< Physical ID UINT16 NvDimmRegionalId; ///< Region ID UINT16 SpaRangeDescriptionTableIndex; ///< SPA Range Description table index @@ -567,7 +567,7 @@ typedef struct { CH0 | 0b000001 | 0b000010 | CH1 | 0b000100 | 0b001000 | CH2 | 0b010000 | 0b100000 | - Byte[0-1] - Interleave Bitmap based on physical DCPMM population + Byte[0-1] - Interleave Bitmap based on physical PMem module population For ex: Purley Platform 0b001111 x4 0b111100 x4 @@ -722,7 +722,7 @@ typedef struct { 0 - None 1 - Busy 2 - Done - Results are updated in the DIMMs' config output structures + Results are updated in the PMem modules' config output structures **/ UINT64 StatusMask; } RECONFIGURATION_INPUT_VALIDATION_INTERFACE_TABLE; @@ -873,8 +873,8 @@ typedef struct { PMTT_VENDOR_SPECIFIC2 **ppSlots; ///< Slot Type Data Tables UINT32 DDRModulesNum; ///< Count of DDR4 Devices PMTT_MODULE_INFO **ppDDRModules; ///< DDR4 Module Type Data Tables - UINT32 DCPMModulesNum; ///< Count of DCPM Devices - PMTT_MODULE_INFO **ppDCPMModules; ///< DCPM Module Type Data Tables + UINT32 DCPMModulesNum; ///< Count of PMem module Devices + PMTT_MODULE_INFO **ppDCPMModules; ///< PMem module Type Data Tables } ParsedPmttHeader; diff --git a/DcpmPkg/common/NvmTypes.h b/DcpmPkg/common/NvmTypes.h index 76b032d5..51a0ad58 100644 --- a/DcpmPkg/common/NvmTypes.h +++ b/DcpmPkg/common/NvmTypes.h @@ -5,7 +5,7 @@ /** * @file NvmTypes.h - * @brief Types for EFI_NVMDIMMS_CONFIG_PROTOCOL to configure and manage DCPMMs. + * @brief Types for EFI_DCPMM_CONFIG2_PROTOCOL to configure and manage PMem modules. */ #ifndef _NVM_TYPES_H_ @@ -111,9 +111,9 @@ typedef struct { #define AVG_PWR_REPORTING_TIME_CONSTANT_MULT_STR_LEN 6 -/** DIMM UID length, including null terminator **/ -#define MAX_DIMM_UID_LENGTH 22 //!< DIMM UID hexadecimal-format representation length, including manufacturing fields -#define MIN_DIMM_UID_LENGTH 14 //!< DIMM UID hexadecimal-format representation length, excluding manufacturing fields +/** PMem module UID length, including null terminator **/ +#define MAX_DIMM_UID_LENGTH 22 //!< PMem module UID hexadecimal-format representation length, including manufacturing fields +#define MIN_DIMM_UID_LENGTH 14 //!< PMem module UID hexadecimal-format representation length, excluding manufacturing fields #define NVM_EVENT_MSG_LEN 1024 // Length of event message string #ifdef OS_BUILD @@ -247,7 +247,7 @@ typedef struct _FIRMWARE_VERSION { } FIRMWARE_VERSION; /** - SMBus DIMM address + SMBus PMem module address **/ typedef struct _SMBUS_DIMM_ADDR { UINT8 Cpu; @@ -261,10 +261,10 @@ typedef struct _SMBUS_DIMM_ADDR { #define SECTOR_MODE 2 // VFR compiler doesn't support typedef, that's why we use #define -// A bitfield used for determining which DCPMMs to work with for a given +// A bitfield used for determining which PMem modules to work with for a given // operation. Used as input to VerifyTargetDimms() #define REQUIRE_DCPMMS UINT32 -#define REQUIRE_DCPMMS_SELECT_ALL (0) // Allow all DCPMMs +#define REQUIRE_DCPMMS_SELECT_ALL (0) // Allow all PMem modules #define REQUIRE_DCPMMS_MANAGEABLE (1 << 0) // See IsDimmManageable() for definition #define REQUIRE_DCPMMS_UNMANAGEABLE (1 << 1) // See IsDimmManageable() for definition #define REQUIRE_DCPMMS_FUNCTIONAL (1 << 2) // Currently vague, but means it initialized fully with no errors @@ -276,7 +276,7 @@ typedef struct _SMBUS_DIMM_ADDR { /* VFR compiler doesn't support typedef, that's why we use defines **/ #define DIMM_INFO_CATEGORIES UINT16 ///< @ref DIMM_INFO_CATEGORY_TYPES /** - * @defgroup DIMM_INFO_CATEGORY_TYPES DIMM Info Category Types + * @defgroup DIMM_INFO_CATEGORY_TYPES PMem module Info Category Types * @{ */ #define DIMM_INFO_CATEGORY_NONE (0) ///< No DIMM_INFO fields will be populated @@ -287,7 +287,7 @@ typedef struct _SMBUS_DIMM_ADDR { #define DIMM_INFO_CATEGORY_SMART_AND_HEALTH (1 << 4) ///< Health related fields will be populated: HealthStatusReason, LatchedLastShutdownStatus, LastShutdownTime, AitDramEnabled. #define DIMM_INFO_CATEGORY_POWER_MGMT_POLICY (1 << 5) ///< Power management fields will be populated: PeakPowerBudget, AvgPowerLimit, AveragePowerTimeConstant, TurboModeState, TurboPowerLimit #define DIMM_INFO_CATEGORY_OPTIONAL_CONFIG_DATA_POLICY (1 << 6) ///< Optional config data policy fields will be populated: AvgPowerReportingTimeConstantMultiplier -#define DIMM_INFO_CATEGORY_OVERWRITE_DIMM_STATUS (1 << 7) ///< Overwrite DIMM status field will be populated: OverwriteDimmStatus. +#define DIMM_INFO_CATEGORY_OVERWRITE_DIMM_STATUS (1 << 7) ///< Overwrite PMem module status field will be populated: OverwriteDimmStatus. #define DIMM_INFO_CATEGORY_FW_IMAGE_INFO (1 << 8) ///< Firmware Image info fields will be populated: LastFwUpdateStatus, StagedFwVersion, FWImageMaxSize. #define DIMM_INFO_CATEGORY_MEM_INFO_PAGE_3 (1 << 9) ///< Memory info page 3 fields will be populated: ErrorInjectionEnabled, MediaTemperatureInjectionEnabled, SoftwareTriggersEnabled, PoisonErrorInjectionsCounter, PoisonErrorClearCounter, MediaTemperatureInjectionsCouner, SoftwareTriggersCounter, SoftwareTriggersEnabledDetails. #define DIMM_INFO_CATEGORY_VIRAL_POLICY (1 << 10) ///< Viral policy fields will be populated: ViralPolicyEnable, ViralStatus. @@ -380,36 +380,36 @@ typedef struct _DIMM_INFO { UINT16 SocketId; //!< socket id UINT16 InterfaceFormatCode[MAX_IFC_NUM]; //!< format interface codes UINT32 InterfaceFormatCodeNum; //!< number of format interface codes - UINT8 FormFactor; //!< The DIMM form factor + UINT8 FormFactor; //!< The PMem module form factor UINT16 DataWidth; //!< The width in bits used to store user data UINT16 TotalWidth; //!< The width in bits for data and error correction and/or data redundancy UINT16 Speed; //!< The speed in nanoseconds - UINT64 CapacityFromSmbios; //!< The DIMM capacity from SMBIOS in bytes - UINT64 Capacity; //!< DIMM capacity in bytes + UINT64 CapacityFromSmbios; //!< The PMem module capacity from SMBIOS in bytes + UINT64 Capacity; //!< PMem module capacity in bytes UINT64 VolatileCapacity; //!< Capacity in bytes mapped as volatile memory UINT64 PmCapacity; //!< Capacity in bytes reserved for persistent memory //DIMM_INFO_CATEGORY_SECURITY - UINT8 SecurityState; //!< Identifies the security status of the DIMM collected from FW + UINT8 SecurityState; //!< Identifies the security status of the PMem module collected from FW //DIMM_INFO_CATEGORY_PACKAGE_SPARING - BOOLEAN PackageSparingCapable; //!< Whether or not the DIMM is capable of package sparing - UINT8 PackageSparingEnabled; //!< Whether or not the package sparing policy is enabled on the DIMM - UINT8 PackageSparesAvailable; //!< Whether or not the DIMM still has package spares available, + BOOLEAN PackageSparingCapable; //!< Whether or not the PMem module is capable of package sparing + UINT8 PackageSparingEnabled; //!< Whether or not the package sparing policy is enabled on the PMem module + UINT8 PackageSparesAvailable; //!< Whether or not the PMem module still has package spares available, //!< and the package spare has not yet been used by the package sparing policy; - //!< this value will be 0 if the DIMM is not package sparing capable as per SKU + //!< this value will be 0 if the PMem module is not package sparing capable as per SKU //DIMM_INFO_CATEGORY_ARS_STATUS - UINT8 ARSStatus; //!< Address Range Scrub (ARS) operation status for the DIMM + UINT8 ARSStatus; //!< Address Range Scrub (ARS) operation status for the PMem module //DIMM_INFO_CATEGORY_SMART_AND_HEALTH UINT8 HealthState; //!< overall health state UINT16 HealthStatusReason; //!< Health state reason(s) - UINT32 LatchedLastShutdownStatusDetails; //!< The detailed status of the last shutdown of the DIMM. - UINT32 UnlatchedLastShutdownStatusDetails; //!< The detailed status of the last shutdown of the DIMM. + UINT32 LatchedLastShutdownStatusDetails; //!< The detailed status of the last shutdown of the PMem module. + UINT32 UnlatchedLastShutdownStatusDetails; //!< The detailed status of the last shutdown of the PMem module. UINT8 ThermalThrottlePerformanceLossPrct; //!< the average percentage loss (0..100) due to thermal throttling since last read in current boot UINT64 LastShutdownTime; //!< The time the system was last shutdown. - UINT8 AitDramEnabled; //!< Whether or not the DIMM AIT DRAM is enabled + UINT8 AitDramEnabled; //!< Whether or not the PMem module AIT DRAM is enabled UINT16 MaxMediaTemperature; //!< The highest die temperature reported in degrees Celsius. UINT16 MaxControllerTemperature; //!< The highest controller temperature repored in degrees Celsius. @@ -431,8 +431,8 @@ typedef struct _DIMM_INFO { // From global dimm struct UINT64 AppDirectCapacity; //!< Capacity in bytes mapped as persistent memory - UINT64 UnconfiguredCapacity; //!< Total DIMM capacity in bytes that needs further configuration. - UINT64 ReservedCapacity; //!< Total DIMM capacity in bytes that is reserved for metadata. + UINT64 UnconfiguredCapacity; //!< Total PMem module capacity in bytes that needs further configuration. + UINT64 ReservedCapacity; //!< Total PMem module capacity in bytes that is reserved for metadata. UINT64 InaccessibleCapacity; //!< Capacity in bytes for use that has not been exposed //DIMM_INFO_CATEGORY_FW_IMAGE_INFO @@ -451,9 +451,9 @@ typedef struct _DIMM_INFO { UINT64 SoftwareTriggersEnabledDetails; //!< For each bit set, the corresponding trigger is currently enabled. // From global dimm struct - UINT8 ManageabilityState; //!< if the DIMM is manageable by this SW - UINT8 IsNew; //!< if is incorporated with the rest of the DCPMMs in the system - UINT8 RebootNeeded; //!< Whether or not reboot is required to reconfigure dimm + UINT8 ManageabilityState; //!< if the PMem module is manageable by this SW + UINT8 IsNew; //!< if is incorporated with the rest of the PMem modules in the system + UINT8 RebootNeeded; //!< Whether or not reboot is required to reconfigure PMem module UINT32 SkuInformation; //!< Information about SKU modes UINT16 VendorId; //!< vendor id UINT16 DeviceId; //!< device id @@ -467,15 +467,15 @@ typedef struct _DIMM_INFO { UINT16 NodeControllerID; //!< The node controller identifier UINT8 MemoryType; //!< memory type UINT8 ConfigStatus; //!< ConfigurationStatus code - UINT8 ModesSupported; //!< A list of the modes supported by the DIMM - BOOLEAN SecurityCapabilities; //!< The security features supported by the DIMM - BOOLEAN SKUViolation; //!< The configuration of the DIMM is unsupported due to a license issue - BOOLEAN IsInPopulationViolation; //!< The DIMM population falls outside of the supported config option - UINT8 OverwriteDimmStatus; //!< Overwrite DIMM operation status - BOOLEAN Configured; //!< true if the DIMM is configured + UINT8 ModesSupported; //!< A list of the modes supported by the PMem module + BOOLEAN SecurityCapabilities; //!< The security features supported by the PMem module + BOOLEAN SKUViolation; //!< The configuration of the PMem module is unsupported due to a license issue + BOOLEAN IsInPopulationViolation; //!< The PMem module population falls outside of the supported config option + UINT8 OverwriteDimmStatus; //!< Overwrite PMem module operation status + BOOLEAN Configured; //!< true if the PMem module is configured CHAR16 ManufacturerStr[MANUFACTURER_LEN]; //!< Manufacturer string matched from manufacturer string number. - UINT32 DimmHandle; //!< The DIMM handle + UINT32 DimmHandle; //!< The PMem module handle SMBUS_DIMM_ADDR SmbusAddress; //!< SMBUS address CHAR16 DimmUid[MAX_DIMM_UID_LENGTH]; //!< Globally unique NVDIMM id (in hexadecimal format representation) UINT32 ErrorMask; //!< Bit mask representing which FW functions failed, see DIMM_INFO_ERROR types @@ -501,7 +501,7 @@ typedef struct _DIMM_INFO { CHAR16 SecurityStateStr[SECURITY_STATE_STR_LEN]; //DIMM_INFO_CATEGORY_MEM_INFO_PAGE_4 - DIMM_INFO_ATTRIB_UINT16 DcpmmAveragePower;//!< DCPMM Average Power + DIMM_INFO_ATTRIB_UINT16 DcpmmAveragePower;//!< PMem module Average Power DIMM_INFO_ATTRIB_UINT16 AveragePower12V; //!< Average 12V Power DIMM_INFO_ATTRIB_UINT16 AveragePower1_2V; //!< Average 1.2V Power @@ -584,13 +584,13 @@ typedef struct _SYSTEM_CAPABILITIES_INFO { } SYSTEM_CAPABILITIES_INFO; typedef struct _MEMORY_RESOURCES_INFO { - UINT64 RawCapacity; //!< Sum of the raw capacity on all DCPMM dimms - UINT64 VolatileCapacity; //!< Sum of the usable volatile capacity on all DCPMM dimms - UINT64 AppDirectCapacity; //!< Sum of the usable appdirect capacity on all DCPMM dimms - UINT64 UnconfiguredCapacity; //!< Sum of the DCPMM capacity that is not configured - UINT64 InaccessibleCapacity; //!< Sum of the DCPMM capacity that is inaccessible due to a licensing issue - UINT64 ReservedCapacity; //!< Sum of the capacity reserved for metadata on all dimms - UINT64 DDRRawCapacity; //!< Sum of the raw capacity on all DDR dimms + UINT64 RawCapacity; //!< Sum of the raw capacity on all PMem modules + UINT64 VolatileCapacity; //!< Sum of the usable volatile capacity on all PMem modules + UINT64 AppDirectCapacity; //!< Sum of the usable appdirect capacity on all PMem modules + UINT64 UnconfiguredCapacity; //!< Sum of the PMem module capacity that is not configured + UINT64 InaccessibleCapacity; //!< Sum of the PMem module capacity that is inaccessible due to a licensing issue + UINT64 ReservedCapacity; //!< Sum of the capacity reserved for metadata on all PMem modules + UINT64 DDRRawCapacity; //!< Sum of the raw capacity on all DDR PMem modules UINT64 DDRCacheCapacity; //!< Sum of the DDR capacity used for caching UINT64 DDRVolatileCapacity; //!< Sum of the DDR capacity used as volatile memory UINT64 DDRInaccessibleCapacity; //!< Sum of the DDR capacity that is inaccessible @@ -599,19 +599,19 @@ typedef struct _MEMORY_RESOURCES_INFO { typedef struct _DIMM_PERFORMANCE_DATA { UINT16 DimmId; //!< SMBIOS Type 17 handle corresponding to this memory device - UINT128 MediaReads; //!< Number of 64 byte reads from media on the DCPMM since last AC cycle - UINT128 MediaWrites; //!< Number of 64 byte writes to media on the DCPMM since last AC cycle - UINT128 ReadRequests; //!< Number of DDRT read transactions the DCPMM has serviced since last AC cycle - UINT128 WriteRequests; //!< Number of DDRT write transactions the DCPMM has serviced since last AC cycle - UINT128 TotalMediaReads; //!< Lifetime number of 64 byte reads from media on the DCPMM - UINT128 TotalMediaWrites; //!< Lifetime number of 64 byte writes to media on the DCPMM - UINT128 TotalReadRequests; //!< Lifetime number of DDRT read transactions the DCPMM has serviced - UINT128 TotalWriteRequests; //!< Lifetime number of DDRT write transactions the DCPMM has serviced + UINT128 MediaReads; //!< Number of 64 byte reads from media on the PMem module since last AC cycle + UINT128 MediaWrites; //!< Number of 64 byte writes to media on the PMem module since last AC cycle + UINT128 ReadRequests; //!< Number of DDRT read transactions the PMem module has serviced since last AC cycle + UINT128 WriteRequests; //!< Number of DDRT write transactions the PMem module has serviced since last AC cycle + UINT128 TotalMediaReads; //!< Lifetime number of 64 byte reads from media on the PMem module + UINT128 TotalMediaWrites; //!< Lifetime number of 64 byte writes to media on the PMem module + UINT128 TotalReadRequests; //!< Lifetime number of DDRT read transactions the PMem module has serviced + UINT128 TotalWriteRequests; //!< Lifetime number of DDRT write transactions the PMem module has serviced // These are deprecated in the FIS, but leaving these in to preserve functionality // of manufacturing command (MfgShowPerformanceCommand.c). They are set to 0s // in GetDimmsPerformanceData - UINT128 TotalBlockReadRequests; //!< Lifetime number of BW read requests the DCPMM has serviced - UINT128 TotalBlockWriteRequests; //!< Lifetime number of BW write requests the DCPMM has serviced + UINT128 TotalBlockReadRequests; //!< Lifetime number of BW read requests the PMem module has serviced + UINT128 TotalBlockWriteRequests; //!< Lifetime number of BW write requests the PMem module has serviced } DIMM_PERFORMANCE_DATA; /** Namespace information */ @@ -690,8 +690,8 @@ typedef struct _REGION_INFO { UINT64 AppDirNamespaceMaxSize; ///< Maximum size of an AppDirect namespace UINT64 AppDirNamespaceMinSize; ///< Minimum size of an AppDirect namespace UINT16 Health; ///< Health state of region - UINT16 DimmId[12]; ///< DIMM IDs associated with this region - UINT16 DimmIdCount; ///< Number of DIMMs found in DimmId + UINT16 DimmId[12]; ///< PMem module IDs associated with this region + UINT16 DimmIdCount; ///< Number of PMem modules found in DimmId UINT64 CookieId; ///< Interleave set ID HII_POINTER PtrInterlaveFormats; ///< Pointer to array of Interleave Formats UINT32 InterleaveFormatsNum; ///< Number of Interleave Formats @@ -703,14 +703,14 @@ typedef struct _REGION_GOAL_TEMPLATE { BOOLEAN Asymmetrical; //!< Determine if region goal use asymmetrical config on socket } REGION_GOAL_TEMPLATE; -/** Structure describes the usage characteristics and regions (interleave sets) of the specified DIMM */ +/** Structure describes the usage characteristics and regions (interleave sets) of the specified PMem module */ typedef struct _REGION_GOAL_PER_DIMM_INFO { - UINT32 DimmID; //!< DIMM ID - CHAR16 DimmUid[MAX_DIMM_UID_LENGTH]; //!< DIMM UID - UINT16 SocketId; //!< Socket ID that DIMM is found + UINT32 DimmID; //!< PMem module ID + CHAR16 DimmUid[MAX_DIMM_UID_LENGTH]; //!< PMem module UID + UINT16 SocketId; //!< Socket ID that PMem module is found UINT32 PersistentRegions; //!< Count of persistent regions UINT64 VolatileSize; //!< Volatile capacity - UINT8 NumberOfInterleavedDimms[MAX_IS_PER_DIMM]; //!< Count of DIMMs that are part of related Interleaved AppDirect regions + UINT8 NumberOfInterleavedDimms[MAX_IS_PER_DIMM]; //!< Count of PMem modules that are part of related Interleaved AppDirect regions UINT64 AppDirectSize[MAX_IS_PER_DIMM]; //!< AppDirect capacity UINT8 InterleaveSetType[MAX_IS_PER_DIMM]; //!< Type of interleave set: non-interleaved, interleaved, mirrored UINT8 ImcInterleaving[MAX_IS_PER_DIMM]; //!< IMC interleaving as bit field @@ -723,7 +723,7 @@ typedef struct _REGION_GOAL_PER_DIMM_INFO { /** Error Log Info */ typedef struct _ERROR_LOG_INFO { - UINT16 DimmID; //!< DIMM ID of associated log info + UINT16 DimmID; //!< PMem module ID of associated log info UINT64 SystemTimestamp; //!< Unix epoch time of log entry UINT8 ErrorType; //!< Error Log type. See @ref ERROR_LOG_TYPES. UINT8 OutputData[MAX_ERROR_LOG_STRUCT_SIZE]; //!< Error log data @@ -754,12 +754,12 @@ typedef struct _DEBUG_LOG_INFO { @{ **/ #define HEALTH_UNKNOWN 0 ///< Unknown health status -#define HEALTH_HEALTHY 1 ///< DIMM Healthy +#define HEALTH_HEALTHY 1 ///< PMem module Healthy #define HEALTH_NON_CRITICAL_FAILURE 2 ///< Non-Critical (maintenance required) #define HEALTH_CRITICAL_FAILURE 3 ///< Critical (feature or performance degraded due to failure) #define HEALTH_FATAL_FAILURE 4 ///< Fatal (data loss has occurred or is imminent) -#define HEALTH_UNMANAGEABLE 5 ///< DIMM is unmanagable -#define HEALTH_NON_FUNCTIONAL 6 ///< DIMM is non-functional +#define HEALTH_UNMANAGEABLE 5 ///< PMem module is unmanagable +#define HEALTH_NON_FUNCTIONAL 6 ///< PMem module is non-functional /** @} @@ -804,7 +804,7 @@ typedef struct _DEBUG_LOG_INFO { #define SECURITY_MASTER_PW_MAX 6 #define SECURITY_NOT_SUPPORTED 7 #define SECURITY_STATES_COUNT 8 -#define SECURITY_MIXED_STATE 9 // Mixed security state in all dimms view +#define SECURITY_MIXED_STATE 9 // Mixed security state in all PMem modules view /** Passphrase Type @@ -821,7 +821,7 @@ typedef struct _DEBUG_LOG_INFO { #define ARS_STATUS_COMPLETED 3 #define ARS_STATUS_ABORTED 4 -/** Overwrite DIMM operation status **/ +/** Overwrite PMem module operation status **/ #define OVERWRITE_DIMM_STATUS_UNKNOWN 0 #define OVERWRITE_DIMM_STATUS_NOT_STARTED 1 #define OVERWRITE_DIMM_STATUS_IN_PROGRESS 2 @@ -835,7 +835,7 @@ typedef struct _DEBUG_LOG_INFO { #define NORMAL_MODE_COMPLETE 0x04 #define DDRT_TRAINING_UNKNOWN 0xFF -/** Dimm Boot Status Bitmask **/ +/** PMem module Boot Status Bitmask **/ #define DIMM_BOOT_STATUS_NORMAL 0 #define DIMM_BOOT_STATUS_UNKNOWN BIT0 #define DIMM_BOOT_STATUS_MEDIA_NOT_READY BIT1 @@ -1006,7 +1006,7 @@ typedef struct _DEBUG_LOG_INFO { * Sensor IDs for the various sensor types * @{ */ -#define SENSOR_TYPE_DIMM_HEALTH 0 ///< DIMM Health Sensor ID +#define SENSOR_TYPE_DIMM_HEALTH 0 ///< PMem module Health Sensor ID #define SENSOR_TYPE_MEDIA_TEMPERATURE 1 ///< Media Temperature Sensor ID #define SENSOR_TYPE_CONTROLLER_TEMPERATURE 2 ///< Controller Temperature Sensor ID #define SENSOR_TYPE_PERCENTAGE_REMAINING 3 ///< Percentage Remaining Sensor ID @@ -1059,12 +1059,12 @@ typedef struct _DEBUG_LOG_INFO { /** 00 - Undefined - 01 - DIMM is configured successfully + 01 - PMem module is configured successfully 02 - Reserved - 03 - All the DIMMs in the interleave set not found. Volatile memory is mapped to the SPA if possible + 03 - All the PMem modules in the interleave set not found. Volatile memory is mapped to the SPA if possible 04 - Persistent Memory not mapped due to matching Interleave set not found. Volatile memory is mapped to the SPA if possible - 05 - DIMM added to the system or moved within the system or DIMM is not yet configured - Volatile memory is mapped to the SPA if possible. Current configuration present in the DIMM is not modified (Reserved) + 05 - PMem module added to the system or moved within the system or PMem module is not yet configured + Volatile memory is mapped to the SPA if possible. Current configuration present in the PMem module is not modified (Reserved) 06 - New configuration input structures have errors, old configuration used. Refer to the config output structures for additional errors 07 - New configuration input structures have errors. Volatile memory is mapped to the SPA if possible @@ -1072,11 +1072,11 @@ typedef struct _DEBUG_LOG_INFO { 08 - Configuration Input Checksum not valid 09 - Configuration Input data Revision is not supported 10 - Current Configuration Checksum not valid - 11 - DCPMM is not mapped to SPA due to a health issue or configuration change - 12 - DCPMM persistent and volatile memory is not mapped due to a population issue - 13 - DCPMM volatile memory is not mapped since NM:FM ratio is not supported - 14 - DCPMM is not mapped due to a violation of the CPU maximum memory limit - 15 - DCPMM persistent memory mapped, but volatile memory is not mapped due to a population issue + 11 - PMem module is not mapped to SPA due to a health issue or configuration change + 12 - PMem module persistent and volatile memory is not mapped due to a population issue + 13 - PMem module volatile memory is not mapped since NM:FM ratio is not supported + 14 - PMem module is not mapped due to a violation of the CPU maximum memory limit + 15 - PMem module persistent memory mapped, but volatile memory is not mapped due to a population issue Other values reserved **/ @@ -1139,8 +1139,8 @@ typedef struct { #define DIMM_SENSOR_ALARM_ENABLED 1 #define DISPLAY_DIMM_ID_HANDLE 0 //!< Use SMBIOS Type 17 handle -#define DISPLAY_DIMM_ID_UID 1 //!< Use DIMM UID -#define DISPLAY_DIMM_ID_MAX_SIZE 2 //!< Number of possible Dimm Identifiers +#define DISPLAY_DIMM_ID_UID 1 //!< Use PMem module UID +#define DISPLAY_DIMM_ID_MAX_SIZE 2 //!< Number of possible PMem module Identifiers #define DISPLAY_DIMM_ID_DEFAULT DISPLAY_DIMM_ID_HANDLE #define APP_DIRECT_SETTINGS_INDEX_DEFAULT 0 @@ -1162,7 +1162,7 @@ typedef struct { #define DISPLAY_DIMM_ID_VARIABLE_NAME L"CLI_DEFAULT_DIMM_ID" #define DISPLAY_SIZE_VARIABLE_NAME L"CLI_DEFAULT_SIZE" -/** Intel DIMM Config automatic provisioning **/ +/** Intel PMem module Config automatic provisioning **/ #define INTEL_DIMM_CONFIG_VARIABLE_NAME L"IntelDIMMConfig" #define INTEL_DIMM_CONFIG_REVISION 2 @@ -1231,7 +1231,7 @@ typedef struct _INTEL_DIMM_CONFIG { #define OUTPUT_ALL 0xFFFFFFFF typedef struct _DISPLAY_PREFERENCES { - UINT8 DimmIdentifier; //!< Default display of DIMM identifiers + UINT8 DimmIdentifier; //!< Default display of PMem module identifiers UINT8 SizeUnit; //!< Default display capacity unit UINT8 OutputTypeMask; } DISPLAY_PREFERENCES; diff --git a/DcpmPkg/common/Printer.h b/DcpmPkg/common/Printer.h index bd5d3a45..50739627 100644 --- a/DcpmPkg/common/Printer.h +++ b/DcpmPkg/common/Printer.h @@ -41,7 +41,7 @@ #define MEMORY_TYPE_MAX_STR_WIDTH 30 #define DEVICE_LOCATOR_MAX_STR_WIDTH 15 #define DDR_MAX_STR_WIDTH 25 -#define DCPMM_MAX_STR_WIDTH 25 +#define PMEM_MODULE_MAX_STR_WIDTH 25 #define TOTAL_STR_WIDTH 25 diff --git a/DcpmPkg/common/ShowAcpi.c b/DcpmPkg/common/ShowAcpi.c index 746c4f0c..08db5f96 100644 --- a/DcpmPkg/common/ShowAcpi.c +++ b/DcpmPkg/common/ShowAcpi.c @@ -418,10 +418,10 @@ PrintPcatTable( DcpmmMgmtSWConfigInputSupport = CatSPrintClean(DcpmmMgmtSWConfigInputSupport, FORMAT_STR, L" & Runtime Interface for config validation"); } if (DcpmmMgmtSWConfigInputSupport != NULL) { - PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"DcpmmMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, + PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"PMemModuleMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, pPlatformCapabilityInfoTable->MgmtSwConfigInputSupport, DcpmmMgmtSWConfigInputSupport); } else { - PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"DcpmmMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH, + PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"PMemModuleMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH, pPlatformCapabilityInfoTable->MgmtSwConfigInputSupport); } FREE_POOL_SAFE(DcpmmMgmtSWConfigInputSupport); @@ -463,10 +463,10 @@ PrintPcatTable( } else if (IS_ACPI_REV_MAJ_1_MIN_1_OR_MIN_2(PcatRevision)) { PLATFORM_CAPABILITY_INFO3 *pPlatformCapabilityInfoTable = (PLATFORM_CAPABILITY_INFO3 *)pTable; if (pPlatformCapabilityInfoTable->MgmtSwConfigInputSupport & BIOS_SUPPORTS_CHANGING_CONFIG) { - PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"DcpmmMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, + PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"PMemModuleMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, pPlatformCapabilityInfoTable->MgmtSwConfigInputSupport, L"Yes"); } else { - PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"DcpmmMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, + PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"PMemModuleMgmtSWConfigInputSupport", FORMAT_HEX_NOWIDTH FORMAT_STR_WITH_PARANTHESIS, pPlatformCapabilityInfoTable->MgmtSwConfigInputSupport, L"No"); } MemoryModeCapabilities = DecodePcatMemoryModeCapabilities((VOID *)&pPlatformCapabilityInfoTable->MemoryModeCapabilities); @@ -488,9 +488,9 @@ PrintPcatTable( } FREE_POOL_SAFE(CurrentMemoryMode); MaxPMInterleaveSets = CatSPrintClean(MaxPMInterleaveSets, L"\n" SHOW_LIST_IDENT SHOW_LIST_IDENT SHOW_LIST_IDENT FORMAT_STR_COLON_SPACE_HEX, - L"-Per Die", pPlatformCapabilityInfoTable->MaxPMInterleaveSets.MaxInterleaveSetsSplit.PerDie); + L"-Per CPU Die", pPlatformCapabilityInfoTable->MaxPMInterleaveSets.MaxInterleaveSetsSplit.PerDie); MaxPMInterleaveSets = CatSPrintClean(MaxPMInterleaveSets, L"\n" SHOW_LIST_IDENT SHOW_LIST_IDENT SHOW_LIST_IDENT FORMAT_STR_COLON_SPACE_HEX, - L"-Per DCPMM", pPlatformCapabilityInfoTable->MaxPMInterleaveSets.MaxInterleaveSetsSplit.PerDcpmm); + L"-Per PMem module", pPlatformCapabilityInfoTable->MaxPMInterleaveSets.MaxInterleaveSetsSplit.PerDcpmm); if (MaxPMInterleaveSets != NULL) { PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"MaxPMInterleaveSets", FORMAT_HEX_NOWIDTH FORMAT_STR L"\n", pPlatformCapabilityInfoTable->MaxPMInterleaveSets.AsUint16, MaxPMInterleaveSets); @@ -552,9 +552,9 @@ PrintPcatTable( } PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"InterleaveAlignmentSize", FORMAT_HEX_NOWIDTH, pMemoryInterleaveCapabilityInfoTable->InterleaveAlignmentSize); MaxPMInterleaveSets = CatSPrintClean(MaxPMInterleaveSets, L"\n" SHOW_LIST_IDENT SHOW_LIST_IDENT SHOW_LIST_IDENT FORMAT_STR_COLON_SPACE_HEX, - L"-Per Die", pMemoryInterleaveCapabilityInfoTable->MaxInterleaveSetsPerMemType.MaxInterleaveSetsSplit.PerDie); + L"-Per CPU Die", pMemoryInterleaveCapabilityInfoTable->MaxInterleaveSetsPerMemType.MaxInterleaveSetsSplit.PerDie); MaxPMInterleaveSets = CatSPrintClean(MaxPMInterleaveSets, L"\n" SHOW_LIST_IDENT SHOW_LIST_IDENT SHOW_LIST_IDENT FORMAT_STR_COLON_SPACE_HEX, - L"-Per DCPMM", pMemoryInterleaveCapabilityInfoTable->MaxInterleaveSetsPerMemType.MaxInterleaveSetsSplit.PerDcpmm); + L"-Per PMem module", pMemoryInterleaveCapabilityInfoTable->MaxInterleaveSetsPerMemType.MaxInterleaveSetsSplit.PerDcpmm); if (MaxPMInterleaveSets != NULL) { PRINTER_SET_KEY_VAL_WIDE_STR_FORMAT(pPrinterCtx, pTypePath, L"MaxPMInterleaveSetsPerMemType", FORMAT_HEX_NOWIDTH FORMAT_STR L"\n", pMemoryInterleaveCapabilityInfoTable->MaxInterleaveSetsPerMemType.AsUint16, MaxPMInterleaveSets); diff --git a/DcpmPkg/common/Types.h b/DcpmPkg/common/Types.h index 3cf67b94..72fd6a1b 100644 --- a/DcpmPkg/common/Types.h +++ b/DcpmPkg/common/Types.h @@ -5,7 +5,7 @@ /** * @file Types.h - * @brief Types for EFI_NVMDIMMS_CONFIG_PROTOCOL to configure and manage DCPMMs. These types don't compile with VFR compiler and are kept separate. + * @brief Types for EFI_DCPMM_CONFIG2_PROTOCOL to configure and manage PMem modules. These types don't compile with VFR compiler and are kept separate. */ #ifndef _TYPES_H_ @@ -22,10 +22,10 @@ #define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))) -#define PMEM_MODULE_NAME L"Intel(R) DCPMM " //short version for drivers list -#define PMEM_MODULE_NAME_SEARCH L"Intel(R),DCPMM" //comma separated search string +#define PMEM_MODULE_NAME L"Intel(R) PMem module " //short version for drivers list +#define PMEM_MODULE_NAME_SEARCH L"Intel(R),PMemModule" //comma separated search string -#define PMEM_DIMM_NAME L"Intel Persistent Memory DIMM %d Controller" +#define PMEM_DIMM_NAME L"Intel Persistent Memory Module %d Controller" /*This should match the error_type definition in nvm_management.h*/ #define ERROR_INJ_POISON 0X01 @@ -99,7 +99,7 @@ typedef union { UINT64 Rsvd : 2; //33:32 UINT64 DTS : 2; //35:34 UINT64 Rsvd1 : 28; //63:36 - } Separated_FIS_1_15; // DCPMM Gen 1 FIS + } Separated_FIS_1_15; // PMem module Gen 1 FIS struct { UINT64 Major : 8; //7:0 UINT64 Minor : 8; //15:8 @@ -125,7 +125,7 @@ typedef union { } DIMM_BSR; /** - Contains SMART and Health attributes of a DIMM + Contains SMART and Health attributes of a PMem module **/ typedef struct _SMART_AND_HEALTH_INFO { BOOLEAN PercentageRemainingValid; ///< Indicates if PercentageRemaining is valid @@ -140,9 +140,9 @@ typedef struct _SMART_AND_HEALTH_INFO { UINT32 LatchedDirtyShutdownCount; ///< Latched Dirty Shutdowns count UINT8 LatchedLastShutdownStatus; ///< Latched Last Shutdown Status. See FIS field LSS for additional details UINT8 UnlatchedLastShutdownStatus; - UINT32 PowerOnTime; ///< Lifetime DIMM has been powered on in seconds. See FIS field POT for additional details - UINT32 UpTime; ///< DIMM uptime in seconds since last AC cycle. See FIS field UT for additional details - UINT64 PowerCycles; ///< Number of DIMM power cycles. See FIS field PC for additional details + UINT32 PowerOnTime; ///< Lifetime PMem module has been powered on in seconds. See FIS field POT for additional details + UINT32 UpTime; ///< PMem module uptime in seconds since last AC cycle. See FIS field UT for additional details + UINT64 PowerCycles; ///< Number of PMem module power cycles. See FIS field PC for additional details UINT8 HealthStatus; ///< Overall health summary as specified by @ref HEALTH_STATUS. See FIS field HS for additional details. UINT16 HealthStatusReason; ///< Indicates why the module is in the current HealthStatus as specified by @ref HEALTH_STATUS_REASONS. See FIS field HSR for additional details. UINT32 MediaErrorCount; ///< Total count of media errors found in Error Log @@ -168,7 +168,7 @@ typedef struct _SMART_AND_HEALTH_INFO { **/ typedef struct { UINT8 Type; - UINT8 State; //!< DEPRECATED; current state of a given dimm sensor + UINT8 State; //!< DEPRECATED; current state of a given PMem module sensor UINT8 Enabled; INT64 Value; UINT8 SettableThresholds; diff --git a/DcpmPkg/common/Utility.h b/DcpmPkg/common/Utility.h index 3b113359..b6acb9eb 100644 --- a/DcpmPkg/common/Utility.h +++ b/DcpmPkg/common/Utility.h @@ -96,6 +96,10 @@ typedef union { #define FW_UPDATE_OPCODE 0x09 #define FW_UPDATE_SUBOPCODE 0x00 +// Product name string values +#define PMEM_MODULE_STR L"PMem module" +#define PMEM_MODULES_STR PMEM_MODULE_STR L"s" + // Last shutdown status string values #define LAST_SHUTDOWN_STATUS_PM_ADR_STR L"PM ADR Command Received" #define LAST_SHUTDOWN_STATUS_PM_S3_STR L"PM S3 Received" diff --git a/DcpmPkg/common/Version.h b/DcpmPkg/common/Version.h index b637427e..1e91fb40 100644 --- a/DcpmPkg/common/Version.h +++ b/DcpmPkg/common/Version.h @@ -15,7 +15,7 @@ #define _VERSION_H_ #define VENDOR_ID 0x8086 -#define PRODUCT_NAME L"Intel(R) Optane(TM) DC Persistent Memory" +#define PRODUCT_NAME L"Intel(R) Optane(TM) Persistent Memory" #define GENERAL_RELEASE 0 #define ALPHA_RELEASE 1 diff --git a/DcpmPkg/driver/Core/Diagnostics/ConfigDiagnostic.c b/DcpmPkg/driver/Core/Diagnostics/ConfigDiagnostic.c index 2a2014b6..df7e0c89 100644 --- a/DcpmPkg/driver/Core/Diagnostics/ConfigDiagnostic.c +++ b/DcpmPkg/driver/Core/Diagnostics/ConfigDiagnostic.c @@ -284,7 +284,7 @@ GetCoutDetailedStatusStr( switch (CoutStatus) { case CONFIG_OUTPUT_STATUS_ERROR: if (PartitionSizeChangeTableStatus == PARTITION_SIZE_CHANGE_STATUS_FW_ERROR) { - pCoutErrorMessage = HiiGetString(gNvmDimmData->HiiHandle, STRING_TOKEN(STR_CONFIG_STATUS_DCPMM_FIRMWARE_ERROR), NULL); + pCoutErrorMessage = HiiGetString(gNvmDimmData->HiiHandle, STRING_TOKEN(STR_CONFIG_STATUS_PMEM_MODULE_FIRMWARE_ERROR), NULL); } else if (PartitionSizeChangeTableStatus == PARTITION_SIZE_CHANGE_STATUS_EXCEED_DRAM_DECODERS || InterleaveInformationTableStatus_1 == INTERLEAVE_INFO_STATUS_EXCEED_DRAM_DECODERS || @@ -298,7 +298,7 @@ GetCoutDetailedStatusStr( else if (PartitionSizeChangeTableStatus == PARTITION_SIZE_CHANGE_STATUS_DIMM_MISSING || InterleaveInformationTableStatus_1 == INTERLEAVE_INFO_STATUS_DIMM_MISSING || InterleaveInformationTableStatus_2 == INTERLEAVE_INFO_STATUS_DIMM_MISSING) { - pCoutErrorMessage = HiiGetString(gNvmDimmData->HiiHandle, STRING_TOKEN(STR_CONFIG_STATUS_DIMM_MISSING_IN_ISET), NULL); + pCoutErrorMessage = HiiGetString(gNvmDimmData->HiiHandle, STRING_TOKEN(STR_CONFIG_STATUS_PMEM_MODULE_MISSING_IN_ISET), NULL); } else if (PartitionSizeChangeTableStatus == PARTITION_SIZE_CHANGE_STATUS_ISET_MISSING || InterleaveInformationTableStatus_1 == INTERLEAVE_INFO_STATUS_ISET_MISSING || @@ -1231,7 +1231,7 @@ RunConfigDiagnostics( goto Finish; } - pResult->SubTestName[DIMMSPECS_TEST_INDEX] = CatSPrint(NULL, L"Dimm specs"); + pResult->SubTestName[DIMMSPECS_TEST_INDEX] = CatSPrint(NULL, L"PMem module specs"); ReturnCode = CheckUninitializedDimms(&pResult->SubTestMessage[DIMMSPECS_TEST_INDEX], &pResult->SubTestStateVal[DIMMSPECS_TEST_INDEX],DimmIdPreference); if (EFI_ERROR(ReturnCode)) { NVDIMM_DBG("The check for uninitialized dimms failed."); @@ -1242,7 +1242,7 @@ RunConfigDiagnostics( } } - pResult->SubTestName[DUPLICATE_DIMM_TEST_INDEX] = CatSPrint(NULL, L"Duplicate Dimm"); + pResult->SubTestName[DUPLICATE_DIMM_TEST_INDEX] = CatSPrint(NULL, L"Duplicate PMem module"); ReturnCode = CheckDimmUIDDuplication(ppDimms, DimmCount, &pResult->SubTestMessage[DUPLICATE_DIMM_TEST_INDEX], &pResult->SubTestStateVal[1]); if (EFI_ERROR(ReturnCode)) { NVDIMM_DBG("The check for duplicate UID numbers failed."); diff --git a/DcpmPkg/driver/Core/Diagnostics/DiagnosticsMessages.uni b/DcpmPkg/driver/Core/Diagnostics/DiagnosticsMessages.uni index 660096c7..5e558142 100644 --- a/DcpmPkg/driver/Core/Diagnostics/DiagnosticsMessages.uni +++ b/DcpmPkg/driver/Core/Diagnostics/DiagnosticsMessages.uni @@ -26,51 +26,51 @@ #string STR_DIAGNOSTIC_GREATER #language en "greater" //Config Changes -#string STR_CONFIG_CHANGE_NEW_GOAL #language en "A new configuration goal has been saved on DIMM 0x%04x." -#string STR_CONFIG_CHANGE_DELETE_GOAL #language en "A configuration goal has been deleted from DIMM 0x%04x." -#string STR_CONFIG_SENSOR_SET_CHANGED #language en "The %ls sensor settings have been changed on DIMM 0x%04x." +#string STR_CONFIG_CHANGE_NEW_GOAL #language en "A new configuration goal has been saved on PMem module 0x%04x." +#string STR_CONFIG_CHANGE_DELETE_GOAL #language en "A configuration goal has been deleted from PMem module 0x%04x." +#string STR_CONFIG_SENSOR_SET_CHANGED #language en "The %ls sensor settings have been changed on PMem module 0x%04x." //Quick #string STR_QUICK_SUCCESS #language en "The quick health check succeeded." -#string STR_QUICK_UNMANAGEBALE_DIMM_SUBSYSTEM_VENDOR_ID #language en "The quick health check detected that DIMM %ls is not manageable because subsystem vendor ID 0x%04x is not supported." -#string STR_QUICK_UNMANAGEBALE_DIMM_SUBSYSTEM_DEVICE_ID #language en "The quick health check detected that DIMM %ls is not manageable because subsystem device ID 0x%04x is not supported." -#string STR_QUICK_UNMANAGEBALE_DIMM_FW_API_VERSION #language en "The quick health check detected that DIMM %ls is not manageable because firmware API version %ls is not supported." -#string STR_QUICK_BAD_HEALTH_STATE #language en "The quick health check detected that DIMM %ls is reporting a bad health state %ls." -#string STR_QUICK_MEDIA_TEMP_EXCEEDS_ALARM_THR #language en "The quick health check detected that DIMM %ls is reporting a media temperature of %d C which is above the alarm threshold %d C." -#string STR_QUICK_SPARE_CAPACITY_BELOW_ALARM_THR #language en "The quick health check detected that DIMM %ls is reporting percentage remaining at %d%% which is less than the alarm threshold %d%%." -#string STR_QUICK_CONTROLLER_TEMP_EXCEEDS_ALARM_THR #language en "The quick health check detected that DIMM %ls is reporting a controller temperature of %d C which is above the alarm threshold %d C." -#string STR_QUICK_BSR_NOT_READABLE #language en "The quick health check detected that the boot status register of DIMM %ls is not readable." -#string STR_QUICK_BSR_MEDIA_NOT_READY #language en "The quick health check detected that the firmware on DIMM %ls is reporting that the media is not ready." -#string STR_QUICK_BSR_MEDIA_ERROR #language en "The quick health check detected that the firmware on DIMM %ls is reporting an error in the media." -#string STR_QUICK_BSR_BIOS_POST_TRAINING_FAILED #language en "The quick health check detected that DIMM %ls failed to initialize BIOS POST testing." -#string STR_QUICK_BSR_FW_NOT_INITIALIZED #language en "The quick health check detected that the firmware on DIMM %ls has not initialized successfully, last known Major : Minor Checkpoint is 0x%x:0x%x." -#string STR_QUICK_BSR_MEDIA_ENGINE_STALLED #language en "The quick health check detected that the firmware on DIMM %ls has stalled the media interface engine." -#string STR_QUICK_VIRAL_STATE #language en "The quick health check detected that DIMM %ls is reporting a viral state. The DIMM is now read - only." -#string STR_QUICK_NO_PACKAGE_SPARES_AVAILABLE #language en "The quick health check detected that DIMM %ls is reporting that it has no package spares available." -#string STR_QUICK_DIRTY_SHUTDOWN #language en "The quick health check detected that the firmware on DIMM 0x%04x experienced a dirty shutdown before its latest restart." -#string STR_QUICK_AIT_DRAM_NOT_READY #language en "The quick health check detected that the firmware on DIMM %ls is reporting that the AIT Dram is not ready." -#string STR_QUICK_BSR_MEDIA_DISABLED #language en "The quick health check detected that the firmware on DIMM %ls is reporting that the media is disabled." -#string STR_QUICK_AIT_DISABLED #language en "The quick health check detected that the firmware on DIMM %ls is reporting that the AIT Dram is disabled." -#string STR_QUICK_FW_LOAD_FAILED #language en "The quick health check detected that the firmware on DIMM %ls failed to load successfully." -#string STR_QUICK_BSR_CPU_EXCEPTION #language en "The quick health check detected that the firmware on DIMM %ls has an internal CPU error, last known Major:Minor Checkpoint is 0x%x:0x%x." -#string STR_QUICK_BSR_DDRT_IO_NOT_COMPLETE #language en "DIMM %ls is reporting that the DDRT IO Init is not complete." -#string STR_QUICK_BSR_DDRT_IO_NOT_STARTED #language en "DIMM %ls is reporting that the DDRT IO Init did not start." -#string STR_QUICK_BSR_MAILBOX_NOT_READY #language en "DIMM %ls is reporting that the mailbox interface is not ready." -#string STR_QUICK_DDRT_TRAINING_NOT_COMPLETE_FAILED #language en "DIMM %ls is reporting that DDRT Training is not complete/failed." -#string STR_QUICK_ABORTED_DIMM_INTERNAL_ERROR #language en "An internal error caused the quick health check to abort on DIMM %ls." -#string STR_QUICK_BSR_REBOOT_REQUIRED #language en "The quick health check detected that DIMM %ls is reporting reboot required." -#string STR_QUICK_FW_BUSY #language en "The quick health check detected that DIMM 0x%04x is busy." -#string STR_QUICK_ACPI_NVDIMM_SPA_NOT_MAPPED #language en "The quick health check detected that the platform FW did not map a region to SPA on DIMM %ls. ACPI NFIT NVDIMM State Flags Error Bit 6 Set" +#string STR_QUICK_UNMANAGEBALE_DIMM_SUBSYSTEM_VENDOR_ID #language en "The quick health check detected that PMem module %ls is not manageable because subsystem vendor ID 0x%04x is not supported." +#string STR_QUICK_UNMANAGEBALE_DIMM_SUBSYSTEM_DEVICE_ID #language en "The quick health check detected that PMem module %ls is not manageable because subsystem device ID 0x%04x is not supported." +#string STR_QUICK_UNMANAGEBALE_DIMM_FW_API_VERSION #language en "The quick health check detected that PMem module %ls is not manageable because firmware API version %ls is not supported." +#string STR_QUICK_BAD_HEALTH_STATE #language en "The quick health check detected that PMem module %ls is reporting a bad health state %ls." +#string STR_QUICK_MEDIA_TEMP_EXCEEDS_ALARM_THR #language en "The quick health check detected that PMem module %ls is reporting a media temperature of %d C which is above the alarm threshold %d C." +#string STR_QUICK_SPARE_CAPACITY_BELOW_ALARM_THR #language en "The quick health check detected that PMem module %ls is reporting percentage remaining at %d%% which is less than the alarm threshold %d%%." +#string STR_QUICK_CONTROLLER_TEMP_EXCEEDS_ALARM_THR #language en "The quick health check detected that PMem module %ls is reporting a controller temperature of %d C which is above the alarm threshold %d C." +#string STR_QUICK_BSR_NOT_READABLE #language en "The quick health check detected that the boot status register of PMem module %ls is not readable." +#string STR_QUICK_BSR_MEDIA_NOT_READY #language en "The quick health check detected that the firmware on PMem module %ls is reporting that the media is not ready." +#string STR_QUICK_BSR_MEDIA_ERROR #language en "The quick health check detected that the firmware on PMem module %ls is reporting an error in the media." +#string STR_QUICK_BSR_BIOS_POST_TRAINING_FAILED #language en "The quick health check detected that PMem module %ls failed to initialize BIOS POST testing." +#string STR_QUICK_BSR_FW_NOT_INITIALIZED #language en "The quick health check detected that the firmware on PMem module %ls has not initialized successfully, last known Major : Minor Checkpoint is 0x%x:0x%x." +#string STR_QUICK_BSR_MEDIA_ENGINE_STALLED #language en "The quick health check detected that the firmware on PMem module %ls has stalled the media interface engine." +#string STR_QUICK_VIRAL_STATE #language en "The quick health check detected that PMem module %ls is reporting a viral state. The PMem module is now read - only." +#string STR_QUICK_NO_PACKAGE_SPARES_AVAILABLE #language en "The quick health check detected that PMem module %ls is reporting that it has no package spares available." +#string STR_QUICK_DIRTY_SHUTDOWN #language en "The quick health check detected that the firmware on PMem module 0x%04x experienced a dirty shutdown before its latest restart." +#string STR_QUICK_AIT_DRAM_NOT_READY #language en "The quick health check detected that the firmware on PMem module %ls is reporting that the AIT Dram is not ready." +#string STR_QUICK_BSR_MEDIA_DISABLED #language en "The quick health check detected that the firmware on PMem module %ls is reporting that the media is disabled." +#string STR_QUICK_AIT_DISABLED #language en "The quick health check detected that the firmware on PMem module %ls is reporting that the AIT Dram is disabled." +#string STR_QUICK_FW_LOAD_FAILED #language en "The quick health check detected that the firmware on PMem module %ls failed to load successfully." +#string STR_QUICK_BSR_CPU_EXCEPTION #language en "The quick health check detected that the firmware on PMem module %ls has an internal CPU error, last known Major:Minor Checkpoint is 0x%x:0x%x." +#string STR_QUICK_BSR_DDRT_IO_NOT_COMPLETE #language en "PMem module %ls is reporting that the DDRT IO Init is not complete." +#string STR_QUICK_BSR_DDRT_IO_NOT_STARTED #language en "PMem module %ls is reporting that the DDRT IO Init did not start." +#string STR_QUICK_BSR_MAILBOX_NOT_READY #language en "PMem module %ls is reporting that the mailbox interface is not ready." +#string STR_QUICK_DDRT_TRAINING_NOT_COMPLETE_FAILED #language en "PMem module %ls is reporting that DDRT Training is not complete/failed." +#string STR_QUICK_ABORTED_DIMM_INTERNAL_ERROR #language en "An internal error caused the quick health check to abort on PMem module %ls." +#string STR_QUICK_BSR_REBOOT_REQUIRED #language en "The quick health check detected that PMem module %ls is reporting reboot required." +#string STR_QUICK_FW_BUSY #language en "The quick health check detected that PMem module 0x%04x is busy." +#string STR_QUICK_ACPI_NVDIMM_SPA_NOT_MAPPED #language en "The quick health check detected that the platform FW did not map a region to SPA on PMem module %ls. ACPI NFIT NVDIMM State Flags Error Bit 6 Set" //Platform Config #string STR_CONFIG_STATUS_EXCEEDS_PARTITION_SIZE #language en "EXCEEDS_PARTITION_SIZE" #string STR_CONFIG_STATUS_UNSUPPORTED_ALIGNMENT #language en "UNSUPPORTED_PARTITION_ALIGNMENT" -#string STR_CONFIG_STATUS_DIMM_MISSING_IN_ISET #language en "DIMM_MISSING_IN_INTERLEAVE_SET" +#string STR_CONFIG_STATUS_PMEM_MODULE_MISSING_IN_ISET #language en "PMEM_MODULE_MISSING_IN_INTERLEAVE_SET" #string STR_CONFIG_STATUS_MATCHING_ISET_NOT_FOUND #language en "MATCHING_INTERLEAVE_SET_NOT_FOUND" -#string STR_CONFIG_STATUS_DCPMM_FIRMWARE_ERROR #language en "DCPMM_FIRMWARE_ERROR" +#string STR_CONFIG_STATUS_PMEM_MODULE_FIRMWARE_ERROR #language en "PMEM_MODULE_FIRMWARE_ERROR" #string STR_CONFIG_STATUS_INSUFFICIENT_SILICON_RESOURCES #language en "INSUFFICIENT_SILICON_RESOURCES" #string STR_CONFIG_STATUS_INSUFFICIENT_SPA_SPACE #language en "INSUFFICIENT_SPA_SPACE" -#string STR_CONFIG_STATUS_CIN_MISSING #language en "CIN_MISSING_IN_ONE_OR_MORE_DIMMS" +#string STR_CONFIG_STATUS_CIN_MISSING #language en "CIN_MISSING_IN_ONE_OR_MORE_PMEM_MODULES" #string STR_CONFIG_STATUS_CHANNEL_NOT_MATCH #language en "CHANNEL_INTERLEAVE_ACROSS_IMCS_NOT_MATCH" #string STR_CONFIG_STATUS_REQUEST_UNSUPPORTED #language en "REQUEST_UNSUPPORTED" #string STR_CONFIG_STATUS_CPU_MAX_MEMORY_LIMIT_VIOLATION #language en "CPU_MAX_MEMORY_LIMIT_VIOLATION" @@ -80,41 +80,41 @@ #string STR_CONFIG_STATUS_UNKNOWN #language en "UNKNOWN" #string STR_CONFIG_SUCCESS #language en "The platform configuration check succeeded." -#string STR_CONFIG_NO_MANAGEABLE_DIMMS #language en "The platform configuration check detected that there are no manageable DCPMMs." -#string STR_CONFIG_DIMM_NOT_CONFIGURED #language en "The platform configuration check detected that DIMM %ls is not configured." -#string STR_CONFIG_DUPLICATE_DIMM_UID #language en "The platform configuration check detected %d DIMMs installed on the platform with the same serial number %ls." -#string STR_CONFIG_GOAL_NOT_APPLIED #language en "The platform configuration check detected that DIMM %ls has a goal configuration that has not yet been applied. A system reboot is required for the new configuration to take effect." -#string STR_CONFIG_DIMM_FAILED_TO_INITIALIZE #language en "The platform configuration check detected that DIMM with physical ID %ls is present in the system but failed to initialize." -#string STR_CONFIG_INVALID_PCD_DATA #language en "The platform configuration check detected PCD contains invalid data on DIMM %ls." +#string STR_CONFIG_NO_MANAGEABLE_DIMMS #language en "The platform configuration check detected that there are no manageable PMem modules." +#string STR_CONFIG_DIMM_NOT_CONFIGURED #language en "The platform configuration check detected that PMem module %ls is not configured." +#string STR_CONFIG_DUPLICATE_DIMM_UID #language en "The platform configuration check detected %d PMem modules installed on the platform with the same serial number %ls." +#string STR_CONFIG_GOAL_NOT_APPLIED #language en "The platform configuration check detected that PMem module %ls has a goal configuration that has not yet been applied. A system reboot is required for the new configuration to take effect." +#string STR_CONFIG_DIMM_FAILED_TO_INITIALIZE #language en "The platform configuration check detected that PMem module with physical ID %ls is present in the system but failed to initialize." +#string STR_CONFIG_INVALID_PCD_DATA #language en "The platform configuration check detected PCD contains invalid data on PMem module %ls." #string STR_CONFIG_UNABLE_TO_READ_NS_INFO #language en "The platform configuration check was unable to retrieve the namespace information." #string STR_CONFIG_NO_OS_PROVISIONING #language en "The platform configuration check detected that the BIOS settings do not currently allow memory provisioning from this software." -#string STR_CONFIG_GOAL_FAILED_DATA #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on DIMM %ls because of errors in the goal data. The detailed status is %ls." -#string STR_CONFIG_GOAL_FAILED_INSUFFICIENT_RESOURCES #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on DIMM %ls because the system has insufficient resources. The detailed status is %ls." -#string STR_CONFIG_GOAL_FAILED_FIRMWARE #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on DIMM %ls because of a firmware error. The detailed status is %ls." -#string STR_CURRENT_CONFIG_FAILED_DATA #language en "The platform configuration check detected that the BIOS could not fully map memory on DIMM %ls because of an error in current configuration. The detailed status is %ls." -#string STR_CONFIG_GOAL_FAILED_UNKNOWN #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on DIMM %ls for an unknown reason. The detailed status is %ls." -#string STR_CONFIG_IS_BROKEN_DIMMS_MISSING #language en "The platform configuration check detected that interleave set %d is broken because the DCPMM(s) were moved %ls." -#string STR_CONFIG_NO_ADR_SUPPORT #language en "The platform configuration check detected that the platform does not support ADR and therefore data integrity is not guaranteed on the DCPMM(s)." +#string STR_CONFIG_GOAL_FAILED_DATA #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module %ls because of errors in the goal data. The detailed status is %ls." +#string STR_CONFIG_GOAL_FAILED_INSUFFICIENT_RESOURCES #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module %ls because the system has insufficient resources. The detailed status is %ls." +#string STR_CONFIG_GOAL_FAILED_FIRMWARE #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module %ls because of a firmware error. The detailed status is %ls." +#string STR_CURRENT_CONFIG_FAILED_DATA #language en "The platform configuration check detected that the BIOS could not fully map memory on PMem module %ls because of an error in current configuration. The detailed status is %ls." +#string STR_CONFIG_GOAL_FAILED_UNKNOWN #language en "The platform configuration check detected that the BIOS could not apply the configuration goal on PMem module %ls for an unknown reason. The detailed status is %ls." +#string STR_CONFIG_IS_BROKEN_DIMMS_MISSING #language en "The platform configuration check detected that interleave set %d is broken because the PMem modules were moved %ls." +#string STR_CONFIG_NO_ADR_SUPPORT #language en "The platform configuration check detected that the platform does not support ADR and therefore data integrity is not guaranteed on the PMem modules." #string STR_CONFIG_ABORTED_INTERNAL_ERROR #language en "An internal error caused the platform configuration check to abort." #string STR_CONFIG_DIAG_COUT_CONFIG_DETAILED_STATUS #language en "COUT table status: (%d [%ls]), Partition change table status: (%ls), Interleave change table 1 status: (%ls), Interleave change table 2 status: (%ls)" #string STR_CONFIG_DIAG_CCUR_CONFIG_DETAILED_STATUS #language en "CCUR table status: (%d [%ls])" -#string STR_CONFIG_IS_BROKEN_DIMMS_MISSING_LOCATION #language en "The platform configuration check detected that interleave set %d is broken because the DCPMM with UID: %ls is missing from location (Socket-Die-iMC-Channel-Slot) %d-%d-%d-%d-%d." -#string STR_CONFIG_IS_BROKEN_DIMMS_MISPLACED_LOCATION #language en "The platform configuration check detected that interleave set %d is broken because the DCPMM with UID: %ls is misplaced. It is currently in location (Socket-Die-iMC-Channel-Slot) %d-%d-%d-%d-%d and should be moved to %d-%d-%d-%d-%d." +#string STR_CONFIG_IS_BROKEN_DIMMS_MISSING_LOCATION #language en "The platform configuration check detected that interleave set %d is broken because the PMem module with UID: %ls is missing from location (Socket-Die-iMC-Channel-Slot) %d-%d-%d-%d-%d." +#string STR_CONFIG_IS_BROKEN_DIMMS_MISPLACED_LOCATION #language en "The platform configuration check detected that interleave set %d is broken because the PMem module with UID: %ls is misplaced. It is currently in location (Socket-Die-iMC-Channel-Slot) %d-%d-%d-%d-%d and should be moved to %d-%d-%d-%d-%d." //Security #string STR_SECURITY_SUCCESS #language en "The security check succeeded." -#string STR_SECURITY_NO_MANAGEABLE_DIMMS #language en "The security check detected that there are no manageable DCPMMs." +#string STR_SECURITY_NO_MANAGEABLE_DIMMS #language en "The security check detected that there are no manageable PMem modules." #string STR_SECURITY_INCONSISTENT #language en "The security check detected that security settings are inconsistent %ls." -#string STR_SECURITY_NOT_SUPPORTED #language en "The security check detected that security is not supported on all DCPMMs." +#string STR_SECURITY_NOT_SUPPORTED #language en "The security check detected that security is not supported on all PMem modules." #string STR_SECURITY_ABORTED_INTERNAL_ERROR #language en "An internal error caused the security check to abort." //Fw #string STR_FW_SUCCESS #language en "The firmware consistency and settings check succeeded." -#string STR_FW_NO_MANAGEABLE_DIMMS #language en "The firmware consistency and settings check detected that there are no manageable DCPMMs." -#string STR_FW_INCONSISTENT #language en "The firmware consistency and settings check detected that firmware version on DIMM %ls with subsystem device ID 0x%04x is nonoptimal, preferred version is %ls." -#string STR_FW_MEDIA_TEMPERATURE_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that DIMM 0x%04x has a non-critical media temperature threshold of %d C which is above the fatal threshold %d C." -#string STR_FW_CONTROLLER_TEMPERATURE_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that DIMM 0x%04x has a non-critical controller temperature threshold of %d C which is above the fatal threshold %d C." -#string STR_FW_SPARE_BLOCK_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that DIMM 0x%04x is reporting a percentage remaining of %d%% which is below the recommended threshold %d%%" -#string STR_FW_LOG_LEVEL_ERROR #language en "The firmware consistency and settings check detected that DIMM 0x%04x is reporting a firmware log level of %d, default log level is %d." +#string STR_FW_NO_MANAGEABLE_DIMMS #language en "The firmware consistency and settings check detected that there are no manageable PMem modules." +#string STR_FW_INCONSISTENT #language en "The firmware consistency and settings check detected that firmware version on PMem module %ls with subsystem device ID 0x%04x is nonoptimal, preferred version is %ls." +#string STR_FW_MEDIA_TEMPERATURE_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that PMem module 0x%04x has a non-critical media temperature threshold of %d C which is above the fatal threshold %d C." +#string STR_FW_CONTROLLER_TEMPERATURE_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that PMem module 0x%04x has a non-critical controller temperature threshold of %d C which is above the fatal threshold %d C." +#string STR_FW_SPARE_BLOCK_THRESHOLD_ERROR #language en "The firmware consistency and settings check detected that PMem module 0x%04x is reporting a percentage remaining of %d%% which is below the recommended threshold %d%%" +#string STR_FW_LOG_LEVEL_ERROR #language en "The firmware consistency and settings check detected that PMem module 0x%04x is reporting a firmware log level of %d, default log level is %d." #string STR_FW_ABORTED_INTERNAL_ERROR #language en "An internal error caused the firmware consistency and settings check to abort." -#string STR_FW_INCONSISTENT_VIRAL_POLICY #language en "The firmware consistency and settings check detected that DCPMMs have inconsistent viral policy settings." \ No newline at end of file +#string STR_FW_INCONSISTENT_VIRAL_POLICY #language en "The firmware consistency and settings check detected that PMem modules have inconsistent viral policy settings." \ No newline at end of file diff --git a/DcpmPkg/driver/Protocol/Device/NvmFirmwareManagement.c b/DcpmPkg/driver/Protocol/Device/NvmFirmwareManagement.c index 02555863..6cea3993 100644 --- a/DcpmPkg/driver/Protocol/Device/NvmFirmwareManagement.c +++ b/DcpmPkg/driver/Protocol/Device/NvmFirmwareManagement.c @@ -5,7 +5,7 @@ /** * @file NvmFirmwareManagement.c - * @brief The file describes the UEFI Firmware Management Protocol support Barlow Pass. + * @brief The file describes the UEFI Firmware Management Protocol support for Intel Optane Persistent Memory. **/ #include @@ -48,7 +48,7 @@ typedef struct _SET_IMAGE_ATTRIBUTES{ /* In addition to the function information from the library header. - As for the Intel DCPMM implementation, one DCPMM stores only one Firmware, + As for the Intel PMem module implementation, one PMem module stores only one Firmware, so the *DescriptorCount will be always 1. Even if there are more images on the FV we have access only to @@ -190,9 +190,9 @@ GetImageInfo ( } /** -Updates the firmware image of the DCPMM. +Updates the firmware image of the PMem module. -@remarks If Address Range Scrub (ARS) is in progress on any target DIMM, +@remarks If Address Range Scrub (ARS) is in progress on any target PMem module, an attempt will be made to abort ARS and the proceed with the firmware update. @remarks A reboot is required to activate the updated firmware image and is @@ -299,7 +299,7 @@ SetImage ( } /** -Returns information about the firmware package on the specified DCPMM. +Returns information about the firmware package on the specified PMem module. @param[in] This A pointer to the EFI_FIRMWARE_MANAGEMENT_PROTOCOL instance. @param[out] PackageVersion A version number that represents all the firmware images in the device. The diff --git a/DcpmPkg/driver/Protocol/Driver/NvmDimmConfig.h b/DcpmPkg/driver/Protocol/Driver/NvmDimmConfig.h index d16edb89..6eed7d37 100644 --- a/DcpmPkg/driver/Protocol/Driver/NvmDimmConfig.h +++ b/DcpmPkg/driver/Protocol/Driver/NvmDimmConfig.h @@ -6,34 +6,34 @@ /** * @file NvmDimmConfig.h * @brief Implementation of the EFI_DCPMM_CONFIG2_PROTOCOL, a custom protocol -* to configure and manage DCPMMs +* to configure and manage PMem modules * -* @mainpage Barlow Pass Software UEFI FW Protocols +* @mainpage Intel Optane Persistent Memory Software UEFI FW Protocols * * @section Introduction * This document provides descriptions of protocols implemented by the -* Barlow Pass Driver for UEFI FW. Protocols implemented include: +* Intel Optane Persistent Memory Driver for UEFI FW. Protocols implemented include: * - EFI_DRIVER_BINDING_PROTOCOL * - EFI_COMPONENT_NAME_PROTOCOL & EFI_COMPONENT_NAME2_PROTOCOL * - EFI_DRIVER_DIAGNOSTICS_PROTOCOL & EFI_DRIVER_DIAGNOSTICS2_PROTOCOL -* - Provides diagnostic tests for the specified DCPMM +* - Provides diagnostic tests for the specified PMem module * - EFI_DRIVER_HEALTH_PROTOCOL -* - Provides standardized health status for the specified DCPMM +* - Provides standardized health status for the specified PMem module * - EFI_DCPMM_CONFIG2_PROTOCOL -* - Provides configuration management for the specified DCPMM, including: +* - Provides configuration management for the specified PMem module, including: * - Discovery * - Provisioning * - Health & Instrumentation * - Support and Maintenance * - Diagnostics & Debug * - EFI_FIRMWARE_MANAGEMENT_PROTOCOL -* - Provides standardized DCPMM firmware management +* - Provides standardized PMem module firmware management * - EFI_STORAGE_SECURITY_COMMAND_PROTOCOL -* - Provides standardizd DCPMM security functionality +* - Provides standardizd PMem module security functionality * - EFI_BLOCK_IO_PROTOCOL -* - Provides BLOCK IO access to the specificed DPCMM Namespaces +* - Provides BLOCK IO access to the specificed PMem module Namespaces * - EFI_NVDIMM_LABEL_PROTOCOL -* - Provides standardized access to the specified DCPMM Labels +* - Provides standardized access to the specified PMem module Labels * - Automated Provisioning flow using an EFI_VARIABLE * * @section autoprovisioning Automated Provisioning @@ -43,7 +43,7 @@ * via an out-of-band (OOB) path, like a Baseboard Management Controller (BMC). * * The UEFI driver will determine if mode provisioning is required by first checking -* the UEFI variable status field and then checking the PCD data stored on the DIMM +* the UEFI variable status field and then checking the PCD data stored on the PMem module * to ensure it matches (if necessary). * * The UEFI driver will determine if namespace provisioning is required by first @@ -56,11 +56,11 @@ * * Variable Name | Size(bytes) | Data * ------------------------- | ------------ | ----------------------------------- -* Revision | 1 | 1 (Read only written by AEP driver) -* ProvisionCapacityMode | 1 | 0: Manual - AEP DIMM capacity provisioning via user interface. (Default).
1: Auto - Automatically provision all AEP DIMM capacity during system boot if this request does not match the current PCD metadata stored on the AEP DIMMs.
Note: Auto provisioning may result is loss of persistent data stored on the AEP DIMMs. -* MemorySize | 1 | If ProvisionCapacityMode = Auto, the % of the total AEP capacity to provision in Memory Mode (0-100%). 0: (Default) +* Revision | 1 | 1 (Read only written by driver) +* ProvisionCapacityMode | 1 | 0: Manual - PMem module capacity provisioning via user interface. (Default).
1: Auto - Automatically provision all PMem module capacity during system boot if this request does not match the current PCD metadata stored on the PMem modules.
Note: Auto provisioning may result is loss of persistent data stored on the PMem modules. +* MemorySize | 1 | If ProvisionCapacityMode = Auto, the % of the total capacity to provision in Memory Mode (0-100%). 0: (Default) * PMType | 1 | If ProvisionCapacityMode = Auto, the type of persistent memory to provision (if not 100% Memory Mode).
0: App Direct
1: App Direct, Not Interleaved -* ProvisionNamespaceMode | 1 | 0: Manual - Namespace provisioning via user interface. (Default).
1: Auto - Automatically create a namespace on all AEP DIMM App Direct interleave sets is one doesn't already exist. +* ProvisionNamespaceMode | 1 | 0: Manual - Namespace provisioning via user interface. (Default).
1: Auto - Automatically create a namespace on all PMem module App Direct interleave sets is one doesn't already exist. * NamespaceFlags | 1 | If ProvisionNamespaceMode=Auto, the flags to apply when automatically creating namespaces.
0: None (Default).
1: BTT * ProvisionCapacityStatus | 1 | 0: Unknown - Check PCD if ProvisionCapacityMode = Auto (Default).
1: Successfully provisioned.
2: Error.
3: Pending reset. * ProvisionNamespaceStatus | 1 | 0: Unknown - Check LSA if ProvisionNamespaceMode = Auto (Default).
1: Successfully created namespaces.
2: Error. @@ -99,7 +99,7 @@ extern EFI_GUID gNvmDimmConfigProtocolGuid; extern EFI_GUID gNvmDimmPbrProtocolGuid; -#define DEVICE_LOCATOR_LEN 128 //!< DIMM Device Locator buffer length +#define DEVICE_LOCATOR_LEN 128 //!< PMem module Device Locator buffer length #define FEATURE_NOT_SUPPORTED 0 #define FEATURE_SUPPORTED 1 @@ -154,10 +154,10 @@ typedef enum { } DimmSkuType; /** - Retrieve the number of DCPMMs in the system found in NFIT + Retrieve the number of PMem modules in the system found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[out] pDimmCount The number of DCPMMs found in NFIT. + @param[out] pDimmCount The number of PMem modules found in NFIT. @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -170,10 +170,10 @@ GetDimmCount( ); /** - Retrieve the number of uninitialized DCPMMs in the system found through SMBUS + Retrieve the number of uninitialized PMem modules in the system found through SMBUS @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[out] pDimmCount The number of DCPMMs found through SMBUS. + @param[out] pDimmCount The number of PMem modules found through SMBUS. @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -186,14 +186,14 @@ GetUninitializedDimmCount( ); /** - Retrieve the list of DCPMMs found in NFIT + Retrieve the list of PMem modules found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] DimmCount The size of pDimms. @param[in] DimmInfoCategories See @ref DIMM_INFO_CATEGORY_TYPES specifies which (if any) additional FW api calls is desired. If ::DIMM_INFO_CATEGORY_NONE, then only the properties from the pDimms struct(s) will be populated. - @param[out] pDimms The dimm list found in NFIT. + @param[out] pDimms The PMem module list found in NFIT. @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -208,11 +208,11 @@ GetDimms( ); /** - Retrieve the list of uninitialized DCPMMs found through SMBUS + Retrieve the list of uninitialized PMem modules found through SMBUS @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] DimmCount The size of pDimms. - @param[out] pDimms The dimm list found through SMBUS. + @param[out] pDimms The PMem module list found through SMBUS. @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -226,14 +226,14 @@ GetUninitializedDimms( ); /** - Retrieve the details about the DIMM specified with pid found in NFIT + Retrieve the details about the PMem module specified with pid found in NFIT @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve + @param[in] Pid The ID of the PMem module to retrieve @param[in] DimmInfoCategories @ref DIMM_INFO_CATEGORY_TYPES specifies which (if any) additional FW api calls is desired. If ::DIMM_INFO_CATEGORY_NONE, then only the properties from the pDimm struct will be populated. - @param[out] pDimmInfo A pointer to the dimm found in NFIT + @param[out] pDimmInfo A pointer to the PMem module found in NFIT @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -249,10 +249,10 @@ GetDimm( #ifdef OS_BUILD /** - Retrieve the PMON register values from the dimm + Retrieve the PMON register values from the PMem module @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve + @param[in] Pid The ID of the PMem module to retrieve @param[in] SmartDataMask This will specify whether or not to return the extra smart data along with the PMON Counter data @param[out] pPayloadPMONRegisters A pointer to the output payload PMON registers @@ -270,10 +270,10 @@ GetPMONRegisters( ); /** - Set the PMON register values from the dimm + Set the PMON register values from the PMem module @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the dimm to retrieve + @param[in] Pid The ID of the PMem module to retrieve @param[in] PMONGroupEnable Specifies which PMON Group to enable @param[out] pPayloadPMONRegisters A pointer to the output payload PMON registers @@ -308,12 +308,12 @@ GetSockets( ); /* - Retrieve an SMBIOS table type 17 or type 20 for a specific DIMM + Retrieve an SMBIOS table type 17 or type 20 for a specific PMem module Function available in the DEBUG build only! @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] Pid The ID of the DIMM to retrieve + @param[in] Pid The ID of the PMem module to retrieve @param[in] Type The Type of SMBIOS table to retrieve. Valid values: 17, 20. @param[out] pTable A pointer to the SMBIOS table @@ -332,13 +332,13 @@ GetDimmSmbiosTable( /** Check NVM device security state - Function checks security state of a set of DIMMs. It sets security state - to mixed when not all DIMMs have the same state. + Function checks security state of a set of PMem modules. It sets security state + to mixed when not all PMem modules have the same state. @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs - @param[out] pSecurityState security state of a DIMM or all DIMMs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs + @param[out] pSecurityState security state of a PMem module or all PMem modules @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @@ -357,13 +357,13 @@ GetSecurityState( /** Set NVM device security state. - Function sets security state on a set of DIMMs. If there is a failure on - one of DIMMs function continues with setting state on following DIMMs + Function sets security state on a set of PMem modules. If there is a failure on + one of PMem modules function continues with setting state on following PMem modules but exits with error. @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - if NULL, execute operation on all dimms - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs - if NULL, execute operation on all PMem modules + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] SecurityOperation Security Operation code @param[in] pPassphrase a pointer to string with current passphrase @param[in] pNewPassphrase a pointer to string with new passphrase @@ -439,10 +439,10 @@ GetAcpiPMTT( @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] PcdTarget Taget PCD partition: ALL=0, CONFIG=1, NAMESPACES=2 - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[out] ppDimmPcdInfo Pointer to output array of PCDs - @param[out] pDimmPcdInfoCount Number of items in Dimm PCD Info + @param[out] pDimmPcdInfoCount Number of items in PMem module PCD Info @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @@ -464,14 +464,14 @@ GetPcd( Modifies select partition data from the PCD @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. -@param[in] pDimmIds Pointer to an array of DIMM IDs -@param[in] DimmIdsCount Number of items in array of DIMM IDs +@param[in] pDimmIds Pointer to an array of PMem module IDs +@param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] ConfigIdMask Bitmask that defines which config to delete. See @ref DELETE_PCD_CONFIG_ALL_MASK @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @retval EFI_INVALID_PARAMETER One or more input parameters are NULL -@retval EFI_NO_RESPONSE FW busy for one or more dimms +@retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_OUT_OF_RESOURCES Memory allocation failure **/ EFI_STATUS @@ -485,9 +485,9 @@ ModifyPcdConfig( ); /** - Flash new SPI image to a specified DCPMM + Flash new SPI image to a specified PMem module - @param[in] DimmPid Dimm ID of a DCPMM on which recovery is to be performed + @param[in] DimmPid PMem module ID of a PMem module on which recovery is to be performed @param[in] pNewSpiImageBuffer is a pointer to new SPI FW image @param[in] ImageBufferSize is SPI image size in bytes @@ -495,8 +495,8 @@ ModifyPcdConfig( @param[out] pCommandStatus command status list @retval EFI_INVALID_PARAMETER One of parameters provided is not acceptable - @retval EFI_NOT_FOUND there is no DCPMM with such Pid - @retval EFI_DEVICE_ERROR Unable to communicate with Dimm SPI + @retval EFI_NOT_FOUND there is no PMem module with such Pid + @retval EFI_DEVICE_ERROR Unable to communicate with PMem module SPI @retval EFI_OUT_OF_RESOURCES Unable to allocate memory for a data structure @retval EFI_ACCESS_DENIED When SPI access is not unlocked @retval EFI_SUCCESS Update has completed successfully @@ -513,11 +513,11 @@ RecoverDimmFw( ); /** - Update firmware or training data in one or all NVDIMMs of the system + Update firmware or training data in one or all PMem modules of the system @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds is a pointer to an array of DIMM IDs - if NULL, execute operation on all dimms - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds is a pointer to an array of PMem module IDs - if NULL, execute operation on all PMem modules + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pFileName Name is a pointer to a file containing FW image @param[in] pWorkingDirectory is a pointer to a path to FW image file @param[in] Examine flag enables image verification only @@ -529,7 +529,7 @@ RecoverDimmFw( need to be provided if examine flag is set @param[out] pCommandStatus Structure containing detailed NVM error codes - @remarks If Address Range Scrub (ARS) is in progress on any target DIMM, + @remarks If Address Range Scrub (ARS) is in progress on any target PMem module, an attempt will be made to abort ARS and the proceed with the firmware update. @remarks A reboot is required to activate the updated firmware image and is @@ -616,7 +616,7 @@ GetRegion( ); /** - Gather info about total capacities on all dimms + Gather info about total capacities on all PMem modules @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance @param[out] pMemoryResourcesInfo structure filled with required information @@ -632,11 +632,11 @@ GetMemoryResourcesInfo( ); /** - Gather info about performance on all dimms + Gather info about performance on all PMem modules @param[in] pThis a pointer to EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[out] pDimmCount pointer to the number of dimms on list - @param[out] pDimmsPerformanceData list of dimms' performance data + @param[out] pDimmCount pointer to the number of PMem modules on list + @param[out] pDimmsPerformanceData list of PMem modules' performance data @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -668,10 +668,10 @@ GetSystemCapabilitiesInfo( ); /** - Get DIMM alarm thresholds + Get PMem module alarm thresholds @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmPid The ID of the DIMM + @param[in] DimmPid The ID of the PMem module @param[in] SensorId Sensor ID to retrieve information for. See @ref SENSOR_TYPES @param[out] pNonCriticalThreshold Current non-critical threshold for sensor @param[out] pEnabledState Current enable state for sensor @@ -692,11 +692,11 @@ GetAlarmThresholds ( ); /** - Set DIMM alarm thresholds + Set PMem module alarm thresholds @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] SensorId Sensor id to set values for @param[in] NonCriticalThreshold New non-critical threshold for sensor @param[in] EnabledState New enable state for sensor @@ -718,7 +718,7 @@ SetAlarmThresholds ( ); /** - Get DIMM Health Info + Get PMem module Health Info This FW command is used to retrieve current health of system, including SMART information: * Overall health status @@ -731,11 +731,11 @@ SetAlarmThresholds ( * Last shutdown time * AIT DRAM status * Power Cycles (does not include warm resets or S3 resumes) - * Power on time (life of DIMM has been powered on) + * Power on time (life of PMem module has been powered on) * Uptime for current power cycle in seconds @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmPid The ID of the DIMM + @param[in] DimmPid The ID of the PMem module @param[out] pHealthInfo pointer to structure containing all Health and Smarth variables @retval EFI_SUCCESS Success @@ -788,21 +788,21 @@ EFIAPI GetNamespaces ( Get actual Region goal capacities that would be used based on input values. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] PersistentMemType Persistent memory type @param[in, out] pVolatilePercent Volatile region size in percents. @param[in] ReservedPercent Amount of AppDirect memory to not map in percents - @param[in] ReserveDimm Reserve one DIMM for use as a not interleaved AppDirect memory + @param[in] ReserveDimm Reserve one PMem module for use as a not interleaved AppDirect memory @param[out] pConfigGoals pointer to output array @param[out] pConfigGoalsCount number of elements written - @param[out] pNumOfDimmsTargeted number of DIMMs targeted in a goal config request + @param[out] pNumOfDimmsTargeted number of PMem modules targeted in a goal config request @param[out] pMaxPMInterleaveSetsPerDie pointer to Maximum PM Interleave Sets per Die @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All Ok **/ @@ -830,22 +830,22 @@ GetActualRegionsGoalCapacities( @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @param[in] Examine Do a dry run if set - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] PersistentMemType Persistent memory type @param[in] VolatilePercent Volatile region size in percents @param[in] ReservedPercent Amount of AppDirect memory to not map in percents - @param[in] ReserveDimm Reserve one DIMM for use as a not interleaved AppDirect memory + @param[in] ReserveDimm Reserve one PMem module for use as a not interleaved AppDirect memory @param[in] LabelVersionMajor Major version of label to init @param[in] LabelVersionMinor Minor version of label to init @param[out] pMaxPMInterleaveSetsPerDie pointer to Maximum PM Interleave Sets per Die @param[out] pCommandStatus Structure containing detailed NVM error codes - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules @retval EFI_SUCCESS All Ok **/ EFI_STATUS @@ -871,8 +871,8 @@ CreateGoalConfig ( Delete region goal configuration @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[out] pCommandStatus Structure containing detailed NVM error codes @@ -895,8 +895,8 @@ DeleteGoalConfig ( Get region goal configuration @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] ConfigGoalTableSize Number of elements in the pConfigGoals array passed in @@ -945,8 +945,8 @@ DumpGoalConfig( Load region goal configuration from file @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] pSocketIds Pointer to an array of Socket IDs @param[in] SocketIdsCount Number of items in array of Socket IDs @param[in] pFileString Buffer for Region Goal configuration from file @@ -971,10 +971,10 @@ LoadGoalConfig( Start Diagnostic Tests with Detail parameter @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds Pointer to an array of DIMM IDs - @param[in] DimmIdsCount Number of items in array of DIMM IDs + @param[in] pDimmIds Pointer to an array of PMem module IDs + @param[in] DimmIdsCount Number of items in array of PMem module IDs @param[in] DiagnosticTests bitfield with selected diagnostic tests to be started - @param[in] DimmIdPreference Preference for the Dimm ID (handle or UID) + @param[in] DimmIdPreference Preference for the PMem module ID (handle or UID) @param[out] ppResult Pointer to the structure with information about test @retval EFI_SUCCESS Success @@ -994,7 +994,7 @@ StartDiagnostic( /** Create namespace - Creates a AppDirect namespace on the provided region/dimm. + Creates a AppDirect namespace on the provided region/PMem module. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance @param[in] RegionId the ID of the region that the Namespace is supposed to be created. @@ -1036,7 +1036,7 @@ CreateNamespace( Deletes a block or persistent memory namespace. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] Force Force to perform deleting namespace configs on all affected DIMMs + @param[in] Force Force to perform deleting namespace configs on all affected PMem modules @param[in] NamespaceId the ID of the namespace to be removed. @param[out] pCommandStatus Structure containing detailed NVM error codes @@ -1053,11 +1053,11 @@ DeleteNamespace( ); /** - Get Error log for given dimm + Get Error log for given PMem module @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - array of dimm pids. Use all dimms if pDimms is NULL and DimmsCount is 0. - @param[in] DimmsCount - number of dimms in array. Use all dimms if pDimms is NULL and DimmsCount is 0. + @param[in] pDimmIds - array of PMem module pids. Use all PMem modules if pDimms is NULL and DimmsCount is 0. + @param[in] DimmsCount - number of PMem modules in array. Use all PMem modules if pDimms is NULL and DimmsCount is 0. @param[in] ThermalError - TRUE = Thermal error, FALSE = media error @param[in] SequenceNumber - sequence number of error to fetch in queue @param[in] HighLevel - high level if true, low level otherwise @@ -1083,12 +1083,12 @@ GetErrorLog( ); /** - Get the debug log from a specified dimm and fw debug log source + Get the debug log from a specified PMem module and fw debug log source Note: The caller is responsible for freeing the returned buffer @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID identifier of what dimm to get log pages from + @param[in] DimmID identifier of what PMem module to get log pages from @param[in] LogSource debug log source buffer to retrieve @param[in] Reserved for future use. Must be 0 for now. @param[out] ppDebugLogBuffer an allocated buffer containing the raw debug log @@ -1114,15 +1114,15 @@ GetFwDebugLog( Set Optional Configuration Data Policy using FW command @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - pointer to array of UINT16 Dimm ids to set + @param[in] pDimmIds - pointer to array of UINT16 PMem module ids to set @param[in] DimmIdsCount - number of elements in pDimmIds @param[in] AveragePowerReportingTimeConstantMultiplier - AveragePowerReportingTimeConstantMultiplier value to set @param[out] pCommandStatus Structure containing detailed NVM error codes. - @retval EFI_UNSUPPORTED Mixed Sku of DCPMMs has been detected in the system + @retval EFI_UNSUPPORTED Mixed Sku of PMem modules has been detected in the system @retval EFI_INVALID_PARAMETER One or more parameters are invalid @retval EFI_SUCCESS All ok - @retval EFI_NO_RESPONSE FW busy for one or more dimms + @retval EFI_NO_RESPONSE FW busy for one or more PMem modules **/ EFI_STATUS EFIAPI @@ -1136,10 +1136,10 @@ SetOptionalConfigurationDataPolicy( ); /** - Get requested number of specific DIMM registers for given DIMM id + Get requested number of specific PMem module registers for given PMem module id @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmId ID of a DIMM. + @param[in] DimmId ID of a PMem module. @param[out] pBsr Pointer to buffer for Boot Status register, contains high and low 4B register. @param[out] Reserved @@ -1180,12 +1180,12 @@ PassThruCommand( ); /** - Attempt to format a dimm through a customer format command + Attempt to format a PMem module through a customer format command @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance - @param[in] pDimmIds is a pointer to an array of DIMM IDs - if NULL, execute operation on all dimms - @param[in] DimmIdsCount Number of items in array of DIMM IDs - @param[in] Recovery - Perform on non-functional dimms + @param[in] pDimmIds is a pointer to an array of PMem module IDs - if NULL, execute operation on all PMem modules + @param[in] DimmIdsCount Number of items in array of PMem module IDs + @param[in] Recovery - Perform on non-functional PMem modules @param[out] pCommandStatus Structure containing detailed NVM error codes @retval EFI_SUCCESS Success @@ -1202,9 +1202,9 @@ DimmFormat( ); /** - Get Total DCPMM Volatile, AppDirect, Unconfigured, Reserved and Inaccessible capacities + Get Total PMem module Volatile, AppDirect, Unconfigured, Reserved and Inaccessible capacities - @param[in] pDimms The head of the dimm list + @param[in] pDimms The head of the PMem module list @param[out] pRawCapacity pointer to raw capacity @param[out] pVolatileCapacity pointer to volatile capacity @param[out] pAppDirectCapacity pointer to appdirect capacity @@ -1213,7 +1213,7 @@ DimmFormat( @param[out] pInaccessibleCapacity pointer to inaccessible capacity @retval EFI_INVALID_PARAMETER passed NULL argument - @retval EFI_LOAD_ERROR PCD CCUR table missing in one or more DIMMs + @retval EFI_LOAD_ERROR PCD CCUR table missing in one or more PMem modules @retval EFI_SUCCESS Success **/ EFI_STATUS @@ -1228,9 +1228,8 @@ GetTotalDcpmmCapacities( ); /** - Gather capacities from dimm - - @param[in] DimmPid The ID of the DIMM + Gather capacities from Pmem module + @param[in] DimmPid The ID of the PMem module @param[out] pRawCapacity pointer to raw capacity @param[out] pVolatileCapacity pointer to volatile capacity @param[out] pAppDirectCapacity pointer to appdirect capacity @@ -1278,7 +1277,7 @@ GetDDRCapacities( ); /** - Calculate the total size of available memory in the DIMMs + Calculate the total size of available memory in the PMem modules according to the smbios and return the result. @param[in] SocketId Socket Id for SKU limit calculations, value 0xFFFF indicate include all sockets values accumulated. @@ -1316,7 +1315,7 @@ GetSystemTopology( /** Get the system-wide ARS status for the persistent memory capacity of the system. In this function, the system-wide ARS status is determined based on the ARS status - values for the individual DIMMs. + values for the individual PMem modules. @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. @@ -1373,7 +1372,7 @@ SetDriverPreferences( @param[in] pThis Pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance @param[in] DimmID DimmID of device to retrieve support data from - @param[out] pDdrtTrainingStatus pointer to the dimms DDRT training status + @param[out] pDdrtTrainingStatus pointer to the PMem modules DDRT training status @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -1416,7 +1415,7 @@ GetLongOpStatus( InjectError @param[in] pThis is a pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] pDimmIds - pointer to array of UINT16 Dimm ids to get data for + @param[in] pDimmIds - pointer to array of UINT16 PMem module ids to get data for @param[in] DimmIdsCount - number of elements in pDimmIds @param[in] ErrorInjType - Error Inject type @param[in] ClearStatus - Is clear status set @@ -1450,7 +1449,7 @@ InjectError( OS - Get BSR value from BIOS emulated command @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID - dimm handle of the DIMM + @param[in] DimmID - PMem module handle of the PMem module @param[out] pBsrValue - pointer to BSR register value OPTIONAL @param[out] pBootStatusBitMask - pointer to bootstatusbitmask OPTIONAL @@ -1467,25 +1466,25 @@ GetBSRAndBootStatusBitMask( ); /** - Verify target DIMM IDs list. Fill output list of pointers to dimms. + Verify target DimmIds list. Fill output list of pointers to PMem modules. - If sockets were specified then get all DIMMs from these sockets. - If DIMM Ids were provided then check if those DIMMs exist. - If there are duplicate DIMM/socket Ids then report error. - If specified DIMMs count is 0 then take all Manageable DIMMs. + If sockets were specified then get all PMem modules from these sockets. + If PMem module Ids were provided then check if those PMem modules exist. + If there are duplicate PMem module/socket Ids then report error. + If specified PMem modules count is 0 then take all Manageable PMem modules. Update CommandStatus structure with any warnings/errors found. - @param[in] DimmIds An array of DIMM Ids - @param[in] DimmIdsCount Number of items in array of DIMM Ids + @param[in] DimmIds An array of PMem module Ids + @param[in] DimmIdsCount Number of items in array of PMem module Ids @param[in] SocketIds An array of Socket Ids @param[in] SocketIdsCount Number of items in array of Socket Ids @param[in] RequireDcpmmsBitfield Indicate what requirements should be validated on - the list of DCPMMs discovered. - @param[out] pDimms Output array of pointers to verified dimms - @param[out] pDimmsNum Number of items in array of pointers to dimms + the list of PMem modules discovered. + @param[out] pDimms Output array of pointers to verified PMem modules + @param[out] pDimmsNum Number of items in array of pointers to PMem modules @param[out] pCommandStatus Pointer to command status structure - @retval EFI_INVALID_PARAMETER Problem with getting specified DIMMs + @retval EFI_INVALID_PARAMETER Problem with getting specified PMem modules @retval EFI_SUCCESS All Ok **/ EFI_STATUS @@ -1502,22 +1501,22 @@ VerifyTargetDimms ( ); /** - Verify target DIMM IDs in list are available for SPI Flash. + Verify target DimmIds in list are available for SPI Flash. - If DIMM Ids were provided then check if those DIMMs exist in a SPI flashable - state and return list of verified dimms. - If specified DIMMs count is 0 then return all DIMMS that are in SPI + If PMem module Ids were provided then check if those PMem modules exist in a SPI flashable + state and return list of verified PMem modules. + If specified PMem modules count is 0 then return all PMem moduleS that are in SPI Flashable state. Update CommandStatus structure at the end. - @param[in] DimmIds An array of DIMM Ids - @param[in] DimmIdsCount Number of items in array of DIMM Ids - @param[out] pDimms Output array of pointers to verified dimms - @param[out] pDimmsNum Number of items in array of pointers to dimms + @param[in] DimmIds An array of PMem module Ids + @param[in] DimmIdsCount Number of items in array of PMem module Ids + @param[out] pDimms Output array of pointers to verified PMem modules + @param[out] pDimmsNum Number of items in array of pointers to PMem modules @param[out] pCommandStatus Pointer to command status structure @retval EFI_SUCCESS Success - @retval EFI_NOT_FOUND a dimm in DimmIds is not in a flashable state or no dimms found + @retval EFI_NOT_FOUND a PMem module in DimmIds is not in a flashable state or no PMem modules found @retval ERROR any non-zero value is an error (more details in Base.h) **/ EFI_STATUS @@ -1531,10 +1530,10 @@ VerifyNonfunctionalTargetDimms( ); /** - Examine a given DIMM to see if a long op is in progress and report it back + Examine a given PMem module to see if a long op is in progress and report it back - @param[in] pDimm The dimm to check the status of - @param[out] pNvmStatus The status of the dimm's long op status. NVM_SUCCESS = No long op status is under way. + @param[in] pDimm The PMem module to check the status of + @param[out] pNvmStatus The status of the PMem module's long op status. NVM_SUCCESS = No long op status is under way. @retval EFI_SUCCESS if the request for long op status was successful (whether a long op status is under way or not) @retval EFI_... the error preventing the check for the long op status @@ -1550,7 +1549,7 @@ CheckForLongOpStatusInProgress( will provide the maximum number of possible return elements by updating pCount. @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID Handle of the DIMM + @param[in] DimmID Handle of the PMem module @param[in,out] pCount IN: Count is number of elements in the pCapInfo array. OUT: number of elements written to pCapInfo @param[out] pCapInfo Array of Command Access Policy Entries. If NULL, pCount will be updated with maximum number of elements possible. OPTIONAL @@ -1567,10 +1566,10 @@ GetCommandAccessPolicy( ); /** - Get Command Effect Log is used to retrieve a list DIMM FW commands and their effects on the DIMM subsystem. + Get Command Effect Log is used to retrieve a list PMem module FW commands and their effects on the PMem module subsystem. @param[in] pThis A pointer to the EFI_DCPMM_CONFIG2_PROTOCOL instance. - @param[in] DimmID Handle of the DIMM + @param[in] DimmID Handle of the PMem module @retval EFI_SUCCESS Success @retval ERROR any non-zero value is an error (more details in Base.h) @@ -1586,7 +1585,7 @@ GetCommandEffectLog( #ifndef OS_BUILD /** - This function makes calls to the dimms required to initialize the driver. + This function makes calls to the PMem modules required to initialize the driver. @retval EFI_SUCCESS if no errors. @retval EFI_xxxx depending on error encountered. diff --git a/Documentation/ipmctl/Debug/ipmctl-delete-pcd.txt b/Documentation/ipmctl/Debug/ipmctl-delete-pcd.txt index c36f858a..bbef869e 100644 --- a/Documentation/ipmctl/Debug/ipmctl-delete-pcd.txt +++ b/Documentation/ipmctl/Debug/ipmctl-delete-pcd.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -24,10 +24,10 @@ DESCRIPTION ----------- ifndef::os_build[] When LSA is specified, the namespace label storage area partition in the platform configuration -data from one or more DCPMMs is cleared. This is a destructive operation which will clear +data from one or more PMem modules are cleared. This is a destructive operation which will clear the entire namespace label storage area including all namespaces labels and the -namespace label index block in order to re-purpose the DCPMM(s) for use in a -different operating system. All data on any deleted namespace(s) becomes +namespace label index block in order to re-purpose the PMem modules for use in a +different operating system. All data on any deleted namespaces becomes inaccessible. NOTE: Deleting PCD LSA partition data removes any logical OS namespace mapping @@ -39,13 +39,13 @@ When Config is specified, the Current, Input, and Output Data Size and Start Off the Configuration header are set to zero, making those tables invalid. NOTE: When Config is specified, only PCD partition 1 is modified. If the platform is rebooted -prior to creating a new goal on any targeted DCPMMs, UEFI platform firmware will detect the +prior to creating a new goal on any targeted PMem modules, UEFI platform firmware will detect the missing tables and, if possible, restore previous config using the PCD partition 0 tables. -NOTE: This action can be useful when moving DCPMMs from one system to another, as goal creation -rules may restrict provisioning dimms with an existing configuration. Deleting the PCD can be -used as a way to prepare a DCPMM for provisioning with the create -goal or load -goal commands -by clearing existing configuration metadata. This allows the DCPMM to be provisioned in +NOTE: This action can be useful when moving PMem modules from one system to another, as goal creation +rules may restrict provisioning PMem modules with an existing configuration. Deleting the PCD can be +used as a way to prepare a PMem module for provisioning with the create -goal or load -goal commands +by clearing existing configuration metadata. This allows the PMem module to be provisioned in isolation using the create-goal command with the -dimm option. Once the PCD has been deleted the desired goal should be created before rebooting. @@ -58,7 +58,7 @@ OPTIONS -f:: -force:: Deleting the PCD data is a destructive operation which - requires confirmation from the user for each DCPMM. This option suppresses the + requires confirmation from the user for each PMem module. This option suppresses the confirmation. -h:: @@ -90,9 +90,9 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Deletes the PCD data on specific DCPMMs by supplying one - or more comma-separated DCPMM identifiers. The default is to delete the - PCD data for all manageable DCPMMs. + Deletes the PCD data on specific PMem modules by supplying one + or more comma-separated PMem module identifiers. The default is to delete the + PCD data for all manageable PMem modules. ifndef::os_build[] -pcd [Config|LSA]:: Restricts clearing select partition data in the platform @@ -109,24 +109,24 @@ endif::os_build[] EXAMPLES -------- ifndef::os_build[] -Clears the namespace label storage area from all manageable DCPMMs +Clears the namespace label storage area from all manageable PMem modules [verse] delete -dimm -pcd LSA endif::os_build[] -Clears the Cin, Cout, Ccur tables from all manageable DCPMMs +Clears the Cin, Cout, Ccur tables from all manageable PMem modules [verse] delete -dimm -pcd Config LIMITATIONS ----------- -The specified DCPMM(s) must be manageable by the host software, and if -data-at-rest security is enabled, the DCPMMs must be unlocked. Any existing -namespaces associated with the requested DCPMM(s) should be deleted before +The specified PMem modules must be manageable by the host software, and if +data-at-rest security is enabled, the PMem modules must be unlocked. Any existing +namespaces associated with the requested PMem modules should be deleted before running this command. RETURN DATA ----------- -For each DCPMM, the CLI will indicate the status of the operation. If a failure occurs -when deleting the platform configuration data from multiple DCPMMs, the process will -continue deleting the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the operation. If a failure occurs +when deleting the platform configuration data from multiple PMem modules, the process will +continue deleting the remaining PMem modules. diff --git a/Documentation/ipmctl/Debug/ipmctl-dump-debug-log.txt b/Documentation/ipmctl/Debug/ipmctl-dump-debug-log.txt index a9c13b93..3d772c87 100644 --- a/Documentation/ipmctl/Debug/ipmctl-dump-debug-log.txt +++ b/Documentation/ipmctl/Debug/ipmctl-dump-debug-log.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -9,7 +9,7 @@ endif::manpage[] NAME ---- ipmctl-dump-debug-log - Dumps encoded firmware debug logs from specified -DCPMMs and optionally decodes to human readable text. +PMem modules and optionally decodes to human readable text. SYNOPSIS -------- @@ -18,11 +18,11 @@ ipmctl dump [OPTIONS] -destination (file_prefix) [-dict (file)] -debug [TARGETS] DESCRIPTION ----------- -Dumps encoded firmware debug logs from specified DCPMMs and optionally +Dumps encoded firmware debug logs from specified PMem modules and optionally decodes to human readable text using a dictionary file. ifndef::os_build[] -NOTE: For any non-functional DCPMMs logs will be retreived via SMBus. +NOTE: For any non-functional PMem modules logs will be retreived via SMBus. endif::os_build[] OPTIONS @@ -51,7 +51,7 @@ TARGET ------ -destination (file_prefix):: The command will create files that use the given filename as a prefix - and append the DCPMM UID, DCPMM handle, debug log source, and the appropriate + and append the PMem module UID, PMem module handle, debug log source, and the appropriate file type (.bin for encoded logs, .txt for decoded logs) onto the end. [verse] file_prefix_Uid_Handle_logsource.[bin,txt] @@ -66,24 +66,24 @@ file_prefix_Uid_Handle_logsource.[bin,txt] nlog_dict.X.X.X.XXXX.txt. -dimm [DimmIDs]:: - Dumps the debug logs from the specified DCPMMs. + Dumps the debug logs from the specified PMem modules. EXAMPLES -------- -Dumps and decodes the debug log from DCPMM 0x0001 and 0x0011 using the +Dumps and decodes the debug log from PMem module 0x0001 and 0x0011 using the dictionary file. [verse] ipmctl dump -destination file_prefix -dict nlog_dict.txt -debug -dimm 0x0001,0x0011 LIMITATIONS ----------- -To successfully execute this command, the specified DCPMM(s) must be manageable +To successfully execute this command, the specified PMem modules must be manageable by the host software. RETURN DATA ----------- Dumps the encoded and optionally decoded contents of all 3 firmware debug log -sources for the specified DCPMMs. Output file names are generated based on the +sources for the specified PMem modules. Output file names are generated based on the -destination parameter above. SAMPLE OUTPUT diff --git a/Documentation/ipmctl/Debug/ipmctl-dump-session.txt b/Documentation/ipmctl/Debug/ipmctl-dump-session.txt index fbc246b4..e16b38bb 100644 --- a/Documentation/ipmctl/Debug/ipmctl-dump-session.txt +++ b/Documentation/ipmctl/Debug/ipmctl-dump-session.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -66,7 +66,7 @@ To successfully execute this command, there must be an active recording session. RETURN DATA ----------- The resulting file includes, NFIT, PCAT, PMTT and SMBIOS tables that are used by IPMCTL -to determine the DCPMM topology. DCPMM data that is transferred to/from DCPMM(s) +to determine the PMem module topology. PMem module data that is transferred to/from PMem modules over the mailbox interface. SAMPLE OUTPUT diff --git a/Documentation/ipmctl/Debug/ipmctl-inject-error.txt b/Documentation/ipmctl/Debug/ipmctl-inject-error.txt index 831d2ebe..4b6d0d5f 100644 --- a/Documentation/ipmctl/Debug/ipmctl-inject-error.txt +++ b/Documentation/ipmctl/Debug/ipmctl-inject-error.txt @@ -17,7 +17,7 @@ ipmctl set [OPTIONS] -dimm [TARGETS] [PROPERTIES] DESCRIPTION ----------- -Injects an error or clears a previously injected error on one or more DCPMM for +Injects an error or clears a previously injected error on one or more PMem module for testing purposes. OPTIONS @@ -43,9 +43,9 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Injects or clears an error on specific DCPMMs by supplying one or more comma - separated DCPMM identifiers. The default is to inject the error on all - manageable DCPMMs. + Injects or clears an error on specific PMem modules by supplying one or more comma + separated PMem module identifiers. The default is to inject the error on all + manageable PMem modules. PROPERTIES ---------- @@ -56,9 +56,9 @@ Clear:: one of the other properties indicating the previously injected error to clear. Temperature:: - Injects an artificial media temperature in degrees Celsius into the DCPMM. The - firmware that is monitoring the temperature of the DCPMM will then be alerted - and take necessary precautions to preserve the DCPMM. The value is injected + Injects an artificial media temperature in degrees Celsius into the PMem module. The + firmware that is monitoring the temperature of the PMem module will then be alerted + and take necessary precautions to preserve the PMem module. The value is injected immediately and will override the firmware from reading the actual media temperature of the device and use this value instead which may cause adverse reactions by the firmware and result in an alert or log. @@ -66,9 +66,9 @@ Temperature:: NOTE: The injected temperature value will remain until the next reboot or until it is cleared. The media temperature is an artificial temperature and will not cause harm to the part. Although firmware actions due to improper temperature injections may -cause adverse effects on the DCPMM. + +cause adverse effects on the PMem module. + If the Critical Shutdown Temperature, or higher, is passed in, this may cause the -DCPMM firmware to perform a shutdown in order to preserve the part and +PMem module firmware to perform a shutdown in order to preserve the part and data. + The temperature value will be ignored on clear. @@ -103,11 +103,11 @@ memory type, an error is returned. PackageSparing:: - "1": Triggers an artificial package sparing. If package sparing is enabled - and the DCPMM still has spares remaining, this will cause the firmware to + and the PMem module still has spares remaining, this will cause the firmware to report that there are no spares remaining. PercentageRemaining:: - Injects an artificial percentage remaining value into the DCPMM. This + Injects an artificial percentage remaining value into the PMem module. This will cause the firmware to take appropriate action based on the value and if necessary generate an error log, an alert, and update the health status. @@ -128,81 +128,81 @@ DirtyShutdown:: EXAMPLES -------- -Sets the media temperature on all manageable DCPMMs to 50 degrees +Sets the media temperature on all manageable PMem modules to 50 degrees Celsius. [verse] ipmctl set -dimm Temperature=50 -Clears the injected media temperature on all manageable DCPMMs. +Clears the injected media temperature on all manageable PMem modules. [verse] ipmctl set -dimm Clear=1 Temperature=1 -Poison address 0x10000200 on DCPMM 1234. +Poison address 0x10000200 on PMem module 1234. [verse] ipmctl set -dimm 1234 Poison=0x10000200 -Clears the injected poison of address 0x10000200 on DCPMM 1234. +Clears the injected poison of address 0x10000200 on PMem module 1234. [verse] ipmctl set -dimm 1234 Poison=0x10000200 Clear=1 -Triggers an artificial package sparing on all manageable DCPMMs. +Triggers an artificial package sparing on all manageable PMem modules. [verse] ipmctl set -dimm PackageSparing=1 -Sets the life remaining percentage on all manageable DCPMMs to 10%. +Sets the life remaining percentage on all manageable PMem modules to 10%. [verse] ipmctl set -dimm PercentageRemaining=10 -Clears the injected remaining life percentage on all manageable DCPMMs. The +Clears the injected remaining life percentage on all manageable PMem modules. The value of PercentageRemaining is irrelevant. [verse] ipmctl set -dimm PercentageRemaining=10 Clear=1 -Triggers an artificial ADR failure on all manageable DCPMM s resulting in a dirty -shutdown on each DCPMM on the next reboot. +Triggers an artificial ADR failure on all manageable PMem module s resulting in a dirty +shutdown on each PMem module on the next reboot. [verse] ipmctl set -dimm DirtyShutdown=1 LIMITATIONS ----------- -This command is available only when error injection is enabled on the DCPMM(s) -in the BIOS. To successfully execute this command, the specified DCPMM(s) must +This command is available only when error injection is enabled on the PMem modules +in the BIOS. To successfully execute this command, the specified PMem modules must be manageable by the host software. RETURN DATA ----------- -For each DCPMM, the CLI will indicate the status of the operation. If a failure -occurs when injecting an error on multiple DCPMMs, the process will continue -with the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the operation. If a failure +occurs when injecting an error on multiple PMem modules, the process will continue +with the remaining PMem modules. SAMPLE OUTPUT ------------- [verse] -Set temperature on DCPMM (DimmID): Success|Error (Code) - +Set temperature on PMem module (DimmID): Success|Error (Code) - (Description) -Clear injected temperature on DCPMM (DimmID): Success|Error +Clear injected temperature on PMem module (DimmID): Success|Error (Code) - (Description) [verse] -Poison address (Address) on DCPMM (DimmID): Success|Error +Poison address (Address) on PMem module (DimmID): Success|Error (Code) - (Description) -Clear injected poison of address (Address) on DCPMM +Clear injected poison of address (Address) on PMem module (DimmID): Success|Error (Code) - (Description) [verse] -Trigger package sparing on DCPMM (DimmID): Success|Error +Trigger package sparing on PMem module (DimmID): Success|Error (Code) - (Description) -Clear injected package sparing on DCPMM (DimmID): +Clear injected package sparing on PMem module (DimmID): Success|Error (Code) - (Description) [verse] -Trigger a spare capacity alarm on DCPMM (DimmID): +Trigger a spare capacity alarm on PMem module (DimmID): Success|Error (Code) - (Description) -Clear injected spare capacity alarm on DCPMM (DimmID): +Clear injected spare capacity alarm on PMem module (DimmID): Success|Error (Code) - (Description) [verse] -Create a media fatal error on DCPMM (DimmID): Success|Error +Create a media fatal error on PMem module (DimmID): Success|Error (Code) - (Description) -Clear injected media fatal error on DCPMM (DimmID): +Clear injected media fatal error on PMem module (DimmID): Success|Error (Code) - (Description) diff --git a/Documentation/ipmctl/Debug/ipmctl-load-session.txt b/Documentation/ipmctl/Debug/ipmctl-load-session.txt index a5504ecf..718f2351 100644 --- a/Documentation/ipmctl/Debug/ipmctl-load-session.txt +++ b/Documentation/ipmctl/Debug/ipmctl-load-session.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] diff --git a/Documentation/ipmctl/Debug/ipmctl-show-acpi.txt b/Documentation/ipmctl/Debug/ipmctl-show-acpi.txt index 78694e52..3d683386 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-acpi.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-acpi.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-acpi - Shows the system ACPI tables related to the DCPMMs +ipmctl-show-acpi - Shows the system ACPI tables related to the PMem modules SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -system DESCRIPTION ----------- -Shows the system ACPI tables related to the DCPMMs in the system. +Shows the system ACPI tables related to the PMem modules in the system. OPTIONS ------- @@ -36,7 +36,7 @@ NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used to TARGETS ------- -system [NFIT|PCAT|PMTT]:: - The system ACPI table(s) to display. By default NFIT, PCAT and PMTT tables + The system ACPI tables to display. By default NFIT, PCAT and PMTT tables are displayed. One of: - "NFIT" - The NVDIMM Firmware Interface Table - "PCAT" - The Platform Capabilities Table diff --git a/Documentation/ipmctl/Debug/ipmctl-show-cap.txt b/Documentation/ipmctl/Debug/ipmctl-show-cap.txt index 0a2a551d..97214d24 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-cap.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-cap.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2019, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -42,16 +42,16 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Restricts output to specific DCPMMs by supplying one or more comma separated - DCPMM identifiers. The default is to display all manageable DCPMMs. + Restricts output to specific PMem modules by supplying one or more comma separated + PMem module identifiers. The default is to display all manageable PMem modules. EXAMPLES -------- -Lists restrictions for all DCPMMs installed in the system +Lists restrictions for all PMem modules installed in the system [verse] ipmctl show -cap -Lists restrictions for DCPMM 0x1001 +Lists restrictions for PMem module 0x1001 [verse] ipmctl show -dimm 0x1001 -cap @@ -61,14 +61,14 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- The default behavior is to return a table which indicates the restrictions enforced by Command Access Policy (CAP) DimmID:: - The default display of DCPMM identifiers. One of: + The default display of PMem module identifiers. One of: - UID: Use the DimmUID attribute as defined in the command Show Device. - HANDLE: Use the DimmHandle attribute as defined in the command Show Device. This is the default. diff --git a/Documentation/ipmctl/Debug/ipmctl-show-cel.txt b/Documentation/ipmctl/Debug/ipmctl-show-cel.txt index 56421f7d..5148b657 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-cel.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-cel.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2019, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-cel - Shows the current DCPMM firmware Command Effect Log. +ipmctl-show-cel - Shows the current PMem module firmware Command Effect Log. SYNOPSIS -------- @@ -17,8 +17,8 @@ ipmctl show [OPTIONS] -cel [TARGETS] DESCRIPTION ----------- -Retrieves the DCPMM command effect log and presents the response as a list of -DimmID, Opcode, SubOpcode and DCPMM firmware command effect(s). +Retrieves the PMem module command effect log and presents the response as a list of +DimmID, Opcode, SubOpcode and PMem module firmware command effects. OPTIONS ------- @@ -51,16 +51,16 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Restricts output to specific DCPMMs by supplying one or more comma separated - DCPMM identifiers. The default is to display all manageable DCPMMs. + Restricts output to specific PMem modules by supplying one or more comma separated + PMem module identifiers. The default is to display all manageable PMem modules. EXAMPLES -------- -Lists command effects for all DCPMMs installed in the system +Lists command effects for all PMem modules installed in the system [verse] ipmctl show -cel -Lists command effects for DCPMM 0x1001 +Lists command effects for PMem module 0x1001 [verse] ipmctl show -dimm 0x1001 -cel @@ -70,14 +70,14 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- The default behavior is to return a table which lists the command effects per Opcode and SubOpcode. DimmID:: - The default display of DCPMM identifiers. One of: + The default display of PMem module identifiers. One of: - UID: Use the DimmUID attribute as defined in the command Show Device. - HANDLE: Use the DimmHandle attribute as defined in the command Show Device. This is the default. diff --git a/Documentation/ipmctl/Debug/ipmctl-show-error-log.txt b/Documentation/ipmctl/Debug/ipmctl-show-error-log.txt index b7313d38..a3e1eec4 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-error-log.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-error-log.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-error-log - Shows thermal or media errors on the specified DCPMMs +ipmctl-show-error-log - Shows thermal or media errors on the specified PMem modules SYNOPSIS -------- @@ -19,7 +19,7 @@ ____ DESCRIPTION ----------- -Shows thermal or media errors on the specified DCPMMs. +Shows thermal or media errors on the specified PMem modules. OPTIONS ------- @@ -56,8 +56,8 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Filter output to specific DCPMMs by optionally supplying one or more - comma-separated DCPMM identifiers. The default is to include all manageable DCPMMs. + Filter output to specific PMem modules by optionally supplying one or more + comma-separated PMem module identifiers. The default is to include all manageable PMem modules. PROPERTIES ---------- @@ -92,17 +92,17 @@ ____ LIMITATIONS ----------- -To successfully execute this command, the specified DCPMM(s) must be manageable -by the host software. In addition, for DCPMMs with firmware version 2.3 and above, +To successfully execute this command, the specified PMem modules must be manageable +by the host software. In addition, for PMem modules with firmware version 2.3 and above, errors due to AIT operations are no longer exposed. RETURN DATA ----------- -Prints errors of the specified type for the specified DCPMMs. If no errors are found, the +Prints errors of the specified type for the specified PMem modules. If no errors are found, the following message will be printed: [verse] ____ -No errors found on DIMM (DimmID) +No errors found on PMem module (DimmID) ____ SAMPLE OUTPUT diff --git a/Documentation/ipmctl/Debug/ipmctl-show-pcd.txt b/Documentation/ipmctl/Debug/ipmctl-show-pcd.txt index 391c62f6..21e47278 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-pcd.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-pcd.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-pcd - Shows the platform configuration data for one or more DCPMMs +ipmctl-show-pcd - Shows the platform configuration data for one or more PMem modules SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -pcd [TARGETS] DESCRIPTION ----------- -Shows the platform configuration data for one or more DCPMMs. +Shows the platform configuration data for one or more PMem modules. OPTIONS ------- @@ -44,9 +44,9 @@ NOTE: The -lpmb and -spmb options are mutually exclusive and may not be used tog TARGETS ------- -dimm [DimmIDs]:: - Restricts output to the platform configuration data on specific DCPMMs by - supplying one or more comma-separated DCPMM identifiers. The default is to - display the platform configuration data for all manageable DCPMMs. + Restricts output to the platform configuration data on specific PMem modules by + supplying one or more comma-separated PMem module identifiers. The default is to + display the platform configuration data for all manageable PMem modules. -pcd [Config|LSA]:: Restricts output to a specific partition of the platform configuration data. @@ -57,20 +57,20 @@ TARGETS EXAMPLES -------- Shows the configuration information from the platform configuration data for all -manageable DCPMMs. +manageable PMem modules. [verse] ipmctl show -dimm -pcd Shows the configuration information from the platform configuration data for -DCPMM 0x1. +PMem module 0x1. [verse] ipmctl show -dimm -pcd Config LIMITATIONS ----------- -The specified DCPMM(s) must be manageable by the host software. +The specified PMem modules must be manageable by the host software. RETURN DATA ----------- Returns the formatted data from the requested platform configuration data for -the specified DCPMMs for debugging and troubleshooting purposes. +the specified PMem modules for debugging and troubleshooting purposes. diff --git a/Documentation/ipmctl/Debug/ipmctl-show-session.txt b/Documentation/ipmctl/Debug/ipmctl-show-session.txt index 75dae373..b55bb223 100644 --- a/Documentation/ipmctl/Debug/ipmctl-show-session.txt +++ b/Documentation/ipmctl/Debug/ipmctl-show-session.txt @@ -1,4 +1,4 @@ -// Copyright (c) 2018, Intel Corporation. +// Copyright (c) 2020, Intel Corporation. // SPDX-License-Identifier: BSD-3-Clause ifdef::manpage[] diff --git a/Documentation/ipmctl/Debug/ipmctl-start-diagnostic.txt b/Documentation/ipmctl/Debug/ipmctl-start-diagnostic.txt index 09de0ccc..07c10ace 100644 --- a/Documentation/ipmctl/Debug/ipmctl-start-diagnostic.txt +++ b/Documentation/ipmctl/Debug/ipmctl-start-diagnostic.txt @@ -57,26 +57,26 @@ TARGETS -diagnostic [Quick|Config|Security|FW]:: Start a specific test by supplying its name. By default all tests are run. One of: - - "Quick" - This test verifies that the DCPMM host mailbox is accessible and + - "Quick" - This test verifies that the PMem module host mailbox is accessible and that basic health indicators can be read and are currently reporting acceptable values. - "Config" - This test verifies that the BIOS platform configuration matches the installed hardware and the platform configuration conforms to best known practices. - - "Security" - This test verifies that all DCPMMs have a consistent security - state. It's a best practice to enable security on all DCPMMs rather than + - "Security" - This test verifies that all PMem modules have a consistent security + state. It's a best practice to enable security on all PMem modules rather than just some. - - "FW" - This test verifies that all DCPMMs of a given model have consistent + - "FW" - This test verifies that all PMem modules of a given model have consistent FW installed and other FW modifiable attributes are set in accordance with best practices. + Note that the test does not have a means of verifying that - the installed FW is the optimal version for a given DCPMM model just that + the installed FW is the optimal version for a given PMem module model just that it's been consistently applied across the system. -dimm [DimmIDS]:: - Starts a diagnostic test on specific DCPMMs by optionally supplying one or more - comma-separated DCPMM identifiers. The default is to start the specified tests - on all manageable DCPMMs. Only valid for the Quick diagnostic test. + Starts a diagnostic test on specific PMem modules by optionally supplying one or more + comma-separated PMem module identifiers. The default is to start the specified tests + on all manageable PMem modules. Only valid for the Quick diagnostic test. EXAMPLES -------- @@ -84,19 +84,19 @@ Starts all diagnostics. [verse] ipmctl start -diagnostic -Starts the quick check diagnostic on DCPMM 0x0001 +Starts the quick check diagnostic on PMem module 0x0001 [verse] ipmctl start -diagnostic Quick -dimm 0x0001 LIMITATIONS ----------- -If a DCPMM is unmanageable, then Quick test will report the reason, while -Config, Security and FW tests will skip unmanageable DCPMMs. +If a PMem module is unmanageable, then Quick test will report the reason, while +Config, Security and FW tests will skip unmanageable PMem modules. RETURN DATA ----------- Each diagnostic generates one or more log messages. A successful test generates a -single log message per DCPMM indicating that no errors were found. A failed test +single log message per PMem module indicating that no errors were found. A failed test might generate multiple log messages each highlighting a specific error with all the relevant details. Each log contains the following information. @@ -134,8 +134,8 @@ SubTestName:: |Config | -* Dimm specs -* Duplicate Dimm +* PMem module specs +* Duplicate PMem module * System Capability * Namespace LSA * PCD diff --git a/Documentation/ipmctl/Discovery/ipmctl-show-device.txt b/Documentation/ipmctl/Discovery/ipmctl-show-device.txt new file mode 100644 index 00000000..2c8cbb18 --- /dev/null +++ b/Documentation/ipmctl/Discovery/ipmctl-show-device.txt @@ -0,0 +1,647 @@ +// Copyright (c) 2018, Intel Corporation. +// SPDX-License-Identifier: BSD-3-Clause + +ifdef::manpage[] +ipmctl-show-device(1) +===================== +endif::manpage[] + +NAME +---- +ipmctl-show-device - Shows information about one or more PMem modules + +SYNOPSIS +-------- +[verse] +ipmctl show [OPTIONS] -dimm [TARGETS] + +DESCRIPTION +----------- +Shows information about one or more PMem modules. + +OPTIONS +------- +-a:: +-all:: + Shows all attributes. + +NOTE: The all and display options are exclusive and may not be used together. + +-d (attributes):: +-display (attributes):: + Filters the returned attributes by explicitly specifying a comma-separated + list of any of the attributes defined in the Return Data section. + +NOTE: The all and display options are exclusive and may not be used together. + +-h:: +-help:: + Displays help for the command. + +-ddrt:: + Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. + +-smbus:: + Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. + +NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. + +ifdef::os_build[] +-o (text|nvmxml):: +-output (text|nvmxml):: + Changes the output format. One of: "text" (default) or "nvmxml". +endif::os_build[] + +-u (B|MB|MiB|GB|GiB|TB| TiB):: +-units (B|MB|MiB|GB|GiB|TB| TiB):: + Changes the units that capacities are displayed in for this command. One of: + bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), + terabytes (TB) or tebibytes (TiB). + +TARGETS +------- +-dimm [DimmIDs]:: + Restricts output to specific PMem modules by supplying the PMem module target and one or + more comma-separated PMem module identifiers. The default is to display all PMem modules. + +-socket [SocketIDs]:: + Restricts output to the PMem modules installed on specific sockets by supplying the + socket target and one or more comma-separated socket identifiers. The default + is to display all sockets. + +NOTE: If ACPI PMTT table is not present, then DDR4 memory will not be displayed +in the filtered socket list. + +EXAMPLES +-------- +Lists a few key fields for each PMem module. +[verse] +ipmctl show -dimm + +Lists all properties for PMem module 0x0001. +[verse] +ipmctl show -a -dimm 0x0001 + +Retrieves specific properties for each PMem module. +[verse] +ipmctl show -d HealthState,LockState -dimm + +RETURN DATA +----------- +The default behavior is to display a table with the default attributes listed +below; applying options changes the output to a more detailed format. Limited +information (noted in the table below) is applicable if the PMem module is not +manageable by the software as indicated by the "ManageabilityState" property. + +NOTE: Some data is endian-swapped for human readability. + +DimmID:: + (Default) The PMem module identifier. + +Capacity:: + (Default) The usable capacity of the PMem module as reported by the + firmware. + +HealthState:: + (Default) Overall PMem module health. One of: + - Healthy + - Noncritical: Maintenance is required. + - Critical: Features or performance are degraded due to failure. + - Fatal: Critical internal state failure (DPA Failure, Internal Buffer Failure, + AIT Failure, etc) is non-recoverable and data loss has occurred or is imminent. + In this case, the firmware will disable the media and access to user data and + operations that require use of the media will fail. + - Non-functional: The PMem module is present but failed to initialize and is + non-responsive via the DDRT communication path. It may be possible to + communicate with this PMem module via SMBus for a subset of commands. + - Unmanageable: The PMem module is not supported by this version of + the software + - Unknown: Unable to determine the PMem module health state. + Refer to _HealthStateReason_ for _HealthState_ details. + +HealthStateReason:: + Indicates why the PMem module is in the current Health State. + One or more of: + - None + - Percentage Remaining less than 1% + - Package Sparing occurred + - CAP Self-Test warning + - Percentage Remaining is 0 + - Die Failure + - AIT DRAM disabled + - CAP Self-Test failure + - Critical internal state failure + - Performance degraded + - CAP Self-Test communication failure + + + Refer to the _Intel® Optane™ Persistent Memory Firmware + Interface Specification_, document number 556488, Section 4.8 + SMART and Health. + +InterfaceFormatCode:: + A comma-delimited list of the JEDEC standard format + interface codes for the PMem module where each code is formatted as: code + (JEDEC Description or "Unknown"). + +ManageabilityState:: + Ability of the PMem module host software to manage the PMem module. + Manageability is determined by the interface format code, the vendor + identifier, device identifier and the firmware API version. One of: + - Manageable: The PMem module is manageable by the software. + - Unmanageable: The PMem module is not supported by this version of + the software. + +PopulationViolation:: + Memory populations are evaluated based on the "Enforce Population POR" setup option in UEFI Firmware. + If enforcement of POR populations is selected, then some PMem module memory may be in population + violation. See <> for details. One of: + - Yes: The PMem module is in population violation. + - No: The PMem module is not in population violation. + +PhysicalID:: + The PMem module physical identifier (i.e., SMBIOS Type 17 handle). + +DimmHandle:: + The PMem module handle formatted as 0xABCD. + - A = Socket + - B = Memory Controller + - C = Channel + - D = Slot + +DimmUID:: + The unique identifier of the PMem module formatted as VVVV-ML-MMYYSNSNSNSN or + VVVV-SNSNSNSN (if the manufacturing information is not available) where: + - VVVV = VendorID + - ML = ManufacturingLocation + - MMYY = ManufacturingDate + - SNSNSNSN = SerialNumber + +SocketID:: + The processor socket identifier (i.e., NUMA node) where the PMem module is + installed. + +MemControllerID:: + The associated memory controller identifier. + +ChannelID:: + The associated channel. + +ChannelPos:: + The PMem module position in the channel. + +MemoryType:: + The memory type. One of: + - Unknown + - DDR4 + - Logical Non-Volatile Device + +VendorID:: + The vendor identifier of the PMem module. + This value is presented in big endian format. + +DeviceID:: + The device identifier of the PMem module. + This value is presented in big endian format. + +RevisionID:: + The revision identifier of the PMem module. + +SubsystemVendorID:: + The vendor identifier of the non-volatile memory subsystem controller. + This value is presented in big endian format. + +SubsystemDeviceID:: + The device identifier of the non-volatile memory subsystem controller. + +SubsystemRevisionID:: + The revision identifier of the non-volatile memory subsystem controller + retrieved from NFIT. This field uses a different encoding than + ControllerRevisionID. + +ManufacturingInfoValid:: + If the manufacturing location and date are valid. One of: + - 0: Not valid + - 1: Valid + +ManufacturingLocation:: + The manufacturing location assigned by the vendor or "N/A" if ManufacturingInfoValid + is 0. + +ManufacturingDate:: + The manufacturing date assigned by the vendor or "N/A" if ManufacturingInfoValid + is 0. + +SerialNumber:: + The serial number assigned by the vendor. + This value is presented in big endian format. + +PartNumber:: + The part number assigned by the vendor + +DeviceLocator:: + A string describing the physically-labeled socket or board position where the + memory device is located from the SMBIOS Type 17 Memory Device table. + +BankLabel:: + A string that identifies the physically labeled bank where the memory device + is located from the SMBIOS Type 17 Memory Device table. + +DataWidth:: + The width in bits used to store user data from the SMBIOS Type 17 Memory + Device table. + +TotalWidth:: + The width in bits for data and error correction and/or data redundancy from + the SMBIOS Type 17 Memory Device table. + +Speed:: + The maximum capable speed of the device in megatransfers per second (MT/s) + from the SMBIOS Type 17 Memory Device table. + +FormFactor:: + The PMem module form factor (i.e., SMBIOS Type 17 Memory Device Form Factor). One + of: + - Unknown + - DIMM + - SODIMM + +LockState:: + (Default) The current security state of the persistent memory on the PMem module. + One ore more of: + - Unknown - The security state cannot be determined (e.g., when the + PMem module is not manageable by the software). + - Disabled - Security is not enabled. + - Unlocked - Security is enabled and unlocked. + - Locked - Security is enabled and locked. + - Frozen - A reboot is required to change the security state. + - Exceeded - The passphrase limit has been reached. A power cycle is + required to change the security state. + - MP Exceeded - The master passphrase limit has been reached. A power cycle + is required to change the security state. + - Not Supported - Security is not supported on the PMem module. + +SVNDowngrade:: + (Default) The Opt-in value of SVN Downgrade security opt-in feature for PMem module. + One of : + - Unknown + - Disabled + - Enabled + +SecureErasePolicy:: + (Default) The Opt-in value of Secure erase policy opt-in feature for PMem module. + One of : + - Unknown + - No Master Passphrase + - Master Passphrase Enabled + +S3ResumeOptIn:: + (Default) The Opt-in value of S3 Resume security opt-in feature for PMem module. + One of : + - Unknown + - UnsecureS3 + - SecureS3 + +FwActivateOptIn:: + (Default) The Opt-in value of Fw Activate security opt-in feature for PMem module. + One of : + - Unknown + - Disabled + - Enabled + +FWVersion:: + (Default) The BCD-formatted revision of the active firmware in the format + PN.RN.SV.bbbb where: + * PN = 2-digit product number + * RN = 2-digit revision number + * SN = 2-digit security revision number + * bbbb = 4-digit build version + + Value may be N/A if the PMem module is not manageable by the software. + +FWAPIVersion:: + The firmware supported interface revision in the format aa.bb where: + - aa = 2-digit major version + - bb = 2-digit minor version + + + The firmware interface is intended to be backwards compatible. Therefore, + the host software allows management of PMem modules where this version is less than + or equal to the version stored in the host software. Value may be N/A if the + PMem module is not manageable by the software. + +*The following information is only applicable when the PMem module is manageable by the +software as indicated by the "ManageabilityState".* + +ManufacturerID:: + The manufacturer identifier of the PMem module. + This value is presented in big endian format. + +ControllerRevisionID:: + The controller stepping and revision ID retrieved from the controller FW. This + field uses a different encoding than SubsystemRevisionID. + +IsNew:: + Whether or not the PMem module is incorporated with the rest of the PMem module in the + system. One of: + - 0: Configured + - 1: The PMem module requires configuration. + +MemoryCapacity:: + Usable PMem module Memory Mode capacity. + +AppDirectCapacity:: + Usable PMem module App Direct capacity. + +UnconfiguredCapacity:: + PMem module capacity that is inaccessible because it is not mapped into the system + physical address space. + +InaccessibleCapacity:: + PMem module capacity that is inaccessible due to: + - licensing issue + - platform configuration prevents accessing this capacity. For example, + MemoryCapacity is configured and available on a PMem module but MemoryMode is not + enabled by BIOS. + +ReservedCapacity:: + PMem module capacity reserved for proper alignment. + +AvgPowerLimit:: + If the PMem module firmware power management policy is enabled, the power limit in + mW used for average power. Refer to FIS for allowable range and default value. + +MemoryBandwidthBoostFeature:: + Returns if the Memory Bandwidth Boost Feature is currently enabled or not. One of: + - 0x0: Disabled + - 0x1: Enabled + +MemoryBandwidthBoostMaxPowerLimit:: + The power limit used for limiting the Memory Bandwidth Boost Feature's power consumption [mW]. + +MemoryBandwidthBoostAveragePowerTimeConstant:: + The value used as a base time window for average power throttle [ms]. This range can be checked in the Max Memory Bandwidth Boost Average Time Constant and Average Power Time Constant Step from the Get Device Characteristics command. + - Default: 15000 ms + +MaxAveragePowerLimit:: + Maximum average power limit [mW] supported by the PMem module. + +MaxTurboModePowerConsumption:: + Maximum Turbo Power value [mW] that can be set for the PMem module. Will return 0 if unsupported by current FIS. + +MaxAveragePowerTimeConstant:: + This field returns the maximum supported value of the Average Power Time Constant and Average Power Reporting Time constant [ms] that can be set via the Set Power Management Policy and the Optional Configuration Data Policy Commands. + +AveragePowerTimeConstantStep:: + This field returns the increments in milliseconds allowed by the firmware when setting the Average Power Time Constant and Average Power Reporting Time Constant via the Set Power Management Policy and the Optional Configuration Data Policy Commands. + +AveragePower:: + This field returns the average power in milliwatts that each PMem module consumes over the Average Power Reporting Time constant. + +Average12vPower:: + This field returns the 12V average power in milliwatts that each PMem module consumes over the Average Power Reporting Time constant. + +Average1_2vPower:: + This field returns the 1.2V average power in milliwatts that each PMem module consumes over the Average Power Reporting Time constant. + +PackageSparingCapable:: + Whether or not the PMem module supports package sparing. One of: + - 0: False + - 1: True + +PackageSparingEnabled:: + Whether or not the PMem module package sparing policy is enabled. One of: + - 0: Disabled + - 1: Enabled + +PackageSparesAvailable:: + The number of spare devices available for package sparing. + +LatchedLastShutdownStatus:: + The status of the last shutdown of the PMem module. One or more of: + - Unknown: The last shutdown status cannot be determined. + - PM ADR Command Received: Power management ADR command received. + - PM S3 Received: Power management S3 command received. + - PM S5 Received: Power management S5 command received. + - DDRT Power Fail Command Received: DDR power fail command received. + - PMIC 12V/DDRT 1.2V Power Loss (PLI) + - PM Warm Reset Received: Power management warm reset received. + - Thermal Shutdown Received: Thermal shutdown triggered. + - Controller’s FW State Flush Complete: Flush Completed. + - Viral Interrupt Received: Viral interrupt received. + - Surprise Clock Stop Received: Surprise clock stop received. + - Write Data Flush Complete: Write data flush completed. + - PM S4 Received: Power management S4 command received. + - PM Idle Received: Power management idle received. + - DDRT Surprise Reset Received: Surprise reset received. + - Extended Flush Complete. + +UnlatchedLastShutdownStatus:: + The status of the last shutdown status of the PMem module. Same fields as the + Latched Last Shutdown Status with the only difference that LLS details + on a dirty shutdown is logged, even if the Latch System Shutdown Status + was not enabled. One or more of: + - Unknown: The last shutdown status cannot be determined. + - PM ADR Command: Power management ADR command received. + - PM S3: Power management S3 command received. + - PM S5: Power management S5 command received. + - DDRT Power Fail Command: DDR power fail command received. + - PMIC 12V/DDRT 1.2V Power Loss (PLI) + - PM Warm Reset: Power management warm reset received. + - Thermal Shutdown: Thermal shutdown triggered. + - Controller’s FW State Flush Complete: Flush Completed. + - Viral Interrupt: Viral interrupt received. + - Surprise Clock Stop: Surprise clock stop received. + - Write Data Flush Complete: Write data flush completed. + - PM S4: Power management S4 command received. + - DDRT Surprise Reset: Surprise reset received + - PM Idle Received: Power management idle received. + - Extended Flush Complete. + +ThermalThrottleLossPercent:: + The average performance loss percentage due to thermal throttling + in current boot of the PMem module. + +LastShutdownTime:: + The time the system was last shutdown. + +ModesSupported:: + A list of the modes supported by the PMem module. Refer to the command + Show System Capabilities to determine the modes supported by the + platform. One or more of: + - Memory Mode: PMem modules act as system memory under the control of the operating + system. In Memory Mode, any DDR in the platform will act as a cache working + in conjunction with the PMem module. + - App Direct: PMem modules and DDR act as independent memory resources under direct + load/store control of the application. + +SecurityCapabilities:: + The security features supported by the PMem module. Zero or more of: + - Encryption: The PMem module supports persistent memory encryption by + setting a passphrase. + - Erase: The PMem module is erasable. + +MasterPassphraseEnabled:: + This property indicates if master passphrase is enabled. If it is disabled, + then it cannot be enabled. One of: + - 0: Disabled - Cannot be enabled + - 1: Enabled - Master passphrase can be changed. Cannot be disabled. + +ConfigurationStatus:: + The status of the PMem module memory configuration. One of: + - Valid: The configuration is valid. + - Not Configured: The PMem module has not been configured. + - Failed - Bad configuration: The configuration is corrupt. + - Failed - Broken interleave: This PMem module is part of an interleave + set that is not complete. + - Failed - Reverted: The configuration failed and was reverted to the last + known good configuration. + - Failed - Unsupported: The configuration is not compatible with the + installed BIOS. + - Unknown: The configuration cannot be determined. + +SKUViolation:: + The configuration of the PMem module is unsupported due to a license issue. One of: + - 0: False + - 1: True + +ARSStatus:: + The address range scrub (ARS) operation status for the PMem module. The status is a + reflection of the last requested ARS, but not necessarily within the current + platform power cycle. One of: + - Unknown - The ARS operation status cannot be determined. + - Not started - An ARS operation has not started. + - In progress - An ARS operation is currently in progress. + - Completed - The last ARS operation has completed. + - Aborted - The last ARS operation was aborted. + +OverwriteStatus:: + The overwrite PMem module operation status for the PMem module. One of: + - Unknown - The overwrite PMem module operation status cannot be determined. This may + occur if the status gets overwritten due to a different long operation + running on this PMem module. + - Not started - An overwrite PMem module operation was not started on the last + boot. + - In progress - An overwrite PMem module operation is currently in progress. + - Completed - An overwrite PMem module operation completed and a reboot is + required to use the PMem module. + +AveragePowerReportingTimeConstantMultiplier:: + The value that is used to multiply the base time value used for average power + consumption measurements. Can be set to a value between 0 and 32. The default + value is 0. + +AveragePowerReportingTimeConstant:: + The value, in milliseconds, used to determine the time constant for reporting + the average power consumption measurements. Can be set to a value between 100 + and 12000, by increments of 100. The default value is 1000. + +ViralPolicy:: + Whether viral policies are enabled on the PMem module. One of: + - 0: Disabled - This is the default. + - 1: Enabled - The persistent memory on the PMem module will be put into read-only + mode if the host operating system software detects an uncorrectable error + situation and indicates a viral state in order to prevent the spread of + damage. + +ViralState:: + Whether the PMem module is currently viral. One of: + - 0: Not Viral + - 1: Viral - The viral policies of the PMem module have switched the + persistent memory to read-only mode due to the host operating system + software detecting an uncorrectable error situation and indicating a viral + state. + +AitDramEnabled:: + If the PMem module AIT DRAM is enabled. One of: + - 0: Disabled - The device will suffer performance degradation if the AIT + DRAM becomes disabled. + - 1: Enabled + +BootStatus:: + The initialization status of the PMem module as reported by the firmware in the boot + status register. One or more of: + - Unknown - The boot status register cannot be read. + - Success - No errors were reported during initialization. + + + *The following statuses indicate that the media is not functional and + therefore access to user data and operations that require use of the media + will fail.* + - Media Not Ready - The firmware did not complete media training. + - Media Error - The firmware detected an error during media training. + - Media Disabled - The firmware disabled the media due to a critical issue. + + + *The following statuses indicate that communication with the firmware is not + functional.* + - FW Assert - The firmware reported an assert during initialization. + +BootStatusRegister:: + The raw hex value of the PMem module Boot Status Register of the PMem module + +LatchSystemShutdownState:: + Status of the latch. Specifies whether the PMem module will latch the SMART Last Shutdown Status and SMART + Dirty Shutdown Count. + - 0: Disabled - This is the default. + - 1: Enabled + +PreviousPowerCycleLatchSystemShutdownState:: + The status of the latch during the previous power cycle. + - 0: Disabled - This is the default. + - 1: Enabled + +ExtendedAdrEnabled:: + Specifies whether extended ADR flow is enabled in the FW. + - 0: Disabled + - 1: Enabled + +PpcExtendedAdrEnabled:: + Specifies whether extended ADR flow was enabled in the FW during the last power cycle. + - 0: Disabled + - 1: Enabled + +ErrorInjectionEnabled:: + Error injection status. + - 0: Disabled - This is the default. + - 1: Enabled +MediaTemperatureInjectionEnabled:: + Media temperature injection status. + - 0: Disabled - This is the default. + - 1: Enabled + +SoftwareTriggersEnabled:: + Software trigger status. + - 0: Disabled - This is the default. + - 1: At least one software trigger enabled. + +SoftwareTriggersEnabledDetail:: + Comma separated list of software triggers currently enabled. One or more of: + - None + - Package Sparing + - Fatal Error + - Percentage Remaining + - Dirty Shutdown + +PoisonErrorInjectionsCounter:: + This counter is incremented each time the set poison error is successfully + executed. + +PoisonErrorClearCounter:: + This counter is incremented each time the clear poison error is successfully + executed. +MediaTemperatureInjectionsCounter:: + This counter is incremented each time the media temperature is injected. + +SoftwareTriggersCounter:: + This counter is incremented each time a software trigger is enabled. + +MaxMediaTemperature:: + The highest die temperature reported in degrees Celsius. + This value is persistent through Power Loss as well as not effected by Overwrite PMem module or Media Temperature Error Injection. + +MaxControllerTemperature:: + The highest controller temperature reported in degrees Celsius. + This value is persistent through Power Loss as well as not effected by Overwrite PMem module. + +MixedSKU:: + One or more PMem modules in the system have different SKUs. One of: + - 0: False + - 1: True - In this case, the host software operates in a read-only mode and + does not allow changes to the PMem modules and their associated capacity. diff --git a/Documentation/ipmctl/Discovery/ipmctl-show-memory-resources.txt b/Documentation/ipmctl/Discovery/ipmctl-show-memory-resources.txt new file mode 100644 index 00000000..48311807 --- /dev/null +++ b/Documentation/ipmctl/Discovery/ipmctl-show-memory-resources.txt @@ -0,0 +1,185 @@ +// Copyright (c) 2018, Intel Corporation. +// SPDX-License-Identifier: BSD-3-Clause + +ifdef::manpage[] +ipmctl-show-memory-resources(1) +=============================== +endif::manpage[] + +NAME +---- +ipmctl-show-memory-resources - Shows PMem module and DDR memory allocation + +SYNOPSIS +-------- +[verse] +ipmctl show [OPTIONS] -memoryresources + +DESCRIPTION +----------- +Shows PMem module and DDR memory allocation information for this platform. + +OPTIONS +------- +-h:: +-help:: + Displays help for the command. + +-ddrt:: + Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. + +-smbus:: + Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. + +NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. + +ifdef::os_build[] +-o (text|nvmxml):: +-output (text|nvmxml):: + Changes the output format. One of: "text" (default) or "nvmxml". +endif::os_build[] + +-u (B|MB|MiB|GB|GiB|TB| TiB):: +-units (B|MB|MiB|GB|GiB|TB| TiB):: + Changes the units that capacities are displayed in for this command. One of: + bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), + terabytes (TB) or tebibytes (TiB). + +EXAMPLES +-------- +Shows the PMem module and DDR memory allocation. + +[verse] +ipmctl show -memoryresources + +LIMITATIONS +----------- +In order to successfully execute this command: + +- The caller must have the appropriate privileges. + +- The specified PMem modules must be manageable by the host software. + +RETURN DATA +----------- +Returns a table containing the attributes listed below. + +NOTE: Capacities from unmanageable PMem modules are not included in the following +aggregated totals. + +Volatile DDR Capacity:: + Total DDR capacity that is used as volatile memory. + +Volatile PMem module Capacity:: + Total PMem module capacity that is used as volatile memory. + +Total Volatile Capacity:: + Total DDR and PMem module capacity that is used as volatile memory. + +AppDirect PMem module Capacity:: + Total PMem module capacity used as persistent memory. + +Total AppDirect Capacity:: + Total DDR and PMem module capacity used as persistent memory. + +Cache DDR Capacity:: + Total DDR capacity used as a cache for PMem modules. + +Total Cache Capacity:: + Total DDR capacity used as a cache for PMem modules. + +Inaccessible DDR Capacity:: + Total DDR capacity that is inaccessible. + +Inaccessible PMem module Capacity:: + Total PMem module capacity that is inaccessible due to any of: + - Platform configuration prevents accessing this capacity. e.g. MemoryCapacity is + configured but MemoryMode is not enabled by platform FW (current Memory Mode is 1LM). + - Capacity is inaccessible because it is not mapped into the system physical + address (SPA) space. This is usually due to platform firmware memory alignment requirements. + - Persistent capacity that is reserved. This capacity is the persistent memory partition capacity + (rounded down for alignment) less any App Direct capacity. Reserved capacity typically results from + a Memory Allocation Goal request that specified the Reserved property. This + capacity is not mapped to system physical address (SPA) space. + - Capacity that is unusable because it has not been configured. + - PMem module configured capacity but SKU prevents usage. e.g. AppDirectCapcity but + PMem module SKU is MemoryMode only. + +Total Inaccessible Capacity:: + Total capacity of DDR and PMem module that is inaccessible. + +Physical DDR Capacity:: + Total physical DDR capacity populated on the platform. + +Physical PMem module Capacity:: + Total physical PMem module capacity populated on the plaform. + +Total Physical Capacity:: + Total physical capacity populated on the platform. + +DETAILS +------- +PMem modules are partitioned into Memory and Persistent partitions. Memory partitions are aligned +on a 1 GiB boundary by ipmctl with the Persistent partition consuming the remaining capacity. +Any capacity that falls outside the Memory and Persistent partitions +is InaccessibleCapacity and is not useable. If the PMem module is configured for 100% Memory Mode, +then the Memory partition consumes all of the capacity and the Persistent partition has none. + +The mode determines how the DDR capacities are allocated. In 1LM and AppDirect, all DDR capacity +is used as additional volatile memory. In MemoryMode, all DDR capacity that the CPU will support +is used as a cache for the PMem module. + +Platform firmware alignment restrictions may result in some capacity from the +Memory and Persistent partitions not mapped to system physical address (SPA) space. +This memory is considered InaccessibleCapacity and is not usable. + +The definitions and calculations that follow intend to describe how each of the values +are determined. + +*Definitions:* + +Intel PMem module Current Config:: + See _Intel(R) Optane(TM) Persistent Memory Software-Firmware Interface Specification_ + for details. + +PMem module Partition Info:: + PMem module partition info provided by PMem module firmware. See _Intel(R) Optane(TM) + Persistent Memory Module Firmware Interface Specification_ for details. + +PMem module Physical Capacity (PC):: + Raw capacity (total usable) reported by PMem module Partition Info + +PMem module Memory Partition Capacity (MPC):: + Volatile capacity reported by PMem module Partition Info + +PMem module Persistent Partition Capacity (PPC):: + Persistent capacity reported by PMem module Partition Info + +PMem module Volatile Memory Capacity (VMC):: + Usable voliatile memory capacity as reported by platform FW + via _Intel PMem module Current Config->Volatile Memory Size Mapped into SPA_ field + +PMem module Persistent Memory Capacity (PMC) :: + Usable persistent memory capacity as reported by platform FW via + _Intel PMem module Current Config->Persistent Memory Size Mapped into SPA_ field + +DDR Total Capacity (DDRTC):: + Total amount of memory available for use on the populated DDRs + +*Calculations:* + +[verse] +if (CurrentMode == 1LM) then + DDRCacheCapacity = 0 + DDRVolatileCapacity = DDRTC +else if (CurrentMode == 2LM) then + DDRCacheCapacity = DDRTC + DDRVolatileCapacity = 0 + +[verse] +TotalVolatileCapacity = VMC + DDRVolatileCapacity + +[verse] +InaccessibleCapacity = PC - PMC + if (CurrentMode != 1LM) then + InaccessibleCapacity -= VMC (rounded down for alignment) diff --git a/Documentation/ipmctl/Discovery/ipmctl-show-socket.txt b/Documentation/ipmctl/Discovery/ipmctl-show-socket.txt new file mode 100644 index 00000000..67d9244d --- /dev/null +++ b/Documentation/ipmctl/Discovery/ipmctl-show-socket.txt @@ -0,0 +1,94 @@ +// Copyright (c) 2018, Intel Corporation. +// SPDX-License-Identifier: BSD-3-Clause + +ifdef::manpage[] +ipmctl-show-socket(1) +===================== +endif::manpage[] + +NAME +---- +ipmctl-show-socket - Shows basic information about the physical processors + +SYNOPSIS +-------- +[verse] +ipmctl show [OPTIONS] -socket [TARGETS] + +DESCRIPTION +----------- +Shows basic information about the physical processors in the host server. + +OPTIONS +------- +-a:: +-all:: + Shows all attributes. + +NOTE: The all and display options are exclusive and may not be used together. + +-d (attributes):: +-display (attributes):: + Filters the returned attributes by explicitly specifying a comma-separated + list of any of the attributes defined in the Return Data section. + +-h:: +-help:: + Displays help for the command. + +-ddrt:: + Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. + +-smbus:: + Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. + +NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. + +ifdef::os_build[] +-o (text|nvmxml):: +-output (text|nvmxml):: + Changes the output format. One of: "text" (default) or "nvmxml". +endif::os_build[] + +-u (B|MB|MiB|GB|GiB|TB| TiB):: +-units (B|MB|MiB|GB|GiB|TB| TiB):: + Changes the units that capacities are displayed in for this command. One of: + bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), + terabytes (TB) or tebibytes (TiB). + +TARGETS +------- +-socket [SocketIDs]:: + Restricts output to the PMem modules installed on specific sockets by supplying the + socket target and one or more comma-separated socket identifiers. The default + is to display all sockets. + +EXAMPLES +-------- +Displays information about all the processors. +[verse] +ipmctl show -socket + +Lists all properties for socket 1. +[verse] +ipmctl show -socket 1 + +Retrieves specific properties for each processor. +[verse] +ipmctl show -d MappedMemoryLimit -socket + +RETURN DATA +----------- +Displays a table with the attributes listed below for each physical processor +installed in the host server. + +SocketID:: + (Default) The processor socket identifier. + +MappedMemoryLimit:: + (Default) The maximum amount of memory that is allowed to be mapped into the + system physical address space for this processor based on its SKU. + +TotalMappedMemory:: + (Default) The total amount of memory that is currently mapped into the system + physical address space for this processor. diff --git a/Documentation/ipmctl/Discovery/ipmctl-show-system-capabilities.txt b/Documentation/ipmctl/Discovery/ipmctl-show-system-capabilities.txt new file mode 100644 index 00000000..28653fd4 --- /dev/null +++ b/Documentation/ipmctl/Discovery/ipmctl-show-system-capabilities.txt @@ -0,0 +1,217 @@ +// Copyright (c) 2018, Intel Corporation. +// SPDX-License-Identifier: BSD-3-Clause + +ifdef::manpage[] +ipmctl-show-system-capabilities(1) +================================== +endif::manpage[] + +NAME +---- +ipmctl-show-system-capabilities - Shows the platform supported PMem module capabilities + +SYNOPSIS +-------- +[verse] +ipmctl show [OPTIONS] -system -capabilities + +DESCRIPTION +----------- +Shows the capabilities of the current platform as determined by platform firmware +(BIOS) and this application. + +OPTIONS +------- +-a:: +-all:: + Shows all attributes. + +NOTE: The all and display options are exclusive and may not be used together. + +-d (attributes):: +-display (attributes):: + Filters the returned attributes by explicitly specifying a comma-separated + list of any of the attributes defined in the Return Data section. + +NOTE: The all and display options are exclusive and may not be used together. + +-h:: +-help:: + Displays help for the command. + +-ddrt:: + Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. + +-smbus:: + Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. + +NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. + +ifdef::os_build[] +-o (text|nvmxml):: +-output (text|nvmxml):: + Changes the output format. One of: "text" (default) or "nvmxml". +endif::os_build[] + +-u (B|MB|MiB|GB|GiB|TB| TiB):: +-units (B|MB|MiB|GB|GiB|TB| TiB):: + Changes the units that capacities are displayed in for this command. One of: + bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), + terabytes (TB) or tebibytes (TiB). + +EXAMPLES +-------- +Displays the supported PMem module capabilities +[verse] +ipmctl show -system -capabilities + +RETURN DATA +----------- +The default behavior is to return the default attributes listed below; the options can be +used to expand or restrict the output. + +PlatformConfigSupported:: + (Default) Whether the platform level configuration of PMem modules can be modified + with the host software. One of: + - 0: Changes must be made in the BIOS. + - 1: The command *_Create Memory Allocation Goal_* is supported. + +Alignment (Default):: + Capacity alignment requirement for all memory types as reported by the BIOS. + +AllowedVolatileMode:: + (Default) The volatile mode allowed as determined by BIOS setup. One of: + - 1LM: One-level volatile mode. All memory resources in the platform are + independently accessible, and not captive of the other resources. + - Memory Mode: PMem modules act as system memory under the control of the + operating system. In Memory Mode, any DDR in the platform will act as a + cache working in conjunction with the PMem modules. + - Unknown: The allowed volatile mode cannot be determined. + +CurrentVolatileMode:: + (Default) The current volatile mode. One of: + - 1LM: One-level volatile mode. All memory resources in the platform are + independently accessible, and not captive of the other resources. + - Memory Mode: PMem modules act as system memory under the control of the + operating system. In Memory Mode, any DDR in the platform will act as a cache + working in conjunction with the PMem modules. + - Unknown: The current volatile mode cannot be determined. + +AllowedAppDirectMode:: + (Default) The App Direct mode allowed as determined by BIOS setup. One of: + - Disabled: App Direct support is currently disabled by the BIOS. + - App Direct: App Direct support is currently enabled by the BIOS. + - Unknown: The current App Direct support cannot be determined. + +ModesSupported:: + A list of PMem module modes supported by the BIOS. Refer to the command + *_Show Device_* to determine the modes supported by the individual + PMem modules. One or more of: + - 1LM: One-level volatile mode. All memory resources in the platform are + independently accessible, and not captive of the other resources. + - Memory Mode: PMem modules act as system memory under the control of the + operating system. In Memory Mode, any DDR in the platform will act as a cache + working in conjunction with the PMem modules. + - App Direct: PMem modules and DDR act as independent memory resources + under direct load/store control of the application. + +SupportedAppDirectSettings:: + The BIOS supported list of App Direct interleave settings in the format: + - x[Way] - [(IMCSize) iMC x (ChannelSize) Channel] followed by the input + format for the command *_Change Preferences_*: + (ByOne|(IMCSize)_(ChannelSize)). + +RecommendedAppDirectSettings:: + The BIOS recommended list of App Direct interleave settings in the format: + - x[Way] - [(IMCSize) iMC x (ChannelSize) Channel] followed by the input format for + the command *_Change Preferences_*: + (ByOne|(IMCSize)_(ChannelSize)). + +MinNamespaceSize:: + The minimum allowed namespace size as reported by the driver. + +AppDirectMirrorSupported:: + If the BIOS supports App Direct mirroring. One of: + - 0: Not supported. + - 1: Supported + +DimmSpareSupported:: + If the BIOS supports PMem module sparing. One of: + - 0: Not supported + - 1: Supported + +AppDirectMigrationSupported:: + If the BIOS supports App Direct migration. One of: + - 0: Not supported + - 1: Supported + +RenameNamespaceSupported:: + If the host software supports renaming a namespace. One of: + - 0: Not supported + - 1: Supported + +GrowAppDirectNamespaceSupported:: + If the host software supports increasing the capacity of an App Direct + namespace. One of: + - 0: Not supported + - 1: Supported + +ShrinkAppDirectNamespaceSupported:: + If the host software supports decreasing the capacity of an App Direct + namespace. One of: + - 0: Not supported + - 1: Supported + +InitiateScrubSupported:: + If the platform and host software support initiating an address range scrub on the + PMem modules in the system. One of: + - 0: Not supported + - 1: Supported + +AdrSupported:: + Whether the platform supports asynchronous DRAM refresh (ADR). One of: + - 0: Not supported. If ADR is not supported, App Direct data integrity cannot be + assured during system interruptions. + - 1: Supported + +EraseDeviceDataSupported:: + Whether Erase Device Data is supported. + - 0: Not supported + - 1: Supported + +EnableDeviceSecuritySupported:: + Whether Enable Device Security is supported. + - 0: Not supported + - 1: Supported + +DisableDeviceSecuritySupported:: + Whether Change Device Security property Lockstate = Disabled is supported. + - 0: Not supported + - 1: Supported + +UnlockDeviceSecuritySupported:: + Whether Change Device Security property Lockstate = Unlocked is supported. + - 0: Not supported + - 1: Supported + +FreezeDeviceSecuritySupported:: + Whether Change Device Security property Lockstate = Frozen is supported. + - 0: Not supported + - 1: Supported + +ChangeDevicePassphraseSupported:: + Whether Change Device Passphrase is supported. + - 0: Not supported + - 1: Supported + +ChangeMasterPassphraseSupported:: + Whether Change Master Passphrase is supported. + - 0: Not supported + - 1: Supported + +MasterEraseDeviceDataSupported:: + Whether Master Erase Device Data is supported. + - 0: Not supported + - 1: Supported + + diff --git a/Documentation/ipmctl/Discovery/ipmctl-show-topology.txt b/Documentation/ipmctl/Discovery/ipmctl-show-topology.txt new file mode 100644 index 00000000..9a9de3c3 --- /dev/null +++ b/Documentation/ipmctl/Discovery/ipmctl-show-topology.txt @@ -0,0 +1,118 @@ +// Copyright (c) 2018, Intel Corporation. +// SPDX-License-Identifier: BSD-3-Clause + +ifdef::manpage[] +ipmctl-show-topology(1) +======================= +endif::manpage[] + +NAME +---- +ipmctl-show-topology - Shows the topology of the memory installed + +SYNOPSIS +-------- +[verse] +ipmctl show [OPTIONS] -topology [TARGETS] + +DESCRIPTION +----------- +Shows the topology of the memory installed in the host server. Use the command +ipmctl-show-device to view more detailed information about a PMem module. + +OPTIONS +------- +-a:: +-all:: + Shows all attributes. + +-h:: +-help:: + Displays help for the command. + +-ddrt:: + Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl. + +-smbus:: + Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl. + +NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. + +ifdef::os_build[] +-o (text|nvmxml):: +-output (text|nvmxml):: + Changes the output format. One of: "text" (default) or "nvmxml". +endif::os_build[] + +-u (B|MB|MiB|GB|GiB|TB| TiB):: +-units (B|MB|MiB|GB|GiB|TB| TiB):: + Changes the units that capacities are displayed in for this command. One of: + bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), + terabytes (TB) or tebibytes (TiB). + +TARGETS +------- +-dimm [DimmIDs]:: + Restricts output to specific PMem modules by optionally supplying the PMem module target and one or + more comma-separated PMem module identifiers. The default is to display all PMem modules. + +-socket [SocketIDs]:: + Restricts output to the PMem modules installed on specific sockets by supplying the + socket target and one or more comma-separated socket identifiers. The default + is to display all sockets. + +NOTE: If ACPI PMTT table is not present, then DDR4 memory will not be +displayed in the filtered socket list. + +EXAMPLES +-------- +Displays the system memory topology. +[verse] +ipmctl show -topology + +RETURN DATA +----------- +Displays a table with the attributes listed below for each memory PMem module installed +in the host server. + +MemoryType:: + (Default) The DIMM type. One of: + - Unknown + - DDR4 + - Logical Non-volatile Device + +Capacity:: + (Default) The raw capacity of the PMem module as reported in the SMBIOS Type 17 + table. + +DimmID:: + (Default) The DIMM identifier. For DRAM DIMMs, the DimmID is "N/A". + +PhysicalID:: + (Default) The PMem module physical identifier (i.e., SMBIOS Type 17 handle). + +DeviceLocator:: + (Default) The string that identifies the physically-labeled socket or board + position where the PMem module is located. + +SocketID:: + The processor socket identifier (i.e., NUMA node) where the PMem module is installed. + +DieID:: + The processor die identifier where the PMem module is installed. + +MemControllerID:: + The associated memory controller identifier. + +ChannelID:: + The associated channel. For DRAM DIMMs, the channel identifier is "N/A". + +ChannelPos:: + The PMem module position in the channel. + +NodeControllerID:: + The node controller identifier. + +BankLabel:: + The string that identifies the physically-labeled bank where the PMem module is + located. diff --git a/Documentation/ipmctl/Instrumentation/ipmctl-change-sensor.txt b/Documentation/ipmctl/Instrumentation/ipmctl-change-sensor.txt index 522aae9a..ed8f393d 100644 --- a/Documentation/ipmctl/Instrumentation/ipmctl-change-sensor.txt +++ b/Documentation/ipmctl/Instrumentation/ipmctl-change-sensor.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-change-sensor - Changes the threshold or enabled state for DCPMMs sensors +ipmctl-change-sensor - Changes the threshold or enabled state for PMem modules sensors SYNOPSIS -------- @@ -18,7 +18,7 @@ AlarmThreshold=(temperature) AlarmEnabled=(0|1) DESCRIPTION ----------- -Changes the alarm threshold or enabled state for one or more DCPMMs sensors. +Changes the alarm threshold or enabled state for one or more PMem modules sensors. Use the command Show Sensor to view the current settings. OPTIONS @@ -26,7 +26,7 @@ OPTIONS -f:: -force:: Changing the sensor settings is a potentially destructive operation which - requires confirmation from the user for each DCPMM. This option suppresses the + requires confirmation from the user for each PMem module. This option suppresses the confirmation. -h:: @@ -50,21 +50,21 @@ endif::os_build[] SENSORS ------- MediaTemperature:: - The DCPMM media temperature in Celsius. + The PMem module media temperature in Celsius. ControllerTemperature:: - The DCPMM controller temperature in Celsius. + The PMem module controller temperature in Celsius. PercentageRemaining:: - Remaining DCPMM’s life as a percentage value of factory expected + Remaining PMem module’s life as a percentage value of factory expected life span. TARGETS ------- -dimm [DimmIDs]:: - Update specified sensors on specific DCPMMs by optionally supplying the DIMM - target and one or more comma-separated DCPMM identifiers. The default is to - update the specified sensors for all manageable DCPMMs. + Update specified sensors on specific PMem modules by optionally supplying the PMem module + target and one or more comma-separated PMem module identifiers. The default is to + update the specified sensors for all manageable PMem modules. PROPERTIES ---------- @@ -98,7 +98,7 @@ AlarmEnabled:: EXAMPLES -------- -Changes the media temperature alarm threshold to 51C on the specified DCPMM and enables +Changes the media temperature alarm threshold to 51C on the specified PMem module and enables the alarm. [verse] @@ -110,13 +110,13 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- -For each DCPMM, the CLI will indicate the status of the operation. If a failure occurs -when modifying multiple DCPMMs, the process will exit and not continue modifying the -remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the operation. If a failure occurs +when modifying multiple PMem modules, the process will exit and not continue modifying the +remaining PMem modules. SAMPLE OUTPUT ------------- diff --git a/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt b/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt index 502ff86e..7fba2ef1 100644 --- a/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt +++ b/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-performance - Shows performance metrics for one or more DCPMMs +ipmctl-show-performance - Shows performance metrics for one or more PMem modules SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -performance [METRICS] [TARGETS] DESCRIPTION ----------- -Shows performance metrics for one or more DCPMMs. +Shows performance metrics for one or more PMem modules. OPTIONS ------- @@ -58,18 +58,18 @@ The default is to display all performance metrics. TARGETS ------- -dimm [DimmIDs]:: - Restricts output to the performance metrics for specific DCPMM by supplying - one or more comma separated DCPMM identifiers. The default is to display - performance metrics for all manageable DCPMM. + Restricts output to the performance metrics for specific PMem module by supplying + one or more comma separated PMem module identifiers. The default is to display + performance metrics for all manageable PMem module. EXAMPLES -------- -Shows all performance metrics for all DCPMMs in the server. +Shows all performance metrics for all PMem modules in the server. [verse] ipmctl show -dimm -performance -Shows the number of 64 byte reads since last AC cycle for all DCPMMs in the +Shows the number of 64 byte reads since last AC cycle for all PMem modules in the server. [verse] ipmctl show -dimm -performance MediaReads @@ -80,37 +80,37 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- -This command displays a table of the specified metrics for each specified DCPMM. -Applying a specific DCPMM target limits the rows in the table. Applying a +This command displays a table of the specified metrics for each specified PMem module. +Applying a specific PMem module target limits the rows in the table. Applying a specific metric name target limits the columns in the table. DimmID:: - The DCPMM identifier + The PMem module identifier MediaReads:: - Number of 64 byte reads from media on the DCPMM since last AC cycle. + Number of 64 byte reads from media on the PMem module since last AC cycle. MediaWrites:: - Number of 64 byte writes to media on the DCPMM since last AC cycle. + Number of 64 byte writes to media on the PMem module since last AC cycle. ReadRequests:: - Number of DDRT read transactions the DCPMM has serviced since last AC cycle. + Number of DDRT read transactions the PMem module has serviced since last AC cycle. WriteRequests:: - Number of DDRT write transactions the DCPMM has serviced since last AC cycle. + Number of DDRT write transactions the PMem module has serviced since last AC cycle. TotalMediaReads:: - Number of 64 byte reads from media on the DCPMM over its lifetime. + Number of 64 byte reads from media on the PMem module over its lifetime. TotalMediaWrites:: - Number of 64 byte writes to media on the DCPMM over its lifetime. + Number of 64 byte writes to media on the PMem module over its lifetime. TotalReadRequest:: - Number of DDRT read transactions the DCPMM has serviced over its lifetime. + Number of DDRT read transactions the PMem module has serviced over its lifetime. TotalWriteRequest:: - Number of DDRT write transactions the DCPMM has serviced over its lifetime. + Number of DDRT write transactions the PMem module has serviced over its lifetime. diff --git a/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt b/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt index d59e7689..d8ca899e 100644 --- a/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt +++ b/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-sensor - Shows sensor data for one or more DCPMMs +ipmctl-show-sensor - Shows sensor data for one or more PMem modules SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -sensor [SENSORS] [TARGETS] DESCRIPTION ----------- -Shows sensor data for one or more DCPMMs. This data includes DCPMM health, temperatures, +Shows sensor data for one or more PMem modules. This data includes PMem module health, temperatures, percentage remaining, up-time and more. OPTIONS @@ -56,36 +56,36 @@ endif::os_build[] SENSORS ------- Health:: - (Default) The current DCPMM health as reported in the SMART log + (Default) The current PMem module health as reported in the SMART log MediaTemperature:: - (Default) The current DCPMM media temperature in Celsius + (Default) The current PMem module media temperature in Celsius ControllerTemperature:: - (Default) The current DCPMM controller temperature in Celsius + (Default) The current PMem module controller temperature in Celsius PercentageRemaining:: - (Default) Remaining DCPMM’s life as a percentage value of factory expected + (Default) Remaining PMem module’s life as a percentage value of factory expected life span LatchedDirtyShutdownCount:: (Default) The number of shutdowns without notification over the lifetime of - the DCPMM + the PMem module UnlatchedDirtyShutdownCount:: (Default) The number of shutdowns without notification over the lifetime of - the DCPMM. This counter is the same as LatchedDirtyShutdownCount except it will + the PMem module. This counter is the same as LatchedDirtyShutdownCount except it will always be incremented on a dirty shutdown, even if Latch System Shutdown Status was not enabled PowerOnTime:: - (Default) The total power-on time over the lifetime of the DCPMM + (Default) The total power-on time over the lifetime of the PMem module UpTime:: - (Default) The total power-on time since the last power cycle of the DCPMM + (Default) The total power-on time since the last power cycle of the PMem module PowerCycles:: - (Default) The number of power cycles over the lifetime of the DCPMM + (Default) The number of power cycles over the lifetime of the PMem module FwErrorCount:: (Default) The total number of firmware error log entries @@ -93,17 +93,17 @@ FwErrorCount:: TARGETS ------- -dimm [DimmIDs]:: - Restricts output to the sensors on specific DCPMMs by supplying the DIMM - target and one or more comma-separated DCPMM identifiers. The default is to - display sensors for all manageable DCPMMs. + Restricts output to the sensors on specific PMem modules by supplying the DIMM + target and one or more comma-separated PMem module identifiers. The default is to + display sensors for all manageable PMem modules. EXAMPLES -------- -Gets all sensor information for all DCPMMs. +Gets all sensor information for all PMem modules. [verse] ipmctl show -sensor -Shows the media temperature sensor for the specified DCPMM. +Shows the media temperature sensor for the specified PMem module. [verse] ipmctl show -sensor MediaTemperature -dimm 0x0001 @@ -113,16 +113,16 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- -This command displays a table with a row for each sensor on each DCPMM. Applying -a specific DCPMM or sensor type target limits the number of rows. Applying +This command displays a table with a row for each sensor on each PMem module. Applying +a specific PMem module or sensor type target limits the number of rows. Applying options can be used to expand or restrict the output. DimmID:: - (Default) The DCPMM identifier + (Default) The PMem module identifier Type:: (Default) The sensor type. Refer to the sensor table above. @@ -135,10 +135,10 @@ AlarmThreshold:: The threshold value at which an alarm for the respective sensor will be triggered. ThrottlingStopThreshold:: - The threshold value at which firmware will stop throttling to reduce overall thermals and keep the DIMM within safe operating temperatures. + The threshold value at which firmware will stop throttling to reduce overall thermals and keep the PMem module within safe operating temperatures. ThrottlingStartThreshold:: - The threshold value at which firmware will start throttling to reduce overall thermals and keep the DIMM within safe operating temperatures. + The threshold value at which firmware will start throttling to reduce overall thermals and keep the PMem module within safe operating temperatures. ShutdownThreshold:: The threshold value at which device shutdown will occur. diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-passphrase.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-passphrase.txt index 0e546421..8c4d087f 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-passphrase.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-passphrase.txt @@ -9,10 +9,10 @@ endif::manpage[] NAME ---- ifndef::os_build[] -ipmctl-change-device-passphrase - Changes the security passphrase on DCPMM +ipmctl-change-device-passphrase - Changes the security passphrase on PMem module endif::os_build[] ifdef::os_build[] -ipmctl-change-device-passphrase - Changes the security passphrase on DCPMM on supported OS +ipmctl-change-device-passphrase - Changes the security passphrase on PMem module on supported OS endif::os_build[] SYNOPSIS @@ -23,7 +23,7 @@ ConfirmPassphrase=(string) DESCRIPTION ----------- -Changes the security passphrase on one or more DCPMMs. +Changes the security passphrase on one or more PMem modules. ifdef::os_build[] NOTE: This command is subject to OS Vendor (OSV) support. It will return "Not Supported." @@ -45,7 +45,7 @@ NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used to -master:: Changes the master passphrase. Valid only if master passphrase is enabled on specified - DCPMMs (see MasterPassphraseEnabled attribute in section <>). + PMem modules (see MasterPassphraseEnabled attribute in section <>). -default:: Use this option when the current master passphrase is set to the default value. Valid @@ -60,10 +60,10 @@ NOTE: The file does not need to contain the ConfirmPassphrase property TARGETS ------- -dimm [DimmIDs]:: - Changes the passphrase on specific DCPMMs by supplying one or more - comma separated DCPMM identifiers. However, this is not recommended as + Changes the passphrase on specific PMem modules by supplying one or more + comma separated PMem module identifiers. However, this is not recommended as it may put the system in an undesirable state. The default is to change the - passphrase on all manageable DCPMMs. + passphrase on all manageable PMem modules. PROPERTIES ---------- @@ -85,18 +85,18 @@ ConfirmPassphrase:: EXAMPLES -------- -Changes the passphrase from mypassphrase to mynewpassphrase on all DCPMMs. +Changes the passphrase from mypassphrase to mynewpassphrase on all PMem modules. [verse] ipmctl set -dimm Passphrase=mypassphrase NewPassphrase=mynewpassphrase ConfirmPassphrase=mynewpassphrase -Changes the passphrase on all DCPMMs by having the CLI prompt for the +Changes the passphrase on all PMem modules by having the CLI prompt for the current and new passphrases. [verse] ipmctl set -dimm Passphrase="" NewPassphrase="" ConfirmPassphrase="" -Changes the passphrase on all DCPMMs by supplying the current and new +Changes the passphrase on all PMem modules by supplying the current and new passphrases from the specified file. In this example, the format of the file would be: @@ -107,14 +107,14 @@ NewPassphrase=myNewPassphrase ipmctl set -source passphrase.file -dimm Passphrase="" NewPassphrase="" ConfirmPassphrase="" -Changes the default master passphrase to masterpassphrase on all DCPMMs. +Changes the default master passphrase to masterpassphrase on all PMem modules. [verse] ipmctl set -master -default -dimm NewPassphrase=masterpassphrase ConfirmPassphrase= masterpassphrase Changes the master passphrase from masterpassphrase to newmasterpassphrase on -all DCPMMs. +all PMem modules. [verse] ipmctl set -master -dimm Passphrase=masterpassphrase NewPassphrase=newmasterpassphrase @@ -126,7 +126,7 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM must be manageable by the host software, have +- The specified PMem module must be manageable by the host software, have security enabled and not be in the "Frozen" or "Exceeded" lock states. ifdef::os_build[] @@ -137,16 +137,16 @@ endif::os_build[] RETURN DATA ----------- If empty strings are provided for the passphrase properties and the source -option is not included, the user will be prompted (once for all DCPMM) to enter +option is not included, the user will be prompted (once for all PMem module) to enter the current passphrase, then again for the new passphrase and then again to confirm the new passphrase as described below. The passphrase characters are hidden. Current passphrase: \**** -For each DIMM, the CLI will indicate the status of the passphrase change -operation. If a failure occurs when updating the passphrase on multiple DCPMMs, -the process will exit and not continue updating the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the passphrase change +operation. If a failure occurs when updating the passphrase on multiple PMem modules, +the process will exit and not continue updating the remaining PMem modules. SAMPLE OUTPUT ------------- diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-security.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-security.txt index 43e2d0a0..02c213dd 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-security.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-change-device-security.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-change-device-security - Changes the DCPMM security lock state +ipmctl-change-device-security - Changes the PMem module security lock state SYNOPSIS -------- @@ -19,11 +19,11 @@ Passphrase=(string) DESCRIPTION ----------- Changes the data-at-rest security lock state for the persistent memory on one or more -DCPMMs. +PMem modules. ifdef::os_build[] NOTE: This command is subject to OS Vendor (OSV) support. It will return "Not Supported." -An exception is if the DCPMM is Unlocked Seurity State, then transitioning to Disabled +An exception is if the PMem module is Unlocked Seurity State, then transitioning to Disabled is permitted. endif::os_build[] @@ -53,19 +53,19 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Changes the lock state of a specific DCPMMs by supplying one or more comma - separated DCPMM identifiers. However, this is not recommended as it may put + Changes the lock state of a specific PMem modules by supplying one or more comma + separated PMem module identifiers. However, this is not recommended as it may put the system in an undesirable state. The default is to modify all manageable - DCPMMs. + PMem modules. PROPERTIES ---------- LockState:: The desired lock state. - - "Disabled": Removes the passphrase on an DCPMM to disable security. Permitted + - "Disabled": Removes the passphrase on an PMem module to disable security. Permitted only when LockState is Unlocked. - - "Unlocked": Unlocks the persistent memory on a locked DCPMM. - - "Frozen": Prevents further lock state changes to the DCPMM until the next + - "Unlocked": Unlocks the persistent memory on a locked PMem module. + - "Frozen": Prevents further lock state changes to the PMem module until the next reboot. Passphrase:: @@ -94,13 +94,13 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMMs must be manageable by the host software, have security enabled, +- The specified PMem modules must be manageable by the host software, have security enabled, not be in the "Frozen" or "Exceeded" lock states, and not executing a long operation (ARS, Overwrite, FWUpdate). ifdef::os_build[] The command is subject to OS Vendor (OSV) support. If OSV does not provide support, -the command may return "Not Supported." An exception is if the DCPMM is Unlocked +the command may return "Not Supported." An exception is if the PMem module is Unlocked (via UEFI or OSV tool), then transitioning to Disabled is possible regardless of OSV support. endif::os_build[] @@ -108,19 +108,19 @@ endif::os_build[] RETURN DATA ----------- If an empty string is provided for the passphrase property and the source option is not -included, the user will be prompted (once for all DCPMMs) to enter the current +included, the user will be prompted (once for all PMem modules) to enter the current passphrase. The passphrase characters are hidden. Current passphrase: **** -For each DCPMM, the CLI will indicate the status of the security state change. -If a failure occurs when changing multiple DCPMMs, the process will exit and -not continue updating the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the security state change. +If a failure occurs when changing multiple PMem modules, the process will exit and +not continue updating the remaining PMem modules. SAMPLE OUTPUT ------------- [verse] -Unlock DIMM (DimmID): Success -Unlock DIMM (DimmID): Error (Code) - (Description) -Remove passphrase from DIMM (DimmID): Success -Remove passphrase from DIMM (DimmID): Error (Code) - (Description) +Unlock PMem module (DimmID): Success +Unlock PMem module (DimmID): Error (Code) - (Description) +Remove passphrase from PMem module (DimmID): Success +Remove passphrase from PMem module (DimmID): Error (Code) - (Description) diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-create-goal.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-create-goal.txt index c4db8462..8a1438c8 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-create-goal.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-create-goal.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-create-goal - Creates a memory allocation goal on one or more DCPMMs +ipmctl-create-goal - Creates a memory allocation goal on one or more PMem modules SYNOPSIS -------- @@ -18,7 +18,7 @@ ipmctl create [OPTIONS] -goal [TARGETS] [PROPERTIES] DESCRIPTION ----------- Creates a memory allocation goal on one or more for the BIOS to read on the next -reboot in order to map the DCPMM capacity into the system address space. +reboot in order to map the PMem module capacity into the system address space. Persistent memory can then be utilized by creating a namespace. NOTE: The capacity values presented by this command are a target goal or @@ -26,7 +26,7 @@ request to platform firmware. The actual capacity values are subject to change due to rounding and alignment requirements. If the goal request is invalid or not possible it may be rejected by platform firmware. -NOTE: Deleting the PCD can be used as a way to prepare individual DCPMMs for provisioning. +NOTE: Deleting the PCD can be used as a way to prepare individual PMem modules for provisioning. See the delete -pcd command. include::../ipmctl-command-data-loss-warning.txt[] @@ -37,7 +37,7 @@ OPTIONS -f:: -force:: - Reconfiguring DCPMMs is a destructive operation which requires + Reconfiguring PMem modules is a destructive operation which requires confirmation from the user. This option suppresses the confirmation. This option can also be used to recover/override corrupted Platform Configuration Data (PCD). The force flag will also suppress the security enabled warning as well as all other @@ -70,19 +70,19 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Creates a memory allocation goal on specific DCPMMs by optionally supplying one or - more comma-separated DCPMM identifiers. This list must meet one of the following criteria: - . Target all DCPMMs on a given socket - . Target all unconfigured DCPMMs - . Target DCPMMs for 100% MemoryMode with all unspecified DCPMMs configured for MemoryMode only - . Target DCPMMs for AppDirect Not-Interleaved with all unspecified DCPMMs configured for AppDirect Not-Interleaved only - If dimm target is unspecified, the default is to configure all manageable DCPMMs on all sockets. + Creates a memory allocation goal on specific PMem modules by optionally supplying one or + more comma-separated PMem module identifiers. This list must meet one of the following criteria: + . Target all PMem modules on a given socket + . Target all unconfigured PMem modules + . Target PMem modules for 100% MemoryMode with all unspecified PMem modules configured for MemoryMode only + . Target PMem modules for AppDirect Not-Interleaved with all unspecified PMem modules configured for AppDirect Not-Interleaved only + If PMem module target is unspecified, the default is to configure all manageable PMem modules on all sockets. -socket [SocketIds]:: - Loads the memory allocation goal onto all manageable DCPMMs on specific + Loads the memory allocation goal onto all manageable PMem modules on specific sockets by supplying the socket target and one or more comma-separated socket identifiers. The default is to load the memory allocation goal onto all - manageable DCPMMs on all sockets. + manageable PMem modules on all sockets. PROPERTIES ---------- @@ -93,9 +93,9 @@ MemoryMode:: PersistentMemoryType:: If MemoryMode is not 100%, the type of persistent memory to create. - "AppDirect": (Default) Create App Direct capacity utilizing hardware interleaving across the - requested DCPMMs if applicable given the specified target. + requested PMem modules if applicable given the specified target. - "AppDirectNotInterleaved": Create App Direct capacity that is not interleaved any - other DCPMMs. + other PMem modules. NamespaceLabelVersion:: The version of the namespace label storage area (LSA) index block @@ -103,30 +103,30 @@ NamespaceLabelVersion:: - "1.1": Legacy 1.1 namespace label support Reserved:: - Reserve a percentage [underline]#(0-100)# of the requested DCPMM App Direct capacity + Reserve a percentage [underline]#(0-100)# of the requested PMem module App Direct capacity that will not be mapped into the system physical address space and will be presented as Reserved Capacity with Show Device and Show Memory Resources Commands. EXAMPLES -------- -Configures all the DCPMM capacity in Memory Mode. +Configures all the PMem module capacity in Memory Mode. [verse] ipmctl create -goal MemoryMode=100 -Configures all the DCPMM capacity as App Direct. +Configures all the PMem module capacity as App Direct. [verse] ipmctl create -goal PersistentMemoryType=AppDirect -Configures the capacity on each DCPMM with 20% of the capacity in Memory +Configures the capacity on each PMem module with 20% of the capacity in Memory Mode and the remaining as App Direct capacity that does not use hardware interleaving. [verse] ipmctl create -goal MemoryMode=20 PersistentMemoryType=AppDirectNotInterleaved -Configures the DCPMM capacity across the entire system with 25% of the +Configures the PMem module capacity across the entire system with 25% of the capacity in Memory Mode, 25% reserved and the remaining 50% as App Direct. -Configures the DCPMM capacity across the entire system with 25% of the +Configures the PMem module capacity across the entire system with 25% of the capacity in Memory Mode and the remaining 75% as App Direct. [verse] ipmctl create -goal MemoryMode=25 PersistentMemoryType=AppDirect Reserved=25 @@ -137,45 +137,45 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software and +- The specified PMem modules must be manageable by the host software and must all have the same SKU. - SKU based maximum total mapped memory is enforced. See section <> -- If no DCPMM(s) are specified, then during goal creation all DCPMMs in a non-functional, +- If no PMem modules are specified, then during goal creation all PMem modules in a non-functional, population violation, or unmanageable state are not included in the goal creation. - Existing memory allocation goals that have not been applied and any namespaces - associated with the requested DCPMM(s) must be deleted before running + associated with the requested PMem modules must be deleted before running this command. -- Goal requests may not be applied by platform firmware (BIOS) if the DCPMM is in security enabled, locked state. +- Goal requests may not be applied by platform firmware (BIOS) if the PMem module is in security enabled, locked state. NOTE: It is recommended to disable security prior to reboot if requesting a new goal. -NOTE: A goal request may be initiated even if a target DCPMM is in security state enabled, but care - must be taken to ensure the DCPMM is in either unlocked or disabled security state prior to the +NOTE: A goal request may be initiated even if a target PMem module is in security state enabled, but care + must be taken to ensure the PMem module is in either unlocked or disabled security state prior to the platform firmware (BIOS) provisioning flow following a reboot. In addition, a warning will be presented to the user: 'WARNING: Goal will not be applied unless security is disabled prior to platform firmware (BIOS) provisioning!' - Changing the memory configuration is a destructive operation which results in loss of data stored in the persistent memory region. Therefore, data should be backed up to other storage before executing this command. - Targets may be limited to individual DCPMMs or sockets, but all DCPMMs + Targets may be limited to individual PMem modules or sockets, but all PMem modules on affected sockets must be configured when the command finishes. If the selected targets make this impossible, the command will be rejected. Refer to *_Show System Capabilities_* for a list of BIOS supported modes. - Some requests are dependent on BIOS and/or platform configuration. For details, refer - to the _Intel® Optane™ DC Persistent Memory Software Memory Allocation Rules_, + to the _Intel® Optane™ Persistent Memory Software Memory Allocation Rules_, document number 564194. For example: - - Provisioning DCPMMs for Memory Mode while BIOS is configured for 1LM only + - Provisioning PMem modules for Memory Mode while BIOS is configured for 1LM only will result in unused capacity. - - Provisioning DCPMMs for Memory Mode while not all iMCs have at least one DCPMM + - Provisioning PMem modules for Memory Mode while not all iMCs have at least one PMem module will result in unused capacity. -- DCPMM(s) in population violation can be targeted for goal creation only if PersistentMemoryType=AppDirectNotInterleaved +- PMem modules in population violation can be targeted for goal creation only if PersistentMemoryType=AppDirectNotInterleaved and no volatile memory is requested (100% ADx1). RETURN DATA @@ -187,17 +187,17 @@ result in a non- optimal configuration (i.e., reduced performance). These are described below.: *The requested goal may result in a non-optimal configuration due to the -population of DIMMs in the system* + +population of PMem modules in the system* + -Memory Mode capacity requested but the population of DRAM DIMMs and DCPMMs in -the system may result in reduced performance (i.e., the ratio of DRAM and DCPMMs -is not balanced, DRAM and DCPMMs are not on the same channel or not all the same +Memory Mode capacity requested but the population of DRAM DIMMs and PMem modules in +the system may result in reduced performance (i.e., the ratio of DRAM and PMem modules +is not balanced, DRAM and PMem modules are not on the same channel or not all the same size). *The requested goal may result in a non-optimal configuration due to -the population of DIMMs in the system.* + -App Direct capacity requested but the population of DCPMMs in the system may -result in reduced performance (i.e., DCPMMs are not the same size or populated +the population of PMem modules in the system.* + +App Direct capacity requested but the population of PMem modules in the system may +result in reduced performance (i.e., PMem modules are not the same size or populated asymmetrically across the socket). *The requested goal will result in App Direct capacity which is not supported by @@ -217,7 +217,7 @@ capacity.* + Mapped memory was limited based on the CPU SKU. Therefore, before making any changes to the configuration, a prompt is displayed -showing the memory allocation goals that will be created on each DCPMM as +showing the memory allocation goals that will be created on each PMem module as documented in the command Section <>, along with any additional confirmation messages. The force option can be used to override this confirmation and proceed directly with creating the goals. diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-delete-goal.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-delete-goal.txt index 44a1cb63..3674f393 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-delete-goal.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-delete-goal.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-delete-goal - Deletes the memory allocation goal from DCPMMs +ipmctl-delete-goal - Deletes the memory allocation goal from PMem modules SYNOPSIS -------- @@ -17,12 +17,12 @@ ipmctl delete [OPTIONS] -goal [TARGETS] DESCRIPTION ----------- -Deletes the memory allocation goal from one or more DCPMMs. This command only +Deletes the memory allocation goal from one or more PMem modules. This command only deletes a memory allocation goal request that has not yet been processed by platform firmware (BIOS). -If the dimm target is used and the specified dimms do not include all dimms -that are part of a memory allocation goal request the result will be dimms +If the PMem module target is used and the specified PMem modules do not include all PMem modules +that are part of a memory allocation goal request the result will be PMem modules (those not included) that have a broken request which will be rejected by platform firmware (BIOS) upon the next reboot. @@ -57,19 +57,19 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Deletes the memory allocation goal from specific DCPMMs by optionally supplying one or - more comma-separated DCPMM identifiers. The default is to delete the memory - allocation goals from all manageable DCPMMs. + Deletes the memory allocation goal from specific PMem modules by optionally supplying one or + more comma-separated PMem module identifiers. The default is to delete the memory + allocation goals from all manageable PMem modules. -socket [SocketIds]:: - Deletes the memory allocation goal from the DCPMMs on specific sockets by + Deletes the memory allocation goal from the PMem modules on specific sockets by supplying the socket target and one or more comma-separated socket identifiers. The default is to delete the memory allocation goals from - manageable DCPMMs on all sockets. + manageable PMem modules on all sockets. EXAMPLES -------- -Deletes the memory allocation goal from all DCPMMs on all sockets. +Deletes the memory allocation goal from all PMem modules on all sockets. [verse] ipmctl delete -goal @@ -79,22 +79,22 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software and unlocked if +- The specified PMem modules must be manageable by the host software and unlocked if security is enabled. -- Given socket and all specified DCPMMs must contain a memory allocation goal. +- Given socket and all specified PMem modules must contain a memory allocation goal. RETURN DATA ----------- -For each DCPMM, the CLI will indicate the status of the operation. If a failure occurs -when deleting the memory allocation goals from multiple DCPMMs, the process will -output a failure message for those DCPMMs that did not succeed and a success +For each PMem module, the CLI will indicate the status of the operation. If a failure occurs +when deleting the memory allocation goals from multiple PMem modules, the process will +output a failure message for those PMem modules that did not succeed and a success message for those that did. SAMPLE OUTPUT ------------- [verse] -Delete memory allocation goal from DIMM (DimmID): Success +Delete memory allocation goal from PMem module (DimmID): Success [verse] -Delete memory allocation goal from DIMM (DimmID): Error (Code) - (Description) +Delete memory allocation goal from PMem module (DimmID): Error (Code) - (Description) diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-dump-goal.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-dump-goal.txt index a3813ed7..9e5488a1 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-dump-goal.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-dump-goal.txt @@ -17,7 +17,7 @@ ipmctl dump [OPTIONS] -destination (path) -system -config DESCRIPTION ----------- -Store the currently configured memory allocation settings for all DCPMMs in the +Store the currently configured memory allocation settings for all PMem modules in the system to a file in order to replicate the configuration elsewhere. Apply the stored memory allocation settings using the command Section <>. @@ -52,7 +52,7 @@ endif::os_build[] EXAMPLES -------- -Stores the memory allocation settings from all the DCPMMs into the file "config.txt". +Stores the memory allocation settings from all the PMem modules into the file "config.txt". [verse] ipmctl dump -destination config.txt -system -config @@ -62,33 +62,33 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- Only memory allocation settings for manageable DCPMMs that have been - successfully applied by the BIOS are stored in the file. Unconfigured DCPMMs are +- Only memory allocation settings for manageable PMem modules that have been + successfully applied by the BIOS are stored in the file. Unconfigured PMem modules are not included, nor are memory allocation goals that have not been applied. RETURN DATA ----------- The CLI will indicate the overall status of the operation when complete. If a -failure occurs when dumping the memory allocation from multiple DCPMMs, the +failure occurs when dumping the memory allocation from multiple PMem modules, the process will stop and the output file will be removed. -The output file is formatted as an ASCII file with one row per DCPMM containing +The output file is formatted as an ASCII file with one row per PMem module containing the following comma-separated values. SocketID:: - unsigned short int Identifier for the socket the DCPMM is associated with. + unsigned short int Identifier for the socket the PMem module is associated with. DimmHandle:: - unsigned int DCPMM device handle. + unsigned int PMem module device handle. Capacity:: - unsigned long long int Total capacity of the DCPMM in GiB. + unsigned long long int Total capacity of the PMem module in GiB. MemorySize:: - unsigned long long int Capacity of the DCPMM allocated as Memory Mode in GiB. + unsigned long long int Capacity of the PMem module allocated as Memory Mode in GiB. AppDirect1Size:: - unsigned long long int Capacity of the DCPMM allocated for the first App + unsigned long long int Capacity of the PMem module allocated for the first App Direct interleave set in GiB. AppDirect1Format:: @@ -103,7 +103,7 @@ AppDirect1Index:: unsigned short int Unique index of the first App Direct interleave set. AppDirect2Size:: - unsigned long long int Capacity of the DCPMM allocated for the second App + unsigned long long int Capacity of the PMem module allocated for the second App Direct interleave set in GiB. AppDirect2Format:: diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-enable-device-security.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-enable-device-security.txt index 1df1d1e5..744a8747 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-enable-device-security.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-enable-device-security.txt @@ -9,10 +9,10 @@ endif::manpage[] NAME ---- ifndef::os_build[] -ipmctl-enable-device-security - Enables data-at-rest security on DCPMM +ipmctl-enable-device-security - Enables data-at-rest security on PMem module endif::os_build[] ifdef::os_build[] -ipmctl-enable-device-security - Enables data-at-rest security on DCPMM on supported OS +ipmctl-enable-device-security - Enables data-at-rest security on PMem module on supported OS endif::os_build[] SYNOPSIS @@ -23,7 +23,7 @@ ConfirmPassphrase=(string) DESCRIPTION ----------- -Enable data-at-rest security for the persistent memory on one or more DCPMMs +Enable data-at-rest security for the persistent memory on one or more PMem modules by setting a passphrase. ifdef::os_build[] @@ -58,10 +58,10 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Set the passphrase on specific DCPMMs by supplying one or more comma - separated DCPMM identifiers. However, this is not recommended as it + Set the passphrase on specific PMem modules by supplying one or more comma + separated PMem module identifiers. However, this is not recommended as it may put the system in an undesirable state. The default is to set the - passphrase on all manageable DCPMMs. + passphrase on all manageable PMem modules. PROPERTIES ---------- @@ -78,11 +78,11 @@ ConfirmPassphrase:: EXAMPLES -------- -Set a passphrase on DIMM 0x0001. +Set a passphrase on PMem module 0x0001. [verse] ipmctl set -dimm 0x0001 NewPassphrase=123 ConfirmPassphrase=123 -Sets a passphrase on DCPMM 0x0001 by supplying the passphrase in the file +Sets a passphrase on PMem module 0x0001 by supplying the passphrase in the file mypassphrase.file. In this example, the format of the file would be: #ascii + @@ -97,7 +97,7 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM must have security disabled and be manageable by the host software. +- The specified PMem module must have security disabled and be manageable by the host software. - There must not be any goal creation pending. @@ -109,7 +109,7 @@ endif::os_build[] RETURN DATA ----------- If empty strings are provided for the passphrase properties and the source option is not -included, the user will be prompted (once for all DCPMMs) to enter the new +included, the user will be prompted (once for all PMem modules) to enter the new passphrase and then again to confirm the new passphrase as described below. The passphrase characters will be hidden. @@ -117,14 +117,14 @@ New passphrase: \\**** + Confirm new passphrase: \**** -For each DCPMM, the CLI will indicate the status of the set passphrase -operation. If a failure occurs when setting the passphrase on multiple DCPMMs, -the process will exit and not continue updating the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the set passphrase +operation. If a failure occurs when setting the passphrase on multiple PMem modules, +the process will exit and not continue updating the remaining PMem modules. SAMPLE OUTPUT ------------ [verse] -Set passphrase on DIMM (DimmID): Success +Set passphrase on PMem module (DimmID): Success [verse] -Set passphrase on DIMM (DimmID): Error (Code) - (Description) +Set passphrase on PMem module (DimmID): Error (Code) - (Description) diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-erase-device-data.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-erase-device-data.txt index 16bb0f0e..219c7884 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-erase-device-data.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-erase-device-data.txt @@ -9,10 +9,10 @@ endif::manpage[] NAME ---- ifndef::os_build[] -ipmctl-erase-device-data - Erases the persistent data on one or more DCPMMs +ipmctl-erase-device-data - Erases the persistent data on one or more PMem modules endif::os_build[] ifdef::os_build[] -ipmctl-erase-device-data - Erases the persistent data on one or more DCPMMs on supported OS +ipmctl-erase-device-data - Erases the persistent data on one or more PMem modules on supported OS endif::os_build[] SYNOPSIS @@ -22,7 +22,7 @@ ipmctl delete [OPTIONS] -dimm [TARGETS] Passphrase=(string) DESCRIPTION ----------- -Erases the persistent data on one or more DCPMMs. This commands invokes the DCPMM 'Secure Erase' +Erases the persistent data on one or more PMem modules. This commands invokes the PMem module 'Secure Erase' command. NOTE: This command does not zero out the persistent data, but instead randomizes the data. @@ -35,8 +35,8 @@ OPTIONS ------- -f:: -force:: - Erasing DCPMM data is a destructive operation which requires confirmation from - the user for each DCPMM. This option suppresses the confirmation. + Erasing PMem module data is a destructive operation which requires confirmation from + the user for each PMem module. This option suppresses the confirmation. -h:: -help:: @@ -51,8 +51,8 @@ OPTIONS NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together. -master:: - Erases DCPMMs using master passphrase. Valid only if master passphrase is enabled on specified - DCPMMs (see MasterPassphraseEnabled attribute in section <>). + Erases PMem modules using master passphrase. Valid only if master passphrase is enabled on specified + PMem modules (see MasterPassphraseEnabled attribute in section <>). -default:: Use this option when the current master passphrase is set to the default value. Valid only @@ -70,9 +70,9 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: -Erases specific DCPMMs by supplying one or more comma-separated DCPMM +Erases specific PMem modules by supplying one or more comma-separated PMem module identifiers. However, this is not recommended as it may put the system in an -undesirable state. The default is to erase all manageable DCPMMs. +undesirable state. The default is to erase all manageable PMem modules. PROPERTIES ---------- @@ -86,27 +86,27 @@ Passphrase:: EXAMPLES -------- -Security disabled DCPMMs: Erases all the persistent data on all DCPMMs in the +Security disabled PMem modules: Erases all the persistent data on all PMem modules in the system. [verse] ipmctl delete -dimm -Security enabled specifics: Erases all the persistent data on all DCPMMs in the +Security enabled specifics: Erases all the persistent data on all PMem modules in the system. [verse] ipmctl delete -dimm Passphrase=123 -Security enabled specifics: Erases all the persistent data on all DCPMMs in the +Security enabled specifics: Erases all the persistent data on all PMem modules in the system using the default master passphrase. [verse] ipmctl delete -master -default -dimm -Security enabled specifics: Erases all the persistent data on all DCPMMs in the +Security enabled specifics: Erases all the persistent data on all PMem modules in the system using the master passphrase. [verse] ipmctl delete -master -dimm Passphrase=masterpassphrase -Erases all the persistent data on all DCPMMs by having the CLI prompt for +Erases all the persistent data on all PMem modules by having the CLI prompt for the current passphrase. [verse] ipmctl delete -dimm Passphrase="" @@ -117,9 +117,9 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software, not be +- The specified PMem modules must be manageable by the host software, not be in the "Frozen" or "Exceeded" lock states and any namespaces associated with the - requested DCPMM(s) must be deleted before running this command. + requested PMem modules must be deleted before running this command. ifdef::os_build[] The command is subject to OS Vendor (OSV) support. If OSV does not provide @@ -129,17 +129,17 @@ endif::os_build[] RETURN DATA ----------- If an empty string is provided for the passphrase property and the source option is not -included, the user will be prompted (once for all DCPMMs) to enter the current +included, the user will be prompted (once for all PMem modules) to enter the current passphrase. The passphrase characters are hidden. Current passphrase: **** -For each DCPMM, the CLI will indicate the status of the security state change. -If a failure occurs when changing multiple DCPMMs, the process will exit and -not continue updating the remaining DCPMMs. +For each PMem module, the CLI will indicate the status of the security state change. +If a failure occurs when changing multiple PMem modules, the process will exit and +not continue updating the remaining PMem modules. SAMPLE OUTPUT ------------- [verse] -Erase DIMM (DimmID): Success -Erase DIMM (DimmID): Error (Code) - (Description) +Erase PMem module (DimmID): Success +Erase PMem module (DimmID): Error (Code) - (Description) diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-load-goal.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-load-goal.txt index 17de5fe6..e95db06a 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-load-goal.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-load-goal.txt @@ -17,9 +17,9 @@ ipmctl load [OPTIONS] -source (path) -goal [TARGETS] DESCRIPTION ----------- -Creates a memory allocation goal request from a file onto one or more DCPMMs. +Creates a memory allocation goal request from a file onto one or more PMem modules. -NOTE: Deleting the PCD can be used as a way to prepare individual DCPMMs for provisioning. +NOTE: Deleting the PCD can be used as a way to prepare individual PMem modules for provisioning. See the delete -pcd command. include::../ipmctl-command-data-loss-warning.txt[] @@ -29,7 +29,7 @@ OPTIONS ------- -f:: -force:: - Reconfiguring DCPMMs is a destructive operation which requires + Reconfiguring PMem modules is a destructive operation which requires confirmation from the user. This option suppresses the confirmation. The force flag will also suppress the security enabled warning as well as all other warning prompts. @@ -69,32 +69,32 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Loads the memory allocation goal onto specific DCPMMs by supplying one or more - comma separated DCPMM identifiers. This list must include all unconfigured - DCPMMs on the affected socket(s). The default is to load the memory - allocation goal onto all manageable DCPMMs. + Loads the memory allocation goal onto specific PMem modules by supplying one or more + comma separated PMem module identifiers. This list must include all unconfigured + PMem modules on the affected sockets. The default is to load the memory + allocation goal onto all manageable PMem modules. -socket [SocketIds]:: - Loads the memory allocation goal onto all manageable DCPMMs on specific + Loads the memory allocation goal onto all manageable PMem modules on specific sockets by supplying the socket target and one or more comma-separated socket identifiers. The default is to load the memory allocation goal onto all - manageable DCPMMs on all sockets. + manageable PMem modules on all sockets. EXAMPLES -------- -Loads the configuration settings stored in "config.txt" onto all the DCPMMs in +Loads the configuration settings stored in "config.txt" onto all the PMem modules in the system as a memory allocation goal to be applied by the BIOS on the next reboot. [verse] ipmctl load -source config.txt -goal Loads the configuration settings stored in "config.txt" onto a specified set of -DCPMMs as a memory allocation goal to be applied by the BIOS on the next reboot. +PMem modules as a memory allocation goal to be applied by the BIOS on the next reboot. [verse] ipmctl load -source config.txt -goal -dimm 1,2,3 Loads the configuration settings stored in "config.txt" onto all manageable -DCPMMs on sockets 1 and 2 as a memory allocation goal to be applied by the BIOS +PMem modules on sockets 1 and 2 as a memory allocation goal to be applied by the BIOS on the next reboot. [verse] ipmctl load -source config.txt -goal -socket 1,2 @@ -105,46 +105,46 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software and +- The specified PMem modules must be manageable by the host software and must all have the same SKU. - SKU based maximum total mapped memory is enforced. See section <> - Existing memory allocation goals that have not been applied and any namespaces - associated with the requested DCPMM(s) must be deleted before running + associated with the requested PMem modules must be deleted before running this command. -- Goal requests may not be applied by platform firmware (BIOS) if the DCPMM is in +- Goal requests may not be applied by platform firmware (BIOS) if the PMem module is in security enabled, locked state. NOTE: It is recommended to disable security prior to reboot if requesting a new goal. -NOTE: A goal request may be initiated even if a target DCPMM is in security state enabled, but care - must be taken to ensure the DCPMM is in either unlocked or disabled security state prior to the +NOTE: A goal request may be initiated even if a target PMem module is in security state enabled, but care + must be taken to ensure the PMem module is in either unlocked or disabled security state prior to the platform firmware (BIOS) provisioning flow following a reboot. In addition, a warning will be presented to the user: 'WARNING: Goal will not be applied unless security is disabled prior to platform firmware (BIOS) provisioning!' - Changing the memory configuration is a destructive operation which results in loss of data stored in the persistent memory region. Therefore, data should be backed up to other storage before executing this command. - Targets may be limited to individual DCPMMs or sockets, but all DCPMMs + Targets may be limited to individual PMem modules or sockets, but all PMem modules on affected sockets must be configured when the command finishes. If the selected targets make this impossible, the command will be rejected. Refer to *_Show System Capabilities_* for a list of BIOS supported modes. - Some requests are dependent on BIOS and/or platform configuration. For details, refer - to the _Intel(R) Optane(TM) DC Persistent Memory Software Memory Allocation Rules_, + to the _Intel(R) Optane(TM) Persistent Memory Software Memory Allocation Rules_, document number 564194. For example: - - Provisioning DCPMMs for Memory Mode while BIOS is configured for 1LM only + - Provisioning PMem modules for Memory Mode while BIOS is configured for 1LM only will result in unused capacity. - - Provisioning DCPMMs for Memory Mode while not all iMCs have at least one DCPMM + - Provisioning PMem modules for Memory Mode while not all iMCs have at least one PMem module will result in unused capacity. RETURN DATA ----------- If successful, the CLI will display the memory allocation goal stored on each -DCPMM as documented in the command Section <>. +PMem module as documented in the command Section <>. If a failure occurs, an error code and message will be displayed. If a failure -occurs when configuring multiple DCPMMs, the process will exit and remove the -memory allocation goal from any DCPMMs that succeeded prior to the failure. +occurs when configuring multiple PMem modules, the process will exit and remove the +memory allocation goal from any PMem modules that succeeded prior to the failure. diff --git a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-show-goal.txt b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-show-goal.txt index 004568e3..9c77a808 100644 --- a/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-show-goal.txt +++ b/Documentation/ipmctl/Memory_Subsystem_Provisioning/ipmctl-show-goal.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-goal - Shows the memory allocation goal on one or more DCPMMs +ipmctl-show-goal - Shows the memory allocation goal on one or more PMem modules SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -goal [TARGETS] [PROPERTIES] DESCRIPTION ----------- -Shows the memory allocation goal on one or more DCPMMs. Once the goal is +Shows the memory allocation goal on one or more PMem modules. Once the goal is successfully applied by the platform firmware (BIOS), it is no longer displayed. Use the command <> to view the system-wide memory resources or the command @@ -65,22 +65,22 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Restricts output to specific DCPMMs by supplying one or more comma separated - DCPMM identifiers. The default is to display all manageable DCPMMs with memory + Restricts output to specific PMem modules by supplying one or more comma separated + PMem module identifiers. The default is to display all manageable PMem modules with memory allocation goals. -socket [SocketIds]:: - Restricts output to the DCPMMs on specific sockets by supplying the socket + Restricts output to the PMem modules on specific sockets by supplying the socket target and one or more comma-separated socket identifiers. The default is to - display all manageable DCPMMs on all sockets with memory allocation goals. + display all manageable PMem modules on all sockets with memory allocation goals. EXAMPLES -------- -Shows the default memory allocation goal attributes for each DCPMM. +Shows the default memory allocation goal attributes for each PMem module. [verse] ipmctl show -goal -Shows all the memory allocation goal attributes for the DCPMMs on socket 1. +Shows all the memory allocation goal attributes for the PMem modules on socket 1. [verse] ipmctl show -a -goal -socket 1 @@ -90,24 +90,24 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- The default behavior is to display a table with the default attributes for each -DCPMM; applying options changes the output to a more detailed format. +PMem module; applying options changes the output to a more detailed format. SocketID:: - (Default) The processor socket identifier where the DCPMM is installed. + (Default) The processor socket identifier where the PMem module is installed. DimmID:: (Default) - The DCPMM identifier + The PMem module identifier MemorySize:: - (Default) The DCPMM capacity that will be configured in Memory Mode. + (Default) The PMem module capacity that will be configured in Memory Mode. AppDirect1Size:: - (Default) The DCPMM capacity that will be configured as the first App Direct + (Default) The PMem module capacity that will be configured as the first App Direct interleave set if applicable. AppDirect1Index:: @@ -120,7 +120,7 @@ AppDirect1Settings:: [- (Size) iMC] [x (Size) Channel] AppDirect2Size:: - (Default) The DCPMM capacity that will be configured as the second App + (Default) The PMem module capacity that will be configured as the second App Direct interleave set if applicable. AppDirect2Index:: diff --git a/Documentation/ipmctl/Persistent_Memory_Provisioning/ipmctl-show-region.txt b/Documentation/ipmctl/Persistent_Memory_Provisioning/ipmctl-show-region.txt index 5e82f3a3..161cdaa0 100644 --- a/Documentation/ipmctl/Persistent_Memory_Provisioning/ipmctl-show-region.txt +++ b/Documentation/ipmctl/Persistent_Memory_Provisioning/ipmctl-show-region.txt @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -region [TARGETS] DESCRIPTION ----------- -Retrieves a list of persistent memory regions of DCPMM capacity +Retrieves a list of persistent memory regions of PMem module capacity OPTIONS ------- @@ -74,7 +74,7 @@ TARGETS -region [RegionIDs]:: Restricts output to specific persistent memory regions by providing one or more comma separated region identifiers. The default is to display the - persistent memory regions across all manageable DCPMMs. + persistent memory regions across all manageable PMem modules. -socket [SocketIDs]:: Restricts output to the persistent memory regions on specific sockets by @@ -97,8 +97,8 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- All the underlying DCPMMs should be unlocked to accurately reflect the available - capacities. The specified DCPMM(s) must be manageable by the host software. +- All the underlying PMem modules should be unlocked to accurately reflect the available + capacities. The specified PMem modules must be manageable by the host software. RETURN DATA ----------- @@ -116,12 +116,12 @@ ISetID:: endif::os_build[] PersistentMemoryType:: - (Default) A comma-separated list of the underlying type(s) of persistent + (Default) A comma-separated list of the underlying types of persistent memory capacity in the region. One or more of: - - AppDirect: App Direct capacity interleaved across two or more DCPMMs that is + - AppDirect: App Direct capacity interleaved across two or more PMem modules that is fully mapped into the system physical address space. - AppDirectNotInterleaved: App Direct capacity wholly contained on a single - DCPMMs that is fully mapped into the system physical address space. + PMem modules that is fully mapped into the system physical address space. Capacity:: (Default) Total usable capacity, both allocated and unallocated @@ -133,19 +133,19 @@ SocketID:: (Default) Socket ID to which the region belongs HealthState:: - The rolled up health of the underlying DCPMMs. One of: + The rolled up health of the underlying PMem modules. One of: - Unknown: The region health cannot be determined. - - Healthy: All underlying DCPMM persistent memory capacity is available. + - Healthy: All underlying PMem module persistent memory capacity is available. - Pending: A new memory allocation goal has been created but not applied. Reboot or delete any existing memory allocation goals before creating namespaces on the region. - - Error: There is an issue with some or all of the underlying DCPMM capacity + - Error: There is an issue with some or all of the underlying PMem module capacity because the interleave set has failed. One of: - + DCPMM missing (serial number of dimm from the Platform Config Data not found in the dimm list) - + DCPMM not configured + + PMem module missing (serial number of PMem module from the Platform Config Data not found in the PMem module list) + + PMem module not configured + Failure to retrieve AppDirect I/O structures from NFIT (system physical address missing) - + Interleave set or DCPMM region initialization failure (out of memory) - - Locked: One or more of the of the underlying DCPMMs are locked. + + Interleave set or PMem module region initialization failure (out of memory) + + Locked: One or more of the of the underlying Pmem moduless are locked. ifndef::os_build[] ISetID:: @@ -153,4 +153,4 @@ ISetID:: endif::os_build[] DimmID:: - A list of all the DIMMs that are part of this reg. + A list of all the PMem modules that are part of this reg. diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-change-preferences.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-change-preferences.txt index 2b5bf6ef..03ca12dd 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-change-preferences.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-change-preferences.txt @@ -17,7 +17,7 @@ ipmctl set [OPTIONS] -preferences [PROPERTIES] DESCRIPTION ----------- -Modifies one or more user preferences in the DCPMM software. +Modifies one or more user preferences in the PMem module software. OPTIONS ------- @@ -42,7 +42,7 @@ endif::os_build[] PROPERTIES ---------- CLI_DEFAULT_DIMM_ID:: - The default display of DCPMM identifiers. One of: + The default display of PMem module identifiers. One of: - "UID": Use the DimmUID attribute as defined in the section *_Show Device_*. - "HANDLE": Use the DimmHandle attribute as defined in section @@ -76,9 +76,9 @@ preference cannot be changed. ifdef::os_build[] DBG_LOG_LEVEL:: - Whether debug logging is enabled in the DCPMM host software. These logs + Whether debug logging is enabled in the PMem module host software. These logs pertain to the operation of the command-line tool only and do not reflect any - logging functionality of the DCPMM. One of: + logging functionality of the PMem module. One of: - "0": Logging is disabled. This is the default. - "1": Log Errors. - "2": Log Warnings, Errors. @@ -88,7 +88,7 @@ endif::os_build[] EXAMPLES -------- -Use DimmUID as the default DCPMM identifier, and display all capacities in bytes. +Use DimmUID as the default PMem module identifier, and display all capacities in bytes. [verse] ipmctl set -preferences CLI_DEFAULT_DIMM_ID=UID CLI_DEFAULT_SIZE=B diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-dump-support-data.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-dump-support-data.txt index 985caedf..68594f7e 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-dump-support-data.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-dump-support-data.txt @@ -18,8 +18,8 @@ ipmctl dump [OPTIONS] -destination (file_prefix) [-dict (filename)] -support DESCRIPTION ----------- Creates a support snapshot and dump support data to a file for off-line analysis -by support personnel. Support data may include system log(s), error log(s), -trace log(s), platform configuration, sensor information and diagnostic results. +by support personnel. Support data may include system logs, error logs, +trace logs, platform configuration, sensor information and diagnostic results. This command may take significantly longer than other commands to complete, because it combines and executes multiple individual commands. @@ -33,7 +33,7 @@ Commands executed: * start -diagnostic * show -system -Commands executed per DCPMM: +Commands executed per PMem module: * show -a -dimm * show -a -sensor -dimm @@ -92,7 +92,7 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-firmware.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-firmware.txt index 180b1d7c..a7eeb338 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-firmware.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-firmware.txt @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -firmware [TARGETS] DESCRIPTION ----------- -Shows detailed information about the firmware on one or more DCPMMs. +Shows detailed information about the firmware on one or more PMem modules. OPTIONS ------- @@ -55,13 +55,13 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Restricts output to the firmware information for specific DCPMMs by supplying - one or more comma-separated DCPMM identifiers. The default is to display the - firmware information for all manageable DCPMMs. + Restricts output to the firmware information for specific PMem modules by supplying + one or more comma-separated PMem module identifiers. The default is to display the + firmware information for all manageable PMem modules. EXAMPLES -------- -Shows the firmware information for all DCPMMs in the server. +Shows the firmware information for all PMem modules in the server. [verse] ipmctl show -dimm -firmware @@ -71,7 +71,7 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. RETURN DATA ----------- @@ -79,7 +79,7 @@ The default behavior is to display a table with the default attributes listed below; the options can be used to expand or restrict the output. DimmID:: - (Default) The DCPMM identifier + (Default) The PMem module identifier ActiveFWVersion:: (Default) The BCD-formatted revision of the active firmware in the format diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-preferences.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-preferences.txt index 9e8cdeb9..ff64a76e 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-preferences.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-show-preferences.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-show-preferences - Displays a list of the DCPMM software user preferences +ipmctl-show-preferences - Displays a list of the PMem module software user preferences SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl show [OPTIONS] -preferences DESCRIPTION ----------- -Displays a list of the DCPMM software user preferences and their current values. +Displays a list of the PMem module software user preferences and their current values. OPTIONS ------- @@ -48,7 +48,7 @@ ipmctl show -preferences RETURN DATA ----------- CLI_DEFAULT_DIMM_ID:: - The default display of DCPMM identifiers. One of: + The default display of PMem module identifiers. One of: - UID: Use the DimmUID attribute as defined in the command Show Device. - HANDLE: Use the DimmHandle attribute as defined in the command Show Device. This is the default. @@ -75,9 +75,9 @@ APPDIRECT_SETTINGS:: ifdef::os_build[] DBG_LOG_LEVEL:: - Whether debug logging is enabled in the DCPMM host software. These logs + Whether debug logging is enabled in the PMem module host software. These logs pertain to the operation of the command-line tool only and do not reflect any - logging functionality of the DCPMM. One of: + logging functionality of the PMem module. One of: - 0: Logging is disabled. This is the default. - 1: Log Errors. - 2: Log Warnings, Errors. diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-update-firmware.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-update-firmware.txt index 5ac33d48..b1d38300 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-update-firmware.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-update-firmware.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-update-firmware - Updates the firmware on one or more DCPMMs +ipmctl-update-firmware - Updates the firmware on one or more PMem modules SYNOPSIS -------- @@ -17,10 +17,10 @@ ipmctl load [OPTIONS] -source (path) -dimm [TARGETS] DESCRIPTION ----------- -Updates the firmware on one or more DCPMMs. On the next power cycle, the +Updates the firmware on one or more PMem modules. On the next power cycle, the firmware will become active. -NOTE: If Address Range Scrub (ARS) is in progress on any target DCPMM, +NOTE: If Address Range Scrub (ARS) is in progress on any target PMem module, an attempt will be made to abort ARS and then proceed with the firmware update. NOTE: A power cycle reboot is required to activate the updated firmware image and is @@ -30,14 +30,14 @@ OPTIONS ------- -x:: -examine:: - Verifies the target DCPMMs are compatible and ready to receive the + Verifies the target PMem modules are compatible and ready to receive the firmware image specified in the source option. Returns the firmware image version. -f:: -force:: Downgrading the firmware to an older version is a potentially destructive - operation which requires confirmation from the user for each DCPMM. This + operation which requires confirmation from the user for each PMem module. This option suppresses the confirmation when attempting to downgrade. -h:: @@ -61,12 +61,12 @@ NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used to NOTE: The -lpmb and -spmb options are mutually exclusive and may not be used together. -source:: - Specifies the firmware image binary to upload to the DCPMM. + Specifies the firmware image binary to upload to the PMem module. -recover:: *--DEPRECATED--* + - This flag is no longer necessary to run firmware update on DCPMMs - where the DDRT link is not trained. These untrained DCPMMs are now automatically + This flag is no longer necessary to run firmware update on PMem modules + where the DDRT link is not trained. These untrained PMem modules are now automatically included when the command is run without the '-recover' option.. However, this flag is still maintained for backwards compatibility. @@ -75,7 +75,7 @@ ifndef::os_build[] The FlashSPI option is a modifier that forces an update of the entire SPI Flash. This requires a specific flash image that is intended as a full SPI flash update. This update method is only possible if the existing firmware images - on the DCPMM SPI flash are all corrupt and cannot be loaded by the DCPMM's ROM. + on the PMem module SPI flash are all corrupt and cannot be loaded by the PMem module's ROM. endif::os_build[] ifdef::os_build[] @@ -87,14 +87,14 @@ endif::os_build[] TARGETS ------- -dimm [DimmIDs]:: - Updates the firmware on specific DCPMMs by supplying one or more - comma-separated DCPMM identifiers. However, this is not recommended as it may + Updates the firmware on specific PMem modules by supplying one or more + comma-separated PMem module identifiers. However, this is not recommended as it may put the system in an undesirable state. The default is to update all - manageable DCPMMs. + manageable PMem modules. EXAMPLES -------- -Updates the firmware on all DCPMMs in the system to the image in sourcefile.bin on +Updates the firmware on all PMem modules in the system to the image in sourcefile.bin on the next power cycle. [verse] ipmctl load -source sourcefile.bin -dimm @@ -110,7 +110,7 @@ In order to successfully execute this command: - The caller must have the appropriate privileges. -- The specified DCPMM(s) must be manageable by the host software. +- The specified PMem modules must be manageable by the host software. Firmware version (PN.RN.SV.bbbb) updates are supported as follows: @@ -121,7 +121,7 @@ Firmware version (PN.RN.SV.bbbb) updates are supported as follows: examine option to determine if the security revision number can be downgraded. - The build number (bbbb) can be upgraded or downgraded. However, if the firmware API version in the firmware image is lower than is supported by the host software - and would make the DCPMM become unmanageable, the downgrade is not supported. + and would make the PMem module become unmanageable, the downgrade is not supported. NOTE: Once a firmware image is staged for execution, a power cycle is required before another firmware image of the same type (production or debug) can be @@ -131,33 +131,33 @@ RETURN DATA ----------- When the examine option is provided, the firmware image is checked and the version number and firmware type is provided. The firmware will either be -valid for the DCPMM, a downgrade or invalid meaning it cannot be used for that -DCPMM. +valid for the PMem module, a downgrade or invalid meaning it cannot be used for that +PMem module. SAMPLE OUTPUT ------------- [verse] (file path): MM.mm.hh.bbbb -Load FW on DIMM (DimmID): (Valid|Downgrade) [(with +Load FW on PMem module (DimmID): (Valid|Downgrade) [(with confirmation or the force option)] If the firmware is being downgraded and the force option is not provided, the user will -be prompted to confirm the downgrade for each DCPMM. Otherwise, for each DCPMM, +be prompted to confirm the downgrade for each PMem module. Otherwise, for each PMem module, the CLI will indicate the status of the operation. [verse] -Downgrade firmware on DIMM (DimmID)? (y or [n]) Downgrade firmware -on DIMM (DimmID)? (y or [n]) +Downgrade firmware on PMem module (DimmID)? (y or [n]) Downgrade firmware +on PMem module (DimmID)? (y or [n]) -If a failure occurs when updating multiple DCPMMs, the process will continue -attempting to update the remaining DCPMMs requested. The firmware will not +If a failure occurs when updating multiple PMem modules, the process will continue +attempting to update the remaining PMem modules requested. The firmware will not become active until the next power cycle. Use the command Section <> to view more detailed information about the active and staged firmware. [verse] -Load FW on DIMM (DimmID): Success, a power cycle is required to +Load FW on PMem module (DimmID): Success, a power cycle is required to activate the FW. [verse] -Load FW on DIMM (DimmID): Error (Code) - (Description) +Load FW on PMem module (DimmID): Error (Code) - (Description) diff --git a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-version.txt b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-version.txt index 0f1afd03..068abc11 100644 --- a/Documentation/ipmctl/Support_and_Maintenance/ipmctl-version.txt +++ b/Documentation/ipmctl/Support_and_Maintenance/ipmctl-version.txt @@ -8,7 +8,7 @@ endif::manpage[] NAME ---- -ipmctl-version - Shows the DCPMM host software versions +ipmctl-version - Shows the PMem module host software versions SYNOPSIS -------- @@ -17,7 +17,7 @@ ipmctl version [OPTIONS] DESCRIPTION ----------- -Shows the DCPMM host software versions. +Shows the PMem module host software versions. OPTIONS ------- @@ -33,7 +33,7 @@ endif::os_build[] EXAMPLES -------- -Displays the available version information for the DCPMM software components. +Displays the available version information for the PMem module software components. [verse] ipmctl version @@ -43,15 +43,15 @@ By default returns the following inventory information. Component:: The name of the software component. One of: - - [Product Name] Software Version: The DCPMM management software version + - [Product Name] Software Version: The PMem module management software version ifndef::os_build[] - - [Product Name] Driver Version: The vendor specific DCPMM driver version + - [Product Name] Driver Version: The vendor specific PMem module driver version endif::os_build[] Version:: The current version of the software component if found or an error if not. NOTE: If the software version is incompatible, the version will be followed by -an error message indicating such. If DCPMMs are found with a +an error message indicating such. If PMem modules are found with a FIS implementation higher than supported by the SW version, this command will print a warning. diff --git a/Documentation/ipmctl/ipmctl.txt b/Documentation/ipmctl/ipmctl.txt index bc99b42c..d85c9e9c 100644 --- a/Documentation/ipmctl/ipmctl.txt +++ b/Documentation/ipmctl/ipmctl.txt @@ -6,7 +6,7 @@ ipmctl(1) NAME ---- -ipmctl - Utility for managing Intel Optane DC persistent memory modules (DCPMM) +ipmctl - Utility for managing Intel Optane persistent memory modules (PMem module) SYNOPSIS -------- @@ -21,26 +21,26 @@ OPTIONS DESCRIPTION ----------- -Utility for managing Intel Optane DC persistent memory modules (DCPMM) +Utility for managing Intel Optane persistent memory modules (PMem module) Supports functionality to: -- Discover DCPMMs on the platform. +- Discover PMem modules on the platform. - Provision the platform memory configuration. -- View and update the firmware on DCPMMs. -- Configure data-at-rest security on DCPMMs. -- Monitor DCPMM health. -- Track performance of DCPMMs. -- Debug and troubleshoot DCPMMs. +- View and update the firmware on PMem modules. +- Configure data-at-rest security on PMem modules. +- Monitor PMem module health. +- Track performance of PMem modules. +- Debug and troubleshoot PMem modules. COMMANDS -------- === DEVICE DISCOVERY -Discover DCPMMs on the platform. +Discover PMem modules on the platform. *ipmctl-show-device*(1):: - Shows information about one or more DCPMMs + Shows information about one or more PMem modules *ipmctl-show-memory-resources*(1):: Shows memory allocation information for this platform @@ -49,59 +49,59 @@ Discover DCPMMs on the platform. Shows basic information about the physical processors *ipmctl-show-system-capabilities*(1):: - Shows the platform supported DCPMM capabilities + Shows the platform supported PMem module capabilities *ipmctl-show-topology(1)*:: Shows the topology of the memory installed === MEMORY SUBSYSTEM PROVISIONING Provision the platform memory configuration and configure data-at-rest security -on DCPMMs. +on PMem modules. *ipmctl-change-device-passphrase*(1):: - Changes the security passphrase on DCPMM + Changes the security passphrase on PMem module *ipmctl-change-device-security*(1):: - Changes the DCPMM security lock state + Changes the PMem module security lock state *ipmctl-create-goal(1)*:: - Creates a memory allocation goal on one or more DCPMM + Creates a memory allocation goal on one or more PMem module *ipmctl-delete-goal(1)*:: - Deletes a memory allocation goal on one or more DCPMM + Deletes a memory allocation goal on one or more PMem module *ipmctl-dump-goal(1)*:: Stores the current system configuration in a file *ipmctl-enable-device-security(1)*:: - Enable data-at-rest security on DCPMM + Enable data-at-rest security on PMem module *ipmctl-erase-device-data(1)*:: - Erases the persistent data on one or more DCPMMs + Erases the persistent data on one or more PMem modules *ipmctl-load-goal(1)*:: - Load a memory allocation goal from a file onto DCPMMs + Load a memory allocation goal from a file onto PMem modules *ipmctl-show-goal(1)*:: - Shows the memory allocation goal on one or more DCPMM + Shows the memory allocation goal on one or more PMem module *ipmctl-show-region(1)*:: Retrieves a list of persistent memory regions === INSTRUMENTATION -Monitor health and track performance of DCPMMs. +Monitor health and track performance of PMem modules. *ipmctl-change-sensor*(1):: - Changes the threshold or enabled state for DCPMMs sensors + Changes the threshold or enabled state for PMem modules sensors *ipmctl-show-performance*(1):: - Shows performance metrics for one or more DCPMMs + Shows performance metrics for one or more PMem modules *ipmctl-show-sensor*(1):: - Shows health statistics for one or more DCPMMs + Shows health statistics for one or more PMem modules === SUPPORT AND MAINTENANCE -View and update the firmware on DCPMMs. Other support and maintenance commands. +View and update the firmware on PMem modules. Other support and maintenance commands. *ipmctl-change-preference*(1):: Modifies one or more user preferences @@ -113,28 +113,28 @@ View and update the firmware on DCPMMs. Other support and maintenance commands. Shows help for the supported commands *ipmctl-modify-device*(1):: - Changes the configurable setting(s) on one or more DCPMMs + Changes the configurable settings on one or more PMem modules *ipmctl-show-firmware*(1):: Shows detailed information about the firmware *ipmctl-show-preferences*(1):: - Displays a list of the DCPMM software user preferences + Displays a list of the PMem module software user preferences *ipmctl-update-firmware*(1):: - Updates the firmware on one or more DCPMMs. + Updates the firmware on one or more PMem modules. *ipmctl-version*(1):: - Shows the DCPMM host software versions + Shows the PMem module host software versions === DEBUG -Debug and troubleshoot DCPMMs. +Debug and troubleshoot PMem modules. *ipmctl-delete-pcd*(1) Clears select partition data from the PCD *ipmctl-dump-debug-log*(1):: - Dumps encoded firmware debug logs from DCPMM + Dumps encoded firmware debug logs from PMem module *ipmctl-inject-error*(1):: Injects an error or clears a previously injected error @@ -149,13 +149,13 @@ Debug and troubleshoot DCPMMs. Runs a diagnostic test *ipmctl-show-acpi*(1):: - Shows the system ACPI tables related to the DCPMMs + Shows the system ACPI tables related to the PMem modules *ipmctl-show-error-log*(1):: - Shows thermal or media errors on the specified DCPMMs + Shows thermal or media errors on the specified PMem modules *ipmctl-show-pcd*(1):: - Shows the platform configuration data for one or more DCPMMs + Shows the platform configuration data for one or more PMem modules *ipmctl-dump-session*(1):: Dumps the active session to a file diff --git a/src/os/docs/Doxyfile_api.in b/src/os/docs/Doxyfile_api.in index a44a216f..fa17db21 100644 --- a/src/os/docs/Doxyfile_api.in +++ b/src/os/docs/Doxyfile_api.in @@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = "Barlow Pass Software Management API" +PROJECT_NAME = "Intel Optane Persistent Memory Software Management API" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version @@ -44,7 +44,7 @@ PROJECT_NUMBER = @IPMCTL_OS_API_DOC_VERSION@ # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = "Barlow Pass Software Management API" +PROJECT_BRIEF = "Intel Optane Persistent Memory Software Management API" # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 diff --git a/src/os/nvm_api/nvm_management.c b/src/os/nvm_api/nvm_management.c index aee885e3..6c993d2f 100644 --- a/src/os/nvm_api/nvm_management.c +++ b/src/os/nvm_api/nvm_management.c @@ -240,7 +240,7 @@ NVM_API int nvm_run_cli(int argc, char *argv[]) if (gOsShellParametersProtocol.StdOut == stdout) { - //WA to ensure wprintf work throughout invocation of DCPMM mgmt stack. + //WA to ensure wprintf work throughout invocation of PMem module mgmt stack. wprintf(L""); } diff --git a/src/os/nvm_api/nvm_management.h b/src/os/nvm_api/nvm_management.h index 100ab7ce..7c394af7 100644 --- a/src/os/nvm_api/nvm_management.h +++ b/src/os/nvm_api/nvm_management.h @@ -9,7 +9,7 @@ * It is intended to be used by clients of the Native Management API * in order to perform management actions. * - * @mainpage Intel(R) Barlow Pass Software Management API + * @mainpage Intel(R) Optane(TM) Persistent Memory Software Management API * * @license This project is licensed under the BSD-3-Clause License. * @@ -88,10 +88,10 @@ * Each interface returns a code indicating the status of the operation as defined in ::return_code. Use nvm_get_error to convert the code into a textual description. Specific codes that may be returned by a particular interface are defined in the "Returns" section of each interface. * * @subsection Microsoft Windows* Notes and Limitations - * The Windows driver that enables ipmctl communication to Intel's DCPMMs prevents - * executing commands that change configuration of any DCPMM when there is a related - * logical disk (namespace) associated with that DCPMM. This is done to protect user - * data. If a logical disk (namespace) is associated with the target DCPMM, the + * The Windows driver that enables ipmctl communication to Intel's PMem modules prevents + * executing commands that change configuration of any PMem module when there is a related + * logical disk (namespace) associated with that PMem module. This is done to protect user + * data. If a logical disk (namespace) is associated with the target PMem module, the * command will return an error. The logical disk (namespace) must first be deleted * before attempting to execute commands that change configuration. * @@ -184,7 +184,7 @@ enum manageability_state { }; /** - * Security and Sanitize state of the DCPMM. + * Security and Sanitize state of the PMem module. */ enum lock_state { LOCK_STATE_UNKNOWN = 0, ///< Device lock state can not be determined. @@ -200,7 +200,7 @@ enum lock_state { * The device type. */ enum memory_type { - MEMORY_TYPE_UNKNOWN = 0, ///< The type of DCPMM cannot be determined. + MEMORY_TYPE_UNKNOWN = 0, ///< The type of memory module cannot be determined. MEMORY_TYPE_DDR4 = 1, ///< DDR4. MEMORY_TYPE_NVMDIMM = 2 ///< NGNVM. }; @@ -210,12 +210,12 @@ enum memory_type { */ enum device_form_factor { DEVICE_FORM_FACTOR_UNKNOWN = 0, ///< The form factor cannot be determined. - DEVICE_FORM_FACTOR_DIMM = 8, ///< DCPMM. + DEVICE_FORM_FACTOR_DIMM = 8, ///< DIMM. DEVICE_FORM_FACTOR_SODIMM = 12, ///< SODIMM. }; /** - * The address range scrub (ARS) operation status for the DCPMM + * The address range scrub (ARS) operation status for the PMem module */ enum device_ars_status { DEVICE_ARS_STATUS_UNKNOWN, ///< ARS status unknown @@ -226,13 +226,13 @@ enum device_ars_status { }; /** - * The overwrite DCPMM operation status for the DCPMM + * The overwrite PMem module operation status for the PMem module */ enum device_overwritedimm_status { - DEVICE_OVERWRITEDIMM_STATUS_UNKNOWN, ///< Overwrite DCPMM status unknown - DEVICE_OVERWRITEDIMM_STATUS_NOTSTARTED, ///< Overwrite DCPMM not started - DEVICE_OVERWRITEDIMM_STATUS_INPROGRESS, ///< Overwrite DCPMM in-progress - DEVICE_OVERWRITEDIMM_STATUS_COMPLETE ///< Overwrite DCPMM complete + DEVICE_OVERWRITEDIMM_STATUS_UNKNOWN, ///< Overwrite PMem module status unknown + DEVICE_OVERWRITEDIMM_STATUS_NOTSTARTED, ///< Overwrite PMem module not started + DEVICE_OVERWRITEDIMM_STATUS_INPROGRESS, ///< Overwrite PMem module in-progress + DEVICE_OVERWRITEDIMM_STATUS_COMPLETE ///< Overwrite PMem module complete }; /** @@ -243,7 +243,7 @@ enum device_overwritedimm_status { * @endinternal */ enum sensor_type { - SENSOR_HEALTH = 0, ///< DCPMM health as reported in the SMART log + SENSOR_HEALTH = 0, ///< PMem module health as reported in the SMART log SENSOR_MEDIA_TEMPERATURE = 1, ///< Device media temperature in degrees Celsius. SENSOR_CONTROLLER_TEMPERATURE = 2, ///< Device media temperature in degrees Celsius. SENSOR_PERCENTAGE_REMAINING = 3, ///< Amount of percentage remaining as a percentage. @@ -362,10 +362,10 @@ enum poison_memory_type { * Diagnostic test type */ enum diagnostic_test { - DIAG_TYPE_QUICK = 0, ///< verifies manageable DCPMM host mailbox is accessible and basic health + DIAG_TYPE_QUICK = 0, ///< verifies manageable PMem module host mailbox is accessible and basic health DIAG_TYPE_PLATFORM_CONFIG = 1, ///< verifies BIOS config matches installed HW - DIAG_TYPE_SECURITY = 2, ///< verifies all manageable DCPMMs have consistent security state - DIAG_TYPE_FW_CONSISTENCY = 3 ///< verifies all DCPMMs have consistent FW and attributes + DIAG_TYPE_SECURITY = 2, ///< verifies all manageable PMem modules have consistent security state + DIAG_TYPE_FW_CONSISTENCY = 3 ///< verifies all PMem modules have consistent FW and attributes }; /** @@ -373,11 +373,11 @@ enum diagnostic_test { */ enum health_status { HEALTH_STATUS_UNKNOWN = 0, ///< Unknown health status - HEALTH_STATUS_HEALTHY = 1, ///< DIMM Healthy + HEALTH_STATUS_HEALTHY = 1, ///< PMem module Healthy HEALTH_STATUS_NON_CRITICAL_FAILURE= 2, ///< Non-Critical (maintenance required) HEALTH_STATUS_CRITICAL_FAILURE = 3, ///< Critical (feature or performance degraded due to failure) HEALTH_STATUS_FATAL_FAILURE = 4, ///< Fatal (data loss has occurred or is imminent) - HEALTH_STATUS_UNMANAGEABLE = 5, ///< DIMM is unmanagable + HEALTH_STATUS_UNMANAGEABLE = 5, ///< PMem module is unmanagable HEALTH_STATUS_NON_FUNCTIONAL = 6 }; /** @@ -446,11 +446,11 @@ enum app_direct_mode { }; /** - * Detailed status of last DCPMM shutdown + * Detailed status of last PMem module shutdown */ enum shutdown_status { SHUTDOWN_STATUS_UNKNOWN = 0, ///< The last shutdown status cannot be determined. - SHUTDOWN_STATUS_PM_ADR = 1 << 0, ///< Async DCPMM Refresh command received + SHUTDOWN_STATUS_PM_ADR = 1 << 0, ///< Async PMem module Refresh command received SHUTDOWN_STATUS_PM_S3 = 1 << 1, ///< PM S3 received SHUTDOWN_STATUS_PM_S5 = 1 << 2, ///< PM S5 received SHUTDOWN_STATUS_DDRT_POWER_FAIL = 1 << 3, ///< DDRT power fail command received @@ -461,7 +461,7 @@ enum shutdown_status { }; /** - * Extended detailed status of last DCPMM shutdown + * Extended detailed status of last PMem module shutdown */ enum shutdown_status_extended { @@ -553,8 +553,8 @@ struct host { enum os_type os_type; ///15ms per passthrough ioctl) properties stored on each DCPMM + // Slow (>15ms per passthrough ioctl) properties stored on each PMem module /////////////////////////////////////////////////////////////////////////// - // Identify Intel DCPMM Gen 1 + // Identify Intel PMem module Gen 1 // add_identify_dimm_properties_to_device() in device.c NVM_UINT32 dimm_sku; NVM_MANUFACTURER manufacturer; ///< The manufacturer ID code determined by JEDEC JEP-106 - Little Endian NVM_SERIAL_NUMBER serial_number; ///< Serial number assigned by the vendor - Little Endian - NVM_UINT16 subsystem_vendor_id; ///< vendor identifier of the DCPMM non-volatile memory subsystem controller - Little Endian - NVM_UINT16 subsystem_device_id; ///< device identifier of the DCPMM non-volatile memory subsystem controller - NVM_UINT16 subsystem_revision_id; ///< revision identifier of the DCPMM non-volatile memory subsystem controller from NFIT + NVM_UINT16 subsystem_vendor_id; ///< vendor identifier of the PMem module non-volatile memory subsystem controller - Little Endian + NVM_UINT16 subsystem_device_id; ///< device identifier of the PMem module non-volatile memory subsystem controller + NVM_UINT16 subsystem_revision_id; ///< revision identifier of the PMem module non-volatile memory subsystem controller from NFIT NVM_BOOL manufacturing_info_valid; ///< manufacturing location and date validity - NVM_UINT8 manufacturing_location; ///< DCPMM manufacturing location assigned by vendor only valid if manufacturing_info_valid=1 - NVM_UINT16 manufacturing_date; ///< Date the DCPMM was manufactured, assigned by vendor only valid if manufacturing_info_valid=1 + NVM_UINT8 manufacturing_location; ///< PMem module manufacturing location assigned by vendor only valid if manufacturing_info_valid=1 + NVM_UINT16 manufacturing_date; ///< Date the PMem module was manufactured, assigned by vendor only valid if manufacturing_info_valid=1 char part_number[NVM_PART_NUM_LEN]; ///< The manufacturer's model part number NVM_VERSION fw_revision; ///< The current active firmware revision. NVM_VERSION fw_api_version; ///< API version of the currently running FW @@ -666,17 +666,17 @@ struct device_discovery { // Get Security State // add_security_state_to_device() in device.c - enum lock_state lock_state; // Indicates if the DCPMM is in a locked security state + enum lock_state lock_state; // Indicates if the PMem module is in a locked security state /////////////////////////////////////////////////////////////////////////// - // Whether the DCPMM is manageable or not is derived based on what calls are + // Whether the PMem module is manageable or not is derived based on what calls are // made to populate this struct. If partial properties are requested, then // only those properties are used to derive this value. If all properties are // requested, then the partial properties plus the firmware API version // (requires a DSM call) are used to set this value. enum manageability_state manageability; - NVM_UINT16 controller_revision_id; ///< revision identifier of the DCPMM non-volatile memory subsystem controller from FIS - NVM_BOOL master_passphrase_enabled; ///< If 1, master passphrase is enabled on the DCPMM + NVM_UINT16 controller_revision_id; ///< revision identifier of the PMem module non-volatile memory subsystem controller from FIS + NVM_BOOL master_passphrase_enabled; ///< If 1, master passphrase is enabled on the PMem module NVM_UINT8 reserved[47]; ///< reserved }; @@ -703,19 +703,19 @@ struct device_status { NVM_BOOL is_new; ///< Unincorporated with the rest of the devices. NVM_BOOL is_configured; ///< only the values 1(Success) and 6 (old config used) from CCUR are considered configured NVM_BOOL is_missing; ///< If the device is missing. - NVM_UINT8 package_spares_available; ///< Number of package spares on the DCPMM that are available. + NVM_UINT8 package_spares_available; ///< Number of package spares on the PMem module that are available. NVM_UINT32 last_shutdown_status_details; ///< Extended fields as per FIS 1.6 (Latched LSS Details/Extended Details) enum config_status config_status; ///< Status of last configuration request. NVM_UINT64 last_shutdown_time; ///< Time of the last shutdown - seconds since 1 January 1970 - NVM_BOOL mixed_sku; ///< One or more DCPMMs have different SKUs. - NVM_BOOL sku_violation; ///< The DCPMM configuration is unsupported due to a license issue. - NVM_BOOL viral_state; ///< Current viral status of DCPMM. - enum device_ars_status ars_status; ///< Address range scrub operation status for the DCPMM - enum device_overwritedimm_status overwritedimm_status; ///< Overwrite DCPMM operation status for the DCPMM + NVM_BOOL mixed_sku; ///< One or more PMem modules have different SKUs. + NVM_BOOL sku_violation; ///< The PMem module configuration is unsupported due to a license issue. + NVM_BOOL viral_state; ///< Current viral status of PMem module. + enum device_ars_status ars_status; ///< Address range scrub operation status for the PMem module + enum device_overwritedimm_status overwritedimm_status; ///< Overwrite PMem module operation status for the PMem module NVM_BOOL ait_dram_enabled; ///< Whether or not the AIT DRAM is enabled. - NVM_UINT64 boot_status; ///< The status of the DCPMM as reported by the firmware in the BSR - NVM_UINT32 injected_media_errors; ///< The number of injected media errors on DCPMM - NVM_UINT32 injected_non_media_errors; ///< The number of injected non-media errors on DCPMM + NVM_UINT64 boot_status; ///< The status of the PMem module as reported by the firmware in the BSR + NVM_UINT32 injected_media_errors; ///< The number of injected media errors on PMem module + NVM_UINT32 injected_non_media_errors; ///< The number of injected non-media errors on PMem module NVM_UINT32 unlatched_last_shutdown_status_details; ///< Extended fields valid per FIS 1.13+ (Unlatched LSS Details/Extended Details) NVM_UINT8 thermal_throttle_performance_loss_pcnt; ///< the average percentage loss (0..100) due to thermal throttling since last read in current boot (FIS 2.1+) NVM_UINT8 reserved[64]; ///< reserved @@ -730,12 +730,12 @@ struct device_performance { // These next fields are 16 bytes in the fw spec, but it would take 100 years // of over 31 million reads/writes per second to reach the limit, so we // are just using 8 bytes here. - NVM_UINT64 bytes_read; ///< Lifetime number of 64 byte reads from media on the DCPMM - NVM_UINT64 host_reads; ///< Lifetime number of DDRT read transactions the DCPMM has serviced - NVM_UINT64 bytes_written; ///< Lifetime number of 64 byte writes to media on the DCPMM - NVM_UINT64 host_writes; ///< Lifetime number of DDRT write transactions the DCPMM has serviced - NVM_UINT64 block_reads; ///< Invalid field. "Lifetime number of BW read requests the DCPMM has serviced" - NVM_UINT64 block_writes; ///< Invalid field. "Lifetime number of BW write requests the DCPMM has serviced" + NVM_UINT64 bytes_read; ///< Lifetime number of 64 byte reads from media on the PMem module + NVM_UINT64 host_reads; ///< Lifetime number of DDRT read transactions the PMem module has serviced + NVM_UINT64 bytes_written; ///< Lifetime number of 64 byte writes to media on the PMem module + NVM_UINT64 host_writes; ///< Lifetime number of DDRT write transactions the PMem module has serviced + NVM_UINT64 block_reads; ///< Invalid field. "Lifetime number of BW read requests the PMem module has serviced" + NVM_UINT64 block_writes; ///< Invalid field. "Lifetime number of BW write requests the PMem module has serviced" NVM_UINT8 reserved[8]; ///< reserved }; @@ -781,13 +781,13 @@ struct sensor { * Device partition capacities (in bytes) used for a single device or aggregated across the server. */ struct device_capacities { - NVM_UINT64 capacity; ///< The total DCPMM capacity in bytes. - NVM_UINT64 memory_capacity; ///< The total DCPMM capacity in bytes for memory mode. - NVM_UINT64 app_direct_capacity; ///< The total DCPMM capacity in bytes for app direct mode. - NVM_UINT64 mirrored_app_direct_capacity; ///< The total DCPMM mirrored app direct capacity. - NVM_UINT64 unconfigured_capacity; ///< Unconfigured DCPMM capacity. Can be used as storage. - NVM_UINT64 inaccessible_capacity; ///< DCPMM capacity that is not acccessible. - NVM_UINT64 reserved_capacity; ///< DCPMM app direct capacity reserved and unmapped to SPA. + NVM_UINT64 capacity; ///< The total PMem module capacity in bytes. + NVM_UINT64 memory_capacity; ///< The total PMem module capacity in bytes for memory mode. + NVM_UINT64 app_direct_capacity; ///< The total PMem module capacity in bytes for app direct mode. + NVM_UINT64 mirrored_app_direct_capacity; ///< The total PMem module mirrored app direct capacity. + NVM_UINT64 unconfigured_capacity; ///< Unconfigured PMem module capacity. Can be used as storage. + NVM_UINT64 inaccessible_capacity; ///< PMem module capacity that is not acccessible. + NVM_UINT64 reserved_capacity; ///< PMem module app direct capacity reserved and unmapped to SPA. NVM_UINT8 reserved[64]; ///< reserved }; @@ -824,14 +824,14 @@ struct device_fw_info { struct device_details { struct device_discovery discovery; ///< Basic device identifying information. struct device_status status; ///< Device health and status. - struct device_fw_info fw_info; ///< The firmware image information for the PMem DCPMM. + struct device_fw_info fw_info; ///< The firmware image information for the PMem PMem module. NVM_UINT8 padding[2]; ///< struct alignment struct device_performance performance; ///< A snapshot of the performance metrics. struct sensor sensors[NVM_MAX_DEVICE_SENSORS]; ///< Device sensors. struct device_capacities capacities; ///< Partition information // from SMBIOS Type 17 Table - enum device_form_factor form_factor; ///< The type of DCPMM. + enum device_form_factor form_factor; ///< The type of PMem module. NVM_UINT64 data_width; ///< The width in bits used to store user data. NVM_UINT64 total_width; ///< The width in bits for data and ECC and/or redundancy. NVM_UINT64 speed; ///< The speed in nanoseconds. @@ -860,9 +860,9 @@ struct memory_capabilities { * Supported features and capabilities BIOS supports */ struct platform_capabilities { - NVM_BOOL bios_config_support; ///< available BIOS support for DCPMM config changes + NVM_BOOL bios_config_support; ///< available BIOS support for PMem module config changes NVM_BOOL bios_runtime_support; ///< runtime interface used to validate management configuration - NVM_BOOL memory_mirror_supported; ///< indicates if DCPMM mirror is supported + NVM_BOOL memory_mirror_supported; ///< indicates if PMem module mirror is supported NVM_BOOL memory_spare_supported; ///< pm spare is supported NVM_BOOL memory_migration_supported; ///< pm memory migration is supported struct memory_capabilities one_lm_mode; ///< capabilities for 1LM mode @@ -874,25 +874,25 @@ struct platform_capabilities { }; /** - * DCPMM software-supported features + * PMem module software-supported features */ struct nvm_features { NVM_BOOL get_platform_capabilities; ///< get platform supported capabilities - NVM_BOOL get_devices; ///< retrieve the list of DCPMMs installed on the server - NVM_BOOL get_device_smbios; ///< retrieve the SMBIOS information for DCPMMs - NVM_BOOL get_device_health; ///< retrieve the health status for DCPMMs - NVM_BOOL get_device_settings; ///< retrieve DCPMM settings - NVM_BOOL modify_device_settings; ///< modify DCPMM settings - NVM_BOOL get_device_security; ///< retrieve DCPMM security state - NVM_BOOL modify_device_security; ///< modify DCPMM security settings - NVM_BOOL get_device_performance; ///< retrieve DCPMM performance metrics - NVM_BOOL get_device_firmware; ///< retrieve DCPMM firmware version - NVM_BOOL update_device_firmware; ///< update the firmware version on DCPMMs - NVM_BOOL get_sensors; ///< get health sensors on DCPMMs - NVM_BOOL modify_sensors; ///< modify the DCPMM health sensor settings - NVM_BOOL get_device_capacity; ///< retrieve how DCPMM capacity is mapped by BIOS - NVM_BOOL modify_device_capacity; ///< modify how the DCPMM capacity is provisioned - NVM_BOOL get_regions; ///< retrieve regions of DCPMM capacity + NVM_BOOL get_devices; ///< retrieve the list of PMem modules installed on the server + NVM_BOOL get_device_smbios; ///< retrieve the SMBIOS information for PMem modules + NVM_BOOL get_device_health; ///< retrieve the health status for PMem modules + NVM_BOOL get_device_settings; ///< retrieve PMem module settings + NVM_BOOL modify_device_settings; ///< modify PMem module settings + NVM_BOOL get_device_security; ///< retrieve PMem module security state + NVM_BOOL modify_device_security; ///< modify PMem module security settings + NVM_BOOL get_device_performance; ///< retrieve PMem module performance metrics + NVM_BOOL get_device_firmware; ///< retrieve PMem module firmware version + NVM_BOOL update_device_firmware; ///< update the firmware version on PMem modules + NVM_BOOL get_sensors; ///< get health sensors on PMem modules + NVM_BOOL modify_sensors; ///< modify the PMem module health sensor settings + NVM_BOOL get_device_capacity; ///< retrieve how PMem module capacity is mapped by BIOS + NVM_BOOL modify_device_capacity; ///< modify how the PMem module capacity is provisioned + NVM_BOOL get_regions; ///< retrieve regions of PMem module capacity NVM_BOOL get_namespaces; ///< retrieve the list of namespaces allocated from regions NVM_BOOL get_namespace_details; ///< retrieve detailed info about each namespace NVM_BOOL create_namespace; ///< create a new namespace @@ -906,9 +906,9 @@ struct nvm_features { NVM_BOOL pm_metadata_diagnostic; ///< persistent memory metadata diagnostic NVM_BOOL security_diagnostic; ///< security diagnostic NVM_BOOL fw_consistency_diagnostic; ///< firmware consistency diagnostic - NVM_BOOL memory_mode; ///< access DCPMM capacity as memory - NVM_BOOL app_direct_mode; ///< access DCPMM persistent memory in App Direct Mode - NVM_BOOL error_injection; ///< error injection on DCPMMs + NVM_BOOL memory_mode; ///< access PMem module capacity as memory + NVM_BOOL app_direct_mode; ///< access PMem module persistent memory in App Direct Mode + NVM_BOOL error_injection; ///< error injection on PMem modules NVM_UINT8 reserved[32]; ///< reserved }; @@ -922,24 +922,24 @@ struct sw_capabilities { }; /** - * Aggregation of DCPMM SKU capabilities across all manageable DCPMMs in the system. + * Aggregation of PMem module SKU capabilities across all manageable PMem modules in the system. */ struct dimm_sku_capabilities { - NVM_BOOL mixed_sku; ///< One or more DCPMMs have different SKUs. - NVM_BOOL sku_violation; ///< One or more DCPMMs are in violation of their SKU. - NVM_BOOL memory_sku; ///< One or more DCPMMs support memory mode. - NVM_BOOL app_direct_sku; ///< One or more DCPMMs support app direct mode. + NVM_BOOL mixed_sku; ///< One or more PMem modules have different SKUs. + NVM_BOOL sku_violation; ///< One or more PMem modules are in violation of their SKU. + NVM_BOOL memory_sku; ///< One or more PMem modules support memory mode. + NVM_BOOL app_direct_sku; ///< One or more PMem modules support app direct mode. NVM_UINT8 reserved[4]; ///< reserved }; /** - * Combined DCPMM capabilities + * Combined PMem module capabilities */ struct nvm_capabilities { struct nvm_features nvm_features; ///< supported features of the PMM software struct sw_capabilities sw_capabilities; ///< driver supported capabilities struct platform_capabilities platform_capabilities; ///< platform-supported capabilities - struct dimm_sku_capabilities sku_capabilities; ///< aggregated DCPMM SKU capabilities + struct dimm_sku_capabilities sku_capabilities; ///< aggregated PMem module SKU capabilities NVM_UINT8 reserved[56]; ///< reserved }; @@ -953,12 +953,12 @@ struct interleave_set { NVM_UINT64 available_size; ///< free size in bytes struct interleave_format settings; ///< interleave format settings NVM_UINT8 socket_id; ///< socket ID - NVM_UINT8 dimm_count; ///< number of dimms in member dimms - NVM_UID dimms[NVM_MAX_DEVICES_PER_SOCKET]; ///< UID of DCPMM + NVM_UINT8 dimm_count; ///< number of PMem modules in member PMem modules + NVM_UID dimms[NVM_MAX_DEVICES_PER_SOCKET]; ///< UID of PMem module NVM_BOOL mirrored; ///< Is mirrored enum interleave_set_health health; ///< health status - enum encryption_status encryption; ///< on if lockstates of all dimms is enabled - NVM_BOOL erase_capable; ///< true if all dimms in the set support erase + enum encryption_status encryption; ///< on if lockstates of all PMem modules is enabled + NVM_BOOL erase_capable; ///< true if all PMem modules in the set support erase NVM_UINT8 reserved[56]; ///< reserved }; @@ -971,31 +971,31 @@ struct region { NVM_UINT64 capacity; ///< Size of the region in bytes. NVM_UINT64 free_capacity; ///< Available size of the region in bytes. NVM_INT16 socket_id; ///< socket ID - NVM_UINT16 dimm_count; ///< The number of dimms in this region. - NVM_UINT16 dimms[NVM_MAX_DEVICES_PER_SOCKET]; ///< Unique ID's of underlying DCPMMs. - enum region_health health; ///< Rolled up health of the underlying DCPMMs. + NVM_UINT16 dimm_count; ///< The number of PMem modules in this region. + NVM_UINT16 dimms[NVM_MAX_DEVICES_PER_SOCKET]; ///< Unique ID's of underlying PMem modules. + enum region_health health; ///< Rolled up health of the underlying PMem modules. NVM_UINT8 reserved[40]; ///< reserved }; /** - * Describes the configuration goal for a particular DCPMM. + * Describes the configuration goal for a particular PMem module. */ struct config_goal_input { NVM_UINT8 persistent_mem_type; ///< Persistent memory type: 0x1 - AppDirect, 0x2 - AppDirect Non-Interleaved NVM_UINT32 volatile_percent; ///< Volatile region size in percents NVM_UINT32 reserved_percent; ///< Amount of AppDirect memory to not map in percents - NVM_UINT32 reserve_dimm; ///< Reserve one DCPMM for use as not interleaved AppDirect memory: 0x0 - RESERVE_DIMM_NONE, 0x1 - STORAGE (NOT SUPPORTED), 0x2 - RESERVE_DIMM_AD_NOT_INTERLEAVED + NVM_UINT32 reserve_dimm; ///< Reserve one PMem module for use as not interleaved AppDirect memory: 0x0 - RESERVE_DIMM_NONE, 0x1 - STORAGE (NOT SUPPORTED), 0x2 - RESERVE_DIMM_AD_NOT_INTERLEAVED NVM_UINT16 namespace_label_major; ///< Major version of label to init: 0x1 (only supported major version) NVM_UINT16 namespace_label_minor; ///< Minor version of label to init: 0x1 or 0x2 (only supported minor versions) NVM_UINT8 reserved[44]; ///< reserved }; struct config_goal { - NVM_UID dimm_uid; ///< DCPMM UID + NVM_UID dimm_uid; ///< PMem module UID NVM_UINT16 socket_id; ///< Socket ID NVM_UINT32 persistent_regions; ///< count of persistent regions - NVM_UINT64 volatile_size; ///< Gibibytes of memory mode capacity on the DCPMM. - NVM_UINT64 storage_capacity; ///< Gibibytes of storage capacity on the DCPMM. + NVM_UINT64 volatile_size; ///< Gibibytes of memory mode capacity on the PMem module. + NVM_UINT64 storage_capacity; ///< Gibibytes of storage capacity on the PMem module. enum interleave_type interleave_set_type[MAX_IS_PER_DIMM]; ///< type of interleave set NVM_UINT64 appdirect_size[MAX_IS_PER_DIMM]; ///< appdirect size enum interleave_size imc_interleaving[MAX_IS_PER_DIMM]; ///< IMC interleaving @@ -1122,7 +1122,7 @@ struct socket { /** Describes the status of a job */ struct job { - NVM_UID uid; ///< UID of the DCPMM + NVM_UID uid; ///< UID of the PMem module NVM_UINT8 percent_complete; ///< Percent complete enum nvm_job_status status; ///< Job status enum nvm_job_type type; ///< Job type @@ -1181,11 +1181,11 @@ NVM_API void nvm_conf_file_flush(); */ /** -* @brief Convert DCPMM UID to DCPMM ID and/or DCPMM Handle +* @brief Convert PMem module UID to PMem module ID and/or PMem module Handle * -* @param[in] device_uid UID of the DCPMM -* @param[out] dimm_id optional. pointer to get DCPMM ID. -* @param[out] dimm_handle optional. pointer to get DCPMM Handle. +* @param[in] device_uid UID of the PMem module +* @param[out] dimm_id optional. pointer to get PMem module ID. +* @param[out] dimm_handle optional. pointer to get PMem module Handle. * * @return * ::NVM_SUCCESS @n @@ -1229,12 +1229,12 @@ NVM_API int nvm_get_host_name(char *host_name, const NVM_SIZE host_name_len); NVM_API int nvm_get_host(struct host *p_host); /** - * @brief Retrieve a list of installed software versions related to DCPMM management. + * @brief Retrieve a list of installed software versions related to PMem module management. * @param[in,out] p_inventory * A pointer to a #sw_inventory structure allocated by the caller. * @pre The caller must have administrative privileges. * @remarks If a version cannot be retrieved, the version is returned as all zeros. - * @remarks DCPMM firmware revisions are not included. + * @remarks PMem module firmware revisions are not included. * @return * ::NVM_SUCCESS @n * ::NVM_ERR_INVALID_PARAMETER @n @@ -1292,7 +1292,7 @@ NVM_API int nvm_get_socket(const NVM_UINT16 socket_id, struct socket *p_socket); /** * @brief Retrieve the number of memory devices installed in the system. This count includes -* both DCPMMs and other memory devices, such as DRAM. +* both PMem modules and other memory devices, such as DRAM. * @pre The caller must have administrative privileges. * @remarks This method should be called before #nvm_get_memory_topology. * @param[out] count pointer to number of memory devices @@ -1500,7 +1500,7 @@ NVM_API int nvm_get_device_fw_image_info(const NVM_UID device_uid, struct device /** * @brief Push a new FW image to the device specified. * - * @remarks If Address Range Scrub (ARS) is in progress on any target DIMM, + * @remarks If Address Range Scrub (ARS) is in progress on any target PMem module, * an attempt will be made to abort ARS and the proceed with the firmware update. * * @remarks A reboot is required to activate the updated firmware image and is @@ -1588,7 +1588,7 @@ NVM_API int nvm_examine_device_fw(const NVM_UID device_uid, const NVM_PATH path, NVM_API int nvm_get_nvm_capabilities(struct nvm_capabilities *p_capabilties); /** - * @brief Retrieve the aggregate capacities across all manageable DCPMMs in the system. + * @brief Retrieve the aggregate capacities across all manageable PMem modules in the system. * @param[in,out] p_capacities * A pointer to an #device_capacities structure allocated by the caller. * @pre The caller must have administrative privileges. @@ -1600,7 +1600,7 @@ NVM_API int nvm_get_nvm_capabilities(struct nvm_capabilities *p_capabilties); NVM_API int nvm_get_nvm_capacities(struct device_capacities *p_capacities); /** -* @brief Retrieve all the health sensors for the specified DCPMM. +* @brief Retrieve all the health sensors for the specified PMem module. * @param[in] device_uid * The device identifier. * @param[in,out] p_sensors @@ -1621,7 +1621,7 @@ NVM_API int nvm_get_nvm_capacities(struct device_capacities *p_capacities); NVM_API int nvm_get_sensors(const NVM_UID device_uid, struct sensor *p_sensors, const NVM_UINT16 count); /** -* @brief Retrieve a specific health sensor from the specified DCPMM. +* @brief Retrieve a specific health sensor from the specified PMem module. * @param[in] device_uid * The device identifier. * @param[in] type @@ -1639,7 +1639,7 @@ NVM_API int nvm_get_sensor(const NVM_UID device_uid, const enum sensor_type type /** * @brief Change the critical threshold on the specified health sensor for the specified -* DCPMM. +* PMem module. * @param[in] device_uid * The device identifier. * @param[in] type @@ -1658,7 +1658,7 @@ NVM_API int nvm_set_sensor_settings(const NVM_UID device_uid, const enum sensor_ /** * @} * @defgroup Security - * These functions manage the security state of DCPMMs. + * These functions manage the security state of PMem modules. * @{ */ @@ -1746,14 +1746,14 @@ NVM_API int nvm_remove_passphrase(const NVM_UID device_uid, const NVM_PASSPHRASE NVM_API int nvm_unlock_device(const NVM_UID device_uid, const NVM_PASSPHRASE passphrase, const NVM_SIZE passphrase_len); /** - * @brief Prevent security lock state changes to the DCPMM until the next reboot + * @brief Prevent security lock state changes to the PMem module until the next reboot * @param[in] device_uid * The device identifier. * @pre The caller has administrative privileges. * @pre The device is manageable. * @pre The device supports unlocking a device. - * @pre Current DCPMM security state is unlocked. - * @post DCPMM security state will be frozen. + * @pre Current PMem module security state is unlocked. + * @post PMem module security state will be frozen. * @post Device security will be changed. * @return * ::NVM_SUCCESS @n @@ -1798,7 +1798,7 @@ NVM_API int nvm_erase_device(const NVM_UID device_uid, const NVM_PASSPHRASE pass /** * @brief If data at rest security is not enabled and master passphrase is enabled - * in the DCPMM security state, this method modifies the master passphrase. On + * in the PMem module security state, this method modifies the master passphrase. On * Microsoft(R) Windows(TM) this functionality may be prohibited if there are any * namespaces present. * @param[in] device_uid @@ -1834,7 +1834,7 @@ NVM_API int nvm_set_master_passphrase(const NVM_UID device_uid, * @} * @defgroup Events * These functions provide access to various events generated from - * DCPMMs. + * PMem modules. * @{ */ @@ -1970,7 +1970,7 @@ NVM_API int nvm_get_regions(struct region *p_regions, NVM_UINT8 *count); NVM_API int nvm_get_regions_ex(const NVM_BOOL use_nfit, struct region *p_regions, NVM_UINT8 *count); /** - * @brief Modify how the DCPMM capacity is provisioned by the BIOS on the next reboot. + * @brief Modify how the PMem module capacity is provisioned by the BIOS on the next reboot. * @param p_device_uids * Pointer to list of device uids to configure. * If NULL, all devices on platform will be configured. @@ -1979,10 +1979,10 @@ NVM_API int nvm_get_regions_ex(const NVM_BOOL use_nfit, struct region *p_regions * @param p_goal * Values that defines how regions are created. * @pre The caller has administrative privileges. - * @pre The specified DCPMM is manageable by the host software. + * @pre The specified PMem module is manageable by the host software. * @pre Any existing namespaces created from capacity on the - * DCPMM must be deleted first. - * @remarks This operation stores the specified configuration goal on the DCPMM + * PMem module must be deleted first. + * @remarks This operation stores the specified configuration goal on the PMem module * for the BIOS to read on the next reboot. * @return * ::NVM_SUCCESS @n @@ -1992,7 +1992,7 @@ NVM_API int nvm_get_regions_ex(const NVM_BOOL use_nfit, struct region *p_regions NVM_API int nvm_create_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uids_count, struct config_goal_input *p_goal); /** - * @brief Retrieve the configuration goal from the specified DCPMM. + * @brief Retrieve the configuration goal from the specified PMem module. * @param p_device_uids * Pointer to list of device uids to retrieve config goal from. * If NULL, retrieve goal configs from all devices on platform. @@ -2001,11 +2001,11 @@ NVM_API int nvm_create_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uid * @param p_goal * A pointer to a list of config_goal structures allocated by the caller. * @pre The caller has administrative privileges. - * @pre The specified DCPMM is manageable by the host software. - * @remarks A configuration goal is stored on the DCPMM until the + * @pre The specified PMem module is manageable by the host software. + * @remarks A configuration goal is stored on the PMem module until the * BIOS successfully processes it on reboot. * Use @link nvm_delete_config_goal @endlink to erase a - * configuration goal from a DCPMM. + * configuration goal from a PMem module. * @return * ::NVM_SUCCESS @n * ::NVM_ERR_INVALID_PARAMETER @nNVM_SUCCESS @n @@ -2014,14 +2014,14 @@ NVM_API int nvm_create_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uid NVM_API int nvm_get_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uids_count, struct config_goal *p_goal); /** - * @brief Erase the region configuration goal from the specified DCPMM. + * @brief Erase the region configuration goal from the specified PMem module. * @param p_device_uids * Pointer to list of device uids to erase the region config goal. * If NULL, all devices on platform will have their region config goal erased. * @param device_uids_count * Number of devices in p_device_uids list. * @pre The caller has administrative privileges. - * @pre The specified DCPMM is manageable by the host software. + * @pre The specified PMem module is manageable by the host software. * @return * ::NVM_SUCCESS @n * ::NVM_ERR_INVALID_PARAMETER @n @@ -2030,7 +2030,7 @@ NVM_API int nvm_get_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uids_c NVM_API int nvm_delete_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uids_count); /** - * @brief Store the configuration settings of how the DCPMM capacity + * @brief Store the configuration settings of how the PMem module capacity * is currently provisioned to a file in order to duplicate the * configuration elsewhere. * @param file @@ -2038,8 +2038,8 @@ NVM_API int nvm_delete_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uid * @param file_len * String length of file, should be < #NVM_PATH_LEN. * @pre The caller has administrative privileges. - * @pre The specified DCPMM is manageable by the host software. - * @pre The specified DCPMM is currently configured. + * @pre The specified PMem module is manageable by the host software. + * @pre The specified PMem module is currently configured. * @return * ::NVM_SUCCESS @n * ::NVM_ERR_DUMP_FILE_OPERATION_FAILED @n @@ -2048,7 +2048,7 @@ NVM_API int nvm_delete_config_goal(NVM_UID *p_device_uids, NVM_UINT32 device_uid NVM_API int nvm_dump_goal_config(const NVM_PATH file, const NVM_SIZE file_len); /** - * @brief Modify how the DCPMM capacity is provisioned by the BIOS on the + * @brief Modify how the PMem module capacity is provisioned by the BIOS on the * next reboot by applying the configuration goal previously stored in the * specified file with @link nvm_dump_config @endlink. * @param file @@ -2056,12 +2056,12 @@ NVM_API int nvm_dump_goal_config(const NVM_PATH file, const NVM_SIZE file_len); * @param file_len * String length of file, should be < NVM_PATH_LEN. * @pre The caller has administrative privileges. - * @pre The specified DCPMM is manageable by the host software. + * @pre The specified PMem module is manageable by the host software. * @pre Any existing namespaces created from capacity on the - * DCPMM must be deleted first. + * PMem module must be deleted first. * @pre If the configuration goal contains any app direct memory, - * all DCPMMs that are part of the interleave set must be included in the file. - * @pre The specified DCPMM must be >= the total capacity of the DCPMM + * all PMem modules that are part of the interleave set must be included in the file. + * @pre The specified PMem module must be >= the total capacity of the PMem module * specified in the file. * @return * ::NVM_SUCCESS @n @@ -2073,7 +2073,7 @@ NVM_API int nvm_load_goal_config(const NVM_PATH file, const NVM_SIZE file_len); /** * @} * @defgroup Support - * These functions provide various support functionality of DCPMMs. + * These functions provide various support functionality of PMem modules. * @{ */ @@ -2161,7 +2161,7 @@ NVM_API int nvm_gather_support(const NVM_PATH support_file, const NVM_SIZE suppo * error information allocated by the caller. * @pre The caller has administrative privileges. * @pre The device is manageable. - * @pre This interface is only supported by the underlying DCPMM firmware when it is in a + * @pre This interface is only supported by the underlying PMem module firmware when it is in a * debug state. * @return * ::NVM_SUCCESS @n @@ -2181,7 +2181,7 @@ NVM_API int nvm_inject_device_error(const NVM_UID device_uid, const struct devic * error information allocated by the caller. * @pre The caller has administrative privileges. * @pre The device is manageable. - * @pre This interface is only supported by the underlying DCPMM firmware when it is in a + * @pre This interface is only supported by the underlying PMem module firmware when it is in a * debug state. * @return * ::NVM_SUCCESS @n @@ -2209,7 +2209,7 @@ NVM_API int nvm_clear_injected_device_error(const NVM_UID device_uid, const stru NVM_API int nvm_run_diagnostic(const NVM_UID device_uid, const struct diagnostic *p_diagnostic, NVM_UINT32 *p_results); /** - * @brief Set the user preference config value in DCPMM software. See the Change Preferences section of the CLI + * @brief Set the user preference config value in PMem module software. See the Change Preferences section of the CLI * specification for a list of supported preferences and values. Note, this API does not verify if the property key * is supported, or if the value is supported per the CLI specification. * @param[in] key @@ -2224,8 +2224,8 @@ NVM_API int nvm_set_user_preference(const NVM_PREFERENCE_KEY key, const NVM_PREF /** * @deprecated + * @brief Clear namespace label storage area in PCD on the specified PMem module. * - * @brief Clear namespace label storage area in PCD on the specified DCPMM. * @param[in] device_uid * The device identifier. * @return @@ -2239,7 +2239,7 @@ NVM_API int nvm_clear_dimm_lsa(const NVM_UID device_uid); * @} * @defgroup Logging * These functions manage the logging features of - * DCPMM software. + * PMem module software. * @{ */ diff --git a/src/os/nvm_api/nvm_types.h b/src/os/nvm_api/nvm_types.h index 93e8a344..4cea6795 100644 --- a/src/os/nvm_api/nvm_types.h +++ b/src/os/nvm_api/nvm_types.h @@ -44,7 +44,7 @@ byte swap #define NVM_ERROR_LEN 256 ///< Length of return code description #define NVM_MAX_HANDLE_LEN 11 ///< Max length of a uint32 in decimal + '\0' #define NVM_MAX_UID_LEN 22 ///< Max Length of Unique ID -#define NVM_MAX_DIMMID_STR_LEN 7 ///< Max length of Dimm ID string +#define NVM_MAX_DIMMID_STR_LEN 7 ///< Max length of PMem module ID string #define NVM_MANUFACTURER_LEN 2 ///< Number of bytes in the manufacturer ID #define NVM_MANUFACTURERSTR_LEN 256 ///< Manufacturer string length #define NVM_SERIAL_LEN 4 ///< Number of bytes in the serial number @@ -61,19 +61,19 @@ byte swap #define NVM_NAMESPACE_PURPOSE_LEN 64 ///< Length of namespace purpose string #define NVM_MAX_SOCKET_DIGIT_COUNT 4 ///< Maximum number of digits in a socket count #define NVM_MEMORY_CONTROLLER_CHANNEL_COUNT 3 ///< expected number of channels per iMC -#define NVM_MAX_INTERLEAVE_SETS_PER_DIMM 2 ///< Max number of App Direct interleave sets per DIMM +#define NVM_MAX_INTERLEAVE_SETS_PER_DIMM 2 ///< Max number of App Direct interleave sets per PMem module #define NVM_MAX_POOLS_PER_NAMESPACE 128 ///< Maximum number of pools for a namespace #define NVM_PART_NUM_LEN 21 ///< Length of device part number string // TODO -guessing and interleave formats size. HSD-20363 should address this. #define NVM_INTERLEAVE_FORMATS 32 ///< Maximum number of memory interleave formats -#define NVM_MAX_DEVICES_PER_POOL 128 ///< Maximum number of DIMMs that can be used in a pool +#define NVM_MAX_DEVICES_PER_POOL 128 ///< Maximum number of PMem modules that can be used in a pool // This number of devices that can go on a socket may go up on future architectures // so this is something to keep an eye on. 24 should be good for a while -#define NVM_MAX_DEVICES_PER_SOCKET 24 ///< Maximum number of dimms that can be on a socket +#define NVM_MAX_DEVICES_PER_SOCKET 24 ///< Maximum number of PMem modules that can be on a socket #define NVM_LOG_MESSAGE_LEN 2048 ///< Length of log message string #define NVM_MAX_BLOCK_SIZES_PER_POOL 16 #define NVM_MAX_BLOCK_SIZES 16 ///< maximum number of block sizes supported by the driver -#define NVM_MAX_TOPO_SIZE 96 ///< Maximum number of DIMMs possible for a given memory topology +#define NVM_MAX_TOPO_SIZE 96 ///< Maximum number of PMem modules possible for a given memory topology #define NVM_THRESHOLD_STR_LEN 1024 ///< Max threshold string value len #define NVM_VOLATILE_POOL_SOCKET_ID -1 ///< Volatile pools are system wide and not tied to a socket #define NVM_MAX_CONFIG_LINE_LEN 512 ///< Maximum line size for config data in a dump file @@ -142,18 +142,18 @@ enum region_type }; /** - * Rolled-up health of the underlying DIMMs from which the REGION is created. + * Rolled-up health of the underlying PMem modules from which the REGION is created. */ enum region_health { - REGION_HEALTH_NORMAL = 1, ///< All underlying DIMM Persistent memory capacity is available. + REGION_HEALTH_NORMAL = 1, ///< All underlying PMem module Persistent memory capacity is available. REGION_HEALTH_ERROR = 2, ///< There is an issue with some or all of the underlying - ///< DIMM capacity. + ///< PMem module capacity. REGION_HEALTH_UNKNOWN = 3, ///< The REGION health cannot be determined. REGION_HEALTH_PENDING = 4, ///< A new memory allocation goal has been created but not applied. - REGION_HEALTH_LOCKED = 5 ///< One or more of the underlying DIMMs are locked. + REGION_HEALTH_LOCKED = 5 ///< One or more of the underlying PMem modules are locked. }; /** @@ -162,7 +162,7 @@ enum region_health enum interleave_set_health { INTERLEAVE_HEALTH_UNKNOWN = 0, ///< Health cannot be determined. - INTERLEAVE_HEALTH_NORMAL = 1, ///< Available and underlying DIMMs have good health. + INTERLEAVE_HEALTH_NORMAL = 1, ///< Available and underlying PMem modules have good health. INTERLEAVE_HEALTH_DEGRADED = 2, ///< In danger of failure, may have degraded performance. INTERLEAVE_HEALTH_FAILED = 3 ///< Interleave set has failed and is unavailable. }; @@ -256,7 +256,7 @@ enum acpi_event_type * Describes an error log. */ typedef struct _ERROR_LOG { - NVM_UINT16 DimmID; ///< The DimmID + NVM_UINT16 DimmID; ///< The PMem module ID NVM_UINT64 SystemTimestamp; ///< Unix epoch time of log entry NVM_UINT8 ErrorType; ///< 0: Thermal, 1: Media NVM_UINT8 OutputData[MAX_ERROR_LOG_SZ]; ///< Either THERMAL_ERROR_LOG or MEDIA_ERROR_LOG (see ErrorType)