notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add a thp-based huge page alloc fallback
[pcsx_rearmed.git]
/
libpcsxcore
/
new_dynarec
/
emu_if.c
diff --git
a/libpcsxcore/new_dynarec/emu_if.c
b/libpcsxcore/new_dynarec/emu_if.c
index
2862c54
..
9d8df34
100644
(file)
--- a/
libpcsxcore/new_dynarec/emu_if.c
+++ b/
libpcsxcore/new_dynarec/emu_if.c
@@
-12,6
+12,7
@@
#include "events.h"
#include "../psxhle.h"
#include "../psxinterpreter.h"
#include "events.h"
#include "../psxhle.h"
#include "../psxinterpreter.h"
+#include "../psxcounters.h"
#include "../r3000a.h"
#include "../gte_arm.h"
#include "../gte_neon.h"
#include "../r3000a.h"
#include "../gte_arm.h"
#include "../gte_neon.h"
@@
-248,8
+249,6
@@
static void ari64_reset()
// (HLE softcall exit and BIOS fastboot end)
static void ari64_execute_until()
{
// (HLE softcall exit and BIOS fastboot end)
static void ari64_execute_until()
{
- schedule_timeslice();
-
evprintf("ari64_execute %08x, %u->%u (%d)\n", psxRegs.pc,
psxRegs.cycle, next_interupt, next_interupt - psxRegs.cycle);
evprintf("ari64_execute %08x, %u->%u (%d)\n", psxRegs.pc,
psxRegs.cycle, next_interupt, next_interupt - psxRegs.cycle);
@@
-262,6
+261,7
@@
static void ari64_execute_until()
static void ari64_execute()
{
while (!stop) {
static void ari64_execute()
{
while (!stop) {
+ schedule_timeslice();
ari64_execute_until();
evprintf("drc left @%08x\n", psxRegs.pc);
}
ari64_execute_until();
evprintf("drc left @%08x\n", psxRegs.pc);
}
@@
-272,6
+272,7
@@
static void ari64_execute_block(enum blockExecCaller caller)
if (caller == EXEC_CALLER_BOOT)
stop++;
if (caller == EXEC_CALLER_BOOT)
stop++;
+ next_interupt = psxRegs.cycle + 1;
ari64_execute_until();
if (caller == EXEC_CALLER_BOOT)
ari64_execute_until();
if (caller == EXEC_CALLER_BOOT)
@@
-297,7
+298,9
@@
static void ari64_notify(enum R3000Anote note, void *data) {
case R3000ACPU_NOTIFY_BEFORE_SAVE:
break;
case R3000ACPU_NOTIFY_AFTER_LOAD:
case R3000ACPU_NOTIFY_BEFORE_SAVE:
break;
case R3000ACPU_NOTIFY_AFTER_LOAD:
- ari64_reset();
+ if (data == NULL)
+ ari64_reset();
+ psxInt.Notify(note, data);
break;
}
}
break;
}
}