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.
This commit is contained in:
Lioncash 2018-12-19 21:43:10 -05:00
parent e0e84aede0
commit 10824c5d63
2 changed files with 11 additions and 1 deletions

View file

@ -332,7 +332,12 @@ ResultCode ProcessCapabilities::HandleKernelVersionFlags(u32 flags) {
} }
ResultCode ProcessCapabilities::HandleHandleTableFlags(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; return RESULT_SUCCESS;
} }

View file

@ -155,6 +155,11 @@ public:
return program_type; 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. /// Gets the kernel version value.
u32 GetKernelVersion() const { u32 GetKernelVersion() const {
return kernel_version; return kernel_version;