2 # process FFS generation
4 # Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR>
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 from CommonDataClass
.FdfClass
import FDClassObject
19 from Common
.DataType
import *
24 class Ffs(FDClassObject
):
25 # mapping between FILE type in FDF and file type for GenFfs
26 FdfFvFileTypeToFileType
= {
27 SUP_MODULE_SEC
: 'EFI_FV_FILETYPE_SECURITY_CORE',
28 SUP_MODULE_PEI_CORE
: 'EFI_FV_FILETYPE_PEI_CORE',
29 SUP_MODULE_PEIM
: 'EFI_FV_FILETYPE_PEIM',
30 SUP_MODULE_DXE_CORE
: 'EFI_FV_FILETYPE_DXE_CORE',
31 'FREEFORM' : 'EFI_FV_FILETYPE_FREEFORM',
32 'DRIVER' : 'EFI_FV_FILETYPE_DRIVER',
33 'APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION',
34 'FV_IMAGE' : 'EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE',
35 'RAW' : 'EFI_FV_FILETYPE_RAW',
36 'PEI_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER',
37 'SMM' : 'EFI_FV_FILETYPE_SMM',
38 SUP_MODULE_SMM_CORE
: 'EFI_FV_FILETYPE_SMM_CORE',
39 SUP_MODULE_MM_STANDALONE
: 'EFI_FV_FILETYPE_MM_STANDALONE',
40 SUP_MODULE_MM_CORE_STANDALONE
: 'EFI_FV_FILETYPE_MM_CORE_STANDALONE'
43 # mapping between section type in FDF and file suffix
45 BINARY_FILE_TYPE_PE32
: '.pe32',
46 BINARY_FILE_TYPE_PIC
: '.pic',
47 BINARY_FILE_TYPE_TE
: '.te',
48 BINARY_FILE_TYPE_DXE_DEPEX
: '.dpx',
50 BINARY_FILE_TYPE_UI
: '.ui',
51 'COMPAT16' : '.com16',
53 'FREEFORM_SUBTYPE_GUID': '.guid',
54 'SUBTYPE_GUID' : '.guid',
55 'FV_IMAGE' : 'fv.sec',
58 BINARY_FILE_TYPE_PEI_DEPEX
: '.dpx',
59 BINARY_FILE_TYPE_SMM_DEPEX
: '.dpx'
64 # @param self The object pointer
67 FfsClassObject
.__init
__(self
)