1 /** @file 2 Support for Microsoft Secure MOR implementation, defined at 3 Microsoft Secure MOR implementation. 4 https://msdn.microsoft.com/en-us/library/windows/hardware/mt270973(v=vs.85).aspx 5 6 Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 **/ 16 17 #ifndef __MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_H__ 18 #define __MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_H__ 19 20 #define MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_GUID \ 21 { \ 22 0xBB983CCF, 0x151D, 0x40E1, {0xA0, 0x7B, 0x4A, 0x17, 0xBE, 0x16, 0x82, 0x92} \ 23 } 24 25 #define MEMORY_OVERWRITE_REQUEST_CONTROL_LOCK_NAME L"MemoryOverwriteRequestControlLock" 26 27 // 28 // VendorGuid: {BB983CCF-151D-40E1-A07B-4A17BE168292} 29 // Name: MemoryOverwriteRequestControlLock 30 // Attributes: NV+BS+RT 31 // GetVariable value in Data parameter: 0x0 (unlocked); 0x1 (locked without key); 0x2 (locked with key) 32 // SetVariable value in Data parameter: 0x0 (unlocked); 0x1 (locked); 33 // Revision 2 additionally accepts an 8-byte value that represents a shared secret key. 34 // 35 36 // 37 // Note: Setting MemoryOverwriteRequestControlLock does not commit to flash (just changes the internal lock state). 38 // Getting the variable returns the internal state and never exposes the key. 39 // 40 41 extern EFI_GUID gEfiMemoryOverwriteRequestControlLockGuid; 42 43 #endif 44