Fix mDoPrintf_vprintf_Interrupt on 64-bit

This is an ABI hazard so I'm just gonna call vprintf directly.
This commit is contained in:
PJB3005
2026-02-24 14:08:15 +01:00
parent 449900d2bf
commit 04fdee9d5a
+4
View File
@@ -124,9 +124,13 @@ void mDoPrintf_vprintf_Interrupt(char const* fmt, va_list args) {
BOOL interruptStatus = OSDisableInterrupts();
if (!data_80450BB5) {
data_80450BB5 = true;
#if TARGET_PC
vprintf(fmt, args);
#else
uintptr_t var_r29 = (uintptr_t)&mDoPrintf_FiberStack + sizeof(mDoPrintf_FiberStack);
OSSwitchFiberEx((uintptr_t)fmt, (uintptr_t)args, 0, 0, (uintptr_t)vprintf,
var_r29);
#endif
data_80450BB5 = false;
}
OSRestoreInterrupts(interruptStatus);