file_system reorganized (dummy)
This commit is contained in:
parent
6f941c277a
commit
cfdc45dfcb
|
@ -43,10 +43,10 @@ set(SYSTEMSERVICE_SOURCES src/Emulator/HLE/Libraries/LibSystemService/system_ser
|
||||||
src/Emulator/HLE/Libraries/LibSystemService/system_service.h
|
src/Emulator/HLE/Libraries/LibSystemService/system_service.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(FILESYSTEM_SOURCES src/Emulator/HLE/Libraries/LibKernel/FileSystem/file_system.cpp
|
set(FILESYSTEM_SOURCES "src/Core/hle/libraries/libkernel/file_system.cpp"
|
||||||
src/Emulator/HLE/Libraries/LibKernel/FileSystem/file_system.h
|
"src/Core/hle/libraries/libkernel/file_system.h"
|
||||||
src/Emulator/HLE/Libraries/LibKernel/FileSystem/posix_file_system.cpp
|
|
||||||
src/Emulator/HLE/Libraries/LibKernel/FileSystem/posix_file_system.h
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(HOST_SOURCES src/Emulator/Host/controller.cpp
|
set(HOST_SOURCES src/Emulator/Host/controller.cpp
|
||||||
|
|
|
@ -11,8 +11,7 @@
|
||||||
#include "Kernel/event_queues.h"
|
#include "Kernel/event_queues.h"
|
||||||
#include "Kernel/memory_management.h"
|
#include "Kernel/memory_management.h"
|
||||||
#include "Libs.h"
|
#include "Libs.h"
|
||||||
#include "Emulator/HLE/Libraries/LibKernel/FileSystem/file_system.h"
|
#include "Core/hle/libraries/libkernel/file_system.h"
|
||||||
#include "Emulator/HLE/Libraries/LibKernel/FileSystem/posix_file_system.h"
|
|
||||||
#include "Core/hle/libraries/libkernel/time_management.h"
|
#include "Core/hle/libraries/libkernel/time_management.h"
|
||||||
|
|
||||||
namespace HLE::Libs::LibKernel {
|
namespace HLE::Libs::LibKernel {
|
||||||
|
@ -42,10 +41,8 @@ void LibKernel_Register(SymbolsResolver* sym) {
|
||||||
// misc
|
// misc
|
||||||
LIB_FUNCTION("WslcK1FQcGI", "libkernel", 1, "libkernel", 1, 1, CPUManagement::sceKernelIsNeoMode);
|
LIB_FUNCTION("WslcK1FQcGI", "libkernel", 1, "libkernel", 1, 1, CPUManagement::sceKernelIsNeoMode);
|
||||||
LIB_FUNCTION("Ou3iL1abvng", "libkernel", 1, "libkernel", 1, 1, stack_chk_fail);
|
LIB_FUNCTION("Ou3iL1abvng", "libkernel", 1, "libkernel", 1, 1, stack_chk_fail);
|
||||||
// fs
|
|
||||||
LIB_FUNCTION("1G3lF1Gg1k8", "libkernel", 1, "libkernel", 1, 1, Emulator::HLE::Libraries::LibKernel::FileSystem::sceKernelOpen);
|
|
||||||
LIB_FUNCTION("wuCroIGjt2g", "libScePosix", 1, "libkernel", 1, 1, Emulator::HLE::Libraries::LibKernel::FileSystem::POSIX::open);
|
|
||||||
|
|
||||||
|
Core::Libraries::LibKernel::fileSystemSymbolsRegister(sym);
|
||||||
Core::Libraries::LibKernel::timeSymbolsRegister(sym);
|
Core::Libraries::LibKernel::timeSymbolsRegister(sym);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
#include "file_system.h"
|
||||||
|
|
||||||
|
#include <Core/PS4/HLE/Libs.h>
|
||||||
|
#include <Util/log.h>
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
namespace Core::Libraries::LibKernel {
|
||||||
|
constexpr bool log_file_fs = true; // disable it to disable logging
|
||||||
|
|
||||||
|
int PS4_SYSV_ABI sceKernelOpen(const char* path, int flags, u16 mode) {
|
||||||
|
LOG_INFO_IF(log_file_fs, "sceKernelOpen path = {} flags = {:#x} mode = {:#x}\n", path, flags, mode);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int PS4_SYSV_ABI open(const char* path, int flags, /* SceKernelMode*/ u16 mode) {
|
||||||
|
LOG_INFO_IF(log_file_fs, "posix open redirect to sceKernelOpen\n");
|
||||||
|
int result = sceKernelOpen(path, flags, mode);
|
||||||
|
if (result < 0) {
|
||||||
|
BREAKPOINT(); // posix calls different only for their return values
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fileSystemSymbolsRegister(SymbolsResolver* sym) {
|
||||||
|
LIB_FUNCTION("1G3lF1Gg1k8", "libkernel", 1, "libkernel", 1, 1, sceKernelOpen);
|
||||||
|
LIB_FUNCTION("wuCroIGjt2g", "libScePosix", 1, "libkernel", 1, 1, open);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Core::Libraries::LibKernel
|
|
@ -0,0 +1,13 @@
|
||||||
|
#pragma once
|
||||||
|
#include <types.h>
|
||||||
|
#include "Core/PS4/Loader/SymbolsResolver.h"
|
||||||
|
|
||||||
|
namespace Core::Libraries::LibKernel {
|
||||||
|
int PS4_SYSV_ABI sceKernelOpen(const char *path, int flags, /* SceKernelMode*/ u16 mode);
|
||||||
|
|
||||||
|
// posix file system
|
||||||
|
int PS4_SYSV_ABI open(const char *path, int flags, /* SceKernelMode*/ u16 mode);
|
||||||
|
|
||||||
|
|
||||||
|
void fileSystemSymbolsRegister(SymbolsResolver *sym);
|
||||||
|
} // namespace Core::Libraries::LibKernel
|
|
@ -1,13 +0,0 @@
|
||||||
#include "file_system.h"
|
|
||||||
#include <debug.h>
|
|
||||||
#include <Util/log.h>
|
|
||||||
|
|
||||||
namespace Emulator::HLE::Libraries::LibKernel::FileSystem {
|
|
||||||
constexpr bool log_file_fs = true; // disable it to disable logging
|
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceKernelOpen(const char* path, int flags, u16 mode) {
|
|
||||||
LOG_INFO_IF(log_file_fs, "sceKernelOpen path = {} flags = {} mode = {}\n", path, log_hex_full(flags), log_hex_full(mode));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Emulator::HLE::Libraries::LibKernel::FileSystem
|
|
|
@ -1,7 +0,0 @@
|
||||||
#pragma once
|
|
||||||
#include <types.h>
|
|
||||||
|
|
||||||
namespace Emulator::HLE::Libraries::LibKernel::FileSystem {
|
|
||||||
int PS4_SYSV_ABI sceKernelOpen(const char *path, int flags, /* SceKernelMode*/ u16 mode);
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
#include "posix_file_system.h"
|
|
||||||
|
|
||||||
#include <debug.h>
|
|
||||||
|
|
||||||
#include "file_system.h"
|
|
||||||
|
|
||||||
namespace Emulator::HLE::Libraries::LibKernel::FileSystem::POSIX {
|
|
||||||
int PS4_SYSV_ABI open(const char* path, int flags, /* SceKernelMode*/ u16 mode) {
|
|
||||||
int result = sceKernelOpen(path, flags, mode);
|
|
||||||
if (result < 0) {
|
|
||||||
BREAKPOINT(); // posix calls different only for their return values
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
} // namespace Emulator::HLE::Libraries::LibKernel::FileSystem::POSIX
|
|
|
@ -1,6 +0,0 @@
|
||||||
#pragma once
|
|
||||||
#include "types.h"
|
|
||||||
|
|
||||||
namespace Emulator::HLE::Libraries::LibKernel::FileSystem::POSIX {
|
|
||||||
int PS4_SYSV_ABI open(const char *path, int flags, /* SceKernelMode*/ u16 mode);
|
|
||||||
}
|
|
Loading…
Reference in New Issue