diff options
author | bunnei <bunneidev@gmail.com> | 2018-05-11 12:59:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-11 12:59:23 -0400 |
commit | 1b5c02fc37206bbd33715d2dde6258c3f835581c (patch) | |
tree | 1c33c66e734ff55228e4293cd2720070cd467080 /src/yuzu/debugger | |
parent | e07218906d4eedbfae5e4b82aca460eec2808472 (diff) | |
parent | 811dae12f9e1c0eb5c19f6c6a8e75b1e6260abb2 (diff) |
Merge pull request #436 from bunnei/multi-core
Initial support for multi-core
Diffstat (limited to 'src/yuzu/debugger')
-rw-r--r-- | src/yuzu/debugger/registers.cpp | 4 | ||||
-rw-r--r-- | src/yuzu/debugger/wait_tree.cpp | 23 |
2 files changed, 19 insertions, 8 deletions
diff --git a/src/yuzu/debugger/registers.cpp b/src/yuzu/debugger/registers.cpp index 06e2d1647..178cc65a7 100644 --- a/src/yuzu/debugger/registers.cpp +++ b/src/yuzu/debugger/registers.cpp @@ -63,7 +63,7 @@ void RegistersWidget::OnDebugModeEntered() { for (int i = 0; i < core_registers->childCount(); ++i) core_registers->child(i)->setText( - 1, QString("0x%1").arg(Core::CPU().GetReg(i), 8, 16, QLatin1Char('0'))); + 1, QString("0x%1").arg(Core::CurrentArmInterface().GetReg(i), 8, 16, QLatin1Char('0'))); UpdateCPSRValues(); } @@ -122,7 +122,7 @@ void RegistersWidget::CreateCPSRChildren() { } void RegistersWidget::UpdateCPSRValues() { - const u32 cpsr_val = Core::CPU().GetCPSR(); + const u32 cpsr_val = Core::CurrentArmInterface().GetCPSR(); cpsr->setText(1, QString("0x%1").arg(cpsr_val, 8, 16, QLatin1Char('0'))); cpsr->child(0)->setText( diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp index acc4c2e0b..8b074db5a 100644 --- a/src/yuzu/debugger/wait_tree.cpp +++ b/src/yuzu/debugger/wait_tree.cpp @@ -51,13 +51,21 @@ std::size_t WaitTreeItem::Row() const { } std::vector<std::unique_ptr<WaitTreeThread>> WaitTreeItem::MakeThreadItemList() { - const auto& threads = Core::System::GetInstance().Scheduler().GetThreadList(); std::vector<std::unique_ptr<WaitTreeThread>> item_list; - item_list.reserve(threads.size()); - for (std::size_t i = 0; i < threads.size(); ++i) { - item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i])); - item_list.back()->row = i; - } + std::size_t row = 0; + auto add_threads = [&](const std::vector<Kernel::SharedPtr<Kernel::Thread>>& threads) { + for (std::size_t i = 0; i < threads.size(); ++i) { + item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i])); + item_list.back()->row = row; + ++row; + } + }; + + add_threads(Core::System::GetInstance().Scheduler(0)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(1)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(2)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(3)->GetThreadList()); + return item_list; } @@ -240,6 +248,9 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeThread::GetChildren() const { } list.push_back(std::make_unique<WaitTreeText>(tr("processor = %1").arg(processor))); + list.push_back(std::make_unique<WaitTreeText>(tr("ideal core = %1").arg(thread.ideal_core))); + list.push_back( + std::make_unique<WaitTreeText>(tr("affinity mask = %1").arg(thread.affinity_mask))); list.push_back(std::make_unique<WaitTreeText>(tr("thread id = %1").arg(thread.GetThreadId()))); list.push_back(std::make_unique<WaitTreeText>(tr("priority = %1(current) / %2(normal)") .arg(thread.current_priority) |