mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 04:35:24 -06:00
Cleaned up devices (only read/write implemented, p and vectors are handled by inode and Device class)
Removed read/write from VirtualFile (no use since reading via fptr requires handle) Note to self regarding stat()
This commit is contained in:
parent
6b338d860a
commit
7b9cc2d481
@ -26,12 +26,6 @@ public:
|
||||
s64 read(void* buf, u64 count) override { DEVICE_STUB(); };
|
||||
s64 write(const void* buf, u64 count) override { DEVICE_STUB(); };
|
||||
s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); };
|
||||
s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); };
|
||||
s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); };
|
||||
s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); };
|
||||
s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); };
|
||||
s32 fsync() override { DEVICE_STUB(); };
|
||||
|
||||
@ -26,12 +26,6 @@ public:
|
||||
s64 read(void* buf, u64 count) override { DEVICE_STUB(); };
|
||||
s64 write(const void* buf, u64 count) override { DEVICE_STUB(); };
|
||||
s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); };
|
||||
s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); };
|
||||
s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); };
|
||||
s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); };
|
||||
s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); };
|
||||
s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); };
|
||||
s32 fsync() override { DEVICE_STUB(); };
|
||||
|
||||
@ -16,20 +16,6 @@ s64 Logger::write(const void* buf, u64 nbytes) {
|
||||
return nbytes;
|
||||
}
|
||||
|
||||
s64 Logger::pwrite(const void* buf, u64 nbytes, s64 offset) {
|
||||
log(static_cast<const char*>(buf), nbytes);
|
||||
return nbytes;
|
||||
}
|
||||
|
||||
s64 Logger::writev(const Libraries::Kernel::OrbisKernelIovec* iov, s32 iovcnt) {
|
||||
size_t total_written = 0;
|
||||
for (int i = 0; i < iovcnt; i++) {
|
||||
log(static_cast<const char*>(iov[i].iov_base), iov[i].iov_len);
|
||||
total_written += iov[i].iov_len;
|
||||
}
|
||||
return total_written;
|
||||
}
|
||||
|
||||
s32 Logger::fsync() {
|
||||
log_flush();
|
||||
return 0;
|
||||
|
||||
@ -31,11 +31,17 @@ public:
|
||||
~Logger();
|
||||
|
||||
s64 write(const void* buf, u64 nbytes) override;
|
||||
s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, s32 iovcnt) override;
|
||||
s64 pwrite(const void* buf, u64 nbytes, s64 offset) override;
|
||||
|
||||
s32 fsync() override;
|
||||
|
||||
// clang-format off
|
||||
s64 read(void* buf, u64 count) override { DEVICE_STUB(); };
|
||||
s32 ioctl(u64 cmd, Common::VaCtx* args) override { DEVICE_STUB(); }
|
||||
s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); }
|
||||
s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); }
|
||||
s32 ftruncate(s64 length) override { DEVICE_STUB(); }
|
||||
s64 getdents(void* buf, u32 nbytes, s64* basep) override { DEVICE_STUB(); }
|
||||
// clang-format on
|
||||
|
||||
private:
|
||||
void log(const char* buf, u64 nbytes);
|
||||
void log_flush();
|
||||
|
||||
@ -19,12 +19,6 @@ public:
|
||||
s64 read(void* buf, u64 count) override { return 0; };
|
||||
s64 write(const void* buf, u64 count) override { return 0; };
|
||||
s32 ioctl(u64 cmd, Common::VaCtx* args) override { return 0; };
|
||||
s64 pread(void* buf, size_t count, s64 offset) override { return 0; };
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override { return 0; };
|
||||
s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { return 0; };
|
||||
s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { return 0; };
|
||||
s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { return 0; };
|
||||
s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { return 0; };
|
||||
s64 lseek(s64 offset, int whence) override { return 0; };
|
||||
s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { return 0; };
|
||||
s32 fsync() override { return 0; };
|
||||
|
||||
@ -26,12 +26,6 @@ public:
|
||||
// clang-format off
|
||||
s64 read(void* buf, u64 count) override { DEVICE_STUB(); }
|
||||
s64 write(const void* buf, u64 count) override { DEVICE_STUB(); }
|
||||
s64 pread(void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override { DEVICE_STUB(); }
|
||||
s64 readv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }
|
||||
s64 writev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt) override { DEVICE_STUB(); }
|
||||
s64 preadv(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }
|
||||
s64 pwritev(const Libraries::Kernel::OrbisKernelIovec* iov, int iovcnt, s64 offset) override { DEVICE_STUB(); }
|
||||
s64 lseek(s64 offset, int whence) override { DEVICE_STUB(); }
|
||||
s32 fstat(Libraries::Kernel::OrbisKernelStat* sb) override { DEVICE_STUB(); }
|
||||
s32 fsync() override { DEVICE_STUB(); }
|
||||
|
||||
@ -25,8 +25,6 @@ public:
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
s64 read(void* buf, size_t count) override;
|
||||
s64 write(const void* buf, size_t count) override;
|
||||
s64 pread(void* buf, size_t count, s64 offset) override;
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override;
|
||||
|
||||
|
||||
@ -19,8 +19,6 @@ public:
|
||||
//
|
||||
// Working functions
|
||||
//
|
||||
s64 read(void* buf, size_t count) override;
|
||||
s64 write(const void* buf, size_t count) override;
|
||||
s64 pread(void* buf, size_t count, s64 offset) override;
|
||||
s64 pwrite(const void* buf, size_t count, s64 offset) override;
|
||||
s32 ftruncate(s64 length) override;
|
||||
|
||||
@ -414,6 +414,8 @@ void QFS::SyncHostImpl(partition_ptr part) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// this should populate **everything** immediately
|
||||
// this is a note to self TODO:
|
||||
if (0 != this->hio_driver.Stat(entry_path, &new_inode->st)) {
|
||||
LOG_ERROR(Kernel_Fs, "Cannot stat file: {}", entry_path.string());
|
||||
continue;
|
||||
|
||||
@ -7,14 +7,6 @@
|
||||
|
||||
namespace QuasiFS {
|
||||
|
||||
s64 QuasiFile::read(void* buf, size_t count) {
|
||||
return pread(buf, count, 0);
|
||||
}
|
||||
|
||||
s64 QuasiFile::write(const void* buf, size_t count) {
|
||||
return pwrite(buf, count, 0);
|
||||
}
|
||||
|
||||
s64 QuasiFile::pread(void* buf, size_t count, s64 offset) {
|
||||
auto size = &this->st.st_size;
|
||||
auto end_pos = offset + count;
|
||||
|
||||
@ -7,14 +7,6 @@
|
||||
|
||||
namespace QuasiFS {
|
||||
|
||||
s64 VirtualFile::read(void* buf, size_t count) {
|
||||
return pread(buf, count, 0);
|
||||
}
|
||||
|
||||
s64 VirtualFile::write(const void* buf, size_t count) {
|
||||
return pwrite(buf, count, 0);
|
||||
}
|
||||
|
||||
s64 VirtualFile::pread(void* buf, size_t count, s64 offset) {
|
||||
s64 idx;
|
||||
s64 read_amt = this->data.size() - offset - count;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user