kernel/process_capability: Handle program capability flags

This commit is contained in:
Lioncash
2018-12-19 21:14:47 -05:00
parent 0f216d20e3
commit 010bc677f3
3 changed files with 29 additions and 2 deletions

View File

@ -14,6 +14,14 @@ namespace Kernel {
class VMManager;
/// The possible types of programs that may be indicated
/// by the program type capability descriptor.
enum class ProgramType {
SysModule,
Application,
Applet,
};
/// Handles kernel capability descriptors that are provided by
/// application metadata. These descriptors provide information
/// that alters certain parameters for kernel process instance
@ -137,6 +145,16 @@ public:
return svc_capabilities;
}
/// Gets the valid interrupt bits.
const InterruptCapabilities& GetInterruptCapabilities() const {
return interrupt_capabilities;
}
/// Gets the program type for this process.
ProgramType GetProgramType() const {
return program_type;
}
private:
/// Attempts to parse a given sequence of capability descriptors.
///
@ -215,7 +233,8 @@ private:
u32 handle_table_size = 0;
u32 kernel_version = 0;
u32 program_type = 0;
ProgramType program_type = ProgramType::SysModule;
bool is_debuggable = false;
bool can_force_debug = false;