
This commit adds all the changes made to the 3GX plugin loader fork of Luma3DS. The most important features are: - Add 3GX plugin loader support. New service added to rosalina: plg:ldr - Add svcControlProcess, svcControlMemoryUnsafe and improve svcMapProcessMemoryEx (breaking change) - Allow applications to override certain configurations depending on their needs: - Disable core2 thread redirection - Disable game patching for the next app - Force New 3DS speedup - Force next application in a specific memory mode - Block the opening of the Rosalina menu - Add GDB commands to list all process handles and catch all SVC (latter is for IDA Pro as gdb client supports it) - Other changes necessary for plugins to work properly. Please check changed files in this PR for more details. --------- Co-authored-by: PabloMK7 <hackyglitch@gmail.com> Co-authored-by: Nanquitas <nath.doidi@gmail.com> Co-authored-by: TuxSH <1922548+TuxSH@users.noreply.github.com>
22 lines
959 B
C
22 lines
959 B
C
#pragma once
|
|
|
|
#include "utils.h"
|
|
#include "kernel.h"
|
|
#include "svc.h"
|
|
|
|
/// Operations for svcControlProcess
|
|
typedef enum ProcessOp
|
|
{
|
|
PROCESSOP_GET_ALL_HANDLES, ///< List all handles of the process, varg3 can be either 0 to fetch all handles, or token of the type to fetch
|
|
///< svcControlProcess(handle, PROCESSOP_GET_ALL_HANDLES, (u32)&outBuf, 0)
|
|
PROCESSOP_SET_MMU_TO_RWX, ///< Set the whole memory of the process with rwx access
|
|
///< svcControlProcess(handle, PROCESSOP_SET_MMU_TO_RWX, 0, 0)
|
|
PROCESSOP_GET_ON_MEMORY_CHANGE_EVENT,
|
|
PROCESSOP_SIGNAL_ON_EXIT,
|
|
PROCESSOP_GET_PA_FROM_VA, ///< Get the physical address of the va within the process
|
|
///< svcControlProcess(handle, PROCESSOP_GET_PA_FROM_VA, (u32)&outPa, va)
|
|
PROCESSOP_SCHEDULE_THREADS,
|
|
} ProcessOp;
|
|
|
|
Result ControlProcess(Handle process, ProcessOp op, u32 varg2, u32 varg3);
|