]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/BootScriptSaveOnS3SaveStateThunk/X64/AsmDispatchExecute.S
Fix CYG GCC build fail on retf.
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / BootScriptSaveOnS3SaveStateThunk / X64 / AsmDispatchExecute.S
index 62cab18709d17637e3f9ba7417718d0f274acc79..167e7d4cc1edb0b5b927fbc950a9b574717c080b 100644 (file)
@@ -107,7 +107,7 @@ ASM_PFX(AsmExecute32BitCode):
     lea     Compatible(%rip), %rdx # assume address < 4G\r
     orq     %rdx, %rcx\r
     push    %rcx\r
-    retf\r
+    .byte   0xcb                # retf\r
 \r
 Compatible:\r
     # reload DS/ES/SS to make sure they are correct referred to current GDT\r
@@ -173,7 +173,7 @@ ReturnBack:
     #\r
     # Reload cs register \r
     #   \r
-    retf\r
+    .byte   0xcb                # retf\r
 ReloadCS:   \r
     #\r
     # Now we're in Long Mode\r
@@ -200,11 +200,11 @@ ReloadCS:
     #\r
     pop     %r9                 # get  CS\r
     shl     $32, %r9            # rcx[32..47] <- Cs       \r
-    lea     @F(%rip), %rcx\r
+    lea     ReturnToLongMode(%rip), %rcx\r
     orq     %r9, %rcx\r
     push    %rcx\r
-    retf\r
-@@:        \r
+    .byte   0xcb                # retf\r
+ReturnToLongMode:\r
     #\r
     # Reload original DS/ES/SS\r
     #\r