Lines Matching refs:iBit
268 for (unsigned iBit = 0; iBit < 64; iBit++)
270 uint64_t fBitMask = RT_BIT_64(iBit);
310 * @param iBit The bit to try modify.
312 static int msrProberModifyBit(uint32_t uMsr, unsigned iBit)
314 uint64_t fBitMask = RT_BIT_64(iBit);
431 unsigned iBit;
432 for (iBit = 31; iBit > 8; iBit--)
434 uint64_t fMsrOrMask = RT_BIT_64(iBit);
444 uint32_t fMsrMask = iBit >= 31 ? UINT32_MAX : RT_BIT_32(iBit + 1) - 1;
445 vbCpuRepDebug("MSR AND mask: quit on iBit=%u uMsr=%#x (%#x) %llx != %llx => fMsrMask=%#x\n",
446 iBit, s_aMsrs[i] | (uint32_t)fMsrOrMask, s_aMsrs[i], uValue, auBaseValues[i], fMsrMask);
452 if (iBit <= 6)
453 fMsrOrMask += RT_BIT_64(iBit);
454 else if (iBit <= 11)
455 fMsrOrMask += RT_BIT_64(iBit) * 33;
456 else if (iBit <= 16)
457 fMsrOrMask += RT_BIT_64(iBit) * 1025;
458 else if (iBit <= 22)
459 fMsrOrMask += RT_BIT_64(iBit) * 65537;
461 fMsrOrMask += RT_BIT_64(iBit) * 262145;
465 uint32_t fMsrMask = RT_BIT_32(iBit + 1) - 1;
466 vbCpuRepDebug("MSR AND mask: less that %u bits that matters?!? => fMsrMask=%#x\n", iBit + 1, fMsrMask);
3303 * @param iBit The first bit of the type field (8-bit wide).
3306 static int msrVerifyMtrrTypeGPs(uint32_t uMsr, uint32_t iBit, uint32_t cExpected)
3311 bool fGp = !msrProberModifySimpleGp(uMsr, ~(UINT64_C(0xff) << iBit), (uint64_t)uEndTypes << iBit);
3456 for (uint32_t iBit = 0; iBit < 64; iBit += 8)
3458 int rc = msrVerifyMtrrTypeGPs(uMsr, iBit, 7 + (uMsr == 0x00000277));