summaryrefslogtreecommitdiff
path: root/SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr
blob: e6a5b74600244a4d2dc6c510050872ec0ea78448 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/** @file
  VFR file used by the TCG configuration component.

Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials 
are licensed and made available under the terms and conditions of the BSD License 
which accompanies this distribution.  The full text of the license may be found at 
http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#include "TcgConfigNvData.h"

formset
  guid      = TCG_CONFIG_FORM_SET_GUID,
  title     = STRING_TOKEN(STR_TPM_TITLE),
  help      = STRING_TOKEN(STR_TPM_HELP),
  classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,

  varstore TCG_CONFIGURATION,
    varid = TCG_CONFIGURATION_VARSTORE_ID,
    name  = TCG_CONFIGURATION,
    guid  = TCG_CONFIG_FORM_SET_GUID;

  form formid = TCG_CONFIGURATION_FORM_ID,
    title = STRING_TOKEN(STR_TPM_TITLE);

    subtitle text = STRING_TOKEN(STR_NULL);

    suppressif TRUE;
      checkbox varid   = TCG_CONFIGURATION.TpmEnable,
              prompt   = STRING_TOKEN(STR_NULL),
              help     = STRING_TOKEN(STR_NULL),
      endcheckbox;
    endif;

    suppressif TRUE;
      checkbox varid   = TCG_CONFIGURATION.TpmActivate,
              prompt   = STRING_TOKEN(STR_NULL),
              help     = STRING_TOKEN(STR_NULL),
      endcheckbox;
    endif;

    suppressif TRUE;
      checkbox varid   = TCG_CONFIGURATION.OriginalHideTpm,
              prompt   = STRING_TOKEN(STR_NULL),
              help     = STRING_TOKEN(STR_NULL),
      endcheckbox;
    endif;

    text
      help   = STRING_TOKEN(STR_TPM_STATE_HELP),
      text   = STRING_TOKEN(STR_TPM_STATE_PROMPT),
        text   = STRING_TOKEN(STR_TPM_STATE_CONTENT);

    subtitle text = STRING_TOKEN(STR_NULL);

    label LABEL_TCG_CONFIGURATION_HIDETPM;

    checkbox varid = TCG_CONFIGURATION.HideTpm,
          questionid  = KEY_HIDE_TPM,
          prompt      = STRING_TOKEN(STR_HIDE_TPM_PROMPT),
          help        = STRING_TOKEN(STR_HIDE_TPM_HELP),
          flags       = RESET_REQUIRED,
    endcheckbox;

    label LABEL_END;

    grayoutif ideqval TCG_CONFIGURATION.OriginalHideTpm == 1;
    oneof varid  = TCG_CONFIGURATION.TpmOperation,
          questionid = KEY_TPM_ACTION,
          prompt = STRING_TOKEN(STR_TPM_OPERATION),
          help   = STRING_TOKEN(STR_TPM_OPERATION_HELP),
          flags  = INTERACTIVE,
          //
          // Disable (TPM_ORD_PhysicalDisable) command is not available when disabled.
          // Activate/deactivate (TPM_ORD_physicalSetDeactivated) command is not available when disabled.
          //
          suppressif ideqval TCG_CONFIGURATION.TpmEnable == 0;
            option text = STRING_TOKEN(STR_DISABLE), value = PHYSICAL_PRESENCE_DISABLE, flags = 0;
            option text = STRING_TOKEN(STR_TPM_ACTIVATE), value = PHYSICAL_PRESENCE_ACTIVATE, flags = 0;
            option text = STRING_TOKEN(STR_TPM_DEACTIVATE), value = PHYSICAL_PRESENCE_DEACTIVATE, flags = 0;
            option text = STRING_TOKEN(STR_TPM_DEACTIVATE_DISABLE), value = PHYSICAL_PRESENCE_DEACTIVATE_DISABLE, flags = 0;
          endif
          //
          // Clear (TPM_ORD_ForceClear) command is not available when disabled or deactivated. 
          //
          suppressif ideqval TCG_CONFIGURATION.TpmEnable == 0 OR
                     ideqval TCG_CONFIGURATION.TpmActivate == 0;
            option text = STRING_TOKEN(STR_TPM_CLEAR), value = PHYSICAL_PRESENCE_CLEAR, flags = 0;
            option text = STRING_TOKEN(STR_TPM_CLEAR_ENABLE_ACTIVATE), value = PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE, flags = 0;
          endif

          option text = STRING_TOKEN(STR_ENABLE), value = PHYSICAL_PRESENCE_ENABLE, flags = 0;
          option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE, flags = 0;          
          option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE_CLEAR), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR, flags = 0;
          option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE_CLEAR_E_A), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE, flags = 0;
    endoneof;

    subtitle text = STRING_TOKEN(STR_NULL);

    checkbox varid = TCG_CONFIGURATION.MorState,
          questionid = KEY_TPM_MOR_ENABLE,
          prompt = STRING_TOKEN(STR_MOR_PROMPT),
          help   = STRING_TOKEN(STR_MOR_HELP),
    endcheckbox; 
    endif;

  endform;

endformset;