KeEnableFpuExceptions stub.
This commit is contained in:
parent
296bb5c87a
commit
e6275691cb
|
@ -303,6 +303,30 @@ SHIM_CALL RtlRaiseException_shim(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void xeKeBugCheckEx(uint32_t code, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4) {
|
||||||
|
XELOGD("*** STOP: 0x%.8X (0x%.8X, 0x%.8X, 0x%.8X, 0x%.8X)", code, param1, param2, param3, param4);
|
||||||
|
fflush(stdout);
|
||||||
|
DebugBreak();
|
||||||
|
assert_always();
|
||||||
|
}
|
||||||
|
|
||||||
|
SHIM_CALL KeBugCheck_shim(
|
||||||
|
PPCContext* ppc_state, KernelState* state) {
|
||||||
|
uint32_t code = SHIM_GET_ARG_32(0);
|
||||||
|
xeKeBugCheckEx(code, 0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SHIM_CALL KeBugCheckEx_shim(
|
||||||
|
PPCContext* ppc_state, KernelState* state) {
|
||||||
|
uint32_t code = SHIM_GET_ARG_32(0);
|
||||||
|
uint32_t param1 = SHIM_GET_ARG_32(1);
|
||||||
|
uint32_t param2 = SHIM_GET_ARG_32(2);
|
||||||
|
uint32_t param3 = SHIM_GET_ARG_32(3);
|
||||||
|
uint32_t param4 = SHIM_GET_ARG_32(4);
|
||||||
|
xeKeBugCheckEx(code, param1, param2, param3, param4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
} // namespace xe
|
} // namespace xe
|
||||||
|
|
||||||
|
@ -312,4 +336,6 @@ void xe::kernel::xboxkrnl::RegisterDebugExports(
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", DbgPrint, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", DbgPrint, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", DbgBreakPoint, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", DbgBreakPoint, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", RtlRaiseException, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", RtlRaiseException, state);
|
||||||
|
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheck, state);
|
||||||
|
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheckEx, state);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,27 +24,11 @@ namespace xe {
|
||||||
namespace kernel {
|
namespace kernel {
|
||||||
|
|
||||||
|
|
||||||
void xeKeBugCheckEx(uint32_t code, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4) {
|
SHIM_CALL KeEnableFpuExceptions_shim(
|
||||||
XELOGD("*** STOP: 0x%.8X (0x%.8X, 0x%.8X, 0x%.8X, 0x%.8X)", code, param1, param2, param3, param4);
|
|
||||||
fflush(stdout);
|
|
||||||
DebugBreak();
|
|
||||||
assert_always();
|
|
||||||
}
|
|
||||||
|
|
||||||
SHIM_CALL KeBugCheck_shim(
|
|
||||||
PPCContext* ppc_state, KernelState* state) {
|
PPCContext* ppc_state, KernelState* state) {
|
||||||
uint32_t code = SHIM_GET_ARG_32(0);
|
uint32_t enabled = SHIM_GET_ARG_32(0);
|
||||||
xeKeBugCheckEx(code, 0, 0, 0, 0);
|
XELOGD("KeEnableFpuExceptions(%d)", enabled);
|
||||||
}
|
// TODO(benvanik): can we do anything about exceptions?
|
||||||
|
|
||||||
SHIM_CALL KeBugCheckEx_shim(
|
|
||||||
PPCContext* ppc_state, KernelState* state) {
|
|
||||||
uint32_t code = SHIM_GET_ARG_32(0);
|
|
||||||
uint32_t param1 = SHIM_GET_ARG_32(1);
|
|
||||||
uint32_t param2 = SHIM_GET_ARG_32(2);
|
|
||||||
uint32_t param3 = SHIM_GET_ARG_32(3);
|
|
||||||
uint32_t param4 = SHIM_GET_ARG_32(4);
|
|
||||||
xeKeBugCheckEx(code, param1, param2, param3, param4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,6 +38,5 @@ SHIM_CALL KeBugCheckEx_shim(
|
||||||
|
|
||||||
void xe::kernel::xboxkrnl::RegisterMiscExports(
|
void xe::kernel::xboxkrnl::RegisterMiscExports(
|
||||||
ExportResolver* export_resolver, KernelState* state) {
|
ExportResolver* export_resolver, KernelState* state) {
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheck, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", KeEnableFpuExceptions, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheckEx, state);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue