]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/GenFds/Ffs.py
BaseTools: Replace StandardError with Expression
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / Ffs.py
1 ## @file
2 # process FFS generation
3 #
4 # Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR>
5 #
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
10 #
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.
13 #
14
15 ##
16 # Import Modules
17 #
18 from CommonDataClass.FdfClass import FDClassObject
19 from Common.DataType import *
20
21 ## generate FFS
22 #
23 #
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'
41 }
42
43 # mapping between section type in FDF and file suffix
44 SectionSuffix = {
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',
49 'VERSION' : '.ver',
50 BINARY_FILE_TYPE_UI : '.ui',
51 'COMPAT16' : '.com16',
52 'RAW' : '.raw',
53 'FREEFORM_SUBTYPE_GUID': '.guid',
54 'SUBTYPE_GUID' : '.guid',
55 'FV_IMAGE' : 'fv.sec',
56 'COMPRESS' : '.com',
57 'GUIDED' : '.guided',
58 BINARY_FILE_TYPE_PEI_DEPEX : '.dpx',
59 BINARY_FILE_TYPE_SMM_DEPEX : '.dpx'
60 }
61
62 ## The constructor
63 #
64 # @param self The object pointer
65 #
66 def __init__(self):
67 FfsClassObject.__init__(self)