mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-03 12:27:21 +12:00
Fix GSP::GPU::RegisterInterruptRelayQueue and add ResetType defs
This commit is contained in:
parent
a91035abf4
commit
a5384095df
5 changed files with 55 additions and 7 deletions
|
@ -49,7 +49,7 @@ class Kernel {
|
|||
return handleCounter++;
|
||||
}
|
||||
|
||||
Handle makeEvent(u32 resetType);
|
||||
Handle makeEvent(ResetType resetType);
|
||||
Handle makeProcess();
|
||||
Handle makePort(const char* name);
|
||||
Handle makeSession(Handle port);
|
||||
|
@ -61,7 +61,9 @@ class Kernel {
|
|||
s32 getCurrentResourceValue(const KernelObject* limit, u32 resourceName);
|
||||
u32 getMaxForResource(const KernelObject* limit, u32 resourceName);
|
||||
u32 getTLSPointer();
|
||||
|
||||
std::string getProcessName(u32 pid);
|
||||
const char* resetTypeToString(u32 type);
|
||||
|
||||
// SVC implementations
|
||||
void createAddressArbiter();
|
||||
|
|
|
@ -38,6 +38,13 @@ enum ResourceTypes {
|
|||
CPU_TIME = 9
|
||||
};
|
||||
|
||||
// Reset types (for use with events and timers)
|
||||
enum ResetType {
|
||||
RESET_ONESHOT = 0, // When the primitive is signaled, it will wake up exactly one thread and will clear itself automatically.
|
||||
RESET_STICKY = 1, // When the primitive is signaled, it will wake up all threads and it won't clear itself automatically.
|
||||
RESET_PULSE = 2, // Only meaningful for timers: same as ONESHOT but it will periodically signal the timer instead of just once.
|
||||
};
|
||||
|
||||
struct ResourceLimits {
|
||||
Handle handle;
|
||||
|
||||
|
@ -49,6 +56,10 @@ struct ProcessData {
|
|||
ResourceLimits limits;
|
||||
};
|
||||
|
||||
struct EventData {
|
||||
ResetType resetType = RESET_ONESHOT;
|
||||
};
|
||||
|
||||
enum class PortType {
|
||||
Generic,
|
||||
ServiceManager // For the service manager port "srv:"
|
||||
|
|
|
@ -14,6 +14,7 @@ class GPUService {
|
|||
|
||||
// Service commands
|
||||
void acquireRight(u32 messagePointer);
|
||||
void registerInterruptRelayQueue(u32 messagePointer);
|
||||
|
||||
public:
|
||||
GPUService(Memory& mem, u32& currentPID) : mem(mem), currentPID(currentPID) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue