Home | History | Annotate | Download | only in Sec
      1 ## @file

      2 # Entry Point of NT32 Emulator

      3 #

      4 # Main executable file of NT32 Emulator that loads PEI core after initialization finished.

      5 #

      6 #  Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>

      7 #  This program and the accompanying materials

      8 #  are licensed and made available under the terms and conditions of the BSD License

      9 #  which accompanies this distribution. The full text of the license may be found at

     10 #  http://opensource.org/licenses/bsd-license.php

     11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     13 #

     14 ##

     15 
     16 [Defines]
     17   INF_VERSION                    = 0x00010005
     18   BASE_NAME                      = SecMain
     19   FILE_GUID                      = 4b837b03-6587-4d19-b82b-edfad836c0a0
     20   MODULE_TYPE                    = USER_DEFINED
     21   VERSION_STRING                 = 1.0
     22 
     23 #

     24 # The following information is for reference only and not required by the build tools.

     25 #

     26 #  VALID_ARCHITECTURES           = IA32

     27 #

     28 
     29 [Sources]
     30   SecMain.h
     31   WinNtThunk.c
     32   FwVol.c
     33   SecMain.c
     34 
     35 [Sources.ia32]
     36   Stack.asm
     37 
     38 [Sources.x64]
     39   StackX64.asm
     40 
     41 [Packages]
     42   MdePkg/MdePkg.dec
     43   MdeModulePkg/MdeModulePkg.dec
     44   Nt32Pkg/Nt32Pkg.dec
     45 
     46 [LibraryClasses]
     47   DebugLib
     48   PcdLib
     49   PrintLib
     50   BaseMemoryLib
     51   BaseLib
     52   PeCoffLib
     53   ReportStatusCodeLib
     54 
     55 [Ppis]
     56   gNtPeiLoadFilePpiGuid                         # PPI ALWAYS_PRODUCED

     57   gEfiPeiStatusCodePpiGuid                      # PPI ALWAYS_PRODUCED

     58   gNtFwhPpiGuid                                 # PPI ALWAYS_PRODUCED

     59   gPeiNtAutoScanPpiGuid                         # PPI ALWAYS_PRODUCED

     60   gPeiNtThunkPpiGuid                            # PPI ALWAYS_PRODUCED

     61   gEfiTemporaryRamSupportPpiGuid
     62 
     63 [Pcd]
     64   gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode
     65   gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareFdSize
     66   gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain
     67   gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume
     68 
     69 [BuildOptions]
     70   MSFT:*_*_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     71   MSFT:*_VS2015_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     72   MSFT:*_VS2015x86_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     73   MSFT:*_*_IA32_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
     74   MSFT:*_*_IA32_PP_FLAGS == /nologo /E /TC /FIAutoGen.h
     75   MSFT:*_*_IA32_ASM_FLAGS == /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi
     76   MSFT:*_*_IA32_ASMLINK_FLAGS       == /link /nologo /tiny
     77 
     78   MSFT:*_*_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib\AMD64" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     79   MSFT:*_VS2015_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib\AMD64" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     80   MSFT:*_VS2015x86_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib\AMD64" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
     81   MSFT:*_*_X64_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
     82   MSFT:*_*_X64_PP_FLAGS == /nologo /E /TC /FIAutoGen.h
     83   MSFT:*_*_X64_ASM_FLAGS == /nologo /W3 /WX /c /Cx /Zd /W0 /Zi
     84   MSFT:*_*_X64_ASMLINK_FLAGS       == /link /nologo
     85 
     86   INTEL:*_*_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"C:\Program Files\Intel\Compiler\C++\9.1\IA32\Lib" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib
     87   INTEL:*_*_IA32_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
     88   INTEL:*_*_IA32_PP_FLAGS == /nologo /E /TC /FIAutoGen.h
     89   INTEL:*_*_IA32_ASM_FLAGS == /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi
     90   INTEL:*_*_IA32_ASMLINK_FLAGS       == /link /nologo /tiny
     91