]> git.proxmox.com Git - mirror_edk2.git/commitdiff
The IA32 register definition is quit different between edk and edk2 code base, so...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 3 Mar 2009 14:43:49 +0000 (14:43 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 3 Mar 2009 14:43:49 +0000 (14:43 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7786 6f19259b-4bc3-4df7-8a09-765794883524

DuetPkg/BiosVideoThunkDxe/BiosVideo.c
DuetPkg/BiosVideoThunkDxe/BiosVideo.h
DuetPkg/BiosVideoThunkDxe/LegacyBiosThunk.c

index 770f3d080d8bff91c72d239357be94dc562082dc..2a3c41aefb551d26f7b1673e762abc50a380255e 100644 (file)
@@ -599,7 +599,7 @@ BiosVideoChildHandleUninstall (
   )\r
 {\r
   EFI_STATUS                   Status;\r
-  EFI_IA32_REGISTER_SET        Regs;\r
+  IA32_REGISTER_SET        Regs;\r
   EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
   EFI_VGA_MINI_PORT_PROTOCOL   *VgaMiniPort;\r
   BIOS_VIDEO_DEV               *BiosVideoPrivate;\r
@@ -1031,7 +1031,7 @@ BiosVideoCheckForVbe (
   )\r
 {\r
   EFI_STATUS                             Status;\r
-  EFI_IA32_REGISTER_SET                  Regs;\r
+  IA32_REGISTER_SET                  Regs;\r
   UINT16                                 *ModeNumberPtr;\r
   BOOLEAN                                ModeFound;\r
   BOOLEAN                                EdidFound;\r
@@ -1092,7 +1092,7 @@ BiosVideoCheckForVbe (
   Regs.X.AX = VESA_BIOS_EXTENSIONS_RETURN_CONTROLLER_INFORMATION;\r
   gBS->SetMem (BiosVideoPrivate->VbeInformationBlock, sizeof (VESA_BIOS_EXTENSIONS_INFORMATION_BLOCK), 0);\r
   BiosVideoPrivate->VbeInformationBlock->VESASignature  = VESA_BIOS_EXTENSIONS_VBE2_SIGNATURE;\r
-  Regs.X.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeInformationBlock);\r
+  Regs.E.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeInformationBlock);\r
   Regs.X.DI = EFI_OFFSET ((UINTN) BiosVideoPrivate->VbeInformationBlock);\r
 \r
   LegacyBiosInt86 (BiosVideoPrivate, 0x10, &Regs);\r
@@ -1126,7 +1126,7 @@ BiosVideoCheckForVbe (
   Regs.X.BX = 1;\r
   Regs.X.CX = 0;\r
   Regs.X.DX = 0;\r
-  Regs.X.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeEdidDataBlock);\r
+  Regs.E.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeEdidDataBlock);\r
   Regs.X.DI = EFI_OFFSET ((UINTN) BiosVideoPrivate->VbeEdidDataBlock);\r
 \r
   LegacyBiosInt86 (BiosVideoPrivate, 0x10, &Regs);\r
@@ -1206,7 +1206,7 @@ BiosVideoCheckForVbe (
     Regs.X.AX = VESA_BIOS_EXTENSIONS_RETURN_MODE_INFORMATION;\r
     Regs.X.CX = *ModeNumberPtr;\r
     gBS->SetMem (BiosVideoPrivate->VbeModeInformationBlock, sizeof (VESA_BIOS_EXTENSIONS_MODE_INFORMATION_BLOCK), 0);\r
-    Regs.X.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeModeInformationBlock);\r
+    Regs.E.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeModeInformationBlock);\r
     Regs.X.DI = EFI_OFFSET ((UINTN) BiosVideoPrivate->VbeModeInformationBlock);\r
 \r
     LegacyBiosInt86 (BiosVideoPrivate, 0x10, &Regs);\r
@@ -1622,7 +1622,7 @@ BiosVideoGraphicsOutputSetMode (
 {\r
   EFI_STATUS              Status;\r
   BIOS_VIDEO_DEV          *BiosVideoPrivate;\r
-  EFI_IA32_REGISTER_SET   Regs;\r
+  IA32_REGISTER_SET   Regs;\r
   BIOS_VIDEO_MODE_DATA    *ModeData;\r
 \r
   BiosVideoPrivate = BIOS_VIDEO_DEV_FROM_GRAPHICS_OUTPUT_THIS (This);\r
@@ -1705,7 +1705,7 @@ BiosVideoGraphicsOutputSetMode (
     Regs.X.AX = VESA_BIOS_EXTENSIONS_SET_MODE;\r
     Regs.X.BX = (UINT16) (ModeData->VbeModeNumber | VESA_BIOS_EXTENSIONS_MODE_NUMBER_LINEAR_FRAME_BUFFER);\r
     gBS->SetMem (BiosVideoPrivate->VbeCrtcInformationBlock, sizeof (VESA_BIOS_EXTENSIONS_CRTC_INFORMATION_BLOCK), 0);\r
-    Regs.X.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeCrtcInformationBlock);\r
+    Regs.E.ES = EFI_SEGMENT ((UINTN) BiosVideoPrivate->VbeCrtcInformationBlock);\r
     Regs.X.DI = EFI_OFFSET ((UINTN) BiosVideoPrivate->VbeCrtcInformationBlock);\r
     \r
     LegacyBiosInt86 (BiosVideoPrivate, 0x10, &Regs);\r
@@ -2729,7 +2729,7 @@ BiosVideoVgaMiniPortSetMode (
   )\r
 {\r
   BIOS_VIDEO_DEV        *BiosVideoPrivate;\r
-  EFI_IA32_REGISTER_SET Regs;\r
+  IA32_REGISTER_SET Regs;\r
 \r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
index 08053478f850215b4c95deb32e41fabd58f03b7f..406bb531435f5341f72e9b1562630e20f366b979 100644 (file)
@@ -30,7 +30,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/EdidActive.h>\r
 #include <Protocol/EdidDiscovered.h>\r
 #include <Protocol/DevicePath.h>\r
-#include <Protocol/LegacyBios.h>\r
 \r
 #include <Library/UefiLib.h>\r
 #include <Library/DebugLib.h>\r
@@ -133,6 +132,9 @@ typedef struct {
 \r
 #define GRAPHICS_OUTPUT_INVALIDE_MODE_NUMBER   0xffff\r
 \r
+#define EFI_SEGMENT(_Adr)     (UINT16) ((UINT16) (((UINTN) (_Adr)) >> 4) & 0xf000)\r
+#define EFI_OFFSET(_Adr)      (UINT16) (((UINT16) ((UINTN) (_Adr))) & 0xffff)\r
+\r
 //\r
 // Global Variables\r
 //\r
@@ -494,7 +496,7 @@ EFIAPI
 LegacyBiosInt86 (\r
   IN  BIOS_VIDEO_DEV                 *BiosDev,\r
   IN  UINT8                           BiosInt,\r
-  IN  EFI_IA32_REGISTER_SET           *Regs\r
+  IN  IA32_REGISTER_SET           *Regs\r
   );    \r
   \r
 #endif\r
index 08ed35c1f4aadfe93050c5bc424daad7fb1f1f64..e21ab362ef630b70e2d58e38dc842887db75c249 100644 (file)
@@ -137,7 +137,7 @@ EFIAPI
 LegacyBiosInt86 (\r
   IN  BIOS_VIDEO_DEV                 *BiosDev,\r
   IN  UINT8                           BiosInt,\r
-  IN  EFI_IA32_REGISTER_SET           *Regs\r
+  IN  IA32_REGISTER_SET              *Regs\r
   )\r
 {\r
   UINTN                 Status;\r
@@ -216,9 +216,9 @@ LegacyBiosInt86 (
   Regs->E.DS       = ThunkRegSet.E.DS;  \r
   Regs->E.ES       = ThunkRegSet.E.ES;\r
 \r
-  CopyMem (&(Regs->E.EFlags), &(ThunkRegSet.E.EFLAGS), sizeof (UINT32));\r
+  CopyMem (&(Regs->E.EFLAGS), &(ThunkRegSet.E.EFLAGS), sizeof (UINT32));\r
 \r
-  Ret = (BOOLEAN) (Regs->E.EFlags.CF == 1);\r
+  Ret = (BOOLEAN) (Regs->E.EFLAGS.Bits.CF == 1);\r
 \r
   return Ret;\r
 }\r