Author: tfaber
Date: Mon May 22 12:20:31 2017
New Revision: 74623
URL: 
http://svn.reactos.org/svn/reactos?rev=74623&view=rev
Log:
[HAL]
- Correctly prepare the I/O port map for V86 mode by making HalpSavedIoMap actually point
to it instead of to the parent structure. Fixes boot with video BIOS code that relies on
I/O ports FF00 through FFFF.
CORE-13306 #resolve
Modified:
    trunk/reactos/hal/halx86/generic/bios.c
Modified: trunk/reactos/hal/halx86/generic/bios.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/bios.c?…
==============================================================================
--- trunk/reactos/hal/halx86/generic/bios.c     [iso-8859-1] (original)
+++ trunk/reactos/hal/halx86/generic/bios.c     [iso-8859-1] Mon May 22 12:20:31 2017
@@ -390,7 +390,7 @@
     //
     // Loop the I/O Map
     //
-    for (i = j = 0; i < (IOPM_SIZE) / 2; i++)
+    for (i = j = 0; i < IOPM_SIZE / sizeof(USHORT); i++)
     {
         //
         // Check for non-FFFF entry
@@ -415,7 +415,10 @@
     //
     // Terminate it
     //
-    while (i++ < (IOPM_FULL_SIZE / 2)) *Entry++ = 0xFFFF;
+    while (i++ < IOPM_FULL_SIZE / sizeof(USHORT))
+    {
+        *Entry++ = 0xFFFF;
+    }
     //
     // Return the entries we saved
@@ -542,7 +545,7 @@
     //
     // Save a copy of the I/O Map and delete it
     //
-    HalpSavedIoMap = (PUSHORT)&(KeGetPcr()->TSS->IoMaps[0]);
+    HalpSavedIoMap = (PUSHORT)KeGetPcr()->TSS->IoMaps[0].IoMap;
     HalpStoreAndClearIopm();
     //