VirtualBox

Changeset 48141 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 29, 2013 9:42:59 AM (11 years ago)
Author:
vboxsync
Message:

QNX doesn't believe our MTRR_CAP report and messes with the variable MTRR ranges. Fake 6 of them for now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r48119 r48141  
    958958        }
    959959
     960        case IA32_MTRR_PHYSBASE0: case IA32_MTRR_PHYSMASK0:
     961        case IA32_MTRR_PHYSBASE1: case IA32_MTRR_PHYSMASK1:
     962        case IA32_MTRR_PHYSBASE2: case IA32_MTRR_PHYSMASK2:
     963        case IA32_MTRR_PHYSBASE3: case IA32_MTRR_PHYSMASK3:
     964        case IA32_MTRR_PHYSBASE4: case IA32_MTRR_PHYSMASK4:
     965        case IA32_MTRR_PHYSBASE5: case IA32_MTRR_PHYSMASK5:
     966            /** @todo implement variable MTRRs. */
     967            *puValue = 0;
     968            break;
     969#if 0 /** @todo newer CPUs have more, figure since when and do selective GP(). */
     970        case IA32_MTRR_PHYSBASE6: case IA32_MTRR_PHYSMASK6:
     971        case IA32_MTRR_PHYSBASE7: case IA32_MTRR_PHYSMASK7:
     972        case IA32_MTRR_PHYSBASE8: case IA32_MTRR_PHYSMASK8:
     973        case IA32_MTRR_PHYSBASE9: case IA32_MTRR_PHYSMASK9:
     974            *puValue = 0;
     975            break;
     976#endif
     977
    960978        case MSR_IA32_MTRR_DEF_TYPE:
    961979            *puValue = pVCpu->cpum.s.GuestMsrs.msr.MtrrDefType;
     
    12661284            pVCpu->cpum.s.GuestMsrs.msr.MtrrDefType = uValue;
    12671285            break;
     1286
     1287        case IA32_MTRR_PHYSBASE0: case IA32_MTRR_PHYSMASK0:
     1288        case IA32_MTRR_PHYSBASE1: case IA32_MTRR_PHYSMASK1:
     1289        case IA32_MTRR_PHYSBASE2: case IA32_MTRR_PHYSMASK2:
     1290        case IA32_MTRR_PHYSBASE3: case IA32_MTRR_PHYSMASK3:
     1291        case IA32_MTRR_PHYSBASE4: case IA32_MTRR_PHYSMASK4:
     1292        case IA32_MTRR_PHYSBASE5: case IA32_MTRR_PHYSMASK5:
     1293            /** @todo implement variable MTRRs. */
     1294            break;
     1295#if 0 /** @todo newer CPUs have more, figure since when and do selective GP(). */
     1296        case IA32_MTRR_PHYSBASE6: case IA32_MTRR_PHYSMASK6:
     1297        case IA32_MTRR_PHYSBASE7: case IA32_MTRR_PHYSMASK7:
     1298        case IA32_MTRR_PHYSBASE8: case IA32_MTRR_PHYSMASK8:
     1299        case IA32_MTRR_PHYSBASE9: case IA32_MTRR_PHYSMASK9:
     1300            break;
     1301#endif
    12681302
    12691303        case IA32_MTRR_FIX64K_00000:
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette