]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/GenFds/Ffs.py
Sync EDKII BaseTools to BaseTools project r1971
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / Ffs.py
CommitLineData
30fdf114
LG
1## @file\r
2# process FFS generation\r
3#\r
40d841f6 4# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
30fdf114 5#\r
40d841f6 6# This program and the accompanying materials\r
30fdf114
LG
7# are licensed and made available under the terms and conditions of the BSD License\r
8# which accompanies this distribution. The full text of the license may be found at\r
9# http://opensource.org/licenses/bsd-license.php\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
14\r
15##\r
16# Import Modules\r
17#\r
18from CommonDataClass.FdfClass import FDClassObject\r
19\r
20## generate FFS\r
21#\r
22#\r
23class Ffs(FDClassObject):\r
24 \r
25 # mapping between MODULE type in FDF (from INF) and file type for GenFfs\r
26 ModuleTypeToFileType = {\r
27 'SEC' : 'EFI_FV_FILETYPE_SECURITY_CORE',\r
28 'PEI_CORE' : 'EFI_FV_FILETYPE_PEI_CORE',\r
29 'PEIM' : 'EFI_FV_FILETYPE_PEIM',\r
30 'DXE_CORE' : 'EFI_FV_FILETYPE_DXE_CORE',\r
31 'DXE_DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
32 'DXE_SAL_DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
33 'DXE_SMM_DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
34 'DXE_RUNTIME_DRIVER': 'EFI_FV_FILETYPE_DRIVER',\r
35 'UEFI_DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
36 'UEFI_APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION',\r
30fdf114
LG
37 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE'\r
38 }\r
39 \r
40 # mapping between FILE type in FDF and file type for GenFfs\r
41 FdfFvFileTypeToFileType = {\r
42 'SEC' : 'EFI_FV_FILETYPE_SECURITY_CORE',\r
43 'PEI_CORE' : 'EFI_FV_FILETYPE_PEI_CORE',\r
44 'PEIM' : 'EFI_FV_FILETYPE_PEIM',\r
45 'DXE_CORE' : 'EFI_FV_FILETYPE_DXE_CORE',\r
46 'FREEFORM' : 'EFI_FV_FILETYPE_FREEFORM',\r
47 'DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
48 'APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION',\r
49 'FV_IMAGE' : 'EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE',\r
50 'RAW' : 'EFI_FV_FILETYPE_RAW',\r
51 'PEI_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER',\r
30fdf114
LG
52 'SMM' : 'EFI_FV_FILETYPE_SMM',\r
53 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE'\r
54 }\r
55 \r
56 # mapping between section type in FDF and file suffix\r
57 SectionSuffix = {\r
58 'PE32' : '.pe32',\r
59 'PIC' : '.pic',\r
60 'TE' : '.te',\r
61 'DXE_DEPEX' : '.dpx',\r
62 'VERSION' : '.ver',\r
63 'UI' : '.ui',\r
64 'COMPAT16' : '.com16',\r
65 'RAW' : '.raw',\r
66 'FREEFORM_SUBTYPE_GUID': '.guid',\r
67 'FV_IMAGE' : 'fv.sec',\r
68 'COMPRESS' : '.com',\r
69 'GUIDED' : '.guided',\r
70 'PEI_DEPEX' : '.dpx',\r
b303ea72 71 'SMM_DEPEX' : '.dpx'\r
30fdf114
LG
72 }\r
73 \r
74 ## The constructor\r
75 #\r
76 # @param self The object pointer\r
77 #\r
78 def __init__(self):\r
79 FfsClassObject.__init__(self)\r