]> git.proxmox.com Git - mirror_edk2.git/commitdiff
merge the generation of SecMain into the whole build process.
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 16 Jul 2008 05:28:50 +0000 (05:28 +0000)
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 16 Jul 2008 05:28:50 +0000 (05:28 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5491 6f19259b-4bc3-4df7-8a09-765794883524

BaseTools/Conf/build_rule.template
BaseTools/Conf/tools_def.template
UnixPkg/Sec/SecMain.c
UnixPkg/Sec/SecMain.inf
UnixPkg/Sec/UnixThunk.c
UnixPkg/UnixPkg.dsc

index e981caac829358bbf369179983ce641624d3c140..bf667d208d0407496784ab6a8d819bd7aa4a1669 100644 (file)
         "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) $(LIBS) ${src}\r
 \r
     <Command.GCC>\r
-        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) $(LIBS) ${src} -\)\r
+        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) $(LIBS) ${src} -\) $(DLINK2_FLAGS)\r
 \r
 [Build.Dynamic-Library-File]\r
     <InputFile>\r
index 76cbec51527086ee62fab8142fd4fecf280f814e..a8413ee58b32d296dab36429de075b72c67b032a 100644 (file)
@@ -497,14 +497,14 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT
 *_ELFGCC_IA32_CC_PATH               = DEF(ELFGCC_BIN)/gcc\r
 *_ELFGCC_IA32_SLINK_PATH            = DEF(ELFGCC_BIN)/ar\r
 *_ELFGCC_IA32_DLINK_PATH            = DEF(ELFGCC_BIN)/ld\r
+*_ELFGCC_IA32_DLINK2_PATH           = DEF(ELFGCC_BIN)/ld\r
 *_ELFGCC_IA32_ASM_PATH              = DEF(ELFGCC_BIN)/gcc\r
 *_ELFGCC_IA32_PP_PATH               = DEF(ELFGCC_BIN)/gcc\r
 *_ELFGCC_IA32_VFRPP_PATH            = DEF(ELFGCC_BIN)/gcc\r
 *_ELFGCC_*_MAKE_PATH                    = make\r
 \r
-*_ELFGCC_*_MAKE_FLAGS                   = -i\r
 *_ELFGCC_IA32_CC_FLAGS                   = -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
-*_ELFGCC_*_DLINK_FLAGS                   = -melf_i386 -nostdlib --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT)\r
+*_ELFGCC_*_DLINK_FLAGS                   = -melf_i386 -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT)\r
 #*_ELFGCC_*_DLINK_FLAGS                   = -melf_i386 -nostdlib -n -q -Ttext 0x220 --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT)\r
 *_ELFGCC_*_ASM_FLAGS                     = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
 *_ELFGCC_*_PP_FLAGS                      = -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
index bfa44e7a17789c1f4247b032d9e2f3b905bb4f4f..2f2a1d26a26beb3b34fc4d9d0023ef425d3fc7c4 100644 (file)
@@ -53,17 +53,17 @@ EFI_PEI_PE_COFF_LOADER_PROTOCOL_INSTANCE  mPeiEfiPeiPeCoffLoaderInstance = {
 
 
 
-EFI_PEI_PE_COFF_LOADER_PROTOCOL           *gPeiEfiPeiPeCoffLoader = &mPeiEfiPeiPeCoffLoaderInstance.PeCoff;
+EFI_PEI_PE_COFF_LOADER_PROTOCOL           *gPeiEfiPeiPeCoffLoader    = &mPeiEfiPeiPeCoffLoaderInstance.PeCoff;
 
-UNIX_PEI_LOAD_FILE_PPI                      mSecNtLoadFilePpi     = { SecWinNtPeiLoadFile };
+UNIX_PEI_LOAD_FILE_PPI                    mSecNtLoadFilePpi          = { SecWinNtPeiLoadFile };
 
-PEI_UNIX_AUTOSCAN_PPI                       mSecNtAutoScanPpi     = { SecWinNtPeiAutoScan };
+PEI_UNIX_AUTOSCAN_PPI                     mSecNtAutoScanPpi          = { SecWinNtPeiAutoScan };
 
-PEI_UNIX_THUNK_PPI                          mSecWinNtThunkPpi     = { SecWinNtWinNtThunkAddress };
+PEI_UNIX_THUNK_PPI                        mSecWinNtThunkPpi          = { SecWinNtWinNtThunkAddress };
 
-EFI_PEI_PROGRESS_CODE_PPI                 mSecStatusCodePpi     = { SecPeiReportStatusCode };
+EFI_PEI_PROGRESS_CODE_PPI                 mSecStatusCodePpi          = { SecPeiReportStatusCode };
 
-UNIX_FWH_PPI                                mSecFwhInformationPpi = { SecWinNtFdAddress };
+UNIX_FWH_PPI                              mSecFwhInformationPpi      = { SecWinNtFdAddress };
 
 TEMPORARY_RAM_SUPPORT_PPI                 mSecTemporaryRamSupportPpi = {SecTemporaryRamSupport};
 
index 37152b08e7f7c0a1185345115efb88cd96ec3350..f3c00e8b0677f1a9c899a072a67eb7171fea979f 100644 (file)
@@ -18,7 +18,7 @@
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = SecMain\r
   FILE_GUID                      = f43be88c-8985-11db-8f78-0040d02b1835\r
-  MODULE_TYPE                    = SEC\r
+  MODULE_TYPE                    = USER_DEFINED\r
   VERSION_STRING                 = 1.0\r
   EDK_RELEASE_VERSION            = 0x00020000\r
   EFI_SPECIFICATION_VERSION      = 0x00020000\r
@@ -73,4 +73,8 @@
   gEfiUnixPkgTokenSpaceGuid.PcdUnixFirmwareFdSize\r
 \r
 [BuildOptions.common]\r
-  GCC:*_*_IA32_DLINK_FLAGS =\r
+   GCC:*_*_IA32_DLINK_FLAGS = -o $(BIN_DIR)/SecMain.exe -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\r
+   GCC:*_*_*_DLINK2_FLAGS = -lc\r
+   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\r
+   GCC:*_*_IA32_PP_FLAGS = -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
+   GCC:*_*_IA32_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
index 500568ad52e6ea1479eb984a2c7732c505b680e2..44dfb1682fb14cce555a2a14f9a225acd84ded1b 100644 (file)
@@ -58,6 +58,7 @@ VOID
 SetTimer (UINT64 PeriodMs, VOID (*CallBack)(UINT64 DeltaMs))
 {
   struct itimerval timerval;
+  UINT32 remainder;
 
   if (!settimer_initialized) {
     struct sigaction act;
@@ -73,9 +74,10 @@ SetTimer (UINT64 PeriodMs, VOID (*CallBack)(UINT64 DeltaMs))
       printf ("SetTimer: gettimeofday error %s\n", strerror (errno));
     }
   }
-  timerval.it_value.tv_sec = PeriodMs / 1000;
-  timerval.it_value.tv_usec = (PeriodMs % 1000) * 1000;
-  timerval.it_value.tv_sec = PeriodMs / 1000;
+  timerval.it_value.tv_sec = DivU64x32(PeriodMs, 1000);
+  DivU64x32Remainder(PeriodMs, 1000, &remainder);
+  timerval.it_value.tv_usec = remainder * 1000;
+  timerval.it_value.tv_sec = DivU64x32(PeriodMs, 1000);
   timerval.it_interval = timerval.it_value;
   
   if (setitimer (ITIMER_REAL, &timerval, NULL) != 0) {
index 7db8d82fc1563d1a3aefa9fb5ba3dac817cad6c8..77fa2ebb1a2fbdf198740378d2d2f1ca4168b223 100644 (file)
     <LibraryClasses>\r
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   }\r
-\r
-[BuildOptions]\r
-  DEBUG_*_IA32_DLINK_FLAGS = --shared\r
-  *_*_IA32_CC_FLAGS = -idirafter/usr/include\r