kernel/thread: Make thread_id a 64-bit value
The kernel uses a 64-bit value for the thread ID, so we shouldn't be using a 32-bit value.
This commit is contained in:
parent
43e1189688
commit
8435451093
|
@ -201,11 +201,11 @@ void RegisterModule(std::string name, VAddr beg, VAddr end, bool add_elf_ext) {
|
||||||
modules.push_back(std::move(module));
|
modules.push_back(std::move(module));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Kernel::Thread* FindThreadById(int id) {
|
static Kernel::Thread* FindThreadById(s64 id) {
|
||||||
for (u32 core = 0; core < Core::NUM_CPU_CORES; core++) {
|
for (u32 core = 0; core < Core::NUM_CPU_CORES; core++) {
|
||||||
const auto& threads = Core::System::GetInstance().Scheduler(core).GetThreadList();
|
const auto& threads = Core::System::GetInstance().Scheduler(core).GetThreadList();
|
||||||
for (auto& thread : threads) {
|
for (auto& thread : threads) {
|
||||||
if (thread->GetThreadID() == static_cast<u32>(id)) {
|
if (thread->GetThreadID() == static_cast<u64>(id)) {
|
||||||
current_core = core;
|
current_core = core;
|
||||||
return thread.get();
|
return thread.get();
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ struct KernelCore::Impl {
|
||||||
// TODO(Subv): Start the process ids from 10 for now, as lower PIDs are
|
// TODO(Subv): Start the process ids from 10 for now, as lower PIDs are
|
||||||
// reserved for low-level services
|
// reserved for low-level services
|
||||||
std::atomic<u64> next_process_id{10};
|
std::atomic<u64> next_process_id{10};
|
||||||
std::atomic<u32> next_thread_id{1};
|
std::atomic<u64> next_thread_id{1};
|
||||||
|
|
||||||
// Lists all processes that exist in the current session.
|
// Lists all processes that exist in the current session.
|
||||||
std::vector<SharedPtr<Process>> process_list;
|
std::vector<SharedPtr<Process>> process_list;
|
||||||
|
@ -242,7 +242,7 @@ u32 KernelCore::CreateNewObjectID() {
|
||||||
return impl->next_object_id++;
|
return impl->next_object_id++;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 KernelCore::CreateNewThreadID() {
|
u64 KernelCore::CreateNewThreadID() {
|
||||||
return impl->next_thread_id++;
|
return impl->next_thread_id++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ private:
|
||||||
u64 CreateNewProcessID();
|
u64 CreateNewProcessID();
|
||||||
|
|
||||||
/// Creates a new thread ID, incrementing the internal thread ID counter.
|
/// Creates a new thread ID, incrementing the internal thread ID counter.
|
||||||
u32 CreateNewThreadID();
|
u64 CreateNewThreadID();
|
||||||
|
|
||||||
/// Creates a timer callback handle for the given timer.
|
/// Creates a timer callback handle for the given timer.
|
||||||
ResultVal<Handle> CreateTimerCallbackHandle(const SharedPtr<Timer>& timer);
|
ResultVal<Handle> CreateTimerCallbackHandle(const SharedPtr<Timer>& timer);
|
||||||
|
|
|
@ -151,7 +151,7 @@ public:
|
||||||
* Gets the thread's thread ID
|
* Gets the thread's thread ID
|
||||||
* @return The thread's ID
|
* @return The thread's ID
|
||||||
*/
|
*/
|
||||||
u32 GetThreadID() const {
|
u64 GetThreadID() const {
|
||||||
return thread_id;
|
return thread_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -379,7 +379,7 @@ private:
|
||||||
|
|
||||||
Core::ARM_Interface::ThreadContext context{};
|
Core::ARM_Interface::ThreadContext context{};
|
||||||
|
|
||||||
u32 thread_id = 0;
|
u64 thread_id = 0;
|
||||||
|
|
||||||
ThreadStatus status = ThreadStatus::Dormant;
|
ThreadStatus status = ThreadStatus::Dormant;
|
||||||
|
|
||||||
|
|
Reference in New Issue