Add stubs for TLB handler setters.

This commit is contained in:
Jean-Philip Desjardins 2018-08-27 07:31:18 -04:00
parent 868b2e64f1
commit 4841dd702a
2 changed files with 44 additions and 16 deletions

View File

@ -79,6 +79,8 @@
#define SYSCALL_NAME_EXIT "osExit"
#define SYSCALL_NAME_LOADEXECPS2 "osLoadExecPS2"
#define SYSCALL_NAME_EXECPS2 "osExecPS2"
#define SYSCALL_NAME_SETVTLBREFILLHANDLER "osSetVTLBRefillHandler"
#define SYSCALL_NAME_SETVCOMMONHANDLER "osSetVCommonHandler"
#define SYSCALL_NAME_ADDINTCHANDLER "osAddIntcHandler"
#define SYSCALL_NAME_REMOVEINTCHANDLER "osRemoveIntcHandler"
#define SYSCALL_NAME_ADDDMACHANDLER "osAddDmacHandler"
@ -145,6 +147,8 @@ const CPS2OS::SYSCALL_NAME CPS2OS::g_syscallNames[] =
{0x0004, SYSCALL_NAME_EXIT},
{0x0006, SYSCALL_NAME_LOADEXECPS2},
{0x0007, SYSCALL_NAME_EXECPS2},
{0x000D, SYSCALL_NAME_SETVTLBREFILLHANDLER},
{0x000E, SYSCALL_NAME_SETVCOMMONHANDLER},
{0x0010, SYSCALL_NAME_ADDINTCHANDLER},
{0x0011, SYSCALL_NAME_REMOVEINTCHANDLER},
{0x0012, SYSCALL_NAME_ADDDMACHANDLER},
@ -1461,6 +1465,18 @@ void CPS2OS::sc_ExecPS2()
m_ee.m_State.nGPR[CMIPS::A1].nD0 = static_cast<int32>(argValuesPtr);
}
//0D
void CPS2OS::sc_SetVTLBRefillHandler()
{
//TODO: Enable TLB processing
}
//0E
void CPS2OS::sc_SetVCommonHandler()
{
//TODO: Enable TLB processing
}
//10
void CPS2OS::sc_AddIntcHandler()
{
@ -2867,6 +2883,16 @@ std::string CPS2OS::GetSysCallDescription(uint8 function)
m_ee.m_State.nGPR[SC_PARAM2].nV[0],
m_ee.m_State.nGPR[SC_PARAM3].nV[0]);
break;
case 0x0D:
sprintf(description, SYSCALL_NAME_SETVTLBREFILLHANDLER "(cause = %d, handler = 0x%08x);",
m_ee.m_State.nGPR[SC_PARAM0].nV[0],
m_ee.m_State.nGPR[SC_PARAM1].nV[0]);
break;
case 0x0E:
sprintf(description, SYSCALL_NAME_SETVCOMMONHANDLER "(cause = %d, handler = 0x%08x);",
m_ee.m_State.nGPR[SC_PARAM0].nV[0],
m_ee.m_State.nGPR[SC_PARAM1].nV[0]);
break;
case 0x10:
sprintf(description, SYSCALL_NAME_ADDINTCHANDLER "(cause = %i, address = 0x%08X, next = 0x%08X, arg = 0x%08X);",
m_ee.m_State.nGPR[SC_PARAM0].nV[0],
@ -3149,7 +3175,7 @@ CPS2OS::SystemCallHandler CPS2OS::m_sysCall[0x80] =
//0x00
&CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_GsSetCrt, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Exit, &CPS2OS::sc_Unhandled, &CPS2OS::sc_LoadExecPS2, &CPS2OS::sc_ExecPS2,
//0x08
&CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled,
&CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_Unhandled, &CPS2OS::sc_SetVTLBRefillHandler, &CPS2OS::sc_SetVCommonHandler, &CPS2OS::sc_Unhandled,
//0x10
&CPS2OS::sc_AddIntcHandler, &CPS2OS::sc_RemoveIntcHandler, &CPS2OS::sc_AddDmacHandler, &CPS2OS::sc_RemoveDmacHandler, &CPS2OS::sc_EnableIntc, &CPS2OS::sc_DisableIntc, &CPS2OS::sc_EnableDmac, &CPS2OS::sc_DisableDmac,
//0x18

View File

@ -279,6 +279,8 @@ private:
void sc_Exit();
void sc_LoadExecPS2();
void sc_ExecPS2();
void sc_SetVTLBRefillHandler();
void sc_SetVCommonHandler();
void sc_AddIntcHandler();
void sc_RemoveIntcHandler();
void sc_AddDmacHandler();