Home | History | Annotate | Download | only in PiSmmCpuDxeSmm
      1 ## @file

      2 # CPU SMM driver.

      3 #

      4 # This SMM driver performs SMM initialization, deploy SMM Entry Vector,

      5 # provides CPU specific services in SMM.

      6 #

      7 # Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>

      8 #

      9 # This program and the accompanying materials

     10 # are licensed and made available under the terms and conditions of the BSD License

     11 # which accompanies this distribution.  The full text of the license may be found at

     12 # http://opensource.org/licenses/bsd-license.php

     13 #

     14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     16 #

     17 ##

     18 
     19 [Defines]
     20   INF_VERSION                    = 0x00010005
     21   BASE_NAME                      = PiSmmCpuDxeSmm
     22   MODULE_UNI_FILE                = PiSmmCpuDxeSmm.uni
     23   FILE_GUID                      = A3FF0EF5-0C28-42f5-B544-8C7DE1E80014
     24   MODULE_TYPE                    = DXE_SMM_DRIVER
     25   VERSION_STRING                 = 1.0
     26   PI_SPECIFICATION_VERSION       = 0x0001000A
     27   ENTRY_POINT                    = PiCpuSmmEntry
     28 
     29 #

     30 # The following information is for reference only and not required by the build tools.

     31 #

     32 #  VALID_ARCHITECTURES           = IA32 X64

     33 #

     34 
     35 [Sources]
     36   PiSmmCpuDxeSmm.c
     37   PiSmmCpuDxeSmm.h
     38   MpService.c
     39   SyncTimer.c
     40   CpuS3.c
     41   CpuService.c
     42   CpuService.h
     43   SmmProfile.c
     44   SmmProfile.h
     45   SmmProfileInternal.h
     46   SmramSaveState.c
     47 
     48 [Sources.Ia32]
     49   Ia32/Semaphore.c
     50   Ia32/PageTbl.c
     51   Ia32/SmmFuncsArch.c
     52   Ia32/SmmProfileArch.c
     53   Ia32/SmmProfileArch.h
     54   Ia32/SmmInit.asm      | MSFT
     55   Ia32/SmiEntry.asm     | MSFT
     56   Ia32/SmiException.asm | MSFT
     57   Ia32/MpFuncs.asm      | MSFT
     58 
     59   Ia32/SmmInit.asm      | INTEL
     60   Ia32/SmiEntry.asm     | INTEL
     61   Ia32/SmiException.asm | INTEL
     62   Ia32/MpFuncs.asm      | INTEL
     63 
     64   Ia32/SmmInit.S        | GCC
     65   Ia32/SmiEntry.S       | GCC
     66   Ia32/SmiException.S   | GCC
     67   Ia32/MpFuncs.S        | GCC
     68 
     69 [Sources.X64]
     70   X64/Semaphore.c
     71   X64/PageTbl.c
     72   X64/SmmFuncsArch.c
     73   X64/SmmProfileArch.c
     74   X64/SmmProfileArch.h
     75   X64/SmmInit.asm      | MSFT
     76   X64/SmiEntry.asm     | MSFT
     77   X64/SmiException.asm | MSFT
     78   X64/MpFuncs.asm      | MSFT
     79 
     80   X64/SmmInit.asm      | INTEL
     81   X64/SmiEntry.asm     | INTEL
     82   X64/SmiException.asm | INTEL
     83   X64/MpFuncs.asm      | INTEL
     84 
     85   X64/SmmInit.S        | GCC
     86   X64/SmiEntry.S       | GCC
     87   X64/SmiException.S   | GCC
     88   X64/MpFuncs.S        | GCC
     89 
     90 [Packages]
     91   MdePkg/MdePkg.dec
     92   MdeModulePkg/MdeModulePkg.dec
     93   UefiCpuPkg/UefiCpuPkg.dec
     94 
     95 [LibraryClasses]
     96   UefiDriverEntryPoint
     97   UefiRuntimeServicesTableLib
     98   CacheMaintenanceLib
     99   PcdLib
    100   DebugLib
    101   BaseLib
    102   SynchronizationLib
    103   BaseMemoryLib
    104   MtrrLib
    105   IoLib
    106   TimerLib
    107   SmmServicesTableLib
    108   MemoryAllocationLib
    109   DebugAgentLib
    110   HobLib
    111   PciLib
    112   LocalApicLib
    113   UefiCpuLib
    114   SmmCpuPlatformHookLib
    115   CpuExceptionHandlerLib
    116   UefiLib
    117   DxeServicesTableLib
    118   CpuLib
    119   ReportStatusCodeLib
    120   SmmCpuFeaturesLib
    121   PeCoffGetEntryPointLib
    122 
    123 [Protocols]
    124   gEfiSmmAccess2ProtocolGuid               ## CONSUMES

    125   gEfiMpServiceProtocolGuid                ## CONSUMES

    126   gEfiSmmConfigurationProtocolGuid         ## PRODUCES

    127   gEfiSmmCpuProtocolGuid                   ## PRODUCES

    128   gEfiSmmReadyToLockProtocolGuid           ## NOTIFY

    129   gEfiSmmCpuServiceProtocolGuid            ## PRODUCES

    130 
    131 [Guids]
    132   gEfiAcpiVariableGuid                     ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.

    133   gEfiGlobalVariableGuid                   ## SOMETIMES_PRODUCES ## Variable:L"SmmProfileData"

    134   gEfiAcpi20TableGuid                      ## SOMETIMES_CONSUMES ## SystemTable

    135   gEfiAcpi10TableGuid                      ## SOMETIMES_CONSUMES ## SystemTable

    136 
    137 [FeaturePcd]
    138   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug                         ## CONSUMES

    139   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp            ## CONSUMES

    140   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection             ## CONSUMES

    141   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport                   ## CONSUMES

    142   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard                    ## CONSUMES

    143   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable                 ## CONSUMES

    144   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer             ## CONSUMES

    145   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock         ## CONSUMES

    146 
    147 [Pcd]
    148   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber        ## SOMETIMES_CONSUMES

    149   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize                   ## SOMETIMES_CONSUMES

    150   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize                     ## CONSUMES

    151   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout                 ## CONSUMES

    152   gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress                    ## SOMETIMES_CONSUMES

    153   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress               ## SOMETIMES_PRODUCES

    154   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable         ## CONSUMES

    155   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode                      ## CONSUMES

    156 
    157 [Depex]
    158   gEfiMpServiceProtocolGuid
    159 
    160 [UserExtensions.TianoCore."ExtraFiles"]
    161   PiSmmCpuDxeSmmExtra.uni
    162