mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-05-25 04:45:00 +00:00
* cpu_patches: Patch just-in-time using illegal instruction handler. * core: Add common signal dispatch system and use for on-demand TCB patches. * page_manager: Re-add userfaultfd implementation.
21 lines
731 B
C++
21 lines
731 B
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
namespace Core {
|
|
|
|
/// Initializes a stack for the current thread for use by patch implementations.
|
|
void InitializeThreadPatchStack();
|
|
|
|
/// Cleans up the patch stack for the current thread.
|
|
void CleanupThreadPatchStack();
|
|
|
|
/// Registers a module for patching, providing an area to generate trampoline code.
|
|
void RegisterPatchModule(void* module_ptr, u64 module_size, void* trampoline_area_ptr,
|
|
u64 trampoline_area_size);
|
|
|
|
/// Applies CPU patches that need to be done before beginning executions.
|
|
void PrePatchInstructions(u64 segment_addr, u64 segment_size);
|
|
|
|
} // namespace Core
|