summaryrefslogtreecommitdiff
path: root/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.h
blob: e0064971d0df19c1fa54f8a05470e39c01ac0425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/** @file
  This file contains definitions required for creation of TXT Info HOB.

@copyright
  Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved
  This software and associated documentation (if any) is furnished
  under a license and may only be used or copied in accordance
  with the terms of the license. Except as permitted by such
  license, no part of this software or documentation may be
  reproduced, stored in a retrieval system, or transmitted in any
  form or by any means without the express written consent of
  Intel Corporation.

  This file contains an 'Intel Peripheral Driver' and uniquely
  identified as "Intel Reference Module" and is
  licensed for Intel CPUs and chipsets under the terms of your
  license agreement with Intel or your vendor.  This file may
  be modified by the user, subject to additional terms of the
  license agreement
**/
#ifndef _TXT_HOB_H_
#define _TXT_HOB_H_

#define TXT_INFO_HOB_GUID \
  { \
    0x2986883F, 0x88E0, 0x48d0, 0x4B, 0x82, 0x20, 0xC2, 0x69, 0x48, 0xDD, 0xAC \
  }

extern EFI_GUID gTxtInfoHobGuid;

#pragma pack(push, 1)

typedef struct {
  BOOLEAN              ChipsetIsTxtCapable;
  UINT8                TxtMode;
  UINT64               PmBase;
  UINT64               SinitMemorySize;
  UINT64               TxtHeapMemorySize;
  EFI_PHYSICAL_ADDRESS TxtDprMemoryBase;
  UINT64               TxtDprMemorySize;
  EFI_PHYSICAL_ADDRESS BiosAcmBase;
  UINT64               BiosAcmSize;
  EFI_PHYSICAL_ADDRESS McuUpdateDataAddr;
  EFI_PHYSICAL_ADDRESS SinitAcmBase;
  UINT64               SinitAcmSize;
  UINT64               TgaSize;
  EFI_PHYSICAL_ADDRESS TxtLcpPdBase;
  UINT64               TxtLcpPdSize;
  UINT64 Flags;
} TXT_INFO_DATA;

#define FLAGS0                  0x1
#define TXT_CPU_RESET_REQUIRED  0x2
#define TPM_INIT_FAILED         0x4

#define CMOS_INDEX_PORT         0x70
#define CMOS_DATA_PORT          0x71

typedef struct {
  EFI_HOB_GUID_TYPE EfiHobGuidType;
  TXT_INFO_DATA     Data;
} TXT_INFO_HOB;
#pragma pack(pop)

#endif