]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/BaseLib.h
1. Updated SetJump() and LongJump() for IPF
[mirror_edk2.git] / MdePkg / Include / Library / BaseLib.h
index 7fb2e64dfbbc427bc23e3e85b7565dc402a18b86..e042ccb712641e0809b66793e3bb04b5ed610717 100644 (file)
@@ -45,65 +45,44 @@ typedef struct {
 // IPF context buffer used by SetJump() and LongJump()\r
 //\r
 typedef struct {\r
-  UINT64                            InitialUNAT;\r
-  UINT64                            AfterSpillUNAT;\r
-  UINT64                            PFS;\r
-  UINT64                            BSP;\r
-  UINT64                            RNAT;\r
-  UINT64                            Predicates;\r
-  UINT64                            LoopCount;\r
+  UINT64                            F2[2];\r
+  UINT64                            F3[2];\r
+  UINT64                            F4[2];\r
+  UINT64                            F5[2];\r
+  UINT64                            F16[2];\r
+  UINT64                            F17[2];\r
+  UINT64                            F18[2];\r
+  UINT64                            F19[2];\r
+  UINT64                            F20[2];\r
+  UINT64                            F21[2];\r
+  UINT64                            F22[2];\r
+  UINT64                            F23[2];\r
+  UINT64                            F24[2];\r
+  UINT64                            F25[2];\r
+  UINT64                            F26[2];\r
+  UINT64                            F27[2];\r
+  UINT64                            F28[2];\r
+  UINT64                            F29[2];\r
+  UINT64                            F30[2];\r
+  UINT64                            F31[2];\r
   UINT64                            R4;\r
   UINT64                            R5;\r
   UINT64                            R6;\r
   UINT64                            R7;\r
   UINT64                            SP;\r
-  UINT64                            F2Low;\r
-  UINT64                            F2High;\r
-  UINT64                            F3Low;\r
-  UINT64                            F3High;\r
-  UINT64                            F4Low;\r
-  UINT64                            F4High;\r
-  UINT64                            F5Low;\r
-  UINT64                            F5High;\r
-  UINT64                            F16Low;\r
-  UINT64                            F16High;\r
-  UINT64                            F17Low;\r
-  UINT64                            F17High;\r
-  UINT64                            F18Low;\r
-  UINT64                            F18High;\r
-  UINT64                            F19Low;\r
-  UINT64                            F19High;\r
-  UINT64                            F20Low;\r
-  UINT64                            F20High;\r
-  UINT64                            F21Low;\r
-  UINT64                            F21High;\r
-  UINT64                            F22Low;\r
-  UINT64                            F22High;\r
-  UINT64                            F23Low;\r
-  UINT64                            F23High;\r
-  UINT64                            F24Low;\r
-  UINT64                            F24High;\r
-  UINT64                            F25Low;\r
-  UINT64                            F25High;\r
-  UINT64                            F26Low;\r
-  UINT64                            F26High;\r
-  UINT64                            F27Low;\r
-  UINT64                            F27High;\r
-  UINT64                            F28Low;\r
-  UINT64                            F28High;\r
-  UINT64                            F29Low;\r
-  UINT64                            F29High;\r
-  UINT64                            F30Low;\r
-  UINT64                            F30High;\r
-  UINT64                            F31Low;\r
-  UINT64                            F31High;\r
-  UINT64                            FPSR;\r
   UINT64                            BR0;\r
   UINT64                            BR1;\r
   UINT64                            BR2;\r
   UINT64                            BR3;\r
   UINT64                            BR4;\r
   UINT64                            BR5;\r
+  UINT64                            InitialUNAT;\r
+  UINT64                            AfterSpillUNAT;\r
+  UINT64                            PFS;\r
+  UINT64                            BSP;\r
+  UINT64                            Predicates;\r
+  UINT64                            LoopCount;\r
+  UINT64                            FPSR;\r
 } BASE_LIBRARY_JUMP_BUFFER;\r
 \r
 #elif defined (MDE_CPU_X64)\r
@@ -2866,6 +2845,7 @@ typedef union {
 \r
 //\r
 // Byte packed structure for an IDTR, GDTR, LDTR descriptor\r
+/// @bug  How to make this structure byte-packed in a compiler independent way?\r
 //\r
 typedef struct {\r
   UINT16  Limit;\r