1 /** @file 2 3 Copyright (c) 2013-2015 Intel Corporation. 4 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 QNCX_SMM_HELPERS_H 16 #define QNCX_SMM_HELPERS_H 17 18 // 19 // Include common header file for this module. 20 // 21 #include "CommonHeader.h" 22 23 #include "QNCSmm.h" 24 25 EFI_STATUS 26 QNCSmmInitHardware ( 27 VOID 28 ) 29 /*++ 30 31 Routine Description: 32 33 GC_TODO: Add function description 34 35 Arguments: 36 37 None 38 39 Returns: 40 41 GC_TODO: add return values 42 43 --*/ 44 ; 45 46 EFI_STATUS 47 QNCSmmEnableGlobalSmiBit ( 48 VOID 49 ) 50 /*++ 51 52 Routine Description: 53 54 Enables the QNC to generate SMIs. Note that no SMIs will be generated 55 if no SMI sources are enabled. Conversely, no enabled SMI source will 56 generate SMIs if SMIs are not globally enabled. This is the main 57 switchbox for SMI generation. 58 59 Arguments: 60 61 None 62 63 Returns: 64 65 EFI_SUCCESS. 66 Asserts, otherwise. 67 68 --*/ 69 ; 70 71 EFI_STATUS 72 QNCSmmClearSmi ( 73 VOID 74 ) 75 /*++ 76 77 Routine Description: 78 79 GC_TODO: Add function description 80 81 Arguments: 82 83 None 84 85 Returns: 86 87 GC_TODO: add return values 88 89 --*/ 90 ; 91 92 BOOLEAN 93 QNCSmmSetAndCheckEos ( 94 VOID 95 ) 96 /*++ 97 98 Routine Description: 99 100 GC_TODO: Add function description 101 102 Arguments: 103 104 None 105 106 Returns: 107 108 GC_TODO: add return values 109 110 --*/ 111 ; 112 113 BOOLEAN 114 QNCSmmGetSciEn ( 115 VOID 116 ) 117 /*++ 118 119 Routine Description: 120 121 GC_TODO: Add function description 122 123 Arguments: 124 125 None 126 127 Returns: 128 129 GC_TODO: add return values 130 131 --*/ 132 ; 133 134 // 135 // /////////////////////////////////////////////////////////////////////////// 136 // 137 // These may or may not need to change w/ the QNC version; 138 // they're here because they're highly IA-32 dependent. 139 // 140 BOOLEAN 141 ReadBitDesc ( 142 CONST QNC_SMM_BIT_DESC *BitDesc 143 ) 144 /*++ 145 146 Routine Description: 147 148 GC_TODO: Add function description 149 150 Arguments: 151 152 BitDesc - GC_TODO: add argument description 153 154 Returns: 155 156 GC_TODO: add return values 157 158 --*/ 159 ; 160 161 VOID 162 WriteBitDesc ( 163 CONST QNC_SMM_BIT_DESC *BitDesc, 164 CONST BOOLEAN ValueToWrite 165 ) 166 /*++ 167 168 Routine Description: 169 170 GC_TODO: Add function description 171 172 Arguments: 173 174 BitDesc - GC_TODO: add argument description 175 ValueToWrite - GC_TODO: add argument description 176 177 Returns: 178 179 GC_TODO: add return values 180 181 --*/ 182 ; 183 184 #endif 185