Home | History | Annotate | Download | only in QncSmmDispatcher
      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