
Let's not pretend in 2022 that it needed things from rosalina sysmodule - it did not. This moves 3DSX loading from Rosalina to Loader, and also removes all the dependencies Loader had to other Luma3DS components (if kernel ext. is missing, a default config will be used). This means that, as long as you replace Loader to the one in here, you will be able to properly load 3DSX files. Changes: - hb:ldr is now hosted in loader - hb:ldr LoadProcess, PatchExHeaderInfo, DebugNextApplicationByForce: all removed - fix a bug where some malformed 3DSX files were not rejected - grant access to CONFIG11 registers to 3DSX homebrew - move dirty homebrew chainload (when HM. isn't loaded nor loadable) to pm - pm:dbg (ext.) PrepareToChainloadHomebrew: removed
24 lines
642 B
C
24 lines
642 B
C
#pragma once
|
|
|
|
#include <3ds/types.h>
|
|
#include "process_data.h"
|
|
|
|
typedef struct Manager {
|
|
ProcessList processList;
|
|
ProcessData *runningApplicationData;
|
|
ProcessData *debugData; // note: official PM uses runningApplicationData for both, and has queuedApplicationProcessHandle
|
|
Handle reslimits[4];
|
|
Handle newProcessEvent;
|
|
Handle allNotifiedTerminationEvent;
|
|
bool waitingForTermination;
|
|
bool preparingForReboot;
|
|
u8 maxAppCpuTime;
|
|
s8 cpuTimeBase;
|
|
} Manager;
|
|
|
|
extern Manager g_manager;
|
|
|
|
void Manager_Init(void *procBuf, size_t numProc);
|
|
void Manager_RegisterKips(void);
|
|
Result UnregisterProcess(u64 titleId);
|