- 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
svn path=/trunk/; revision=74623
//
// 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
//
// Terminate it
//
- while (i++ < (IOPM_FULL_SIZE / 2)) *Entry++ = 0xFFFF;
+ while (i++ < IOPM_FULL_SIZE / sizeof(USHORT))
+ {
+ *Entry++ = 0xFFFF;
+ }
//
// Return the entries we saved
//
// 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();
//