mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-15 23:54:24 -04:00
Loader: Greatly simplify mapping logic, add CodeMemory mapper.
This commit is contained in:
parent
991357f309
commit
b34b9ba0e4
2 changed files with 150 additions and 110 deletions
|
@ -1,9 +1,28 @@
|
|||
#pragma once
|
||||
#include <switch.h>
|
||||
|
||||
#include "ldr_registration.hpp"
|
||||
|
||||
class MapUtils {
|
||||
public:
|
||||
struct AddressSpaceInfo {
|
||||
u64 heap_base;
|
||||
u64 heap_size;
|
||||
u64 heap_end;
|
||||
u64 map_base;
|
||||
u64 map_size;
|
||||
u64 map_end;
|
||||
u64 addspace_base;
|
||||
u64 addspace_size;
|
||||
u64 addspace_end;
|
||||
};
|
||||
static Result GetAddressSpaceInfo(AddressSpaceInfo *out, Handle process_h);
|
||||
static Result LocateSpaceForMapDeprecated(u64 *out, u64 out_size);
|
||||
static Result LocateSpaceForMapModern(u64 *out, u64 out_size);
|
||||
static Result LocateSpaceForMap(u64 *out, u64 out_size);
|
||||
|
||||
|
||||
static Result MapCodeMemoryForProcessDeprecated(Handle process_h, bool is_64_bit_address_space, u64 base_address, u64 size, u64 *out_code_memory_address);
|
||||
static Result MapCodeMemoryForProcessModern(Handle process_h, u64 base_address, u64 size, u64 *out_code_memory_address);
|
||||
static Result MapCodeMemoryForProcess(Handle process_h, bool is_64_bit_address_space, u64 base_address, u64 size, u64 *out_code_memory_address);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue