summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2021-04-09 16:56:11 -0700
committerGravatar bunnei2021-05-05 16:40:51 -0700
commitab704acab80d17f9a8e34dcbb753d60de2a86f86 (patch)
tree41b84d29f755f19f2222bef358631f88c6f2152f /src
parenthle: kernel: Use unique_ptr for suspend and dummy threads. (diff)
downloadyuzu-ab704acab80d17f9a8e34dcbb753d60de2a86f86.tar.gz
yuzu-ab704acab80d17f9a8e34dcbb753d60de2a86f86.tar.xz
yuzu-ab704acab80d17f9a8e34dcbb753d60de2a86f86.zip
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_scheduler.cpp1
-rw-r--r--src/core/hle/kernel/kernel.cpp7
-rw-r--r--src/core/hle/service/am/am.cpp13
-rw-r--r--src/core/hle/service/am/applets/applets.cpp5
-rw-r--r--src/core/hle/service/aoc/aoc_u.cpp2
-rw-r--r--src/core/hle/service/audio/audout_u.cpp1
-rw-r--r--src/core/hle/service/audio/audren_u.cpp4
-rw-r--r--src/core/hle/service/bcat/backend/backend.cpp1
-rw-r--r--src/core/hle/service/btdrv/btdrv.cpp1
-rw-r--r--src/core/hle/service/btm/btm.cpp5
-rw-r--r--src/core/hle/service/friend/friend.cpp1
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp1
-rw-r--r--src/core/hle/service/nfp/nfp.cpp4
-rw-r--r--src/core/hle/service/nifm/nifm.cpp3
-rw-r--r--src/core/hle/service/nim/nim.cpp1
-rw-r--r--src/core/hle/service/nvdrv/nvdrv.cpp1
-rw-r--r--src/core/hle/service/nvflinger/buffer_queue.cpp1
-rw-r--r--src/core/hle/service/ptm/psm.cpp1
-rw-r--r--src/core/hle/service/time/standard_user_system_clock_core.cpp1
-rw-r--r--src/core/hle/service/vi/display/vi_display.cpp1
20 files changed, 55 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp
index c048d86a3..09382f7dd 100644
--- a/src/core/hle/kernel/k_scheduler.cpp
+++ b/src/core/hle/kernel/k_scheduler.cpp
@@ -793,6 +793,7 @@ void KScheduler::UpdateLastContextSwitchTime(KThread* thread, Process* process)
793 793
794void KScheduler::Initialize() { 794void KScheduler::Initialize() {
795 idle_thread = std::make_unique<KThread>(system.Kernel()); 795 idle_thread = std::make_unique<KThread>(system.Kernel());
796 KAutoObject::Create(idle_thread.get());
796 ASSERT(KThread::InitializeIdleThread(system, idle_thread.get(), core_id).IsSuccess()); 797 ASSERT(KThread::InitializeIdleThread(system, idle_thread.get(), core_id).IsSuccess());
797 idle_thread->SetName(fmt::format("IdleThread:{}", core_id)); 798 idle_thread->SetName(fmt::format("IdleThread:{}", core_id));
798} 799}
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 1249a4c96..43bce1863 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -196,6 +196,7 @@ struct KernelCore::Impl {
196 void InitializeSuspendThreads() { 196 void InitializeSuspendThreads() {
197 for (s32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) { 197 for (s32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) {
198 suspend_threads[core_id] = std::make_unique<KThread>(system.Kernel()); 198 suspend_threads[core_id] = std::make_unique<KThread>(system.Kernel());
199 KAutoObject::Create(suspend_threads[core_id].get());
199 ASSERT(KThread::InitializeHighPriorityThread(system, suspend_threads[core_id].get(), {}, 200 ASSERT(KThread::InitializeHighPriorityThread(system, suspend_threads[core_id].get(), {},
200 {}, core_id) 201 {}, core_id)
201 .IsSuccess()); 202 .IsSuccess());
@@ -236,6 +237,7 @@ struct KernelCore::Impl {
236 KThread* GetHostDummyThread() { 237 KThread* GetHostDummyThread() {
237 auto make_thread = [this]() { 238 auto make_thread = [this]() {
238 std::unique_ptr<KThread> thread = std::make_unique<KThread>(system.Kernel()); 239 std::unique_ptr<KThread> thread = std::make_unique<KThread>(system.Kernel());
240 KAutoObject::Create(thread.get());
239 ASSERT(KThread::InitializeDummyThread(thread.get()).IsSuccess()); 241 ASSERT(KThread::InitializeDummyThread(thread.get()).IsSuccess());
240 thread->SetName(fmt::format("DummyThread:{}", GetHostThreadId())); 242 thread->SetName(fmt::format("DummyThread:{}", GetHostThreadId()));
241 return std::move(thread); 243 return std::move(thread);
@@ -580,6 +582,11 @@ struct KernelCore::Impl {
580 irs_shared_mem = std::make_unique<KSharedMemory>(system.Kernel()); 582 irs_shared_mem = std::make_unique<KSharedMemory>(system.Kernel());
581 time_shared_mem = std::make_unique<KSharedMemory>(system.Kernel()); 583 time_shared_mem = std::make_unique<KSharedMemory>(system.Kernel());
582 584
585 KAutoObject::Create(hid_shared_mem.get());
586 KAutoObject::Create(font_shared_mem.get());
587 KAutoObject::Create(irs_shared_mem.get());
588 KAutoObject::Create(time_shared_mem.get());
589
583 hid_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr, 590 hid_shared_mem->Initialize(system.Kernel(), system.DeviceMemory(), nullptr,
584 {hid_phys_addr, hid_size / PageSize}, KMemoryPermission::None, 591 {hid_phys_addr, hid_size / PageSize}, KMemoryPermission::None,
585 KMemoryPermission::Read, hid_phys_addr, hid_size, 592 KMemoryPermission::Read, hid_phys_addr, hid_size,
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index 3800c65ad..c1982e996 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -307,6 +307,8 @@ ISelfController::ISelfController(Core::System& system_, NVFlinger::NVFlinger& nv
307 307
308 RegisterHandlers(functions); 308 RegisterHandlers(functions);
309 309
310 Kernel::KAutoObject::Create(std::addressof(launchable_event));
311
310 launchable_event.Initialize("ISelfController:LaunchableEvent"); 312 launchable_event.Initialize("ISelfController:LaunchableEvent");
311 313
312 // This event is created by AM on the first time GetAccumulatedSuspendedTickChangedEvent() is 314 // This event is created by AM on the first time GetAccumulatedSuspendedTickChangedEvent() is
@@ -315,6 +317,7 @@ ISelfController::ISelfController(Core::System& system_, NVFlinger::NVFlinger& nv
315 // suspended if the event has previously been created by a call to 317 // suspended if the event has previously been created by a call to
316 // GetAccumulatedSuspendedTickChangedEvent. 318 // GetAccumulatedSuspendedTickChangedEvent.
317 319
320 Kernel::KAutoObject::Create(std::addressof(accumulated_suspended_tick_changed_event));
318 accumulated_suspended_tick_changed_event.Initialize( 321 accumulated_suspended_tick_changed_event.Initialize(
319 "ISelfController:AccumulatedSuspendedTickChangedEvent"); 322 "ISelfController:AccumulatedSuspendedTickChangedEvent");
320 accumulated_suspended_tick_changed_event.GetWritableEvent()->Signal(); 323 accumulated_suspended_tick_changed_event.GetWritableEvent()->Signal();
@@ -579,6 +582,10 @@ void ISelfController::SetAlbumImageTakenNotificationEnabled(Kernel::HLERequestCo
579 582
580AppletMessageQueue::AppletMessageQueue(Kernel::KernelCore& kernel) 583AppletMessageQueue::AppletMessageQueue(Kernel::KernelCore& kernel)
581 : on_new_message{kernel}, on_operation_mode_changed{kernel} { 584 : on_new_message{kernel}, on_operation_mode_changed{kernel} {
585
586 Kernel::KAutoObject::Create(std::addressof(on_new_message));
587 Kernel::KAutoObject::Create(std::addressof(on_operation_mode_changed));
588
582 on_new_message.Initialize("AMMessageQueue:OnMessageReceived"); 589 on_new_message.Initialize("AMMessageQueue:OnMessageReceived");
583 on_operation_mode_changed.Initialize("AMMessageQueue:OperationModeChanged"); 590 on_operation_mode_changed.Initialize("AMMessageQueue:OperationModeChanged");
584} 591}
@@ -1333,6 +1340,11 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_)
1333 RegisterHandlers(functions); 1340 RegisterHandlers(functions);
1334 1341
1335 auto& kernel = system.Kernel(); 1342 auto& kernel = system.Kernel();
1343
1344 Kernel::KAutoObject::Create(std::addressof(gpu_error_detected_event));
1345 Kernel::KAutoObject::Create(std::addressof(friend_invitation_storage_channel_event));
1346 Kernel::KAutoObject::Create(std::addressof(health_warning_disappeared_system_event));
1347
1336 gpu_error_detected_event.Initialize("IApplicationFunctions:GpuErrorDetectedSystemEvent"); 1348 gpu_error_detected_event.Initialize("IApplicationFunctions:GpuErrorDetectedSystemEvent");
1337 friend_invitation_storage_channel_event.Initialize( 1349 friend_invitation_storage_channel_event.Initialize(
1338 "IApplicationFunctions:FriendInvitationStorageChannelEvent"); 1350 "IApplicationFunctions:FriendInvitationStorageChannelEvent");
@@ -1798,6 +1810,7 @@ IHomeMenuFunctions::IHomeMenuFunctions(Core::System& system_)
1798 1810
1799 RegisterHandlers(functions); 1811 RegisterHandlers(functions);
1800 1812
1813 Kernel::KAutoObject::Create(std::addressof(pop_from_general_channel_event));
1801 pop_from_general_channel_event.Initialize("IHomeMenuFunctions:PopFromGeneralChannelEvent"); 1814 pop_from_general_channel_event.Initialize("IHomeMenuFunctions:PopFromGeneralChannelEvent");
1802} 1815}
1803 1816
diff --git a/src/core/hle/service/am/applets/applets.cpp b/src/core/hle/service/am/applets/applets.cpp
index 58bff810d..6cceff064 100644
--- a/src/core/hle/service/am/applets/applets.cpp
+++ b/src/core/hle/service/am/applets/applets.cpp
@@ -32,6 +32,11 @@ namespace Service::AM::Applets {
32AppletDataBroker::AppletDataBroker(Core::System& system_, LibraryAppletMode applet_mode_) 32AppletDataBroker::AppletDataBroker(Core::System& system_, LibraryAppletMode applet_mode_)
33 : system{system_}, applet_mode{applet_mode_}, state_changed_event{system.Kernel()}, 33 : system{system_}, applet_mode{applet_mode_}, state_changed_event{system.Kernel()},
34 pop_out_data_event{system.Kernel()}, pop_interactive_out_data_event{system.Kernel()} { 34 pop_out_data_event{system.Kernel()}, pop_interactive_out_data_event{system.Kernel()} {
35
36 Kernel::KAutoObject::Create(std::addressof(state_changed_event));
37 Kernel::KAutoObject::Create(std::addressof(pop_out_data_event));
38 Kernel::KAutoObject::Create(std::addressof(pop_interactive_out_data_event));
39
35 state_changed_event.Initialize("ILibraryAppletAccessor:StateChangedEvent"); 40 state_changed_event.Initialize("ILibraryAppletAccessor:StateChangedEvent");
36 pop_out_data_event.Initialize("ILibraryAppletAccessor:PopDataOutEvent"); 41 pop_out_data_event.Initialize("ILibraryAppletAccessor:PopDataOutEvent");
37 pop_interactive_out_data_event.Initialize("ILibraryAppletAccessor:PopInteractiveDataOutEvent"); 42 pop_interactive_out_data_event.Initialize("ILibraryAppletAccessor:PopInteractiveDataOutEvent");
diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp
index 12a025610..7d7a8c0ad 100644
--- a/src/core/hle/service/aoc/aoc_u.cpp
+++ b/src/core/hle/service/aoc/aoc_u.cpp
@@ -62,6 +62,7 @@ public:
62 62
63 RegisterHandlers(functions); 63 RegisterHandlers(functions);
64 64
65 Kernel::KAutoObject::Create(std::addressof(purchased_event));
65 purchased_event.Initialize("IPurchaseEventManager:PurchasedEvent"); 66 purchased_event.Initialize("IPurchaseEventManager:PurchasedEvent");
66 } 67 }
67 68
@@ -125,6 +126,7 @@ AOC_U::AOC_U(Core::System& system_)
125 126
126 RegisterHandlers(functions); 127 RegisterHandlers(functions);
127 128
129 Kernel::KAutoObject::Create(std::addressof(aoc_change_event));
128 aoc_change_event.Initialize("GetAddOnContentListChanged:Event"); 130 aoc_change_event.Initialize("GetAddOnContentListChanged:Event");
129} 131}
130 132
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
index 4052c8e60..5a7d73b48 100644
--- a/src/core/hle/service/audio/audout_u.cpp
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -67,6 +67,7 @@ public:
67 RegisterHandlers(functions); 67 RegisterHandlers(functions);
68 68
69 // This is the event handle used to check if the audio buffer was released 69 // This is the event handle used to check if the audio buffer was released
70 Kernel::KAutoObject::Create(std::addressof(buffer_event));
70 buffer_event.Initialize("IAudioOutBufferReleased"); 71 buffer_event.Initialize("IAudioOutBufferReleased");
71 72
72 stream = audio_core.OpenStream(system.CoreTiming(), audio_params.sample_rate, 73 stream = audio_core.OpenStream(system.CoreTiming(), audio_params.sample_rate,
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp
index d573530df..b0a362f52 100644
--- a/src/core/hle/service/audio/audren_u.cpp
+++ b/src/core/hle/service/audio/audren_u.cpp
@@ -49,6 +49,7 @@ public:
49 // clang-format on 49 // clang-format on
50 RegisterHandlers(functions); 50 RegisterHandlers(functions);
51 51
52 Kernel::KAutoObject::Create(std::addressof(system_event));
52 system_event.Initialize("IAudioRenderer:SystemEvent"); 53 system_event.Initialize("IAudioRenderer:SystemEvent");
53 renderer = std::make_unique<AudioCore::AudioRenderer>( 54 renderer = std::make_unique<AudioCore::AudioRenderer>(
54 system.CoreTiming(), system.Memory(), audren_params, 55 system.CoreTiming(), system.Memory(), audren_params,
@@ -189,13 +190,16 @@ public:
189 }; 190 };
190 RegisterHandlers(functions); 191 RegisterHandlers(functions);
191 192
193 Kernel::KAutoObject::Create(std::addressof(buffer_event));
192 buffer_event.Initialize("IAudioOutBufferReleasedEvent"); 194 buffer_event.Initialize("IAudioOutBufferReleasedEvent");
193 195
194 // Should be similar to audio_output_device_switch_event 196 // Should be similar to audio_output_device_switch_event
197 Kernel::KAutoObject::Create(std::addressof(audio_input_device_switch_event));
195 audio_input_device_switch_event.Initialize("IAudioDevice:AudioInputDeviceSwitchedEvent"); 198 audio_input_device_switch_event.Initialize("IAudioDevice:AudioInputDeviceSwitchedEvent");
196 199
197 // Should only be signalled when an audio output device has been changed, example: speaker 200 // Should only be signalled when an audio output device has been changed, example: speaker
198 // to headset 201 // to headset
202 Kernel::KAutoObject::Create(std::addressof(audio_output_device_switch_event));
199 audio_output_device_switch_event.Initialize("IAudioDevice:AudioOutputDeviceSwitchedEvent"); 203 audio_output_device_switch_event.Initialize("IAudioDevice:AudioOutputDeviceSwitchedEvent");
200 } 204 }
201 205
diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp
index 932e70bfd..8def52b31 100644
--- a/src/core/hle/service/bcat/backend/backend.cpp
+++ b/src/core/hle/service/bcat/backend/backend.cpp
@@ -15,6 +15,7 @@ namespace Service::BCAT {
15ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel, 15ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel,
16 std::string_view event_name) 16 std::string_view event_name)
17 : update_event{kernel} { 17 : update_event{kernel} {
18 Kernel::KAutoObject::Create(std::addressof(update_event));
18 update_event.Initialize("ProgressServiceBackend:UpdateEvent:" + std::string(event_name)); 19 update_event.Initialize("ProgressServiceBackend:UpdateEvent:" + std::string(event_name));
19} 20}
20 21
diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp
index dde276ff4..fd97a822c 100644
--- a/src/core/hle/service/btdrv/btdrv.cpp
+++ b/src/core/hle/service/btdrv/btdrv.cpp
@@ -35,6 +35,7 @@ public:
35 // clang-format on 35 // clang-format on
36 RegisterHandlers(functions); 36 RegisterHandlers(functions);
37 37
38 Kernel::KAutoObject::Create(std::addressof(register_event));
38 register_event.Initialize("BT:RegisterEvent"); 39 register_event.Initialize("BT:RegisterEvent");
39 } 40 }
40 41
diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp
index 403296650..3b5ef69e1 100644
--- a/src/core/hle/service/btm/btm.cpp
+++ b/src/core/hle/service/btm/btm.cpp
@@ -60,6 +60,11 @@ public:
60 // clang-format on 60 // clang-format on
61 RegisterHandlers(functions); 61 RegisterHandlers(functions);
62 62
63 Kernel::KAutoObject::Create(std::addressof(scan_event));
64 Kernel::KAutoObject::Create(std::addressof(connection_event));
65 Kernel::KAutoObject::Create(std::addressof(service_discovery));
66 Kernel::KAutoObject::Create(std::addressof(config_event));
67
63 scan_event.Initialize("IBtmUserCore:ScanEvent"); 68 scan_event.Initialize("IBtmUserCore:ScanEvent");
64 connection_event.Initialize("IBtmUserCore:ConnectionEvent"); 69 connection_event.Initialize("IBtmUserCore:ConnectionEvent");
65 service_discovery.Initialize("IBtmUserCore:Discovery"); 70 service_discovery.Initialize("IBtmUserCore:Discovery");
diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp
index 526b0f896..91c202952 100644
--- a/src/core/hle/service/friend/friend.cpp
+++ b/src/core/hle/service/friend/friend.cpp
@@ -197,6 +197,7 @@ public:
197 197
198 RegisterHandlers(functions); 198 RegisterHandlers(functions);
199 199
200 Kernel::KAutoObject::Create(std::addressof(notification_event));
200 notification_event.Initialize("INotificationService:NotifyEvent"); 201 notification_event.Initialize("INotificationService:NotifyEvent");
201 } 202 }
202 203
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index 7d9debc09..753875d6e 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -254,6 +254,7 @@ void Controller_NPad::OnInit() {
254 auto& kernel = system.Kernel(); 254 auto& kernel = system.Kernel();
255 for (std::size_t i = 0; i < styleset_changed_events.size(); ++i) { 255 for (std::size_t i = 0; i < styleset_changed_events.size(); ++i) {
256 styleset_changed_events[i] = std::make_unique<Kernel::KEvent>(kernel); 256 styleset_changed_events[i] = std::make_unique<Kernel::KEvent>(kernel);
257 Kernel::KAutoObject::Create(styleset_changed_events[i].get());
257 styleset_changed_events[i]->Initialize(fmt::format("npad:NpadStyleSetChanged_{}", i)); 258 styleset_changed_events[i]->Initialize(fmt::format("npad:NpadStyleSetChanged_{}", i));
258 } 259 }
259 260
diff --git a/src/core/hle/service/nfp/nfp.cpp b/src/core/hle/service/nfp/nfp.cpp
index 164b8b9cd..d1cf01390 100644
--- a/src/core/hle/service/nfp/nfp.cpp
+++ b/src/core/hle/service/nfp/nfp.cpp
@@ -24,6 +24,7 @@ constexpr ResultCode ERR_NO_APPLICATION_AREA(ErrorModule::NFP, 152);
24Module::Interface::Interface(std::shared_ptr<Module> module_, Core::System& system_, 24Module::Interface::Interface(std::shared_ptr<Module> module_, Core::System& system_,
25 const char* name) 25 const char* name)
26 : ServiceFramework{system_, name}, nfc_tag_load{system.Kernel()}, module{std::move(module_)} { 26 : ServiceFramework{system_, name}, nfc_tag_load{system.Kernel()}, module{std::move(module_)} {
27 Kernel::KAutoObject::Create(std::addressof(nfc_tag_load));
27 nfc_tag_load.Initialize("IUser:NFCTagDetected"); 28 nfc_tag_load.Initialize("IUser:NFCTagDetected");
28} 29}
29 30
@@ -63,6 +64,9 @@ public:
63 }; 64 };
64 RegisterHandlers(functions); 65 RegisterHandlers(functions);
65 66
67 Kernel::KAutoObject::Create(std::addressof(deactivate_event));
68 Kernel::KAutoObject::Create(std::addressof(availability_change_event));
69
66 deactivate_event.Initialize("IUser:DeactivateEvent"); 70 deactivate_event.Initialize("IUser:DeactivateEvent");
67 availability_change_event.Initialize("IUser:AvailabilityChangeEvent"); 71 availability_change_event.Initialize("IUser:AvailabilityChangeEvent");
68 } 72 }
diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp
index fe1c25757..c91427b8b 100644
--- a/src/core/hle/service/nifm/nifm.cpp
+++ b/src/core/hle/service/nifm/nifm.cpp
@@ -160,6 +160,9 @@ public:
160 160
161 auto& kernel = system.Kernel(); 161 auto& kernel = system.Kernel();
162 162
163 Kernel::KAutoObject::Create(std::addressof(event1));
164 Kernel::KAutoObject::Create(std::addressof(event2));
165
163 event1.Initialize("IRequest:Event1"); 166 event1.Initialize("IRequest:Event1");
164 event2.Initialize("IRequest:Event2"); 167 event2.Initialize("IRequest:Event2");
165 } 168 }
diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp
index 6d66ad90b..4a2262562 100644
--- a/src/core/hle/service/nim/nim.cpp
+++ b/src/core/hle/service/nim/nim.cpp
@@ -313,6 +313,7 @@ public:
313 }; 313 };
314 RegisterHandlers(functions); 314 RegisterHandlers(functions);
315 315
316 Kernel::KAutoObject::Create(std::addressof(finished_event));
316 finished_event.Initialize("IEnsureNetworkClockAvailabilityService:FinishEvent"); 317 finished_event.Initialize("IEnsureNetworkClockAvailabilityService:FinishEvent");
317 } 318 }
318 319
diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp
index 74399bcdb..64bdb0722 100644
--- a/src/core/hle/service/nvdrv/nvdrv.cpp
+++ b/src/core/hle/service/nvdrv/nvdrv.cpp
@@ -43,6 +43,7 @@ Module::Module(Core::System& system) : syncpoint_manager{system.GPU()} {
43 auto& kernel = system.Kernel(); 43 auto& kernel = system.Kernel();
44 for (u32 i = 0; i < MaxNvEvents; i++) { 44 for (u32 i = 0; i < MaxNvEvents; i++) {
45 events_interface.events[i].event = std::make_unique<Kernel::KEvent>(kernel); 45 events_interface.events[i].event = std::make_unique<Kernel::KEvent>(kernel);
46 Kernel::KAutoObject::Create(events_interface.events[i].event.get());
46 events_interface.events[i].event->Initialize(fmt::format("NVDRV::NvEvent_{}", i)); 47 events_interface.events[i].event->Initialize(fmt::format("NVDRV::NvEvent_{}", i));
47 events_interface.status[i] = EventState::Free; 48 events_interface.status[i] = EventState::Free;
48 events_interface.registered[i] = false; 49 events_interface.registered[i] = false;
diff --git a/src/core/hle/service/nvflinger/buffer_queue.cpp b/src/core/hle/service/nvflinger/buffer_queue.cpp
index 8ddb1f908..95e5a5e7f 100644
--- a/src/core/hle/service/nvflinger/buffer_queue.cpp
+++ b/src/core/hle/service/nvflinger/buffer_queue.cpp
@@ -15,6 +15,7 @@ namespace Service::NVFlinger {
15 15
16BufferQueue::BufferQueue(Kernel::KernelCore& kernel, u32 id, u64 layer_id) 16BufferQueue::BufferQueue(Kernel::KernelCore& kernel, u32 id, u64 layer_id)
17 : id(id), layer_id(layer_id), buffer_wait_event{kernel} { 17 : id(id), layer_id(layer_id), buffer_wait_event{kernel} {
18 Kernel::KAutoObject::Create(std::addressof(buffer_wait_event));
18 buffer_wait_event.Initialize("BufferQueue:WaitEvent"); 19 buffer_wait_event.Initialize("BufferQueue:WaitEvent");
19} 20}
20 21
diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp
index 22e5d9749..2659ab7d5 100644
--- a/src/core/hle/service/ptm/psm.cpp
+++ b/src/core/hle/service/ptm/psm.cpp
@@ -33,6 +33,7 @@ public:
33 33
34 RegisterHandlers(functions); 34 RegisterHandlers(functions);
35 35
36 Kernel::KAutoObject::Create(std::addressof(state_change_event));
36 state_change_event.Initialize("IPsmSession::state_change_event"); 37 state_change_event.Initialize("IPsmSession::state_change_event");
37 } 38 }
38 39
diff --git a/src/core/hle/service/time/standard_user_system_clock_core.cpp b/src/core/hle/service/time/standard_user_system_clock_core.cpp
index c41bdd48b..7f47b12b8 100644
--- a/src/core/hle/service/time/standard_user_system_clock_core.cpp
+++ b/src/core/hle/service/time/standard_user_system_clock_core.cpp
@@ -18,6 +18,7 @@ StandardUserSystemClockCore::StandardUserSystemClockCore(
18 network_system_clock_core{network_system_clock_core}, auto_correction_enabled{}, 18 network_system_clock_core{network_system_clock_core}, auto_correction_enabled{},
19 auto_correction_time{SteadyClockTimePoint::GetRandom()}, auto_correction_event{ 19 auto_correction_time{SteadyClockTimePoint::GetRandom()}, auto_correction_event{
20 system.Kernel()} { 20 system.Kernel()} {
21 Kernel::KAutoObject::Create(std::addressof(auto_correction_event));
21 auto_correction_event.Initialize("StandardUserSystemClockCore:AutoCorrectionEvent"); 22 auto_correction_event.Initialize("StandardUserSystemClockCore:AutoCorrectionEvent");
22} 23}
23 24
diff --git a/src/core/hle/service/vi/display/vi_display.cpp b/src/core/hle/service/vi/display/vi_display.cpp
index ebaacaa6b..7c52b6aa7 100644
--- a/src/core/hle/service/vi/display/vi_display.cpp
+++ b/src/core/hle/service/vi/display/vi_display.cpp
@@ -19,6 +19,7 @@ namespace Service::VI {
19 19
20Display::Display(u64 id, std::string name, Core::System& system) 20Display::Display(u64 id, std::string name, Core::System& system)
21 : id{id}, name{std::move(name)}, vsync_event{system.Kernel()} { 21 : id{id}, name{std::move(name)}, vsync_event{system.Kernel()} {
22 Kernel::KAutoObject::Create(std::addressof(vsync_event));
22 vsync_event.Initialize(fmt::format("Display VSync Event {}", id)); 23 vsync_event.Initialize(fmt::format("Display VSync Event {}", id));
23} 24}
24 25