summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-12-20 03:43:10 +0100
committerLioncash <mathew1800@gmail.com>2018-12-21 13:05:34 +0100
commit10824c5d635be0bdfb79f4b3af8c9481034b437f (patch)
tree3fafb8ccaccb180d3ff3f9e4800babc4c02665b2 /src
parentkernel/process_capability: Handle kernel version capability flags (diff)
downloadyuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.gz
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.bz2
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.lz
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.xz
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.tar.zst
yuzu-10824c5d635be0bdfb79f4b3af8c9481034b437f.zip
Diffstat (limited to 'src')
-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) {
}
ResultCode ProcessCapabilities::HandleHandleTableFlags(u32 flags) {
- // TODO: Implement
+ const u32 reserved = flags >> 26;
+ if (reserved != 0) {
+ return ERR_RESERVED_VALUE;
+ }
+
+ handle_table_size = (flags >> 16) & 0x3FF;
return RESULT_SUCCESS;
}
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:
return program_type;
}
+ /// Gets the number of total allowable handles for the process' handle table.
+ u32 GetHandleTableSize() const {
+ return handle_table_size;
+ }
+
/// Gets the kernel version value.
u32 GetKernelVersion() const {
return kernel_version;