Check for and allow null critical sections, but log them.

stub XeKeysGetConsoleType
Removed the breakpoints in HandleCppException and RtlRaiseException until we have a real implementation of them. Some apps can continue fine afterwards.
Stub version of HalGetCurrentAVPack
Implement MmIsAddressValid
Implement RtlGetStackLimits
This commit is contained in:
chss95cs@gmail.com
2023-04-16 17:34:46 -04:00
parent 779be8283d
commit 1f86dc0454
6 changed files with 80 additions and 4 deletions

View File

@@ -120,7 +120,8 @@ void HandleCppException(pointer_t<X_EXCEPTION_RECORD> record) {
kernel_memory()->TranslateVirtual<x_s__CatchableTypeArray*>(
throw_info->catchable_type_array_ptr);
xe::debugging::Break();
//xe::debugging::Break();
XELOGE("Guest attempted to throw a C++ exception!");
}
void RtlRaiseException_entry(pointer_t<X_EXCEPTION_RECORD> record) {
@@ -137,7 +138,10 @@ void RtlRaiseException_entry(pointer_t<X_EXCEPTION_RECORD> record) {
// TODO(benvanik): unwinding.
// This is going to suck.
xe::debugging::Break();
// xe::debugging::Break();
//RtlRaiseException definitely wasn't a noreturn function, we can return safe-ish
XELOGE("Guest attempted to trigger a breakpoint!");
}
DECLARE_XBOXKRNL_EXPORT2(RtlRaiseException, kDebug, kStub, kImportant);