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

      2 # Coreboot Payload Package

      3 #

      4 # Provides drivers and definitions to create uefi payload for coreboot.

      5 #

      6 # Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>

      7 # This program and the accompanying materials are licensed and made available under

      8 # the terms and conditions of the BSD License that accompanies this distribution.

      9 # The full text of the license may be found at

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

     11 #

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

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

     14 #

     15 ##

     16 
     17 ################################################################################

     18 [FD.UefiPayload]
     19 BaseAddress   = 0x800000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemBase
     20 Size          = 0x410000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemSize
     21 ErasePolarity = 1
     22 BlockSize     = 0x1000
     23 NumBlocks     = 0x410
     24 
     25 0x00000000|0x030000
     26 FV = PEIFV
     27 
     28 0x00030000|0x3E0000
     29 FV = DXEFV
     30 
     31 ################################################################################

     32 [FV.PEIFV]
     33 BlockSize          = 0x1000
     34 FvAlignment        = 16
     35 ERASE_POLARITY     = 1
     36 MEMORY_MAPPED      = TRUE
     37 STICKY_WRITE       = TRUE
     38 LOCK_CAP           = TRUE
     39 LOCK_STATUS        = TRUE
     40 WRITE_DISABLED_CAP = TRUE
     41 WRITE_ENABLED_CAP  = TRUE
     42 WRITE_STATUS       = TRUE
     43 WRITE_LOCK_CAP     = TRUE
     44 WRITE_LOCK_STATUS  = TRUE
     45 READ_DISABLED_CAP  = TRUE
     46 READ_ENABLED_CAP   = TRUE
     47 READ_STATUS        = TRUE
     48 READ_LOCK_CAP      = TRUE
     49 READ_LOCK_STATUS   = TRUE
     50 
     51 INF CorebootModulePkg/SecCore/SecCore.inf
     52 
     53 INF MdeModulePkg/Core/Pei/PeiMain.inf
     54 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
     55 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
     56 INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
     57 INF CorebootModulePkg/CbSupportPei/CbSupportPei.inf
     58 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
     59 
     60 ################################################################################

     61 
     62 [FV.DXEFV]
     63 BlockSize          = 0x1000
     64 FvForceRebase      = FALSE
     65 FvAlignment        = 16
     66 ERASE_POLARITY     = 1
     67 MEMORY_MAPPED      = TRUE
     68 STICKY_WRITE       = TRUE
     69 LOCK_CAP           = TRUE
     70 LOCK_STATUS        = TRUE
     71 WRITE_DISABLED_CAP = TRUE
     72 WRITE_ENABLED_CAP  = TRUE
     73 WRITE_STATUS       = TRUE
     74 WRITE_LOCK_CAP     = TRUE
     75 WRITE_LOCK_STATUS  = TRUE
     76 READ_DISABLED_CAP  = TRUE
     77 READ_ENABLED_CAP   = TRUE
     78 READ_STATUS        = TRUE
     79 READ_LOCK_CAP      = TRUE
     80 READ_LOCK_STATUS   = TRUE
     81 
     82 #

     83 # DXE Phase modules

     84 #

     85 INF MdeModulePkg/Core/Dxe/DxeMain.inf
     86 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
     87 INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
     88 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
     89 
     90 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
     91 INF UefiCpuPkg/CpuDxe/CpuDxe.inf
     92 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
     93 INF MdeModulePkg/Application/UiApp/UiApp.inf
     94 !if $(USE_HPET_TIMER) == TRUE
     95 INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
     96 !else
     97 INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
     98 !endif
     99 INF MdeModulePkg/Universal/Metronome/Metronome.inf
    100 INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    101 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    102 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    103 INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    104 INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
    105 INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
    106 INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
    107 
    108 INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
    109 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    110 INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
    111 INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
    112 INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    113 INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    114 INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    115 INF CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf
    116 
    117 INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
    118 #

    119 # PCI Support

    120 #

    121 INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
    122 INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
    123 
    124 #

    125 # ISA Support

    126 #

    127 INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
    128 
    129 #

    130 # Console Support

    131 #

    132 INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    133 INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    134 INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
    135 INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    136 
    137 #

    138 # SCSI/ATA/IDE/DISK Support

    139 #

    140 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    141 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    142 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    143 INF CorebootModulePkg/SataControllerDxe/SataControllerDxe.inf
    144 INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
    145 INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
    146 INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    147 INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    148 
    149 INF FatPkg/EnhancedFatDxe/Fat.inf
    150 
    151 #

    152 # SD/eMMC Support

    153 #

    154 INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
    155 INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
    156 INF MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
    157 
    158 #

    159 # Usb Support

    160 #

    161 INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
    162 INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
    163 INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
    164 INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    165 INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
    166 INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    167 
    168 #

    169 # OHCI Support

    170 #

    171 INF QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf
    172 
    173 #

    174 # Shell

    175 #

    176 !if $(SHELL_TYPE) == BUILD_SHELL
    177 INF ShellPkg/Application/Shell/Shell.inf
    178 !endif
    179 
    180 !if $(SHELL_TYPE) == FULL_BIN
    181 !if $(ARCH) == IA32
    182 INF  RuleOverride = BINARY USE = IA32 EdkShellBinPkg/FullShell/FullShell.inf
    183 !else
    184 INF  RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf
    185 !endif
    186 !endif
    187 
    188 !if $(SHELL_TYPE) == MIN_BIN
    189 !if $(ARCH) == IA32
    190 INF  RuleOverride = BINARY USE = IA32 ShellBinPkg/MinUefiShell/MinUefiShell.inf
    191 !else
    192 INF  RuleOverride = BINARY USE = X64 ShellBinPkg/MinUefiShell/MinUefiShell.inf
    193 !endif
    194 !endif
    195 
    196 !if $(SHELL_TYPE) == UEFI_BIN
    197 !if $(ARCH) == IA32
    198 INF  RuleOverride = BINARY USE = IA32 ShellBinPkg/UefiShell/UefiShell.inf
    199 !else
    200 INF  RuleOverride = BINARY USE = X64 ShellBinPkg/UefiShell/UefiShell.inf
    201 !endif
    202 !endif
    203 
    204 FILE FREEFORM    = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
    205   SECTION RAW = MdeModulePkg/Logo/Logo.bmp
    206 }
    207 
    208 #

    209 # Framebuffer Gop

    210 #

    211 INF CorebootPayloadPkg/FbGop/FbGop.inf
    212 
    213 ################################################################################

    214 #

    215 # Rules are use with the [FV] section's module INF type to define

    216 # how an FFS file is created for a given INF file. The following Rule are the default

    217 # rules for the different module type. User can add the customized rules to define the

    218 # content of the FFS file.

    219 #

    220 ################################################################################

    221 
    222 [Rule.Common.SEC]
    223   FILE SEC = $(NAMED_GUID) {
    224     PE32     PE32   Align=32    $(INF_OUTPUT)/$(MODULE_NAME).efi
    225   }
    226 
    227 [Rule.Common.PEI_CORE]
    228   FILE PEI_CORE = $(NAMED_GUID) {
    229     PE32     PE32   Align=Auto    $(INF_OUTPUT)/$(MODULE_NAME).efi
    230     UI       STRING ="$(MODULE_NAME)" Optional
    231     VERSION  STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    232   }
    233 
    234 [Rule.Common.PEIM]
    235   FILE PEIM = $(NAMED_GUID) {
    236      PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
    237      PE32      PE32   Align=Auto           $(INF_OUTPUT)/$(MODULE_NAME).efi
    238      UI       STRING="$(MODULE_NAME)" Optional
    239      VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    240   }
    241 
    242 [Rule.Common.DXE_CORE]
    243   FILE DXE_CORE = $(NAMED_GUID) {
    244     PE32     PE32           $(INF_OUTPUT)/$(MODULE_NAME).efi
    245     UI       STRING="$(MODULE_NAME)" Optional
    246     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    247   }
    248 
    249 [Rule.Common.DXE_DRIVER]
    250   FILE DRIVER = $(NAMED_GUID) {
    251     DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
    252     PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
    253     UI       STRING="$(MODULE_NAME)" Optional
    254     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    255   }
    256 
    257 [Rule.Common.DXE_RUNTIME_DRIVER]
    258   FILE DRIVER = $(NAMED_GUID) {
    259     DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
    260     PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
    261     UI       STRING="$(MODULE_NAME)" Optional
    262     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    263   }
    264 
    265 [Rule.Common.UEFI_DRIVER]
    266   FILE DRIVER = $(NAMED_GUID) {
    267     DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
    268     PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
    269     UI       STRING="$(MODULE_NAME)" Optional
    270     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    271   }
    272 
    273 [Rule.Common.UEFI_DRIVER.BINARY]
    274   FILE DRIVER = $(NAMED_GUID) {
    275     DXE_DEPEX DXE_DEPEX Optional      |.depex
    276     PE32      PE32                    |.efi
    277     UI        STRING="$(MODULE_NAME)" Optional
    278     VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    279   }
    280 
    281 [Rule.Common.UEFI_APPLICATION]
    282   FILE APPLICATION = $(NAMED_GUID) {
    283     PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
    284     UI       STRING="$(MODULE_NAME)" Optional
    285     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    286   }
    287 
    288 [Rule.Common.UEFI_APPLICATION.BINARY]
    289   FILE APPLICATION = $(NAMED_GUID) {
    290     PE32      PE32                    |.efi
    291     UI        STRING="$(MODULE_NAME)" Optional
    292     VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    293   }
    294 
    295 [Rule.Common.USER_DEFINED.ACPITABLE]
    296   FILE FREEFORM = $(NAMED_GUID) {
    297     RAW ACPI               |.acpi
    298     RAW ASL                |.aml
    299   }
    300 
    301 [Rule.Common.USER_DEFINED.CSM]
    302   FILE FREEFORM = $(NAMED_GUID) {
    303     RAW BIN                |.bin
    304   }
    305 
    306 [Rule.Common.SEC.RESET_VECTOR]
    307   FILE RAW = $(NAMED_GUID) {
    308     RAW RAW                |.raw
    309   }
    310