summaryrefslogtreecommitdiff
path: root/InOsEmuPkg/Unix/Sec/SecMain.inf
blob: 4dc0a67008f4f745fd25442d0b2d3ef3779d6053 (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
136
## @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
  MemoryAllocationLib.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