summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/process.h
diff options
context:
space:
mode:
authorGravatar Subv2015-05-12 15:25:15 -0500
committerGravatar Subv2015-05-14 22:50:13 -0500
commitd3634d4bf4b1cbd8cc4fe6f22178054803b41e23 (patch)
tree2fa606ebac3e2e77e65e1196878a5f5345acfacf /src/core/hle/kernel/process.h
parentMerge pull request #762 from yuriks/memmap (diff)
downloadyuzu-d3634d4bf4b1cbd8cc4fe6f22178054803b41e23.tar.gz
yuzu-d3634d4bf4b1cbd8cc4fe6f22178054803b41e23.tar.xz
yuzu-d3634d4bf4b1cbd8cc4fe6f22178054803b41e23.zip
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues. Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
Diffstat (limited to 'src/core/hle/kernel/process.h')
-rw-r--r--src/core/hle/kernel/process.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index 90881054c..7b8a68610 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -45,6 +45,8 @@ union ProcessFlags {
45 BitField<12, 1, u16> loaded_high; ///< Application loaded high (not at 0x00100000). 45 BitField<12, 1, u16> loaded_high; ///< Application loaded high (not at 0x00100000).
46}; 46};
47 47
48class ResourceLimit;
49
48class Process final : public Object { 50class Process final : public Object {
49public: 51public:
50 static SharedPtr<Process> Create(std::string name, u64 program_id); 52 static SharedPtr<Process> Create(std::string name, u64 program_id);
@@ -61,6 +63,8 @@ public:
61 std::string name; 63 std::string name;
62 /// Title ID corresponding to the process 64 /// Title ID corresponding to the process
63 u64 program_id; 65 u64 program_id;
66 /// Resource limit descriptor for this process
67 SharedPtr<ResourceLimit> resource_limit;
64 68
65 /// The process may only call SVCs which have the corresponding bit set. 69 /// The process may only call SVCs which have the corresponding bit set.
66 std::bitset<0x80> svc_access_mask; 70 std::bitset<0x80> svc_access_mask;