summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/nvdrv.cpp
diff options
context:
space:
mode:
authorDavid <25727384+ogniK5377@users.noreply.github.com>2018-02-06 03:19:31 +0100
committerbunnei <bunneidev@gmail.com>2018-02-06 03:19:31 +0100
commitd129905a665ce329089338b4e468da84b3dab5d6 (patch)
tree6606df27c05539b67fd5b6e36e4ed671496904ae /src/core/hle/service/nvdrv/nvdrv.cpp
parentMerge pull request #164 from ogniK5377/libnx_sm_fix (diff)
downloadyuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar.gz
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar.bz2
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar.lz
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar.xz
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.tar.zst
yuzu-d129905a665ce329089338b4e468da84b3dab5d6.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/nvdrv/nvdrv.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp
index 141ddaedd..1cf8f3175 100644
--- a/src/core/hle/service/nvdrv/nvdrv.cpp
+++ b/src/core/hle/service/nvdrv/nvdrv.cpp
@@ -7,6 +7,8 @@
#include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
#include "core/hle/service/nvdrv/devices/nvhost_as_gpu.h"
#include "core/hle/service/nvdrv/devices/nvhost_ctrl.h"
+#include "core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h"
+#include "core/hle/service/nvdrv/devices/nvhost_gpu.h"
#include "core/hle/service/nvdrv/devices/nvmap.h"
#include "core/hle/service/nvdrv/interface.h"
#include "core/hle/service/nvdrv/nvdrv.h"
@@ -21,6 +23,8 @@ void InstallInterfaces(SM::ServiceManager& service_manager) {
auto module_ = std::make_shared<Module>();
std::make_shared<NVDRV>(module_, "nvdrv")->InstallAsService(service_manager);
std::make_shared<NVDRV>(module_, "nvdrv:a")->InstallAsService(service_manager);
+ std::make_shared<NVDRV>(module_, "nvdrv:s")->InstallAsService(service_manager);
+ std::make_shared<NVDRV>(module_, "nvdrv:t")->InstallAsService(service_manager);
std::make_shared<NVMEMP>()->InstallAsService(service_manager);
nvdrv = module_;
}
@@ -28,9 +32,11 @@ void InstallInterfaces(SM::ServiceManager& service_manager) {
Module::Module() {
auto nvmap_dev = std::make_shared<Devices::nvmap>();
devices["/dev/nvhost-as-gpu"] = std::make_shared<Devices::nvhost_as_gpu>();
+ devices["/dev/nvhost-ctrl-gpu"] = std::make_shared<Devices::nvhost_ctrl_gpu>();
devices["/dev/nvmap"] = nvmap_dev;
devices["/dev/nvdisp_disp0"] = std::make_shared<Devices::nvdisp_disp0>(nvmap_dev);
devices["/dev/nvhost-ctrl"] = std::make_shared<Devices::nvhost_ctrl>();
+ devices["/dev/nvhost-gpu"] = std::make_shared<Devices::nvhost_gpu>();
}
u32 Module::Open(std::string device_name) {
@@ -45,12 +51,12 @@ u32 Module::Open(std::string device_name) {
return fd;
}
-u32 Module::Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output) {
+u32 Module::Ioctl(u32 fd, u32_le command, const std::vector<u8>& input, std::vector<u8>& output) {
auto itr = open_files.find(fd);
ASSERT_MSG(itr != open_files.end(), "Tried to talk to an invalid device");
auto device = itr->second;
- return device->ioctl(command, input, output);
+ return device->ioctl({command}, input, output);
}
ResultCode Module::Close(u32 fd) {