1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 18:53:28 +01:00

kernel explorer: Implement interrupt handler/service information

This commit is contained in:
Eladash 2021-05-07 22:19:41 +03:00 committed by Ivan
parent 1e1880893a
commit 7a4918e4a4

View File

@ -27,6 +27,7 @@
#include "Emu/Cell/lv2/sys_vm.h"
#include "Emu/Cell/lv2/sys_net.h"
#include "Emu/Cell/lv2/sys_fs.h"
#include "Emu/Cell/lv2/sys_interrupt.h"
#include "Emu/Cell/Modules/cellSpurs.h"
#include "Emu/RSX/RSXThread.h"
@ -348,14 +349,22 @@ void kernel_explorer::Update()
}
case SYS_INTR_TAG_OBJECT:
{
// auto& tag = static_cast<lv2_int_tag&>(obj);
add_leaf(node, qstr(fmt::format("Intr Tag 0x%08x", id)));
auto& tag = static_cast<lv2_int_tag&>(obj);
auto handler = tag.handler.lock();
if (handler && handler.get() == idm::check_unlocked<lv2_obj, lv2_int_serv>(handler->id))
{
add_leaf(node, qstr(fmt::format("Intr Tag 0x%08x, Handler: 0x%08x", id, handler->id)));
break;
}
add_leaf(node, qstr(fmt::format("Intr Tag 0x%08x, Handler: Unbound", id)));
break;
}
case SYS_INTR_SERVICE_HANDLE_OBJECT:
{
// auto& serv = static_cast<lv2_int_serv&>(obj);
add_leaf(node, qstr(fmt::format("Intr Svc 0x%08x", id)));
auto& serv = static_cast<lv2_int_serv&>(obj);
add_leaf(node, qstr(fmt::format("Intr Svc 0x%08x, PPU: 0x%07x, arg1: 0x%x, arg2: 0x%x", id, serv.thread->id, serv.arg1, serv.arg2)));
break;
}
case SYS_EVENT_QUEUE_OBJECT: