|
|
@ -29,24 +29,9 @@ u32 nvhost_ctrl::ioctl(Ioctl command, const std::vector<u8>& input, std::vector< |
|
|
u32 nvhost_ctrl::NvOsGetConfigU32(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
u32 nvhost_ctrl::NvOsGetConfigU32(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
IocGetConfigParams params{}; |
|
|
IocGetConfigParams params{}; |
|
|
std::memcpy(¶ms, input.data(), sizeof(params)); |
|
|
std::memcpy(¶ms, input.data(), sizeof(params)); |
|
|
LOG_DEBUG(Service_NVDRV, "called, setting={}!{}", params.domain_str.data(), |
|
|
|
|
|
|
|
|
LOG_TRACE(Service_NVDRV, "called, setting={}!{}", params.domain_str.data(), |
|
|
params.param_str.data()); |
|
|
params.param_str.data()); |
|
|
|
|
|
|
|
|
if (!strcmp(params.domain_str.data(), "nv")) { |
|
|
|
|
|
if (!strcmp(params.param_str.data(), "NV_MEMORY_PROFILER")) { |
|
|
|
|
|
params.config_str[0] = '0'; |
|
|
|
|
|
} else if (!strcmp(params.param_str.data(), "NVN_THROUGH_OPENGL")) { |
|
|
|
|
|
params.config_str[0] = '0'; |
|
|
|
|
|
} else if (!strcmp(params.param_str.data(), "NVRM_GPU_PREVENT_USE")) { |
|
|
|
|
|
params.config_str[0] = '0'; |
|
|
|
|
|
} else { |
|
|
|
|
|
params.config_str[0] = '0'; |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
UNIMPLEMENTED(); // unknown domain? Only nv has been seen so far on hardware
|
|
|
|
|
|
} |
|
|
|
|
|
std::memcpy(output.data(), ¶ms, sizeof(params)); |
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
return 0x30006; // Returns error on production mode
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u32 nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector<u8>& output, |
|
|
u32 nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector<u8>& output, |
|
|
|