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?r... ============================================================================== --- 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();
//