[rpcsx-os] Initial sys_rename, sys_mkdir, sys_rmdir implementation

vfs: implement overlapped mounts
This commit is contained in:
DH 2023-10-29 12:30:37 +03:00
parent 3232e57445
commit 60e11486f4
8 changed files with 280 additions and 63 deletions

View file

@ -322,30 +322,30 @@ static int ps4Exec(orbis::Thread *mainThread,
auto dmem1 = createDmemCharacterDevice(1);
orbis::g_context.dmemDevice = dmem1;
rx::vfs::mount("/dev/dmem0", createDmemCharacterDevice(0));
rx::vfs::mount("/dev/npdrm", createNpdrmCharacterDevice());
rx::vfs::mount("/dev/icc_configuration", createIccConfigurationCharacterDevice());
rx::vfs::mount("/dev/console", createConsoleCharacterDevice());
rx::vfs::mount("/dev/camera", createCameraCharacterDevice());
rx::vfs::mount("/dev/dmem1", dmem1);
rx::vfs::mount("/dev/dmem2", createDmemCharacterDevice(2));
rx::vfs::mount("/dev/stdout", createFdWrapDevice(STDOUT_FILENO));
rx::vfs::mount("/dev/stderr", createFdWrapDevice(STDERR_FILENO));
rx::vfs::mount("/dev/stdin", createFdWrapDevice(STDIN_FILENO));
rx::vfs::mount("/dev/zero", createZeroCharacterDevice());
rx::vfs::mount("/dev/null", createNullCharacterDevice());
rx::vfs::mount("/dev/dipsw", createDipswCharacterDevice());
rx::vfs::mount("/dev/dce", createDceCharacterDevice());
rx::vfs::mount("/dev/hmd_cmd", createHmdCmdCharacterDevice());
rx::vfs::mount("/dev/hmd_snsr", createHmdSnsrCharacterDevice());
rx::vfs::mount("/dev/hmd_3da", createHmd3daCharacterDevice());
rx::vfs::mount("/dev/hmd_dist", createHmdMmapCharacterDevice());
rx::vfs::mount("/dev/hid", createHidCharacterDevice());
rx::vfs::mount("/dev/gc", createGcCharacterDevice());
rx::vfs::mount("/dev/rng", createRngCharacterDevice());
rx::vfs::mount("/dev/sbl_srv", createSblSrvCharacterDevice());
rx::vfs::mount("/dev/ajm", createAjmCharacterDevice());
rx::vfs::mount("/dev/urandom", createUrandomCharacterDevice());
rx::vfs::addDevice("dmem0", createDmemCharacterDevice(0));
rx::vfs::addDevice("npdrm", createNpdrmCharacterDevice());
rx::vfs::addDevice("icc_configuration", createIccConfigurationCharacterDevice());
rx::vfs::addDevice("console", createConsoleCharacterDevice());
rx::vfs::addDevice("camera", createCameraCharacterDevice());
rx::vfs::addDevice("dmem1", dmem1);
rx::vfs::addDevice("dmem2", createDmemCharacterDevice(2));
rx::vfs::addDevice("stdout", createFdWrapDevice(STDOUT_FILENO));
rx::vfs::addDevice("stderr", createFdWrapDevice(STDERR_FILENO));
rx::vfs::addDevice("stdin", createFdWrapDevice(STDIN_FILENO));
rx::vfs::addDevice("zero", createZeroCharacterDevice());
rx::vfs::addDevice("null", createNullCharacterDevice());
rx::vfs::addDevice("dipsw", createDipswCharacterDevice());
rx::vfs::addDevice("dce", createDceCharacterDevice());
rx::vfs::addDevice("hmd_cmd", createHmdCmdCharacterDevice());
rx::vfs::addDevice("hmd_snsr", createHmdSnsrCharacterDevice());
rx::vfs::addDevice("hmd_3da", createHmd3daCharacterDevice());
rx::vfs::addDevice("hmd_dist", createHmdMmapCharacterDevice());
rx::vfs::addDevice("hid", createHidCharacterDevice());
rx::vfs::addDevice("gc", createGcCharacterDevice());
rx::vfs::addDevice("rng", createRngCharacterDevice());
rx::vfs::addDevice("sbl_srv", createSblSrvCharacterDevice());
rx::vfs::addDevice("ajm", createAjmCharacterDevice());
rx::vfs::addDevice("urandom", createUrandomCharacterDevice());
orbis::Ref<orbis::File> stdinFile;
orbis::Ref<orbis::File> stdoutFile;