diff options
| author | 2018-12-19 21:43:10 -0500 | |
|---|---|---|
| committer | 2018-12-21 07:05:34 -0500 | |
| commit | 10824c5d635be0bdfb79f4b3af8c9481034b437f (patch) | |
| tree | 3fafb8ccaccb180d3ff3f9e4800babc4c02665b2 /src/core/hle/kernel | |
| parent | kernel/process_capability: Handle kernel version capability flags (diff) | |
| download | yuzu-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.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/kernel/process_capability.h | 5 |
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 | ||
| 334 | ResultCode ProcessCapabilities::HandleHandleTableFlags(u32 flags) { | 334 | ResultCode 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; |