mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-02 21:01:58 +00:00
[core] Support libnx homebrew NextLoad handoff
Implement the homebrew NextLoad path used by libnx NROs to request another NRO from svcExitProcess. Keep the existing process alive, rebuild the homebrew config and argv buffers, reset thread context, refresh process metadata, and add memory/address-space fallbacks needed for repeated in-place handoffs. Reference: https://switchbrew.github.io/libnx/env_8h.html
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-late
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// This file is automatically generated using svc_generator.py.
|
||||
// DO NOT MODIFY IT MANUALLY
|
||||
@@ -128,7 +129,7 @@ static void SvcWrap_QueryMemory64From32(Core::System& system, std::span<uint64_t
|
||||
}
|
||||
|
||||
static void SvcWrap_ExitProcess64From32(Core::System& system, std::span<uint64_t, 8> args) {
|
||||
ExitProcess64From32(system);
|
||||
ExitProcess64From32(system, args);
|
||||
}
|
||||
|
||||
static void SvcWrap_CreateThread64From32(Core::System& system, std::span<uint64_t, 8> args) {
|
||||
@@ -1298,7 +1299,7 @@ static void SvcWrap_QueryMemory64(Core::System& system, std::span<uint64_t, 8> a
|
||||
}
|
||||
|
||||
static void SvcWrap_ExitProcess64(Core::System& system, std::span<uint64_t, 8> args) {
|
||||
ExitProcess64(system);
|
||||
ExitProcess64(system, args);
|
||||
}
|
||||
|
||||
static void SvcWrap_CreateThread64(Core::System& system, std::span<uint64_t, 8> args) {
|
||||
|
||||
Reference in New Issue
Block a user