2015-07-29 20:35:03 +02:00
|
|
|
#include "stdafx.h"
|
2016-03-21 20:43:03 +01:00
|
|
|
#include "Emu/Cell/PPUModule.h"
|
2015-07-29 20:35:03 +02:00
|
|
|
|
2016-07-14 23:02:07 +02:00
|
|
|
#include "cellDaisy.h"
|
|
|
|
|
|
2017-05-13 20:30:37 +02:00
|
|
|
logs::channel cellDaisy("cellDaisy");
|
2015-07-29 20:35:03 +02:00
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
using LFQueue2 = struct CellDaisyLFQueue2;
|
|
|
|
|
using Lock = struct CellDaisyLock;
|
|
|
|
|
using ScatterGatherInterlock = struct CellDaisyScatterGatherInterlock;
|
|
|
|
|
using AtomicInterlock = volatile struct CellDaisyAtomicInterlock;
|
2015-07-29 20:35:03 +02:00
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLFQueue2GetPopPointer(vm::ptr<LFQueue2> queue, vm::ptr<s32> pPointer, u32 isBlocking)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLFQueue2CompletePopPointer(vm::ptr<LFQueue2> queue, s32 pointer, vm::ptr<s32(vm::ptr<void>, u32)> fpSendSignal, u32 isQueueFull)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyLFQueue2PushOpen(vm::ptr<LFQueue2> queue)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLFQueue2PushClose(vm::ptr<LFQueue2> queue, vm::ptr<s32(vm::ptr<void>, u32)> fpSendSignal)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyLFQueue2PopOpen(vm::ptr<LFQueue2> queue)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLFQueue2PopClose(vm::ptr<LFQueue2> queue, vm::ptr<s32(vm::ptr<void>, u32)> fpSendSignal)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLFQueue2HasUnfinishedConsumer(vm::ptr<LFQueue2> queue, u32 isCancelled)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisy_snprintf(vm::ptr<char> buffer, u32 count, vm::cptr<char> fmt, ppu_va_args_t fmt_args)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_initialize(vm::ptr<Lock> _this, u32 depth)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_getNextHeadPointer(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_getNextTailPointer(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_completeConsume(vm::ptr<Lock> _this, u32 pointer)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_completeProduce(vm::ptr<Lock> _this, u32 pointer)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_pushOpen(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_pushClose(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_popOpen(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyLock_popClose(vm::ptr<Lock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyScatterGatherInterlock_1(vm::ptr<ScatterGatherInterlock> _this, vm::ptr<AtomicInterlock> ea, u32 size, vm::ptr<void> eaSignal, vm::ptr<s32(vm::ptr<void>, u32)> fpSendSignal)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyScatterGatherInterlock_2(vm::ptr<ScatterGatherInterlock> _this, u32 size, vm::ptr<u32> ids, u32 numSpus, u8 spup)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyScatterGatherInterlock_9tor(vm::ptr<ScatterGatherInterlock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyScatterGatherInterlock_probe(vm::ptr<ScatterGatherInterlock> _this, u32 isBlocking)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
s32 cellDaisyScatterGatherInterlock_release(vm::ptr<ScatterGatherInterlock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
2017-04-28 17:20:46 +02:00
|
|
|
void cellDaisyScatterGatherInterlock_proceedSequenceNumber(vm::ptr<ScatterGatherInterlock> _this)
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-07-29 20:35:03 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2016-03-21 20:43:03 +01:00
|
|
|
DECLARE(ppu_module_manager::cellDaisy)("cellDaisy", []()
|
2015-07-29 20:35:03 +02:00
|
|
|
{
|
2017-04-28 17:20:46 +02:00
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE", cellDaisyLFQueue2PushClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE", cellDaisyLFQueue2PushClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij", cellDaisyLFQueue2GetPopPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij", cellDaisyLFQueue2GetPopPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj", cellDaisyLFQueue2CompletePopPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj", cellDaisyLFQueue2CompletePopPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej", cellDaisyLFQueue2HasUnfinishedConsumer);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej", cellDaisyLFQueue2HasUnfinishedConsumer);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E", cellDaisyLFQueue2PushOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E", cellDaisyLFQueue2PushOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE", cellDaisyLFQueue2PopClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE", cellDaisyLFQueue2PopClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E", cellDaisyLFQueue2PopOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E", cellDaisyLFQueue2PopOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy9_snprintfEPcjPKcz", cellDaisy_snprintf);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy9_snprintfEPcjPKcz", cellDaisy_snprintf);
|
|
|
|
|
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock7popOpenEv", cellDaisyLock_popOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock7popOpenEv", cellDaisyLock_popOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock18getNextHeadPointerEv", cellDaisyLock_getNextHeadPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock18getNextHeadPointerEv", cellDaisyLock_getNextHeadPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock10initializeEj", cellDaisyLock_initialize);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock10initializeEj", cellDaisyLock_initialize);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock15completeProduceEj", cellDaisyLock_completeProduce);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock15completeProduceEj", cellDaisyLock_completeProduce);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock8popCloseEv", cellDaisyLock_popClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock8popCloseEv", cellDaisyLock_popClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock18getNextTailPointerEv", cellDaisyLock_getNextTailPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock18getNextTailPointerEv", cellDaisyLock_getNextTailPointer);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock8pushOpenEv", cellDaisyLock_pushOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock8pushOpenEv", cellDaisyLock_pushOpen);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock9pushCloseEv", cellDaisyLock_pushClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock9pushCloseEv", cellDaisyLock_pushClose);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy4Lock15completeConsumeEj", cellDaisyLock_completeConsume);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy4Lock15completeConsumeEj", cellDaisyLock_completeConsume);
|
|
|
|
|
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh", cellDaisyScatterGatherInterlock_1);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh", cellDaisyScatterGatherInterlock_1);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh", cellDaisyScatterGatherInterlock_1);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh", cellDaisyScatterGatherInterlock_1);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE", cellDaisyScatterGatherInterlock_2);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE", cellDaisyScatterGatherInterlock_2);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE", cellDaisyScatterGatherInterlock_2);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE", cellDaisyScatterGatherInterlock_2);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockD2Ev", cellDaisyScatterGatherInterlock_9tor);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockD2Ev", cellDaisyScatterGatherInterlock_9tor);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlockD1Ev", cellDaisyScatterGatherInterlock_9tor);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlockD1Ev", cellDaisyScatterGatherInterlock_9tor);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlock7releaseEv", cellDaisyScatterGatherInterlock_release);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlock7releaseEv", cellDaisyScatterGatherInterlock_release);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv", cellDaisyScatterGatherInterlock_proceedSequenceNumber);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv", cellDaisyScatterGatherInterlock_proceedSequenceNumber);
|
|
|
|
|
REG_FNID(cellDaisy, "_ZN4cell5Daisy22ScatterGatherInterlock5probeEj", cellDaisyScatterGatherInterlock_probe);
|
|
|
|
|
REG_FNID(cellDaisy, "_QN4cell5Daisy22ScatterGatherInterlock5probeEj", cellDaisyScatterGatherInterlock_probe);
|
2015-07-29 20:35:03 +02:00
|
|
|
});
|