diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a2e246bc..3f534c06d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,7 +107,9 @@ set(GNM_LIB src/core/libraries/gnmdriver/gnmdriver.cpp src/core/libraries/gnmdriver/gnmdriver.h ) -set(KERNEL_LIB src/core/libraries/kernel/cpu_management.cpp +set(KERNEL_LIB src/core/libraries/kernel/memory/kernel_memory.cpp + src/core/libraries/kernel/memory/kernel_memory.h + src/core/libraries/kernel/cpu_management.cpp src/core/libraries/kernel/cpu_management.h src/core/libraries/kernel/event_queue.cpp src/core/libraries/kernel/event_queue.h diff --git a/src/core/libraries/kernel/libkernel.cpp b/src/core/libraries/kernel/libkernel.cpp index f23135189..f0e232168 100644 --- a/src/core/libraries/kernel/libkernel.cpp +++ b/src/core/libraries/kernel/libkernel.cpp @@ -9,6 +9,7 @@ #include "core/libraries/kernel/event_queues.h" #include "core/libraries/kernel/file_system.h" #include "core/libraries/kernel/libkernel.h" +#include "core/libraries/kernel/memory/kernel_memory.h" #include "core/libraries/kernel/memory_management.h" #include "core/libraries/kernel/thread_management.h" #include "core/libraries/kernel/time_management.h" @@ -179,6 +180,7 @@ void LibKernel_Register(Core::Loader::SymbolsResolver* sym) { Libraries::Kernel::fileSystemSymbolsRegister(sym); Libraries::Kernel::timeSymbolsRegister(sym); Libraries::Kernel::pthreadSymbolsRegister(sym); + Libraries::Kernel::RegisterKernelMemory(sym); // temp LIB_FUNCTION("NWtTN10cJzE", "libSceLibcInternalExt", 1, "libSceLibcInternal", 1, 1, diff --git a/src/core/libraries/kernel/memory/kernel_memory.cpp b/src/core/libraries/kernel/memory/kernel_memory.cpp new file mode 100644 index 000000000..8fe929730 --- /dev/null +++ b/src/core/libraries/kernel/memory/kernel_memory.cpp @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "kernel_memory.h" +#include + +namespace Libraries::Kernel { + +s32 PS4_SYSV_ABI sceKernelMapNamedFlexibleMemory(void** addrInOut, std::size_t len, int prot, + int flags, const char* name) { + return 0; +} + +void RegisterKernelMemory(Core::Loader::SymbolsResolver* sym) { + LIB_FUNCTION("mL8NDH86iQI", "libkernel", 1, "libkernel", 1, 1, sceKernelMapNamedFlexibleMemory); +} + +} // namespace Libraries::Kernel \ No newline at end of file diff --git a/src/core/libraries/kernel/memory/kernel_memory.h b/src/core/libraries/kernel/memory/kernel_memory.h new file mode 100644 index 000000000..cf219c6e2 --- /dev/null +++ b/src/core/libraries/kernel/memory/kernel_memory.h @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: Copyright 2024 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 { +s32 PS4_SYSV_ABI sceKernelMapNamedFlexibleMemory(void** addrInOut, std::size_t len, int prot, + int flags, const char* name); + +void RegisterKernelMemory(Core::Loader::SymbolsResolver* sym); +} // namespace Libraries::Kernel \ No newline at end of file