summaryrefslogtreecommitdiff
path: root/DuetPkg/BootSector
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-05-08 06:22:31 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-05-08 06:22:31 +0000
commitc5dfb4770b115c57563c07d1f4379f45c2904caf (patch)
tree06e9d5a94ffe8394f6eef9c820775e761fe461fb /DuetPkg/BootSector
parenta8d0c20e7aa01e4f676003650b3b1c7cb40028ba (diff)
downloadedk2-platforms-c5dfb4770b115c57563c07d1f4379f45c2904caf.tar.xz
Support X64 build for DUET platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5183 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'DuetPkg/BootSector')
-rw-r--r--DuetPkg/BootSector/Makefile60
-rw-r--r--DuetPkg/BootSector/efi64.asm4
2 files changed, 43 insertions, 21 deletions
diff --git a/DuetPkg/BootSector/Makefile b/DuetPkg/BootSector/Makefile
index aaa8ac1daa..8133e7a278 100644
--- a/DuetPkg/BootSector/Makefile
+++ b/DuetPkg/BootSector/Makefile
@@ -22,7 +22,11 @@ TARGET_FILES = $(OUTPUT_DIR)\bootsect.com \
$(OUTPUT_DIR)\Start.com \
$(OUTPUT_DIR)\Start16.com \
$(OUTPUT_DIR)\Start32.com \
- $(OUTPUT_DIR)\efi32.com2
+ $(OUTPUT_DIR)\Start64.com \
+ $(OUTPUT_DIR)\St16_64.com \
+ $(OUTPUT_DIR)\St32_64.com \
+ $(OUTPUT_DIR)\efi32.com2 \
+ $(OUTPUT_DIR)\efi64.com2
INC =
@@ -100,6 +104,30 @@ $(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj
#=============
+$(OUTPUT_DIR)\Start64.obj:$(MODULE_DIR)\Start64.asm
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\Start64.obj" "$(MODULE_DIR)\Start64.asm"
+
+$(OUTPUT_DIR)\Start64.com:$(OUTPUT_DIR)\Start64.obj
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\Start64.obj,$(OUTPUT_DIR)\Start64.com,$(OUTPUT_DIR)\Start64.map,,,
+
+#=============
+
+$(OUTPUT_DIR)\St16_64.obj:$(MODULE_DIR)\St16_64.asm
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\St16_64.obj" "$(MODULE_DIR)\St16_64.asm"
+
+$(OUTPUT_DIR)\St16_64.com:$(OUTPUT_DIR)\St16_64.obj
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\St16_64.obj,$(OUTPUT_DIR)\St16_64.com,$(OUTPUT_DIR)\St16_64.map,,,
+
+#=============
+
+$(OUTPUT_DIR)\St32_64.obj:$(MODULE_DIR)\St32_64.asm
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\St32_64.obj" "$(MODULE_DIR)\St32_64.asm"
+
+$(OUTPUT_DIR)\St32_64.com:$(OUTPUT_DIR)\St32_64.obj
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\St32_64.obj,$(OUTPUT_DIR)\St32_64.com,$(OUTPUT_DIR)\St32_64.map,,,
+
+#=============
+
$(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm
"$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
@@ -110,26 +138,20 @@ $(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj
$(OUTPUT_DIR)\efi32.com2:$(OUTPUT_DIR)\efi32.com
$(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi32.com -t $(OUTPUT_DIR)\efi32.com2 -s 135168
-#
-# clean all generated files
-#
-loader:$(BUILD_DIR)\FV\Efildr
+#=============
+
+$(OUTPUT_DIR)\efi64.obj:$(MODULE_DIR)\efi64.asm
+ "$(ASM16)" /c /omf /Fo"$(OUTPUT_DIR)\efi64.obj" "$(MODULE_DIR)\efi64.asm"
+
+$(OUTPUT_DIR)\efi64.com:$(OUTPUT_DIR)\efi64.obj
+ "$(ASMLINK16)" /tiny $(OUTPUT_DIR)\efi64.obj,$(OUTPUT_DIR)\efi64.com,$(OUTPUT_DIR)\efi64.map,,,
+
+#=============
+
+$(OUTPUT_DIR)\efi64.com2:$(OUTPUT_DIR)\efi64.com
+ $(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi64.com -t $(OUTPUT_DIR)\efi64.com2 -s 135168
-$(BUILD_DIR)\FV\DUETEFIMAINFV.z:$(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DUETEFIMAINFV.z $(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
-
-$(BUILD_DIR)\FV\DxeMain.z:$(BUILD_DIR)\IA32\DxeMain.efi
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeMain.z $(BUILD_DIR)\IA32\DxeMain.efi
-
-$(BUILD_DIR)\FV\DxeIpl.z:$(BUILD_DIR)\IA32\DxeIpl.efi
- $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\IA32\DxeIpl.efi
-
-$(BUILD_DIR)\FV\Efildr32:$(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z
- $(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
-
-$(BUILD_DIR)\FV\Efildr:$(OUTPUT_DIR)\Start.com $(OUTPUT_DIR)\Efi32.com2 $(BUILD_DIR)\FV\Efildr32
- copy /b $(OUTPUT_DIR)\Start.com+$(OUTPUT_DIR)\Efi32.com2+$(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\FV\Efildr
clean:
if exist $(DEBUG_DIR) rmdir /s /q $(DEBUG_DIR)
diff --git a/DuetPkg/BootSector/efi64.asm b/DuetPkg/BootSector/efi64.asm
index bbf8fee35a..7960385bd1 100644
--- a/DuetPkg/BootSector/efi64.asm
+++ b/DuetPkg/BootSector/efi64.asm
@@ -597,7 +597,7 @@ InnerLoop1:
- wbinvd
+ ;wbinvd
@@:
jmp @b
@@ -690,7 +690,7 @@ looptop:
mov byte ptr [edi], bl
add edi, 2
loop looptop
- wbinvd
+ ;wbinvd
pop eax
pop ebx