Correct compiling errors and addapt to the new interface.

master
Fernando Sahmkow 2019-03-29 17:12:02 +07:00 committed by FernandoS27
parent 9031502974
commit b8b7ebcece
3 changed files with 15 additions and 27 deletions

@ -202,15 +202,13 @@ void RegisterModule(std::string name, VAddr beg, VAddr end, bool add_elf_ext) {
} }
static Kernel::Thread* FindThreadById(s64 id) { static Kernel::Thread* FindThreadById(s64 id) {
for (u32 core = 0; core < Core::NUM_CPU_CORES; core++) { const auto& threads = Core::System::GetInstance().GlobalScheduler().GetThreadList();
const auto& threads = Core::System::GetInstance().Scheduler(core).GetThreadList();
for (auto& thread : threads) { for (auto& thread : threads) {
if (thread->GetThreadID() == static_cast<u64>(id)) { if (thread->GetThreadID() == static_cast<u64>(id)) {
current_core = core; current_core = thread->GetProcessorID();
return thread.get(); return thread.get();
} }
} }
}
return nullptr; return nullptr;
} }
@ -647,12 +645,10 @@ static void HandleQuery() {
SendReply(buffer.c_str()); SendReply(buffer.c_str());
} else if (strncmp(query, "fThreadInfo", strlen("fThreadInfo")) == 0) { } else if (strncmp(query, "fThreadInfo", strlen("fThreadInfo")) == 0) {
std::string val = "m"; std::string val = "m";
for (u32 core = 0; core < Core::NUM_CPU_CORES; core++) { const auto& threads = Core::System::GetInstance().GlobalScheduler().GetThreadList();
const auto& threads = Core::System::GetInstance().Scheduler(core).GetThreadList();
for (const auto& thread : threads) { for (const auto& thread : threads) {
val += fmt::format("{:x},", thread->GetThreadID()); val += fmt::format("{:x},", thread->GetThreadID());
} }
}
val.pop_back(); val.pop_back();
SendReply(val.c_str()); SendReply(val.c_str());
} else if (strncmp(query, "sThreadInfo", strlen("sThreadInfo")) == 0) { } else if (strncmp(query, "sThreadInfo", strlen("sThreadInfo")) == 0) {
@ -661,13 +657,11 @@ static void HandleQuery() {
std::string buffer; std::string buffer;
buffer += "l<?xml version=\"1.0\"?>"; buffer += "l<?xml version=\"1.0\"?>";
buffer += "<threads>"; buffer += "<threads>";
for (u32 core = 0; core < Core::NUM_CPU_CORES; core++) { const auto& threads = Core::System::GetInstance().GlobalScheduler().GetThreadList();
const auto& threads = Core::System::GetInstance().Scheduler(core).GetThreadList();
for (const auto& thread : threads) { for (const auto& thread : threads) {
buffer += buffer +=
fmt::format(R"*(<thread id="{:x}" core="{:d}" name="Thread {:x}"></thread>)*", fmt::format(R"*(<thread id="{:x}" core="{:d}" name="Thread {:x}"></thread>)*",
thread->GetThreadID(), core, thread->GetThreadID()); thread->GetThreadID(), thread->GetProcessorID(), thread->GetThreadID());
}
} }
buffer += "</threads>"; buffer += "</threads>";
SendReply(buffer.c_str()); SendReply(buffer.c_str());

@ -213,10 +213,7 @@ void Process::PrepareForTermination() {
} }
}; };
stop_threads(system.Scheduler(0).GetThreadList()); stop_threads(system.GlobalScheduler().GetThreadList());
stop_threads(system.Scheduler(1).GetThreadList());
stop_threads(system.Scheduler(2).GetThreadList());
stop_threads(system.Scheduler(3).GetThreadList());
FreeTLSRegion(tls_region_address); FreeTLSRegion(tls_region_address);
tls_region_address = 0; tls_region_address = 0;

@ -66,10 +66,7 @@ std::vector<std::unique_ptr<WaitTreeThread>> WaitTreeItem::MakeThreadItemList()
}; };
const auto& system = Core::System::GetInstance(); const auto& system = Core::System::GetInstance();
add_threads(system.Scheduler(0).GetThreadList()); add_threads(system.GlobalScheduler().GetThreadList());
add_threads(system.Scheduler(1).GetThreadList());
add_threads(system.Scheduler(2).GetThreadList());
add_threads(system.Scheduler(3).GetThreadList());
return item_list; return item_list;
} }