src: Move certain headers in common

This commit is contained in:
GPUCode 2023-11-05 13:41:10 +02:00
parent 6e28ac711f
commit 17aefc1aef
73 changed files with 98 additions and 106 deletions

View file

@ -1,93 +0,0 @@
#include "FsFile.h"
namespace Common::FS {
File::File() = default;
File::File(const std::string& path, OpenMode mode) {
open(path, mode);
}
File::~File() {
close();
}
bool File::open(const std::string& path, OpenMode mode) {
close();
#ifdef _WIN64
fopen_s(&m_file, path.c_str(), getOpenMode(mode));
#else
m_file = std::fopen(path.c_str(), getOpenMode(mode));
#endif
return isOpen();
}
bool File::close() {
if (!isOpen() || std::fclose(m_file) != 0) [[unlikely]] {
m_file = nullptr;
return false;
}
m_file = nullptr;
return true;
}
bool File::write(std::span<const u08> data) {
return isOpen() && std::fwrite(data.data(), 1, data.size(), m_file) == data.size();
}
bool File::read(void* data, u64 size) const {
return isOpen() && std::fread(data, 1, size, m_file) == size;
}
bool File::seek(s64 offset, SeekMode mode) {
#ifdef _WIN64
if (!isOpen() || _fseeki64(m_file, offset, getSeekMode(mode)) != 0) {
return false;
}
#else
if (!isOpen() || fseeko64(m_file, offset, getSeekMode(mode)) != 0) {
return false;
}
#endif
return true;
}
u64 File::tell() const {
if (isOpen()) [[likely]] {
#ifdef _WIN64
return _ftelli64(m_file);
#else
return ftello64(m_file);
#endif
}
return -1;
}
u64 File::getFileSize() {
#ifdef _WIN64
const u64 pos = _ftelli64(m_file);
if (_fseeki64(m_file, 0, SEEK_END) != 0) {
return 0;
}
const u64 size = _ftelli64(m_file);
if (_fseeki64(m_file, pos, SEEK_SET) != 0) {
return 0;
}
#else
const u64 pos = ftello64(m_file);
if (fseeko64(m_file, 0, SEEK_END) != 0) {
return 0;
}
const u64 size = ftello64(m_file);
if (fseeko64(m_file, pos, SEEK_SET) != 0) {
return 0;
}
#endif
return size;
}
} // namespace Common::FS

View file

@ -1,87 +0,0 @@
#pragma once
#include <bit>
#include <cstdio>
#include <string>
#include <span>
#include <vector>
#include "../types.h"
namespace Common::FS {
enum class OpenMode : u32 {
Read = 0x1,
Write = 0x2,
ReadWrite = Read | Write
};
enum class SeekMode : u32 {
Set,
Cur,
End,
};
class File {
public:
File();
explicit File(const std::string& path, OpenMode mode = OpenMode::Read);
~File();
bool open(const std::string& path, OpenMode mode = OpenMode::Read);
bool close();
bool read(void* data, u64 size) const;
bool write(std::span<const u08> data);
bool seek(s64 offset, SeekMode mode);
u64 getFileSize();
u64 tell() const;
template <typename T>
bool read(T& data) const {
return read(&data, sizeof(T));
}
template <typename T>
bool read(std::vector<T>& data) const {
return read(data.data(), data.size() * sizeof(T));
}
bool isOpen() const {
return m_file != nullptr;
}
const char* getOpenMode(OpenMode mode) const {
switch (mode) {
case OpenMode::Read:
return "rb";
case OpenMode::Write:
return "wb";
case OpenMode::ReadWrite:
return "r+b";
default:
return "r";
}
}
int getSeekMode(SeekMode mode) const {
switch (mode) {
case SeekMode::Set:
return SEEK_SET;
case SeekMode::Cur:
return SEEK_CUR;
case SeekMode::End:
return SEEK_END;
default:
return SEEK_SET;
}
}
[[nodiscard]] std::FILE* fileDescr() const {
return m_file;
}
private:
std::FILE* m_file{};
};
} // namespace Common::FS

View file

@ -2,7 +2,7 @@
#include <xxh3.h>
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
void* GPU::memoryCreateObj(u64 submit_id, HLE::Libs::Graphics::GraphicCtx* ctx, void* todo /*CommandBuffer?*/, u64 virtual_addr, u64 size,
const GPUObject& info) {

View file

@ -1,7 +1,7 @@
#pragma once
#include <core/PS4/HLE/Graphics/graphics_ctx.h>
#include <types.h>
#include "common/types.h"
#include <mutex>
#include <vector>

View file

@ -1,5 +1,5 @@
#include "tile_manager.h"
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include <mutex>
namespace GPU {

View file

@ -1,6 +1,6 @@
#pragma once
#include "types.h"
#include "common/types.h"
namespace GPU {

View file

@ -1,8 +1,8 @@
#include "video_out_buffer.h"
#include <Util/log.h>
#include "common/log.h"
#include "debug.h"
#include "common/debug.h"
#include <vulkan_util.h>
#include "tile_manager.h"

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include "gpu_memory.h"

View file

@ -1,7 +1,7 @@
#include "video_out_ctx.h"
#include <core/PS4/HLE/LibKernel.h>
#include <debug.h>
#include "common/debug.h"
#include <core/hle/libraries/libkernel/time_management.h>
namespace HLE::Graphics::Objects {

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include <vector>
#include <vulkan/vulkan_core.h>
#include <mutex>

View file

@ -1,6 +1,6 @@
#include "graphics_render.h"
#include <fmt/core.h>
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include "emulator.h"
static thread_local GPU::CommandPool g_command_pool;

View file

@ -7,15 +7,15 @@
#include <core/PS4/HLE/Libs.h>
#include <core/PS4/HLE/UserManagement/UsrMngCodes.h>
#include <Util/config.h>
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <stdio.h>
#include <magic_enum.hpp>
#include <string>
#include "Objects/video_out_ctx.h"
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include "emulator.h"
#include "graphics_render.h"

View file

@ -1,7 +1,6 @@
#pragma once
#include <core/PS4/HLE/Kernel/event_queues.h>
#include <core/PS4/Loader/SymbolsResolver.h>
#include <types.h>
#include <string>
@ -111,4 +110,4 @@ s32 PS4_SYSV_ABI sceVideoOutGetFlipStatus(s32 handle, SceVideoOutFlipStatus* sta
s32 PS4_SYSV_ABI sceVideoOutGetResolutionStatus(s32 handle, SceVideoOutResolutionStatus* status);
s32 PS4_SYSV_ABI sceVideoOutOpen(SceUserServiceUserId userId, s32 busType, s32 index, const void* param);
s32 PS4_SYSV_ABI sceVideoOutClose(s32 handle);
} // namespace HLE::Libs::Graphics::VideoOut
} // namespace HLE::Libs::Graphics::VideoOut

View file

@ -2,7 +2,7 @@
#include <Lib/Timer.h>
#include "debug.h"
#include "common/debug.h"
namespace HLE::Kernel::Objects {
EqueueInternal::~EqueueInternal() {}

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include <mutex>
#include <string>
#include <vector>
@ -76,4 +76,4 @@ class EqueueInternal {
std::vector<EqueueEvent> m_events;
std::condition_variable m_cond;
};
}; // namespace HLE::Kernel::Objects
}; // namespace HLE::Kernel::Objects

View file

@ -1,5 +1,5 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include <core/virtual_memory.h>
#include <core/PS4/GPU/gpu_memory.h>
#include <mutex>

View file

@ -1,6 +1,6 @@
#include "ThreadManagement.h"
#include <debug.h>
#include "common/debug.h"
#include "../ErrorCodes.h"

View file

@ -3,7 +3,7 @@
#include <pthread.h>
#include <sched.h>
#include "../../../../types.h"
#include "common/types.h"
#include <string>
namespace HLE::Libs::LibKernel::ThreadManagement {

View file

@ -1,6 +1,6 @@
#include "cpu_management.h"
#include "Util/config.h"
#include <Util/log.h>
#include "common/log.h"
#include <core/PS4/HLE/Libs.h>
namespace HLE::Libs::LibKernel::CPUManagement {

View file

@ -1,5 +1,5 @@
#pragma once
#include <types.h>
#include "common/types.h"
namespace HLE::Libs::LibKernel::CPUManagement {
int PS4_SYSV_ABI sceKernelIsNeoMode();

View file

@ -2,8 +2,8 @@
#include <core/PS4/HLE/ErrorCodes.h>
#include <core/PS4/HLE/Libs.h>
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
namespace HLE::Libs::LibKernel::EventQueues {
constexpr bool log_file_equeues = true; // disable it to disable logging

View file

@ -1,7 +1,5 @@
#pragma once
#include <types.h>
#include "Objects/event_queue.h"
namespace HLE::Libs::LibKernel::EventQueues {
@ -11,4 +9,4 @@ using SceKernelEqueue = Kernel::Objects::EqueueInternal*;
int PS4_SYSV_ABI sceKernelCreateEqueue(SceKernelEqueue* eq, const char* name);
int PS4_SYSV_ABI sceKernelWaitEqueue(SceKernelEqueue eq, HLE::Kernel::Objects::SceKernelEvent* ev, int num, int* out, SceKernelUseconds *timo);
}; // namespace HLE::Libs::LibKernel::EventQueues
}; // namespace HLE::Libs::LibKernel::EventQueues

View file

@ -2,13 +2,13 @@
#include <core/PS4/GPU/gpu_memory.h>
#include <core/virtual_memory.h>
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <bit>
#include <magic_enum.hpp>
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include "../ErrorCodes.h"
#include "../Libs.h"
#include "Objects/physical_memory.h"

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
// constants

View file

@ -1,10 +1,10 @@
#include "LibKernel.h"
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <windows.h>
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include "../Loader/Elf.h"
#include "Kernel/Objects/physical_memory.h"
#include "Kernel/cpu_management.h"

View file

@ -1,8 +1,8 @@
#include "LibSceGnmDriver.h"
#include "Libs.h"
#include "../Loader/Elf.h"
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <core/PS4/GPU/gpu_memory.h>
#include <emulator.h>

View file

@ -1,9 +1,9 @@
#include "Linker.h"
#include "../virtual_memory.h"
#include <Util/log.h>
#include "common/log.h"
#include <fmt/core.h>
#include <Zydis/Zydis.h>
#include <Util/string_util.h>
#include "common/string_util.h"
#include "Util/aerolib.h"
#include "Loader/SymbolsResolver.h"
#include "HLE/Kernel/ThreadManagement.h"

View file

@ -1,7 +1,7 @@
#include "Elf.h"
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <fmt/core.h>
constexpr bool log_file_loader = true; // disable it to disable logging

View file

@ -5,8 +5,8 @@
#include <span>
#include <vector>
#include "../../../types.h"
#include "../../FsFile.h"
#include "common/types.h"
#include "common/fs_file.h"
struct self_header
{

View file

@ -1,6 +1,6 @@
#include "../../../types.h"
#include "common/types.h"
#include "SymbolsResolver.h"
#include <Util/log.h>
#include "common/log.h"
void SymbolsResolver::AddSymbol(const SymbolRes& s, u64 virtual_addr)
{

View file

@ -3,8 +3,7 @@
#include <string>
#include <vector>
#include <unordered_map>
#include "../../../types.h"
#include "common/types.h"
struct SymbolRecord
{
@ -37,4 +36,4 @@ public:
private:
std::vector<SymbolRecord> m_symbols;
};
};

View file

@ -2,7 +2,7 @@
#include "Util/aerolib.h"
#include "Util/log.h"
#include "common/log.h"
// Helper to provide stub implementations for missing functions
//

View file

@ -1,4 +1,4 @@
#include "types.h"
#include "common/types.h"
u64 UnresolvedStub();
u64 GetStub(const char *nid);

View file

@ -1,10 +1,10 @@
#include "aerolib.h"
#include "types.h"
#include "common/types.h"
#include <string.h>
#include "Util/log.h"
#include "common/log.h"
namespace aerolib {

View file

@ -1,10 +1,10 @@
#include "libc.h"
#include <debug.h>
#include "common/debug.h"
#include <stdlib.h>
#include "Emulator/Util/singleton.h"
#include "Util/log.h"
#include "common/singleton.h"
#include "common/log.h"
#include "core/PS4/HLE/Libs.h"
#include "core/hle/libraries/libc/libc.h"
#include "core/hle/libraries/libc/libc_cxa.h"

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include "core/PS4/Loader/SymbolsResolver.h"
namespace Core::Libraries::LibC {

View file

@ -1,7 +1,7 @@
#include "libc_cxa.h"
#include "Util/log.h"
#include "debug.h"
#include "common/log.h"
#include "common/debug.h"
// adapted from https://opensource.apple.com/source/libcppabi/libcppabi-14/src/cxa_guard.cxx.auto.html

View file

@ -2,7 +2,7 @@
#define _TIMESPEC_DEFINED
#include <pthread.h>
#include <types.h>
#include "common/types.h"
namespace Core::Libraries::LibC {
int PS4_SYSV_ABI __cxa_guard_acquire(u64* guard_object);

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
namespace Core::Libraries::LibC {
float PS4_SYSV_ABI atan2f(float y, float x);

View file

@ -1,7 +1,7 @@
#include "libc_stdio.h"
#include <debug.h>
#include <Util/log.h>
#include "common/debug.h"
#include "common/log.h"
namespace Core::Libraries::LibC {
constexpr bool log_file_libc = true; // disable it to disable logging

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include "printf.h"

View file

@ -1,7 +1,7 @@
#include "libc_stdlib.h"
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
#include <cstdlib>

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include <cstddef>

View file

@ -1,6 +1,6 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include <cstddef>

View file

@ -1,4 +1,4 @@
#include <types.h>
#include "common/types.h"
#include <xmmintrin.h>
#define VA_ARGS \

View file

@ -1,8 +1,8 @@
#include "file_system.h"
#include <core/PS4/HLE/Libs.h>
#include <Util/log.h>
#include <debug.h>
#include "common/log.h"
#include "common/debug.h"
namespace Core::Libraries::LibKernel {
constexpr bool log_file_fs = true; // disable it to disable logging

View file

@ -1,5 +1,5 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include "core/PS4/Loader/SymbolsResolver.h"
namespace Core::Libraries::LibKernel {

View file

@ -1,6 +1,6 @@
#pragma once
#include "types.h"
#include "common/types.h"
#include "core/PS4/Loader/SymbolsResolver.h"
namespace Core::Libraries::LibKernel {

View file

@ -3,10 +3,10 @@
#include <core/PS4/HLE/ErrorCodes.h>
#include <core/PS4/HLE/Libs.h>
#include "Emulator/Util/singleton.h"
#include "common/singleton.h"
#include "Emulator/Host/controller.h"
#include <debug.h>
#include <Util/log.h>
#include "common/debug.h"
#include "common/log.h"
namespace Core::Libraries::LibPad {

View file

@ -1,5 +1,5 @@
#pragma once
#include <types.h>
#include "common/types.h"
#include "core/PS4/Loader/SymbolsResolver.h"
#include "core/hle/libraries/libuserservice/user_service.h"

View file

@ -1,6 +1,6 @@
#include <core/PS4/HLE/ErrorCodes.h>
#include <core/PS4/HLE/Libs.h>
#include <Util/log.h>
#include "common/log.h"
#include "system_service.h"
namespace Core::Libraries::LibSystemService {

View file

@ -3,7 +3,7 @@
#include <core/PS4/HLE/ErrorCodes.h>
#include <core/PS4/HLE/Libs.h>
#include "Util/log.h"
#include "common/log.h"
namespace Core::Libraries::LibUserService {

View file

@ -1,5 +1,6 @@
#include "common/debug.h"
#include "common/log.h"
#include "virtual_memory.h"
#include "core/PS4/Loader/Elf.h"
#ifdef _WIN64
@ -19,10 +20,6 @@ enum PosixPageProtection {
};
#endif
#include <debug.h>
#include "../Util/Log.h"
namespace VirtualMemory {
static u32 convertMemoryMode(MemoryMode mode) {
switch (mode) {

View file

@ -1,5 +1,5 @@
#pragma once
#include <types.h>
#include "common/types.h"
constexpr u64 SYSTEM_RESERVED = 0x800000000u;
constexpr u64 CODE_BASE_OFFSET = 0x100000000u;