Skip to content

Commit c11e121

Browse files
authored
Merge pull request #645 from NotRequiem/main
msr range check removal
2 parents 4baef21 + 160cd79 commit c11e121

File tree

1 file changed

+0
-29
lines changed

1 file changed

+0
-29
lines changed

src/vmaware.hpp

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11283,15 +11283,6 @@ struct VM {
1128311283
#endif
1128411284
constexpr u32 random_msr = 0xDEADBEEFu;
1128511285

11286-
struct range {
11287-
u32 start;
11288-
u32 end;
11289-
};
11290-
static constexpr range ranges[] = {
11291-
{ 0x40000000u, 0x400000FFu },
11292-
{ 0x4B564D00u, 0x4B564DFFu }
11293-
};
11294-
1129511286
auto try_read = [](u32 msr_index) -> bool {
1129611287
#if (MSVC)
1129711288
unsigned __int64 value = 0;
@@ -11339,26 +11330,6 @@ struct VM {
1133911330
debug("MSR: Detected hypervisor not correctly handling #GP");
1134011331
return true;
1134111332
}
11342-
for (size_t r = 0; r < (sizeof(ranges) / sizeof(ranges[0])); ++r) {
11343-
const u32 s = ranges[r].start;
11344-
const u32 e = ranges[r].end;
11345-
for (u32 i = s; i != e + 1u; ++i) {
11346-
if (try_read(i)) {
11347-
if (s == 0x40000000u && e == 0x400000FFu) {
11348-
debug("MSR: Detected Hyper-V VM");
11349-
return core::add(brands::HYPERV);
11350-
}
11351-
else if (s == 0x4B564D00u && e == 0x4B564DFFu) {
11352-
debug("MSR: Detected KVM");
11353-
return core::add(brands::KVM);
11354-
}
11355-
else {
11356-
debug("MSR: Detected readable MSR index: 0x", std::hex, i, std::dec, '\n');
11357-
return true;
11358-
}
11359-
}
11360-
}
11361-
}
1136211333

1136311334
return false;
1136411335
}

0 commit comments

Comments
 (0)