]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/GenFds/Ffs.py
Check In tool source code based on Build tool project revision r1655.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / Ffs.py
CommitLineData
30fdf114
LG
1## @file\r
2# process FFS generation\r
3#\r
4# Copyright (c) 2007, Intel Corporation\r
5#\r
6# All rights reserved. This program and the accompanying materials\r
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
37 'SMM_DRIVER' : 'EFI_FV_FILETYPE_SMM',\r
38 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE'\r
39 }\r
40 \r
41 # mapping between FILE type in FDF and file type for GenFfs\r
42 FdfFvFileTypeToFileType = {\r
43 'SEC' : 'EFI_FV_FILETYPE_SECURITY_CORE',\r
44 'PEI_CORE' : 'EFI_FV_FILETYPE_PEI_CORE',\r
45 'PEIM' : 'EFI_FV_FILETYPE_PEIM',\r
46 'DXE_CORE' : 'EFI_FV_FILETYPE_DXE_CORE',\r
47 'FREEFORM' : 'EFI_FV_FILETYPE_FREEFORM',\r
48 'DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r
49 'APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION',\r
50 'FV_IMAGE' : 'EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE',\r
51 'RAW' : 'EFI_FV_FILETYPE_RAW',\r
52 'PEI_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER',\r
53 'SMM_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_SMM_DXE',\r
54 'SMM' : 'EFI_FV_FILETYPE_SMM',\r
55 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE'\r
56 }\r
57 \r
58 # mapping between section type in FDF and file suffix\r
59 SectionSuffix = {\r
60 'PE32' : '.pe32',\r
61 'PIC' : '.pic',\r
62 'TE' : '.te',\r
63 'DXE_DEPEX' : '.dpx',\r
64 'VERSION' : '.ver',\r
65 'UI' : '.ui',\r
66 'COMPAT16' : '.com16',\r
67 'RAW' : '.raw',\r
68 'FREEFORM_SUBTYPE_GUID': '.guid',\r
69 'FV_IMAGE' : 'fv.sec',\r
70 'COMPRESS' : '.com',\r
71 'GUIDED' : '.guided',\r
72 'PEI_DEPEX' : '.dpx',\r
73 'SMM_DEPEX' : '.smm'\r
74 }\r
75 \r
76 ## The constructor\r
77 #\r
78 # @param self The object pointer\r
79 #\r
80 def __init__(self):\r
81 FfsClassObject.__init__(self)\r