mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-12-24 18:32:49 -06:00
Correct compiling errors and addapt to the new interface.
This commit is contained in:
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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue