summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-08 23:11:06 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-09 03:11:49 +0200
commit83ccf85bb2dcd369e105caf35f830d58a1b608bf (patch)
tree2c3cd71e799a32769767bef4d1cdd8dbbfa57e2f /src
parentProcess: Use BitField to store process flags (diff)
downloadyuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar.gz
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar.bz2
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar.lz
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar.xz
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.tar.zst
yuzu-83ccf85bb2dcd369e105caf35f830d58a1b608bf.zip
Diffstat (limited to 'src')
-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: