4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync GUID used for MemoryOverwriteRequestControl UEFI variable defined in
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync TCG Platform Reset Attack Mitigation Specification 1.00.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync See http://trustedcomputinggroup.org for the latest specification
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The purpose of the MemoryOverwriteRequestControl UEFI variable is to give users (e.g., OS, loader) the ability to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync indicate to the platform that secrets are present in memory and that the platform firmware must clear memory upon
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync a restart. The OS loader should not create the variable. Rather, the firmware is required to create it.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 0xe20939be, 0x32d4, 0x41be, {0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29} \
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Variable name is "MemoryOverwriteRequestControl" and it is a 1 byte unsigned value.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// The attributes should be:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// EFI_VARIABLE_NON_VOLATILE |
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// EFI_VARIABLE_BOOTSERVICE_ACCESS |
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// EFI_VARIABLE_RUNTIME_ACCESS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define MEMORY_OVERWRITE_REQUEST_VARIABLE_NAME L"MemoryOverwriteRequestControl"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// 0 = Firmware MUST clear the MOR bi
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// 1 = Firmware MUST set the MOR bit
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// 0 = Firmware MAY autodetect a clean shutdown of the Static RTM OS.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// 1 = Firmware MUST NOT autodetect a clean shutdown of the Static RTM OS.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// MOR field bit offset
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Return the ClearMemory bit value 0 or 1.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param mor 1 byte value that contains ClearMemory and DisableAutoDetect bit.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return ClearMemory bit value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define MOR_CLEAR_MEMORY_VALUE(mor) (((UINT8)(mor) & MOR_CLEAR_MEMORY_BIT_MASK) >> MOR_CLEAR_MEMORY_BIT_OFFSET)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Return the DisableAutoDetect bit value 0 or 1.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param mor 1 byte value that contains ClearMemory and DisableAutoDetect bit.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return DisableAutoDetect bit value