MCPcopy Create free account
hub / github.com/HoShiMin/Kernel-Bridge / HandleRead

Method HandleRead

Kernel-Bridge/API/Hypervisor.cpp:1311–1331  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1309 }
1310
1311 bool HandleRead(unsigned long long Pa)
1312 {
1313 unsigned long long Pa4Kb = ALIGN_DOWN_BY(Pa, PageSize);
1314 auto Handler = m_Handlers.find(Pa4Kb);
1315 if (Handler == m_Handlers.end())
1316 {
1317 return false;
1318 }
1319
1320 auto& Entry = Handler->second;
1321 auto PteEntry = Entry.Handlers.OnRead;
1322 if (!PteEntry.Value)
1323 {
1324 return false;
1325 }
1326
1327 *Entry.Pte = PteEntry;
1328 invept();
1329
1330 return true;
1331 }
1332
1333 bool HandleWrite(unsigned long long Pa, const void* NextInstruction)
1334 {

Callers 1

EptViolationHandlerFunction · 0.80

Calls 1

endMethod · 0.80

Tested by

no test coverage detected