mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-01 04:51:49 +01:00
Some functions added
This commit is contained in:
parent
ce9cd13e42
commit
0b1e45b6b5
@ -116,8 +116,6 @@ namespace vm
|
|||||||
{
|
{
|
||||||
AT m_addr;
|
AT m_addr;
|
||||||
|
|
||||||
using type = RT(T...);
|
|
||||||
|
|
||||||
AT addr() const
|
AT addr() const
|
||||||
{
|
{
|
||||||
return m_addr;
|
return m_addr;
|
||||||
@ -141,7 +139,7 @@ namespace vm
|
|||||||
RT operator()(ARMv7Context& context, T... args) const;
|
RT operator()(ARMv7Context& context, T... args) const;
|
||||||
|
|
||||||
// conversion to another function pointer
|
// conversion to another function pointer
|
||||||
template<typename AT2> operator _ptr_base<type, AT2>() const
|
template<typename AT2> operator _ptr_base<RT(T...), AT2>() const
|
||||||
{
|
{
|
||||||
return{ VM_CAST(m_addr) };
|
return{ VM_CAST(m_addr) };
|
||||||
}
|
}
|
||||||
|
@ -191,8 +191,7 @@ s32 cellMicGetStatus()
|
|||||||
|
|
||||||
s32 cellMicStopEx()
|
s32 cellMicStopEx()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellMic);
|
throw EXCEPTION("Unexpected function");
|
||||||
return CELL_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 cellMicSysShareClose()
|
s32 cellMicSysShareClose()
|
||||||
@ -298,7 +297,7 @@ Module cellMic("cellMic", []()
|
|||||||
REG_FUNC(cellMic, cellMicReadDsp);
|
REG_FUNC(cellMic, cellMicReadDsp);
|
||||||
|
|
||||||
REG_FUNC(cellMic, cellMicGetStatus);
|
REG_FUNC(cellMic, cellMicGetStatus);
|
||||||
REG_FUNC(cellMic, cellMicStopEx);
|
REG_FUNC(cellMic, cellMicStopEx); // this function shouldn't exist
|
||||||
REG_FUNC(cellMic, cellMicSysShareClose);
|
REG_FUNC(cellMic, cellMicSysShareClose);
|
||||||
REG_FUNC(cellMic, cellMicGetFormat);
|
REG_FUNC(cellMic, cellMicGetFormat);
|
||||||
REG_FUNC(cellMic, cellMicSetMultiMicNotifyEventQueue);
|
REG_FUNC(cellMic, cellMicSetMultiMicNotifyEventQueue);
|
||||||
|
@ -83,6 +83,11 @@ s32 cellPadPeriphGetInfo(vm::ptr<CellPadPeriphInfo> info)
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 cellPadPeriphGetData()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data)
|
s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data)
|
||||||
{
|
{
|
||||||
sys_io.Log("cellPadGetData(port_no=%d, data=*0x%x)", port_no, data);
|
sys_io.Log("cellPadGetData(port_no=%d, data=*0x%x)", port_no, data);
|
||||||
@ -262,6 +267,11 @@ s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data)
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 cellPadGetRawData(u32 port_no, vm::ptr<CellPadData> data)
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
s32 cellPadGetDataExtra(u32 port_no, vm::ptr<u32> device_type, vm::ptr<CellPadData> data)
|
s32 cellPadGetDataExtra(u32 port_no, vm::ptr<u32> device_type, vm::ptr<CellPadData> data)
|
||||||
{
|
{
|
||||||
sys_io.Log("cellPadGetDataExtra(port_no=%d, device_type=*0x%x, device_type=*0x%x)", port_no, device_type, data);
|
sys_io.Log("cellPadGetDataExtra(port_no=%d, device_type=*0x%x, device_type=*0x%x)", port_no, device_type, data);
|
||||||
@ -526,23 +536,26 @@ s32 cellPadLddUnregisterController(s32 handle)
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void cellPad_init()
|
void cellPad_init()
|
||||||
{
|
{
|
||||||
REG_FUNC(sys_io, cellPadInit);
|
REG_FUNC(sys_io, cellPadInit);
|
||||||
REG_FUNC(sys_io, cellPadEnd);
|
REG_FUNC(sys_io, cellPadEnd);
|
||||||
REG_FUNC(sys_io, cellPadClearBuf);
|
REG_FUNC(sys_io, cellPadClearBuf);
|
||||||
REG_FUNC(sys_io, cellPadGetData);
|
REG_FUNC(sys_io, cellPadGetData);
|
||||||
|
REG_FUNC(sys_io, cellPadGetRawData); //
|
||||||
REG_FUNC(sys_io, cellPadGetDataExtra);
|
REG_FUNC(sys_io, cellPadGetDataExtra);
|
||||||
REG_FUNC(sys_io, cellPadSetActDirect);
|
REG_FUNC(sys_io, cellPadSetActDirect);
|
||||||
REG_FUNC(sys_io, cellPadGetInfo);
|
REG_FUNC(sys_io, cellPadGetInfo); //
|
||||||
REG_FUNC(sys_io, cellPadGetInfo2);
|
REG_FUNC(sys_io, cellPadGetInfo2);
|
||||||
REG_FUNC(sys_io, cellPadPeriphGetInfo);
|
REG_FUNC(sys_io, cellPadPeriphGetInfo);
|
||||||
|
REG_FUNC(sys_io, cellPadPeriphGetData);
|
||||||
REG_FUNC(sys_io, cellPadSetPortSetting);
|
REG_FUNC(sys_io, cellPadSetPortSetting);
|
||||||
REG_FUNC(sys_io, cellPadInfoPressMode);
|
REG_FUNC(sys_io, cellPadInfoPressMode); //
|
||||||
REG_FUNC(sys_io, cellPadInfoSensorMode);
|
REG_FUNC(sys_io, cellPadInfoSensorMode); //
|
||||||
REG_FUNC(sys_io, cellPadSetPressMode);
|
REG_FUNC(sys_io, cellPadSetPressMode); //
|
||||||
REG_FUNC(sys_io, cellPadSetSensorMode);
|
REG_FUNC(sys_io, cellPadSetSensorMode); //
|
||||||
REG_FUNC(sys_io, cellPadGetCapabilityInfo);
|
REG_FUNC(sys_io, cellPadGetCapabilityInfo); //
|
||||||
REG_FUNC(sys_io, cellPadLddRegisterController);
|
REG_FUNC(sys_io, cellPadLddRegisterController);
|
||||||
REG_FUNC(sys_io, cellPadLddDataInsert);
|
REG_FUNC(sys_io, cellPadLddDataInsert);
|
||||||
REG_FUNC(sys_io, cellPadLddGetPortNo);
|
REG_FUNC(sys_io, cellPadLddGetPortNo);
|
||||||
|
@ -1737,6 +1737,13 @@ s32 cellSpursSetPriorities(vm::ptr<CellSpurs> spurs, u32 wid, vm::cptr<u8> prior
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Set the priority of a workload for the specified SPU
|
||||||
|
s32 cellSpursSetPriority(vm::ptr<CellSpurs> spurs, u32 wid, u32 spuId, u32 priority)
|
||||||
|
{
|
||||||
|
cellSpurs.Todo("cellSpursSetPriority(spurs=*0x%x, wid=%d, spuId=%d, priority=%d)", spurs, wid, spuId, priority);
|
||||||
|
return CELL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/// Set preemption victim SPU
|
/// Set preemption victim SPU
|
||||||
s32 cellSpursSetPreemptionVictimHints(vm::ptr<CellSpurs> spurs, vm::cptr<b8> isPreemptible)
|
s32 cellSpursSetPreemptionVictimHints(vm::ptr<CellSpurs> spurs, vm::cptr<b8> isPreemptible)
|
||||||
{
|
{
|
||||||
@ -4226,6 +4233,7 @@ Module cellSpurs("cellSpurs", []()
|
|||||||
REG_FUNC(cellSpurs, cellSpursGetInfo);
|
REG_FUNC(cellSpurs, cellSpursGetInfo);
|
||||||
REG_FUNC(cellSpurs, cellSpursSetMaxContention);
|
REG_FUNC(cellSpurs, cellSpursSetMaxContention);
|
||||||
REG_FUNC(cellSpurs, cellSpursSetPriorities);
|
REG_FUNC(cellSpurs, cellSpursSetPriorities);
|
||||||
|
REG_FUNC(cellSpurs, cellSpursSetPriority);
|
||||||
REG_FUNC(cellSpurs, cellSpursSetPreemptionVictimHints);
|
REG_FUNC(cellSpurs, cellSpursSetPreemptionVictimHints);
|
||||||
REG_FUNC(cellSpurs, cellSpursAttachLv2EventQueue);
|
REG_FUNC(cellSpurs, cellSpursAttachLv2EventQueue);
|
||||||
REG_FUNC(cellSpurs, cellSpursDetachLv2EventQueue);
|
REG_FUNC(cellSpurs, cellSpursDetachLv2EventQueue);
|
||||||
|
@ -378,6 +378,12 @@ s32 cellSpursJobQueueSetExceptionEventHandler()
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 cellSpursJobQueueSetExceptionEventHandler2()
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED_FUNC(cellSpursJq);
|
||||||
|
return CELL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
s32 cellSpursJobQueueUnsetExceptionEventHandler()
|
s32 cellSpursJobQueueUnsetExceptionEventHandler()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellSpursJq);
|
UNIMPLEMENTED_FUNC(cellSpursJq);
|
||||||
@ -447,5 +453,6 @@ Module cellSpursJq("cellSpursJq", []()
|
|||||||
REG_FUNC(cellSpursJq, _cellSpursJobQueuePort2CopyPushJobBody);
|
REG_FUNC(cellSpursJq, _cellSpursJobQueuePort2CopyPushJobBody);
|
||||||
REG_FUNC(cellSpursJq, _cellSpursJobQueuePort2PushJobBody);
|
REG_FUNC(cellSpursJq, _cellSpursJobQueuePort2PushJobBody);
|
||||||
REG_FUNC(cellSpursJq, cellSpursJobQueueSetExceptionEventHandler);
|
REG_FUNC(cellSpursJq, cellSpursJobQueueSetExceptionEventHandler);
|
||||||
|
REG_FUNC(cellSpursJq, cellSpursJobQueueSetExceptionEventHandler2);
|
||||||
REG_FUNC(cellSpursJq, cellSpursJobQueueUnsetExceptionEventHandler);
|
REG_FUNC(cellSpursJq, cellSpursJobQueueUnsetExceptionEventHandler);
|
||||||
});
|
});
|
||||||
|
@ -251,6 +251,13 @@ s32 cellSync2QueueGetDepth()
|
|||||||
|
|
||||||
Module cellSync2("cellSync2", []()
|
Module cellSync2("cellSync2", []()
|
||||||
{
|
{
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2CallerThreadTypePpuThread);
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2NotifierPpuThread);
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2CallerThreadTypePpuFiber);
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2NotifierPpuFiber);
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2NotifierSpursTask);
|
||||||
|
//REG_VARIABLE(cellSync2, gCellSync2NotifierSpursJobQueueJob);
|
||||||
|
|
||||||
REG_FUNC(cellSync2, _cellSync2MutexAttributeInitialize);
|
REG_FUNC(cellSync2, _cellSync2MutexAttributeInitialize);
|
||||||
REG_FUNC(cellSync2, cellSync2MutexEstimateBufferSize);
|
REG_FUNC(cellSync2, cellSync2MutexEstimateBufferSize);
|
||||||
REG_FUNC(cellSync2, cellSync2MutexInitialize);
|
REG_FUNC(cellSync2, cellSync2MutexInitialize);
|
||||||
|
@ -950,6 +950,8 @@ s32 cellVdecSetFrameRate(u32 handle, CellVdecFrameRate frc)
|
|||||||
|
|
||||||
Module cellVdec("cellVdec", []()
|
Module cellVdec("cellVdec", []()
|
||||||
{
|
{
|
||||||
|
//REG_VARIABLE(cellVdec, _cell_vdec_prx_ver); // 0x085a7ecb
|
||||||
|
|
||||||
REG_FUNC(cellVdec, cellVdecQueryAttr);
|
REG_FUNC(cellVdec, cellVdecQueryAttr);
|
||||||
REG_FUNC(cellVdec, cellVdecQueryAttrEx);
|
REG_FUNC(cellVdec, cellVdecQueryAttrEx);
|
||||||
REG_FUNC(cellVdec, cellVdecOpen);
|
REG_FUNC(cellVdec, cellVdecOpen);
|
||||||
|
@ -220,6 +220,11 @@ s32 cellVoiceWriteToIPortEx()
|
|||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 cellVoiceWriteToIPortEx2()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
s32 cellVoiceReadFromOPort()
|
s32 cellVoiceReadFromOPort()
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellVoice);
|
UNIMPLEMENTED_FUNC(cellVoice);
|
||||||
@ -266,6 +271,7 @@ Module cellVoice("cellVoice", []()
|
|||||||
REG_FUNC(cellVoice, cellVoiceUpdatePort);
|
REG_FUNC(cellVoice, cellVoiceUpdatePort);
|
||||||
REG_FUNC(cellVoice, cellVoiceWriteToIPort);
|
REG_FUNC(cellVoice, cellVoiceWriteToIPort);
|
||||||
REG_FUNC(cellVoice, cellVoiceWriteToIPortEx);
|
REG_FUNC(cellVoice, cellVoiceWriteToIPortEx);
|
||||||
|
REG_FUNC(cellVoice, cellVoiceWriteToIPortEx2);
|
||||||
REG_FUNC(cellVoice, cellVoiceReadFromOPort);
|
REG_FUNC(cellVoice, cellVoiceReadFromOPort);
|
||||||
REG_FUNC(cellVoice, cellVoiceDebugTopology);
|
REG_FUNC(cellVoice, cellVoiceDebugTopology);
|
||||||
});
|
});
|
||||||
|
@ -1297,6 +1297,8 @@ Module sysPrxForUser("sysPrxForUser", []()
|
|||||||
// Setup random number generator
|
// Setup random number generator
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
|
|
||||||
|
//REG_VARIABLE(sysPrxForUser, sys_prx_version); // 0x7df066cf
|
||||||
|
|
||||||
REG_FUNC(sysPrxForUser, sys_initialize_tls);
|
REG_FUNC(sysPrxForUser, sys_initialize_tls);
|
||||||
|
|
||||||
REG_FUNC(sysPrxForUser, sys_lwmutex_create);
|
REG_FUNC(sysPrxForUser, sys_lwmutex_create);
|
||||||
|
@ -7,9 +7,48 @@ extern void cellPad_init();
|
|||||||
extern void cellKb_init();
|
extern void cellKb_init();
|
||||||
extern void cellMouse_init();
|
extern void cellMouse_init();
|
||||||
|
|
||||||
|
|
||||||
|
s32 sys_config_start()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sys_config_stop()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sys_config_add_service_listener()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sys_config_remove_service_listener()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sys_config_register_service()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sys_config_unregister_service()
|
||||||
|
{
|
||||||
|
throw EXCEPTION("");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Module sys_io("sys_io", []()
|
Module sys_io("sys_io", []()
|
||||||
{
|
{
|
||||||
cellPad_init();
|
cellPad_init();
|
||||||
cellKb_init();
|
cellKb_init();
|
||||||
cellMouse_init();
|
cellMouse_init();
|
||||||
|
|
||||||
|
REG_FUNC(sys_io, sys_config_start);
|
||||||
|
REG_FUNC(sys_io, sys_config_stop);
|
||||||
|
REG_FUNC(sys_io, sys_config_add_service_listener);
|
||||||
|
REG_FUNC(sys_io, sys_config_remove_service_listener);
|
||||||
|
REG_FUNC(sys_io, sys_config_register_service);
|
||||||
|
REG_FUNC(sys_io, sys_config_unregister_service);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user