summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/kernel/process.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index 16151bb22..260db8a63 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -55,15 +55,29 @@ public:
static const HandleType HANDLE_TYPE = HandleType::Process;
HandleType GetHandleType() const override { return HANDLE_TYPE; }
- std::string name; ///< Name of the process
+ /// Name of the process
+ std::string name;
+ /// Title ID corresponding to the process
u64 program_id;
+ /// The process may only call SVCs which have the corresponding bit set.
std::bitset<0x80> svc_access_mask;
+ /// Maximum size of the handle table for the process.
unsigned int handle_table_size = 0x200;
- boost::container::static_vector<StaticAddressMapping, 8> static_address_mappings; // TODO: Determine a good upper limit
+ /// Special memory ranges mapped into this processes address space. This is used to give
+ /// processes access to specific I/O regions and device memory.
+ boost::container::static_vector<StaticAddressMapping, 8> static_address_mappings;
ProcessFlags flags;
+ /**
+ * Parses a list of kernel capability descriptors (as found in the ExHeader) and applies them
+ * to this process.
+ */
void ParseKernelCaps(const u32* kernel_caps, size_t len);
+
+ /**
+ * Applies address space changes and launches the process main thread.
+ */
void Run(VAddr entry_point, s32 main_thread_priority, u32 stack_size);
private: