RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,015
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
Maybe it is because I dumped prior to the original code being called (where the platform table is initialized). Duh!
Come to think of it, why does wrapGetOSInformation even work at all?
Shouldn't it be more like this?
Code:
uint64_t IGFX::wrapGetOSInformation(void *that) {
// call original first!
uint64_t r = FunctionCast(wrapGetOSInformation, callbackIGFX->orgGetOSInformation)(that);
#ifdef DEBUG
if (callbackIGFX->dumpFramebufferToDisk) {
char name[64];
snprintf(name, sizeof(name), "/AppleIntelFramebuffer_%d_%d.%d", callbackIGFX->cpuGeneration, getKernelVersion(), getKernelMinorVersion());
FileIO::writeBufferToFile(name, callbackIGFX->framebufferStart, callbackIGFX->framebufferSize);
SYSLOG("igfx", "dumping framebuffer information to %s", name);
}
#endif
if (callbackIGFX->dumpPlatformTable)
writePlatformListData("platform-table-native");
if (callbackIGFX->applyFramebufferPatch)
callbackIGFX->applyFramebufferPatches();
else if (callbackIGFX->hdmiAutopatch)
callbackIGFX->applyHdmiAutopatch();
if (callbackIGFX->dumpPlatformTable)
writePlatformListData("platform-table-patched");
return r;
}