mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-09 21:31:04 +00:00
* Implement sceKernelIsInSandbox libSceSysmodule uses this to determine if it should use sceKernelGetFsSandboxRandomWord or just hardcode "system" for retrieving modules. Also changes some function types to use our types. * Update OrbisSysModule enum Adds missing values based on library testing. * Clang
36 lines
864 B
C++
36 lines
864 B
C++
// SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include "common/types.h"
|
|
|
|
namespace Core::Loader {
|
|
class SymbolsResolver;
|
|
}
|
|
|
|
namespace Libraries::Kernel {
|
|
|
|
static constexpr u64 ORBIS_DBG_MAX_NAME_LENGTH = 256;
|
|
|
|
struct OrbisModuleInfoForUnwind {
|
|
u64 st_size;
|
|
std::array<char, ORBIS_DBG_MAX_NAME_LENGTH> name;
|
|
VAddr eh_frame_hdr_addr;
|
|
VAddr eh_frame_addr;
|
|
u64 eh_frame_size;
|
|
VAddr seg0_addr;
|
|
u64 seg0_size;
|
|
};
|
|
|
|
s32 PS4_SYSV_ABI sceKernelIsNeoMode();
|
|
|
|
s32 PS4_SYSV_ABI sceKernelGetCompiledSdkVersion(s32* ver);
|
|
|
|
s32 PS4_SYSV_ABI sceKernelGetModuleInfoForUnwind(VAddr addr, s32 flags,
|
|
OrbisModuleInfoForUnwind* info);
|
|
|
|
void RegisterProcess(Core::Loader::SymbolsResolver* sym);
|
|
|
|
} // namespace Libraries::Kernel
|