From fc0bf91a969cddeb2f84c3e7c3a862fe98f1d438 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 10 Jun 2019 00:28:33 -0400 Subject: kernel: Differentiate kernel and user processes when picking ID This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range. --- src/core/hle/kernel/process.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/core/hle/kernel/process.h') diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h index 29e016983..248fd3840 100644 --- a/src/core/hle/kernel/process.h +++ b/src/core/hle/kernel/process.h @@ -73,9 +73,15 @@ public: ProcessIDMax = 0xFFFFFFFFFFFFFFFF, }; + // Used to determine how process IDs are assigned. + enum class ProcessType { + KernelInternal, + Userland, + }; + static constexpr std::size_t RANDOM_ENTROPY_SIZE = 4; - static SharedPtr Create(Core::System& system, std::string name); + static SharedPtr Create(Core::System& system, std::string name, ProcessType type); std::string GetTypeName() const override { return "Process"; -- cgit v1.2.3