summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar Lioncash2018-12-19 21:43:10 -0500
committerGravatar Lioncash2018-12-21 07:05:34 -0500
commit10824c5d635be0bdfb79f4b3af8c9481034b437f (patch)
tree3fafb8ccaccb180d3ff3f9e4800babc4c02665b2 /src/core/hle/kernel
parentkernel/process_capability: Handle kernel version capability flags (diff)
downloadyuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.gz
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.xz
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.zip
kernel/process_capability: Handle handle table capability flags
This just specifies the handle table size. There's also a section of reserved bits that are checked against.
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/process_capability.cpp7
-rw-r--r--src/core/hle/kernel/process_capability.h5
2 files changed, 11 insertions, 1 deletions
diff --git a/src/core/hle/kernel/process_capability.cpp b/src/core/hle/kernel/process_capability.cpp
index fb4467793..7ee0ad9cc 100644
--- a/src/core/hle/kernel/process_capability.cpp
+++ b/src/core/hle/kernel/process_capability.cpp
@@ -332,7 +332,12 @@ ResultCode ProcessCapabilities::HandleKernelVersionFlags(u32 flags) {
332} 332}
333 333
334ResultCode ProcessCapabilities::HandleHandleTableFlags(u32 flags) { 334ResultCode ProcessCapabilities::HandleHandleTableFlags(u32 flags) {
335 // TODO: Implement 335 const u32 reserved = flags >> 26;
336 if (reserved != 0) {
337 return ERR_RESERVED_VALUE;
338 }
339
340 handle_table_size = (flags >> 16) & 0x3FF;
336 return RESULT_SUCCESS; 341 return RESULT_SUCCESS;
337} 342}
338 343
diff --git a/src/core/hle/kernel/process_capability.h b/src/core/hle/kernel/process_capability.h
index 9a7da8bfa..7b9f24d51 100644
--- a/src/core/hle/kernel/process_capability.h
+++ b/src/core/hle/kernel/process_capability.h
@@ -155,6 +155,11 @@ public:
155 return program_type; 155 return program_type;
156 } 156 }
157 157
158 /// Gets the number of total allowable handles for the process' handle table.
159 u32 GetHandleTableSize() const {
160 return handle_table_size;
161 }
162
158 /// Gets the kernel version value. 163 /// Gets the kernel version value.
159 u32 GetKernelVersion() const { 164 u32 GetKernelVersion() const {
160 return kernel_version; 165 return kernel_version;