blob: e3ceb99ef96e8660dfd7d7897cc63a38888d590b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
## @file
# Entry Point of Emu Emulator
#
# Main executable file of Unix Emulator that loads PEI core after initialization finished.
# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = SecMain
FILE_GUID = 8863C0AD-7724-C84B-88E5-A33B116D1485
MODULE_TYPE = USER_DEFINED
VERSION_STRING = 1.0
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
[Sources]
SecMain.c
EmuThunk.c
X11GraphicsWindow.c
Pthreads.c
PosixFileSystem.c
BlockIo.c
LinuxPacketFilter.c
BerkeleyPacketFilter.c
[Sources.X64]
X64/Gasket.S # convert between Emu x86_64 ABI and EFI X64 ABI
X64/SwitchStack.S
[Sources.IA32]
Ia32/Gasket.S # enforce 16-byte stack alignment for Mac OS X
Ia32/SwitchStack.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
InOsEmuPkg/InOsEmuPkg.dec
[LibraryClasses]
DebugLib
PcdLib
PrintLib
BaseMemoryLib
BaseLib
PeCoffLib
ThunkPpiList
ThunkProtocolList
PpiListLib
PeiServicesLib
PeCoffGetEntryPointLib
[Ppis]
gEfiPeiStatusCodePpiGuid # PPI ALWAYS_PRODUCED
gEmuThunkPpiGuid
[Protocols]
gEmuIoThunkProtocolGuid
gEmuIoThunkProtocolGuid
gEmuGraphicsWindowProtocolGuid
gEmuThreadThunkProtocolGuid
gEmuBlockIoProtocolGuid
gEmuSnpProtocolGuid
gEfiSimpleFileSystemProtocolGuid
[Guids]
gEfiFileSystemVolumeLabelInfoIdGuid # SOMETIMES_CONSUMED
gEfiFileInfoGuid # SOMETIMES_CONSUMED
gEfiFileSystemInfoGuid # SOMETIMES_CONSUMED
[Pcd]
gInOsEmuPkgTokenSpaceGuid.PcdEmuBootMode
gInOsEmuPkgTokenSpaceGuid.PcdEmuFirmwareVolume
gInOsEmuPkgTokenSpaceGuid.PcdEmuMemorySize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFdBaseAddress
gInOsEmuPkgTokenSpaceGuid.PcdEmuFirmwareFdSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFirmwareBlockSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuApCount
gInOsEmuPkgTokenSpaceGuid.PcdEmuVirtualDisk
gInOsEmuPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"
gInOsEmuPkgTokenSpaceGuid.PcdEmuFileSystem
gInOsEmuPkgTokenSpaceGuid.PcdEmuSerialPort
gInOsEmuPkgTokenSpaceGuid.PcdEmuNetworkInterface
gInOsEmuPkgTokenSpaceGuid.PcdNetworkPacketFilterSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashFvRecoveryBase
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashFvRecoverySize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashNvStorageVariableBase
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogBase
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwWorkingBase
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
gInOsEmuPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
gInOsEmuPkgTokenSpaceGuid.PcdPeiServicesTablePage
[BuildOptions]
GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib/crtn.o
GCC:*_*_*_DLINK2_FLAGS == -lpthread -lc
GCC:*_*_IA32_CC_FLAGS == -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
GCC:*_*_IA32_PP_FLAGS == -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
GCC:*_*_IA32_ASM_FLAGS == -m32 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/crt1.o /usr/lib/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib/crtn.o
GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
#
# Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version
#
XCODE:*_*_IA32_DLINK_PATH == gcc
XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/SecMain -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
XCODE:*_*_IA32_ASM_FLAGS == -arch i386 -g
XCODE:*_*_X64_DLINK_PATH == gcc
XCODE:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
XCODE:*_*_X64_ASM_FLAGS == -g
|