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 - 2016, 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   SmmCpuMemoryManagement.c
     48 
     49 [Sources.Ia32]
     50   Ia32/Semaphore.c
     51   Ia32/PageTbl.c
     52   Ia32/SmmFuncsArch.c
     53   Ia32/SmmProfileArch.c
     54   Ia32/SmmProfileArch.h
     55   Ia32/SmmInit.asm
     56   Ia32/SmiEntry.asm
     57   Ia32/SmiException.asm
     58   Ia32/MpFuncs.asm
     59 
     60   Ia32/SmmInit.nasm
     61   Ia32/SmiEntry.nasm
     62   Ia32/SmiException.nasm
     63   Ia32/MpFuncs.nasm
     64 
     65   Ia32/SmmInit.S
     66   Ia32/SmiEntry.S
     67   Ia32/SmiException.S
     68   Ia32/MpFuncs.S
     69 
     70 [Sources.X64]
     71   X64/Semaphore.c
     72   X64/PageTbl.c
     73   X64/SmmFuncsArch.c
     74   X64/SmmProfileArch.c
     75   X64/SmmProfileArch.h
     76   X64/SmmInit.asm
     77   X64/SmiEntry.asm
     78   X64/SmiException.asm
     79   X64/MpFuncs.asm
     80 
     81   X64/SmmInit.nasm
     82   X64/SmiEntry.nasm
     83   X64/SmiException.nasm
     84   X64/MpFuncs.nasm
     85 
     86   X64/SmmInit.S
     87   X64/SmiEntry.S
     88   X64/SmiException.S
     89   X64/MpFuncs.S
     90 
     91 [Packages]
     92   MdePkg/MdePkg.dec
     93   MdeModulePkg/MdeModulePkg.dec
     94   UefiCpuPkg/UefiCpuPkg.dec
     95 
     96 [LibraryClasses]
     97   UefiDriverEntryPoint
     98   UefiRuntimeServicesTableLib
     99   CacheMaintenanceLib
    100   PcdLib
    101   DebugLib
    102   BaseLib
    103   SynchronizationLib
    104   BaseMemoryLib
    105   MtrrLib
    106   IoLib
    107   TimerLib
    108   SmmServicesTableLib
    109   MemoryAllocationLib
    110   DebugAgentLib
    111   HobLib
    112   PciLib
    113   LocalApicLib
    114   UefiCpuLib
    115   SmmCpuPlatformHookLib
    116   CpuExceptionHandlerLib
    117   UefiLib
    118   DxeServicesTableLib
    119   CpuLib
    120   ReportStatusCodeLib
    121   SmmCpuFeaturesLib
    122   PeCoffGetEntryPointLib
    123 
    124 [Protocols]
    125   gEfiSmmAccess2ProtocolGuid               ## CONSUMES

    126   gEfiMpServiceProtocolGuid                ## CONSUMES

    127   gEfiSmmConfigurationProtocolGuid         ## PRODUCES

    128   gEfiSmmCpuProtocolGuid                   ## PRODUCES

    129   gEfiSmmReadyToLockProtocolGuid           ## NOTIFY

    130   gEfiSmmCpuServiceProtocolGuid            ## PRODUCES

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

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

    135   gEfiAcpi20TableGuid                      ## SOMETIMES_CONSUMES ## SystemTable

    136   gEfiAcpi10TableGuid                      ## SOMETIMES_CONSUMES ## SystemTable

    137   gEdkiiPiSmmMemoryAttributesTableGuid     ## CONSUMES ## SystemTable

    138 
    139 [FeaturePcd]
    140   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug                         ## CONSUMES

    141   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp            ## CONSUMES

    142   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection             ## CONSUMES

    143   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport                   ## CONSUMES

    144   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard                    ## CONSUMES

    145   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable                 ## CONSUMES

    146   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer             ## CONSUMES

    147   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock         ## CONSUMES

    148 
    149 [Pcd]
    150   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber        ## SOMETIMES_CONSUMES

    151   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize                   ## SOMETIMES_CONSUMES

    152   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize                     ## CONSUMES

    153   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout                 ## CONSUMES

    154   gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress                    ## SOMETIMES_CONSUMES

    155   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress               ## SOMETIMES_PRODUCES

    156   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable         ## CONSUMES

    157   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode                      ## CONSUMES

    158   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable               ## CONSUMES

    159   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable                   ## CONSUMES

    160 
    161 [Depex]
    162   gEfiMpServiceProtocolGuid
    163 
    164 [UserExtensions.TianoCore."ExtraFiles"]
    165   PiSmmCpuDxeSmmExtra.uni
    166