mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-05-05 02:32:34 +00:00
Initial implementation of ports and sessions
This commit is contained in:
parent
aa643c44bb
commit
0e66af8dae
7 changed files with 100 additions and 17 deletions
|
@ -14,6 +14,7 @@ class Kernel {
|
|||
// The handle number for the next kernel object to be created
|
||||
u32 handleCounter;
|
||||
std::vector<KernelObject> objects;
|
||||
std::vector<Handle> portHandles;
|
||||
|
||||
u32 currentProcess;
|
||||
|
||||
|
@ -47,6 +48,10 @@ class Kernel {
|
|||
}
|
||||
|
||||
Handle makeProcess();
|
||||
Handle makePort(const char* name);
|
||||
std::optional<Handle> getPortHandle(const char* name);
|
||||
void deleteObjectData(KernelObject& object);
|
||||
|
||||
KernelObject* getProcessFromPID(Handle handle);
|
||||
s32 getCurrentResourceValue(const KernelObject* limit, u32 resourceName);
|
||||
u32 getMaxForResource(const KernelObject* limit, u32 resourceName);
|
||||
|
@ -64,6 +69,7 @@ class Kernel {
|
|||
public:
|
||||
Kernel(std::array<u32, 16>& regs, Memory& mem) : regs(regs), mem(mem), handleCounter(0) {
|
||||
objects.reserve(512); // Make room for a few objects to avoid further memory allocs later
|
||||
portHandles.reserve(32);
|
||||
}
|
||||
void serviceSVC(u32 svc);
|
||||
void reset();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue