|
|
@ -119,25 +119,25 @@ u32 nvmap::IocParam(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
IocParamParams params; |
|
|
IocParamParams params; |
|
|
std::memcpy(¶ms, input.data(), sizeof(params)); |
|
|
std::memcpy(¶ms, input.data(), sizeof(params)); |
|
|
|
|
|
|
|
|
NGLOG_WARNING(Service_NVDRV, "(STUBBED) called type={}", params.type); |
|
|
|
|
|
|
|
|
NGLOG_WARNING(Service_NVDRV, "(STUBBED) called type={}", params.param); |
|
|
|
|
|
|
|
|
auto object = GetObject(params.handle); |
|
|
auto object = GetObject(params.handle); |
|
|
ASSERT(object); |
|
|
ASSERT(object); |
|
|
ASSERT(object->status == Object::Status::Allocated); |
|
|
ASSERT(object->status == Object::Status::Allocated); |
|
|
|
|
|
|
|
|
switch (static_cast<ParamTypes>(params.type)) { |
|
|
|
|
|
|
|
|
switch (static_cast<ParamTypes>(params.param)) { |
|
|
case ParamTypes::Size: |
|
|
case ParamTypes::Size: |
|
|
params.value = object->size; |
|
|
|
|
|
|
|
|
params.result = object->size; |
|
|
break; |
|
|
break; |
|
|
case ParamTypes::Alignment: |
|
|
case ParamTypes::Alignment: |
|
|
params.value = object->align; |
|
|
|
|
|
|
|
|
params.result = object->align; |
|
|
break; |
|
|
break; |
|
|
case ParamTypes::Heap: |
|
|
case ParamTypes::Heap: |
|
|
// TODO(Subv): Seems to be a hardcoded value?
|
|
|
// TODO(Subv): Seems to be a hardcoded value?
|
|
|
params.value = 0x40000000; |
|
|
|
|
|
|
|
|
params.result = 0x40000000; |
|
|
break; |
|
|
break; |
|
|
case ParamTypes::Kind: |
|
|
case ParamTypes::Kind: |
|
|
params.value = object->kind; |
|
|
|
|
|
|
|
|
params.result = object->kind; |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
default: |
|
|
UNIMPLEMENTED(); |
|
|
UNIMPLEMENTED(); |
|
|
|