diff --git a/rpcs3/Emu/Cell/Modules/cellSpurs.cpp b/rpcs3/Emu/Cell/Modules/cellSpurs.cpp index 369e49f784..ee6180c5c7 100644 --- a/rpcs3/Emu/Cell/Modules/cellSpurs.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSpurs.cpp @@ -765,7 +765,7 @@ void _spurs::event_helper_entry(ppu_thread& ppu, vm::ptr spurs) s32 _spurs::create_event_helper(ppu_thread& ppu, vm::ptr spurs, u32 ppuPriority) { - if (s32 rc = _spurs::create_lv2_eq(ppu, spurs, spurs.ptr(&CellSpurs::eventQueue), spurs.ptr(&CellSpurs::spuPort), 0x2A, sys_event_queue_attribute_t{ SYS_SYNC_PRIORITY, SYS_PPU_QUEUE, "_spuPrv" })) + if (s32 rc = _spurs::create_lv2_eq(ppu, spurs, spurs.ptr(&CellSpurs::eventQueue), spurs.ptr(&CellSpurs::spuPort), 0x2A, sys_event_queue_attribute_t{ SYS_SYNC_PRIORITY, SYS_PPU_QUEUE, "_spuPrv\0"_u64 })) { return rc; } @@ -1014,7 +1014,7 @@ s32 _spurs::initialize(ppu_thread& ppu, vm::ptr spurs, u32 revision, semAttr->pshared = SYS_SYNC_NOT_PROCESS_SHARED; semAttr->ipc_key = 0; semAttr->flags = 0; - std::memcpy(semAttr->name, "_spuWkl", 8); + semAttr->name_u64 = "_spuWkl\0"_u64; for (u32 i = 0; i < CELL_SPURS_MAX_WORKLOAD; i++) { @@ -1037,7 +1037,7 @@ s32 _spurs::initialize(ppu_thread& ppu, vm::ptr spurs, u32 revision, } // Create semaphore - std::memcpy(semAttr->name, "_spuPrv", 8); + semAttr->name_u64 = "_spuPrv\0"_u64; if (s32 rc = sys_semaphore_create(sem, semAttr, 0, 1)) { return rollback(), rc; @@ -1142,14 +1142,14 @@ s32 _spurs::initialize(ppu_thread& ppu, vm::ptr spurs, u32 revision, const auto lwCond = spurs.ptr(&CellSpurs::cond); // Create a mutex to protect access to SPURS handler thread data - if (s32 rc = sys_lwmutex_create(ppu, lwMutex, vm::make_var(sys_lwmutex_attribute_t{ SYS_SYNC_PRIORITY, SYS_SYNC_NOT_RECURSIVE, "_spuPrv" }))) + if (s32 rc = sys_lwmutex_create(ppu, lwMutex, vm::make_var(sys_lwmutex_attribute_t{ SYS_SYNC_PRIORITY, SYS_SYNC_NOT_RECURSIVE, "_spuPrv\0"_u64 }))) { _spurs::finalize_spu(ppu, spurs); return rollback(), rc; } // Create condition variable to signal the SPURS handler thread - if (s32 rc = sys_lwcond_create(ppu, lwCond, lwMutex, vm::make_var(sys_lwcond_attribute_t{ "_spuPrv" }))) + if (s32 rc = sys_lwcond_create(ppu, lwCond, lwMutex, vm::make_var(sys_lwcond_attribute_t{ "_spuPrv\0"_u64 }))) { sys_lwmutex_destroy(ppu, lwMutex); _spurs::finalize_spu(ppu, spurs); @@ -3046,7 +3046,7 @@ s32 cellSpursEventFlagAttachLv2EventQueue(ppu_thread& ppu, vm::ptr name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_event.h b/rpcs3/Emu/Cell/lv2/sys_event.h index 39f90099b9..f7a080de4e 100644 --- a/rpcs3/Emu/Cell/lv2/sys_event.h +++ b/rpcs3/Emu/Cell/lv2/sys_event.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include "sys_sync.h" @@ -59,8 +59,8 @@ struct sys_event_queue_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_event_flag.h b/rpcs3/Emu/Cell/lv2/sys_event_flag.h index 3bdbdefb73..ed97911a21 100644 --- a/rpcs3/Emu/Cell/lv2/sys_event_flag.h +++ b/rpcs3/Emu/Cell/lv2/sys_event_flag.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include "sys_sync.h" @@ -26,8 +26,8 @@ struct sys_event_flag_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_lwcond.h b/rpcs3/Emu/Cell/lv2/sys_lwcond.h index 70249b0d3f..2bdac52e59 100644 --- a/rpcs3/Emu/Cell/lv2/sys_lwcond.h +++ b/rpcs3/Emu/Cell/lv2/sys_lwcond.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include "sys_sync.h" @@ -10,8 +10,8 @@ struct sys_lwcond_attribute_t { union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_lwmutex.h b/rpcs3/Emu/Cell/lv2/sys_lwmutex.h index cf2e5cb3d3..bd8d5f8ff6 100644 --- a/rpcs3/Emu/Cell/lv2/sys_lwmutex.h +++ b/rpcs3/Emu/Cell/lv2/sys_lwmutex.h @@ -11,8 +11,8 @@ struct sys_lwmutex_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_mutex.h b/rpcs3/Emu/Cell/lv2/sys_mutex.h index e70cb3658c..c46a7bc3d7 100644 --- a/rpcs3/Emu/Cell/lv2/sys_mutex.h +++ b/rpcs3/Emu/Cell/lv2/sys_mutex.h @@ -16,8 +16,8 @@ struct sys_mutex_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_rwlock.h b/rpcs3/Emu/Cell/lv2/sys_rwlock.h index 33e3340914..2ee2a8d8a7 100644 --- a/rpcs3/Emu/Cell/lv2/sys_rwlock.h +++ b/rpcs3/Emu/Cell/lv2/sys_rwlock.h @@ -14,8 +14,8 @@ struct sys_rwlock_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; }; diff --git a/rpcs3/Emu/Cell/lv2/sys_semaphore.h b/rpcs3/Emu/Cell/lv2/sys_semaphore.h index 0e10fc33cb..5ef2c72e42 100644 --- a/rpcs3/Emu/Cell/lv2/sys_semaphore.h +++ b/rpcs3/Emu/Cell/lv2/sys_semaphore.h @@ -14,8 +14,8 @@ struct sys_semaphore_attribute_t union { - char name[8]; - u64 name_u64; + le_t name_u64; + char name[sizeof(u64)]; }; };