mirror of
https://github.com/xenia-project/xenia.git
synced 2024-12-04 01:22:38 +00:00
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 xe
|
||||
|
||||
@ -312,4 +336,6 @@ void xe::kernel::xboxkrnl::RegisterDebugExports(
|
||||
SHIM_SET_MAPPING("xboxkrnl.exe", DbgPrint, state);
|
||||
SHIM_SET_MAPPING("xboxkrnl.exe", DbgBreakPoint, 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 {
|
||||
|
||||
|
||||
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(
|
||||
SHIM_CALL KeEnableFpuExceptions_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);
|
||||
uint32_t enabled = SHIM_GET_ARG_32(0);
|
||||
XELOGD("KeEnableFpuExceptions(%d)", enabled);
|
||||
// TODO(benvanik): can we do anything about exceptions?
|
||||
}
|
||||
|
||||
|
||||
@ -54,6 +38,5 @@ SHIM_CALL KeBugCheckEx_shim(
|
||||
|
||||
void xe::kernel::xboxkrnl::RegisterMiscExports(
|
||||
ExportResolver* export_resolver, KernelState* state) {
|
||||
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheck, state);
|
||||
SHIM_SET_MAPPING("xboxkrnl.exe", KeBugCheckEx, state);
|
||||
SHIM_SET_MAPPING("xboxkrnl.exe", KeEnableFpuExceptions, state);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user