hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
This commit is contained in:
parent
722195cf70
commit
ab704acab8
20 changed files with 55 additions and 0 deletions
|
@ -196,6 +196,7 @@ struct KernelCore::Impl {
|
|||
void InitializeSuspendThreads() {
|
||||
for (s32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) {
|
||||
suspend_threads[core_id] = std::make_unique<KThread>(system.Kernel());
|
||||
KAutoObject::Create(suspend_threads[core_id].get());
|
||||
ASSERT(KThread::InitializeHighPriorityThread(system, suspend_threads[core_id].get(), {},
|
||||
{}, core_id)
|
||||
.IsSuccess());
|
||||
|
@ -236,6 +237,7 @@ struct KernelCore::Impl {
|
|||
KThread* GetHostDummyThread() {
|
||||
auto make_thread = [this]() {
|
||||
std::unique_ptr<KThread> thread = std::make_unique<KThread>(system.Kernel());
|
||||
KAutoObject::Create(thread.get());
|
||||
ASSERT(KThread::InitializeDummyThread(thread.get()).IsSuccess());
|
||||
thread->SetName(fmt::format("DummyThread:{}", GetHostThreadId()));
|
||||
return std::move(thread);
|
||||
|
@ -580,6 +582,11 @@ struct KernelCore::Impl {
|
|||
irs_shared_mem = std::make_unique<KSharedMemory>(system.Kernel());
|
||||
time_shared_mem = std::make_unique<KSharedMemory>(system.Kernel());
|
||||
|
||||
KAutoObject::Create(hid_shared_mem.get());
|
||||
KAutoObject::Create(font_shared_mem.get());
|
||||
KAutoObject::Create(irs_shared_mem.get());
|
||||
KAutoObject::Create(time_shared_mem.get());
|
||||
|
||||
hid_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr,
|
||||
{hid_phys_addr, hid_size / PageSize}, KMemoryPermission::None,
|
||||
KMemoryPermission::Read, hid_phys_addr, hid_size,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue