]>
Commit | Line | Data |
---|---|---|
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 | |
18 | from CommonDataClass.FdfClass import FDClassObject\r | |
19 | \r | |
20 | ## generate FFS\r | |
21 | #\r | |
22 | #\r | |
23 | class 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 | |
b19df640 SV |
37 | 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE',\r |
38 | 'MM_STANDALONE' : 'EFI_FV_FILETYPE_MM_STANDALONE',\r | |
39 | 'MM_CORE_STANDALONE' : 'EFI_FV_FILETYPE_MM_CORE_STANDALONE'\r | |
30fdf114 LG |
40 | }\r |
41 | \r | |
42 | # mapping between FILE type in FDF and file type for GenFfs\r | |
43 | FdfFvFileTypeToFileType = {\r | |
44 | 'SEC' : 'EFI_FV_FILETYPE_SECURITY_CORE',\r | |
45 | 'PEI_CORE' : 'EFI_FV_FILETYPE_PEI_CORE',\r | |
46 | 'PEIM' : 'EFI_FV_FILETYPE_PEIM',\r | |
47 | 'DXE_CORE' : 'EFI_FV_FILETYPE_DXE_CORE',\r | |
48 | 'FREEFORM' : 'EFI_FV_FILETYPE_FREEFORM',\r | |
49 | 'DRIVER' : 'EFI_FV_FILETYPE_DRIVER',\r | |
50 | 'APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION',\r | |
51 | 'FV_IMAGE' : 'EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE',\r | |
52 | 'RAW' : 'EFI_FV_FILETYPE_RAW',\r | |
53 | 'PEI_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER',\r | |
30fdf114 | 54 | 'SMM' : 'EFI_FV_FILETYPE_SMM',\r |
b19df640 SV |
55 | 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE',\r |
56 | 'MM_STANDALONE' : 'EFI_FV_FILETYPE_MM_STANDALONE',\r | |
57 | 'MM_CORE_STANDALONE' : 'EFI_FV_FILETYPE_MM_CORE_STANDALONE'\r | |
30fdf114 LG |
58 | }\r |
59 | \r | |
60 | # mapping between section type in FDF and file suffix\r | |
61 | SectionSuffix = {\r | |
62 | 'PE32' : '.pe32',\r | |
63 | 'PIC' : '.pic',\r | |
64 | 'TE' : '.te',\r | |
65 | 'DXE_DEPEX' : '.dpx',\r | |
66 | 'VERSION' : '.ver',\r | |
67 | 'UI' : '.ui',\r | |
68 | 'COMPAT16' : '.com16',\r | |
69 | 'RAW' : '.raw',\r | |
70 | 'FREEFORM_SUBTYPE_GUID': '.guid',\r | |
64b2609f | 71 | 'SUBTYPE_GUID' : '.guid', \r |
30fdf114 LG |
72 | 'FV_IMAGE' : 'fv.sec',\r |
73 | 'COMPRESS' : '.com',\r | |
74 | 'GUIDED' : '.guided',\r | |
75 | 'PEI_DEPEX' : '.dpx',\r | |
b303ea72 | 76 | 'SMM_DEPEX' : '.dpx'\r |
30fdf114 LG |
77 | }\r |
78 | \r | |
79 | ## The constructor\r | |
80 | #\r | |
81 | # @param self The object pointer\r | |
82 | #\r | |
83 | def __init__(self):\r | |
84 | FfsClassObject.__init__(self)\r |