added dummy devices

This commit is contained in:
georgemoralis 2025-01-18 15:06:29 +02:00
parent 12364b197a
commit 3cab8f2168
11 changed files with 425 additions and 0 deletions

View File

@ -557,6 +557,16 @@ set(CORE src/core/aerolib/stubs.cpp
src/core/devices/logger.cpp src/core/devices/logger.cpp
src/core/devices/logger.h src/core/devices/logger.h
src/core/devices/nop_device.h src/core/devices/nop_device.h
src/core/devices/console.cpp
src/core/devices/console.h
src/core/devices/deci_tty6.cpp
src/core/devices/deci_tty6.h
src/core/devices/random.cpp
src/core/devices/random.h
src/core/devices/urandom.cpp
src/core/devices/urandom.h
src/core/devices/srandom.cpp
src/core/devices/srandom.h
src/core/file_format/pfs.h src/core/file_format/pfs.h
src/core/file_format/pkg.cpp src/core/file_format/pkg.cpp
src/core/file_format/pkg.h src/core/file_format/pkg.h

View File

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/logging/log.h"
#include "console.h"
#include "core/libraries/kernel/file_system.h"
namespace Core::Devices {
int ConsoleDevice::ioctl(u64 cmd, Common::VaCtx* args) {
return 0;
}
s64 ConsoleDevice::write(const void* buf, size_t nbytes) {
return s64();
}
size_t ConsoleDevice::writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
size_t ConsoleDevice::readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
s64 ConsoleDevice::preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) {
return s64();
}
s64 ConsoleDevice::lseek(s64 offset, int whence) {
return s64();
}
s64 ConsoleDevice::read(void* buf, size_t nbytes) {
return s64();
}
int ConsoleDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) {
return 0;
}
s32 ConsoleDevice::fsync() {
return s32();
}
int ConsoleDevice::ftruncate(s64 length) {
return 0;
}
int ConsoleDevice::getdents(void* buf, u32 nbytes, s64* basep) {
return 0;
}
s64 ConsoleDevice::pwrite(const void* buf, size_t nbytes, u64 offset) {
return s64();
}
} // namespace Core::Devices

View File

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "base_device.h"
namespace Core::Devices {
class ConsoleDevice final : BaseDevice {
u32 handle;
public:
explicit ConsoleDevice(u32 handle) : handle(handle) {}
~ConsoleDevice() override = default;
int ioctl(u64 cmd, Common::VaCtx* args) override;
s64 write(const void* buf, size_t nbytes) override;
size_t readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
size_t writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
s64 preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) override;
s64 lseek(s64 offset, int whence) override;
s64 read(void* buf, size_t nbytes) override;
int fstat(Libraries::Kernel::OrbisKernelStat* sb) override;
s32 fsync() override;
int ftruncate(s64 length) override;
int getdents(void* buf, u32 nbytes, s64* basep) override;
s64 pwrite(const void* buf, size_t nbytes, u64 offset) override;
};
} // namespace Core::Devices

View File

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/logging/log.h"
#include "core/libraries/kernel/file_system.h"
#include "deci_tty6.h"
#include "logger.h"
namespace Core::Devices {
int DeciTty6Device::ioctl(u64 cmd, Common::VaCtx* args) {
return 0;
}
s64 DeciTty6Device::write(const void* buf, size_t nbytes) {
return s64();
}
size_t DeciTty6Device::writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
size_t DeciTty6Device::readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
s64 DeciTty6Device::preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) {
return s64();
}
s64 DeciTty6Device::lseek(s64 offset, int whence) {
return s64();
}
s64 DeciTty6Device::read(void* buf, size_t nbytes) {
return s64();
}
int DeciTty6Device::fstat(Libraries::Kernel::OrbisKernelStat* sb) {
return 0;
}
s32 DeciTty6Device::fsync() {
return s32();
}
int DeciTty6Device::ftruncate(s64 length) {
return 0;
}
int DeciTty6Device::getdents(void* buf, u32 nbytes, s64* basep) {
return 0;
}
s64 DeciTty6Device::pwrite(const void* buf, size_t nbytes, u64 offset) {
return s64();
}
} // namespace Core::Devices

View File

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "base_device.h"
namespace Core::Devices {
class DeciTty6Device final : BaseDevice {
u32 handle;
public:
explicit DeciTty6Device(u32 handle) : handle(handle) {}
~DeciTty6Device() override = default;
int ioctl(u64 cmd, Common::VaCtx* args) override;
s64 write(const void* buf, size_t nbytes) override;
size_t readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
size_t writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
s64 preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) override;
s64 lseek(s64 offset, int whence) override;
s64 read(void* buf, size_t nbytes) override;
int fstat(Libraries::Kernel::OrbisKernelStat* sb) override;
s32 fsync() override;
int ftruncate(s64 length) override;
int getdents(void* buf, u32 nbytes, s64* basep) override;
s64 pwrite(const void* buf, size_t nbytes, u64 offset) override;
};
} // namespace Core::Devices

View File

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/logging/log.h"
#include "core/libraries/kernel/file_system.h"
#include "logger.h"
#include "random.h"
namespace Core::Devices {
int RandomDevice::ioctl(u64 cmd, Common::VaCtx* args) {
return 0;
}
s64 RandomDevice::write(const void* buf, size_t nbytes) {
return s64();
}
size_t RandomDevice::writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
size_t RandomDevice::readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
s64 RandomDevice::preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) {
return s64();
}
s64 RandomDevice::lseek(s64 offset, int whence) {
return s64();
}
s64 RandomDevice::read(void* buf, size_t nbytes) {
return s64();
}
int RandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) {
return 0;
}
s32 RandomDevice::fsync() {
return s32();
}
int RandomDevice::ftruncate(s64 length) {
return 0;
}
int RandomDevice::getdents(void* buf, u32 nbytes, s64* basep) {
return 0;
}
s64 RandomDevice::pwrite(const void* buf, size_t nbytes, u64 offset) {
return s64();
}
} // namespace Core::Devices

31
src/core/devices/random.h Normal file
View File

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "base_device.h"
namespace Core::Devices {
class RandomDevice final : BaseDevice {
u32 handle;
public:
explicit RandomDevice(u32 handle) : handle(handle) {}
~RandomDevice() override = default;
int ioctl(u64 cmd, Common::VaCtx* args) override;
s64 write(const void* buf, size_t nbytes) override;
size_t readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
size_t writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
s64 preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) override;
s64 lseek(s64 offset, int whence) override;
s64 read(void* buf, size_t nbytes) override;
int fstat(Libraries::Kernel::OrbisKernelStat* sb) override;
s32 fsync() override;
int ftruncate(s64 length) override;
int getdents(void* buf, u32 nbytes, s64* basep) override;
s64 pwrite(const void* buf, size_t nbytes, u64 offset) override;
};
} // namespace Core::Devices

View File

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/logging/log.h"
#include "core/libraries/kernel/file_system.h"
#include "logger.h"
#include "srandom.h"
namespace Core::Devices {
int SRandomDevice::ioctl(u64 cmd, Common::VaCtx* args) {
return 0;
}
s64 SRandomDevice::write(const void* buf, size_t nbytes) {
return s64();
}
size_t SRandomDevice::writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
size_t SRandomDevice::readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
s64 SRandomDevice::preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) {
return s64();
}
s64 SRandomDevice::lseek(s64 offset, int whence) {
return s64();
}
s64 SRandomDevice::read(void* buf, size_t nbytes) {
return s64();
}
int SRandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) {
return 0;
}
s32 SRandomDevice::fsync() {
return s32();
}
int SRandomDevice::ftruncate(s64 length) {
return 0;
}
int SRandomDevice::getdents(void* buf, u32 nbytes, s64* basep) {
return 0;
}
s64 SRandomDevice::pwrite(const void* buf, size_t nbytes, u64 offset) {
return s64();
}
} // namespace Core::Devices

View File

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "base_device.h"
namespace Core::Devices {
class SRandomDevice final : BaseDevice {
u32 handle;
public:
explicit SRandomDevice(u32 handle) : handle(handle) {}
~SRandomDevice() override = default;
int ioctl(u64 cmd, Common::VaCtx* args) override;
s64 write(const void* buf, size_t nbytes) override;
size_t readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
size_t writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
s64 preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) override;
s64 lseek(s64 offset, int whence) override;
s64 read(void* buf, size_t nbytes) override;
int fstat(Libraries::Kernel::OrbisKernelStat* sb) override;
s32 fsync() override;
int ftruncate(s64 length) override;
int getdents(void* buf, u32 nbytes, s64* basep) override;
s64 pwrite(const void* buf, size_t nbytes, u64 offset) override;
};
} // namespace Core::Devices

View File

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/logging/log.h"
#include "core/libraries/kernel/file_system.h"
#include "logger.h"
#include "urandom.h"
namespace Core::Devices {
int URandomDevice::ioctl(u64 cmd, Common::VaCtx* args) {
return 0;
}
s64 URandomDevice::write(const void* buf, size_t nbytes) {
return s64();
}
size_t URandomDevice::writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
size_t URandomDevice::readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) {
return size_t();
}
s64 URandomDevice::preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) {
return s64();
}
s64 URandomDevice::lseek(s64 offset, int whence) {
return s64();
}
s64 URandomDevice::read(void* buf, size_t nbytes) {
return s64();
}
int URandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) {
return 0;
}
s32 URandomDevice::fsync() {
return s32();
}
int URandomDevice::ftruncate(s64 length) {
return 0;
}
int URandomDevice::getdents(void* buf, u32 nbytes, s64* basep) {
return 0;
}
s64 URandomDevice::pwrite(const void* buf, size_t nbytes, u64 offset) {
return s64();
}
} // namespace Core::Devices

View File

@ -0,0 +1,31 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "base_device.h"
namespace Core::Devices {
class URandomDevice final : BaseDevice {
u32 handle;
public:
explicit URandomDevice(u32 handle) : handle(handle) {}
~URandomDevice() override = default;
int ioctl(u64 cmd, Common::VaCtx* args) override;
s64 write(const void* buf, size_t nbytes) override;
size_t readv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
size_t writev(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt) override;
s64 preadv(const Libraries::Kernel::SceKernelIovec* iov, int iovcnt, u64 offset) override;
s64 lseek(s64 offset, int whence) override;
s64 read(void* buf, size_t nbytes) override;
int fstat(Libraries::Kernel::OrbisKernelStat* sb) override;
s32 fsync() override;
int ftruncate(s64 length) override;
int getdents(void* buf, u32 nbytes, s64* basep) override;
s64 pwrite(const void* buf, size_t nbytes, u64 offset) override;
};
} // namespace Core::Devices