$(OUTPUT_DIR)\Start.com \\r
$(OUTPUT_DIR)\Start16.com \\r
$(OUTPUT_DIR)\Start32.com \\r
- $(OUTPUT_DIR)\efi32.com2\r
+ $(OUTPUT_DIR)\Start64.com \\r
+ $(OUTPUT_DIR)\St16_64.com \\r
+ $(OUTPUT_DIR)\St32_64.com \\r
+ $(OUTPUT_DIR)\efi32.com2 \\r
+ $(OUTPUT_DIR)\efi64.com2 \r
\r
INC = \r
\r
\r
#=============\r
\r
+$(OUTPUT_DIR)\Start64.obj:$(MODULE_DIR)\Start64.asm\r
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start64.obj" "$(MODULE_DIR)\Start64.asm"\r
+ \r
+$(OUTPUT_DIR)\Start64.com:$(OUTPUT_DIR)\Start64.obj\r
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start64.obj,$(OUTPUT_DIR)\Start64.com,$(OUTPUT_DIR)\Start64.map,,,\r
+\r
+#=============\r
+\r
+$(OUTPUT_DIR)\St16_64.obj:$(MODULE_DIR)\St16_64.asm\r
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\St16_64.obj" "$(MODULE_DIR)\St16_64.asm"\r
+ \r
+$(OUTPUT_DIR)\St16_64.com:$(OUTPUT_DIR)\St16_64.obj\r
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\St16_64.obj,$(OUTPUT_DIR)\St16_64.com,$(OUTPUT_DIR)\St16_64.map,,,\r
+\r
+#=============\r
+\r
+$(OUTPUT_DIR)\St32_64.obj:$(MODULE_DIR)\St32_64.asm\r
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\St32_64.obj" "$(MODULE_DIR)\St32_64.asm"\r
+ \r
+$(OUTPUT_DIR)\St32_64.com:$(OUTPUT_DIR)\St32_64.obj\r
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\St32_64.obj,$(OUTPUT_DIR)\St32_64.com,$(OUTPUT_DIR)\St32_64.map,,,\r
+\r
+#=============\r
+\r
$(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm\r
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"\r
\r
\r
$(OUTPUT_DIR)\efi32.com2:$(OUTPUT_DIR)\efi32.com\r
$(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi32.com -t $(OUTPUT_DIR)\efi32.com2 -s 135168\r
-#\r
-# clean all generated files\r
-#\r
\r
-loader:$(BUILD_DIR)\FV\Efildr\r
+#=============\r
+\r
+$(OUTPUT_DIR)\efi64.obj:$(MODULE_DIR)\efi64.asm\r
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi64.obj" "$(MODULE_DIR)\efi64.asm"\r
+ \r
+$(OUTPUT_DIR)\efi64.com:$(OUTPUT_DIR)\efi64.obj\r
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\efi64.obj,$(OUTPUT_DIR)\efi64.com,$(OUTPUT_DIR)\efi64.map,,,\r
+\r
+#=============\r
+\r
+$(OUTPUT_DIR)\efi64.com2:$(OUTPUT_DIR)\efi64.com\r
+ $(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi64.com -t $(OUTPUT_DIR)\efi64.com2 -s 135168\r
\r
-$(BUILD_DIR)\FV\DUETEFIMAINFV.z:$(BUILD_DIR)\FV\DUETEFIMAINFV.Fv\r
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DUETEFIMAINFV.z $(BUILD_DIR)\FV\DUETEFIMAINFV.Fv\r
- \r
-$(BUILD_DIR)\FV\DxeMain.z:$(BUILD_DIR)\IA32\DxeMain.efi \r
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeMain.z $(BUILD_DIR)\IA32\DxeMain.efi\r
- \r
-$(BUILD_DIR)\FV\DxeIpl.z:$(BUILD_DIR)\IA32\DxeIpl.efi \r
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\IA32\DxeIpl.efi\r
- \r
-$(BUILD_DIR)\FV\Efildr32:$(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z\r
- $(BASETOOLS_DIR)\EfiLdrImage.exe -o $(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DxeMain.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z\r
- \r
-$(BUILD_DIR)\FV\Efildr:$(OUTPUT_DIR)\Start.com $(OUTPUT_DIR)\Efi32.com2 $(BUILD_DIR)\FV\Efildr32\r
- copy /b $(OUTPUT_DIR)\Start.com+$(OUTPUT_DIR)\Efi32.com2+$(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\FV\Efildr\r
\r
clean:\r
if exist $(DEBUG_DIR) rmdir /s /q $(DEBUG_DIR)\r
\r
\r
\r
- wbinvd\r
+ ;wbinvd\r
@@: \r
jmp @b\r
\r
mov byte ptr [edi], bl\r
add edi, 2\r
loop looptop\r
- wbinvd\r
+ ;wbinvd\r
\r
pop eax\r
pop ebx\r
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
- MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf\r
\r
# ISA Support\r
DuetPkg/IsaAcpiDxe/IsaAcpi.inf\r
[BuildOptions.common]\r
MSFT:*_*_*_CC_FLAGS = /Fa$* /FAsc /FR$(@R).SBR\r
MSFT:*_*_IA32_CC_FLAGS = /D EFI32\r
- MSFT:*_*_X64_CC_FLAGS = /D EFI64
\ No newline at end of file
+ MSFT:*_*_X64_CC_FLAGS = /D EFIX64\r
+ MSFT:*_*_IPF_CC_FLAGS = /D EFI64
\ No newline at end of file
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
-INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf\r
\r
# ISA Support\r
INF DuetPkg/IsaAcpiDxe/IsaAcpi.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
-INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
+#INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
\r
-INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
+#INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
+#INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+#INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
\r
-FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
- SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi\r
- }\r
-\r
-#FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {\r
-# SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi\r
+#FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
+# SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi\r
# }\r
\r
[Rule.Common.PEI_CORE]\r
// Decompress the image\r
//\r
\r
- AsciiSPrint (PrintBuffer, 256, "Decompress BFV image, Image Address=0x%x! Offset=0x%x\n", \r
+ AsciiSPrint (PrintBuffer, 256, "Decompress BFV image, Image Address=0x%x Offset=0x%x\n", \r
(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
EFILDRImage->Offset);\r
PrintString (PrintBuffer);\r
//\r
// Decompress the image\r
//\r
- AsciiSPrint (PrintBuffer, 256, "Decompress DxeIpl image, Image Address=0x%x! Offset=0x%x\n", \r
+ AsciiSPrint (PrintBuffer, 256, "Decompress DxeIpl image, Image Address=0x%x Offset=0x%x\n", \r
(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
EFILDRImage->Offset);\r
PrintString (PrintBuffer);\r
-#\r
-# Currently, Build system does not provide post build mechanism for module \r
-# and platform building, so just use a bat file to do post build commands.\r
-# Originally, following post building command is for EfiLoader module.\r
-#\r
-\r
-set BUILD_DIR=%WORKSPACE%\Build\DuetPkg\DEBUG_MYTOOLS\r
-set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32\r
-set OUTPUT_DIR=%BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\r
-\r
-%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
-%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\IA32\DxeMain.efi\r
-%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\IA32\DxeIpl.efi\r
-%BASETOOLS_DIR%\EfiLdrImage.exe -o %BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\IA32\EfiLoader.efi %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\FV\DUETEFIMAINFV.z\r
-copy /b %OUTPUT_DIR%\Start.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr\r
-copy /b %OUTPUT_DIR%\Start16.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr16\r
-copy /b %OUTPUT_DIR%\Start32.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr20\r
+@REM \r
+@REM Currently, Build system does not provide post build mechanism for module \r
+@REM and platform building, so just use a bat file to do post build commands.\r
+@REM Originally, following post building command is for EfiLoader module.\r
+@REM \r
\r
+@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg\DEBUG_MYTOOLS\r
+@REM @set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32\r
+@set BASETOOLS_DIR=m:\tree\BaseTools\Bin\Win32\r
+@set PROCESSOR=""\r
+\r
+@if "%1"=="" goto NoArch\r
+@if "%1"=="IA32" set PROCESSOR=IA32\r
+@if "%1"=="X64" set PROCESSOR=X64\r
+@if %PROCESSOR%=="" goto WrongArch\r
+\r
+@set OUTPUT_DIR=%BUILD_DIR%\%PROCESSOR%\DuetPkg\BootSector\BootSector\OUTPUT\r
+\r
+@echo Compressing DUETEFIMainFv.FV ...\r
+@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
+\r
+@echo Compressing DxeMain.efi ...\r
+@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\%PROCESSOR%\DxeMain.efi\r
+\r
+@echo Compressing DxeIpl.efi ...\r
+@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\%PROCESSOR%\DxeIpl.efi\r
+\r
+@echo Generate Loader Image ...\r
+@if "%PROCESSOR%"=="IA32" goto GENERATE_IMAGE_IA32\r
+@if "%PROCESSOR%"=="X64" goto GENERATE_IMAGE_X64\r
+\r
+:GENERATE_IMAGE_IA32\r
+@%BASETOOLS_DIR%\EfiLdrImage.exe -o %BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\%PROCESSOR%\EfiLoader.efi %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\FV\DUETEFIMAINFV.z\r
+@copy /b %OUTPUT_DIR%\Start.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr\r
+@copy /b %OUTPUT_DIR%\Start16.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr16\r
+@copy /b %OUTPUT_DIR%\Start32.com+%OUTPUT_DIR%\Efi32.com2+%BUILD_DIR%\FV\Efildr32 %BUILD_DIR%\FV\Efildr20\r
+@goto end\r
+\r
+:GENERATE_IMAGE_X64\r
+@%BASETOOLS_DIR%\EfiLdrImage.exe -o %BUILD_DIR%\FV\Efildr64 %BUILD_DIR%\%PROCESSOR%\EfiLoader.efi %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\FV\DUETEFIMAINFV.z\r
+@copy /b %OUTPUT_DIR%\Start64.com+%OUTPUT_DIR%\Efi64.com2+%BUILD_DIR%\FV\Efildr64 %BUILD_DIR%\FV\EfildrPure\r
+@%BASETOOLS_DIR%\GenPage.exe %BUILD_DIR%\FV\EfildrPure -o %BUILD_DIR%\FV\Efildr\r
+@copy /b %OUTPUT_DIR%\St16_64.com+%OUTPUT_DIR%\Efi64.com2+%BUILD_DIR%\FV\Efildr64 %BUILD_DIR%\FV\Efildr16Pure\r
+@%BASETOOLS_DIR%\GenPage.exe %BUILD_DIR%\FV\Efildr16Pure -o %BUILD_DIR%\FV\Efildr16\r
+@copy /b %OUTPUT_DIR%\St32_64.com+%OUTPUT_DIR%\Efi64.com2+%BUILD_DIR%\FV\Efildr64 %BUILD_DIR%\FV\Efildr20Pure\r
+@%BASETOOLS_DIR%\GenPage.exe %BUILD_DIR%\FV\Efildr20Pure -o %BUILD_DIR%\FV\Efildr20\r
+@goto end\r
+\r
+\r
+:NoArch\r
+@echo Error! Please specific the architecture.\r
+@goto Help\r
+\r
+:WrongArch\r
+@echo Error! Wrong architecture.\r
+@goto Help\r
+\r
+:Help\r
+@echo Usage: "PostBuild [IA32|X64]"\r
+:end
\ No newline at end of file