Fix lv2 sys_lwcond/sys_lwmutex kernel explorer names
This commit is contained in:
@@ -18,7 +18,7 @@ error_code sys_lwcond_create(ppu_thread& ppu, vm::ptr<sys_lwcond_t> lwcond, vm::
|
|||||||
attrs->pshared = SYS_SYNC_NOT_PROCESS_SHARED;
|
attrs->pshared = SYS_SYNC_NOT_PROCESS_SHARED;
|
||||||
attrs->name_u64 = attr->name_u64;
|
attrs->name_u64 = attr->name_u64;
|
||||||
|
|
||||||
if (auto res = g_cfg.core.hle_lwmutex ? sys_cond_create(ppu, out_id, lwmutex->sleep_queue, attrs) : _sys_lwcond_create(ppu, out_id, lwmutex->sleep_queue, lwcond, attr->name_u64))
|
if (auto res = g_cfg.core.hle_lwmutex ? sys_cond_create(ppu, out_id, lwmutex->sleep_queue, attrs) : _sys_lwcond_create(ppu, out_id, lwmutex->sleep_queue, lwcond, std::bit_cast<be_t<u64>>(attr->name_u64)))
|
||||||
{
|
{
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ error_code sys_lwmutex_create(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex, v
|
|||||||
attrs->flags = 0;
|
attrs->flags = 0;
|
||||||
attrs->name_u64 = attr->name_u64;
|
attrs->name_u64 = attr->name_u64;
|
||||||
|
|
||||||
if (error_code res = g_cfg.core.hle_lwmutex ? sys_mutex_create(ppu, out_id, attrs) : _sys_lwmutex_create(ppu, out_id, protocol, lwmutex, 0x80000001, attr->name_u64))
|
if (error_code res = g_cfg.core.hle_lwmutex ? sys_mutex_create(ppu, out_id, attrs) : _sys_lwmutex_create(ppu, out_id, protocol, lwmutex, 0x80000001, std::bit_cast<be_t<u64>>(attr->name_u64)))
|
||||||
{
|
{
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ error_code _sys_lwcond_create(ppu_thread& ppu, vm::ptr<u32> lwcond_id, u32 lwmut
|
|||||||
{
|
{
|
||||||
vm::temporary_unlock(ppu);
|
vm::temporary_unlock(ppu);
|
||||||
|
|
||||||
sys_lwcond.warning(u8"_sys_lwcond_create(lwcond_id=*0x%x, lwmutex_id=0x%x, control=*0x%x, name=0x%llx (“%s”))", lwcond_id, lwmutex_id, control, name, lv2_obj::name64(name));
|
sys_lwcond.warning(u8"_sys_lwcond_create(lwcond_id=*0x%x, lwmutex_id=0x%x, control=*0x%x, name=0x%llx (“%s”))", lwcond_id, lwmutex_id, control, name, lv2_obj::name64(std::bit_cast<be_t<u64>>(name)));
|
||||||
|
|
||||||
u32 protocol;
|
u32 protocol;
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ struct lv2_lwcond final : lv2_obj
|
|||||||
{
|
{
|
||||||
static const u32 id_base = 0x97000000;
|
static const u32 id_base = 0x97000000;
|
||||||
|
|
||||||
const u64 name;
|
const be_t<u64> name;
|
||||||
const u32 lwid;
|
const u32 lwid;
|
||||||
const u32 protocol;
|
const u32 protocol;
|
||||||
vm::ptr<sys_lwcond_t> control;
|
vm::ptr<sys_lwcond_t> control;
|
||||||
@@ -35,7 +35,7 @@ struct lv2_lwcond final : lv2_obj
|
|||||||
std::deque<cpu_thread*> sq;
|
std::deque<cpu_thread*> sq;
|
||||||
|
|
||||||
lv2_lwcond(u64 name, u32 lwid, u32 protocol, vm::ptr<sys_lwcond_t> control)
|
lv2_lwcond(u64 name, u32 lwid, u32 protocol, vm::ptr<sys_lwcond_t> control)
|
||||||
: name(name)
|
: name(std::bit_cast<be_t<u64>>(name))
|
||||||
, lwid(lwid)
|
, lwid(lwid)
|
||||||
, protocol(protocol)
|
, protocol(protocol)
|
||||||
, control(control)
|
, control(control)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ error_code _sys_lwmutex_create(ppu_thread& ppu, vm::ptr<u32> lwmutex_id, u32 pro
|
|||||||
{
|
{
|
||||||
vm::temporary_unlock(ppu);
|
vm::temporary_unlock(ppu);
|
||||||
|
|
||||||
sys_lwmutex.warning(u8"_sys_lwmutex_create(lwmutex_id=*0x%x, protocol=0x%x, control=*0x%x, has_name=0x%x, name=0x%llx (“%s”))", lwmutex_id, protocol, control, has_name, name, lv2_obj::name64(name));
|
sys_lwmutex.warning(u8"_sys_lwmutex_create(lwmutex_id=*0x%x, protocol=0x%x, control=*0x%x, has_name=0x%x, name=0x%llx (“%s”))", lwmutex_id, protocol, control, has_name, name, lv2_obj::name64(std::bit_cast<be_t<u64>>(name)));
|
||||||
|
|
||||||
if (protocol != SYS_SYNC_FIFO && protocol != SYS_SYNC_RETRY && protocol != SYS_SYNC_PRIORITY)
|
if (protocol != SYS_SYNC_FIFO && protocol != SYS_SYNC_RETRY && protocol != SYS_SYNC_PRIORITY)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ struct lv2_lwmutex final : lv2_obj
|
|||||||
|
|
||||||
const u32 protocol;
|
const u32 protocol;
|
||||||
const vm::ptr<sys_lwmutex_t> control;
|
const vm::ptr<sys_lwmutex_t> control;
|
||||||
const u64 name;
|
const be_t<u64> name;
|
||||||
|
|
||||||
shared_mutex mutex;
|
shared_mutex mutex;
|
||||||
atomic_t<s32> signaled{0};
|
atomic_t<s32> signaled{0};
|
||||||
@@ -66,7 +66,7 @@ struct lv2_lwmutex final : lv2_obj
|
|||||||
lv2_lwmutex(u32 protocol, vm::ptr<sys_lwmutex_t> control, u64 name)
|
lv2_lwmutex(u32 protocol, vm::ptr<sys_lwmutex_t> control, u64 name)
|
||||||
: protocol(protocol)
|
: protocol(protocol)
|
||||||
, control(control)
|
, control(control)
|
||||||
, name(name)
|
, name(std::bit_cast<be_t<u64>>(name))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user