1 /** @file 2 The header file for TcgMor. 3 4 Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __TCG_MOR_H__ 16 #define __TCG_MOR_H__ 17 18 #include <PiDxe.h> 19 20 #include <Guid/MemoryOverwriteControl.h> 21 22 #include <Library/UefiDriverEntryPoint.h> 23 #include <Library/UefiBootServicesTableLib.h> 24 #include <Library/UefiRuntimeServicesTableLib.h> 25 #include <Library/DebugLib.h> 26 #include <Library/UefiLib.h> 27 #include <Library/MemoryAllocationLib.h> 28 29 #include <Protocol/StorageSecurityCommand.h> 30 #include <Protocol/BlockIo.h> 31 32 // 33 // Supported Security Protocols List Description. 34 // Refer to ATA8-ACS Spec 7.57.6.2 Table 69 or SPC4 7.7.1.3 Table 511. 35 // 36 typedef struct { 37 UINT8 Reserved1[6]; 38 UINT8 SupportedSecurityListLength[2]; 39 UINT8 SupportedSecurityProtocol[1]; 40 } SUPPORTED_SECURITY_PROTOCOLS_PARAMETER_DATA; 41 42 #define SECURITY_PROTOCOL_TCG 0x02 43 #define SECURITY_PROTOCOL_IEEE1667 0xEE 44 45 #define ROUNDUP512(x) (((x) % 512 == 0) ? (x) : ((x) / 512 + 1) * 512) 46 47 #endif 48 49