Always dump CPU info and assert our dummy thread value is legit.

This commit is contained in:
Ben Vanik 2013-10-18 18:56:59 -07:00
parent d3665cc2e6
commit 28e7102a02
2 changed files with 6 additions and 10 deletions

View file

@ -106,15 +106,10 @@ int X64JIT::CheckProcessor() {
// TODO(benvanik): ensure features we want are supported. // TODO(benvanik): ensure features we want are supported.
// TODO(benvanik): check for SSE modes we use. DumpCPUInfo();
if (!(mask & kX86FeatureSse3)) {
XELOGE("CPU does not support SSE3+ instructions!");
DumpCPUInfo();
return 1;
}
if (!(mask & kX86FeatureSse41)) { if (!(mask & kX86FeatureSse41)) {
XELOGW("CPU does not support SSE4.1+ instructions, performance degraded!"); XELOGW("CPU does not support SSE4.1+ instructions!");
DumpCPUInfo(); return 1;
} }
return 0; return 0;

View file

@ -137,8 +137,6 @@ SHIM_CALL ExCreateThread_shim(
uint32_t xeKeSetAffinityThread(void* thread_ptr, uint32_t affinity) { uint32_t xeKeSetAffinityThread(void* thread_ptr, uint32_t affinity) {
// TODO(benvanik): implement. // TODO(benvanik): implement.
// TODO(benvanik): this also needs ObReferenceObjectByHandle to not
// return dummy values.
return affinity; return affinity;
} }
@ -153,6 +151,9 @@ SHIM_CALL KeSetAffinityThread_shim(
thread, thread,
affinity); affinity);
// TODO(benvanik): expecting dummy values from ObReferenceObjectByHandle.
XEASSERT(thread == 0xDEADF00D);
void* thread_ptr = SHIM_MEM_ADDR(thread); void* thread_ptr = SHIM_MEM_ADDR(thread);
uint32_t result = xeKeSetAffinityThread(thread_ptr, affinity); uint32_t result = xeKeSetAffinityThread(thread_ptr, affinity);
SHIM_SET_RETURN(result); SHIM_SET_RETURN(result);