mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-17 00:24:23 -04:00
kern: support immortal processes
This commit is contained in:
parent
256eb92f4c
commit
2f930c2d5f
4 changed files with 27 additions and 17 deletions
|
@ -70,6 +70,7 @@ namespace ams::kern {
|
|||
constexpr bool Is64Bit() const { return (m_flags & (1 << 3)); }
|
||||
constexpr bool Is64BitAddressSpace() const { return (m_flags & (1 << 4)); }
|
||||
constexpr bool UsesSecureMemory() const { return (m_flags & (1 << 5)); }
|
||||
constexpr bool IsImmortal() const { return (m_flags & (1 << 6)); }
|
||||
|
||||
constexpr u32 GetRxAddress() const { return m_rx_address; }
|
||||
constexpr u32 GetRxSize() const { return m_rx_size; }
|
||||
|
@ -117,6 +118,7 @@ namespace ams::kern {
|
|||
constexpr bool Is64Bit() const { return m_kip_header->Is64Bit(); }
|
||||
constexpr bool Is64BitAddressSpace() const { return m_kip_header->Is64BitAddressSpace(); }
|
||||
constexpr bool UsesSecureMemory() const { return m_kip_header->UsesSecureMemory(); }
|
||||
constexpr bool IsImmortal() const { return m_kip_header->IsImmortal(); }
|
||||
|
||||
bool Attach(u8 *bin) {
|
||||
if (KInitialProcessHeader *header = reinterpret_cast<KInitialProcessHeader *>(bin); header->IsValid()) {
|
||||
|
|
|
@ -98,6 +98,7 @@ namespace ams::kern {
|
|||
SharedMemoryInfoList m_shared_memory_list{};
|
||||
BetaList m_beta_list{};
|
||||
bool m_is_suspended{};
|
||||
bool m_is_immortal{};
|
||||
bool m_is_jit_debug{};
|
||||
ams::svc::DebugEvent m_jit_debug_event_type{};
|
||||
ams::svc::DebugException m_jit_debug_exception_type{};
|
||||
|
@ -143,7 +144,7 @@ namespace ams::kern {
|
|||
KProcess() { /* ... */ }
|
||||
virtual ~KProcess() { /* ... */ }
|
||||
|
||||
Result Initialize(const ams::svc::CreateProcessParameter ¶ms, const KPageGroup &pg, const u32 *caps, s32 num_caps, KResourceLimit *res_limit, KMemoryManager::Pool pool);
|
||||
Result Initialize(const ams::svc::CreateProcessParameter ¶ms, const KPageGroup &pg, const u32 *caps, s32 num_caps, KResourceLimit *res_limit, KMemoryManager::Pool pool, bool immortal);
|
||||
Result Initialize(const ams::svc::CreateProcessParameter ¶ms, svc::KUserPointer<const u32 *> caps, s32 num_caps, KResourceLimit *res_limit, KMemoryManager::Pool pool);
|
||||
void Exit();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue