summaryrefslogtreecommitdiff
path: root/src/core/hle/service
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/am/am.cpp9
-rw-r--r--src/core/hle/service/audio/audout_u.cpp4
-rw-r--r--src/core/hle/service/audio/audren_u.cpp8
-rw-r--r--src/core/hle/service/hid/hid.cpp9
-rw-r--r--src/core/hle/service/nfp/nfp.cpp10
-rw-r--r--src/core/hle/service/nifm/nifm.cpp6
-rw-r--r--src/core/hle/service/ns/pl_u.cpp3
-rw-r--r--src/core/hle/service/nvdrv/interface.cpp4
-rw-r--r--src/core/hle/service/nvflinger/buffer_queue.cpp4
-rw-r--r--src/core/hle/service/nvflinger/nvflinger.cpp3
-rw-r--r--src/core/hle/service/service.cpp9
-rw-r--r--src/core/hle/service/sm/sm.cpp5
12 files changed, 51 insertions, 23 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index 7e3cf6d58..818c03e0f 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -160,8 +160,9 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger
160 }; 160 };
161 RegisterHandlers(functions); 161 RegisterHandlers(functions);
162 162
163 auto& kernel = Core::System::GetInstance().Kernel();
163 launchable_event = 164 launchable_event =
164 Kernel::Event::Create(Kernel::ResetType::Sticky, "ISelfController:LaunchableEvent"); 165 Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "ISelfController:LaunchableEvent");
165} 166}
166 167
167void ISelfController::SetFocusHandlingMode(Kernel::HLERequestContext& ctx) { 168void ISelfController::SetFocusHandlingMode(Kernel::HLERequestContext& ctx) {
@@ -332,7 +333,8 @@ ICommonStateGetter::ICommonStateGetter() : ServiceFramework("ICommonStateGetter"
332 }; 333 };
333 RegisterHandlers(functions); 334 RegisterHandlers(functions);
334 335
335 event = Kernel::Event::Create(Kernel::ResetType::OneShot, "ICommonStateGetter:Event"); 336 auto& kernel = Core::System::GetInstance().Kernel();
337 event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "ICommonStateGetter:Event");
336} 338}
337 339
338void ICommonStateGetter::GetBootMode(Kernel::HLERequestContext& ctx) { 340void ICommonStateGetter::GetBootMode(Kernel::HLERequestContext& ctx) {
@@ -505,7 +507,8 @@ public:
505 }; 507 };
506 RegisterHandlers(functions); 508 RegisterHandlers(functions);
507 509
508 state_changed_event = Kernel::Event::Create(Kernel::ResetType::OneShot, 510 auto& kernel = Core::System::GetInstance().Kernel();
511 state_changed_event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot,
509 "ILibraryAppletAccessor:StateChangedEvent"); 512 "ILibraryAppletAccessor:StateChangedEvent");
510 } 513 }
511 514
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
index ce709ccf4..5f370bbdf 100644
--- a/src/core/hle/service/audio/audout_u.cpp
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -47,7 +47,9 @@ public:
47 RegisterHandlers(functions); 47 RegisterHandlers(functions);
48 48
49 // This is the event handle used to check if the audio buffer was released 49 // This is the event handle used to check if the audio buffer was released
50 buffer_event = Kernel::Event::Create(Kernel::ResetType::Sticky, "IAudioOutBufferReleased"); 50 auto& kernel = Core::System::GetInstance().Kernel();
51 buffer_event =
52 Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "IAudioOutBufferReleased");
51 53
52 stream = audio_core.OpenStream(audio_params.sample_rate, audio_params.channel_count, 54 stream = audio_core.OpenStream(audio_params.sample_rate, audio_params.channel_count,
53 "IAudioOut", [=]() { buffer_event->Signal(); }); 55 "IAudioOut", [=]() { buffer_event->Signal(); });
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp
index 9e75eb3a6..016db7c82 100644
--- a/src/core/hle/service/audio/audren_u.cpp
+++ b/src/core/hle/service/audio/audren_u.cpp
@@ -35,8 +35,9 @@ public:
35 }; 35 };
36 RegisterHandlers(functions); 36 RegisterHandlers(functions);
37 37
38 auto& kernel = Core::System::GetInstance().Kernel();
38 system_event = 39 system_event =
39 Kernel::Event::Create(Kernel::ResetType::Sticky, "IAudioRenderer:SystemEvent"); 40 Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "IAudioRenderer:SystemEvent");
40 renderer = std::make_unique<AudioCore::AudioRenderer>(audren_params, system_event); 41 renderer = std::make_unique<AudioCore::AudioRenderer>(audren_params, system_event);
41 } 42 }
42 43
@@ -121,8 +122,9 @@ public:
121 }; 122 };
122 RegisterHandlers(functions); 123 RegisterHandlers(functions);
123 124
124 buffer_event = 125 auto& kernel = Core::System::GetInstance().Kernel();
125 Kernel::Event::Create(Kernel::ResetType::OneShot, "IAudioOutBufferReleasedEvent"); 126 buffer_event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot,
127 "IAudioOutBufferReleasedEvent");
126 } 128 }
127 129
128private: 130private:
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index c0ba330dc..0d31abe8b 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -4,6 +4,7 @@
4 4
5#include <atomic> 5#include <atomic>
6#include "common/logging/log.h" 6#include "common/logging/log.h"
7#include "core/core.h"
7#include "core/core_timing.h" 8#include "core/core_timing.h"
8#include "core/core_timing_util.h" 9#include "core/core_timing_util.h"
9#include "core/frontend/emu_window.h" 10#include "core/frontend/emu_window.h"
@@ -35,9 +36,10 @@ public:
35 }; 36 };
36 RegisterHandlers(functions); 37 RegisterHandlers(functions);
37 38
39 auto& kernel = Core::System::GetInstance().Kernel();
38 shared_mem = Kernel::SharedMemory::Create( 40 shared_mem = Kernel::SharedMemory::Create(
39 nullptr, 0x40000, Kernel::MemoryPermission::ReadWrite, Kernel::MemoryPermission::Read, 41 kernel, nullptr, 0x40000, Kernel::MemoryPermission::ReadWrite,
40 0, Kernel::MemoryRegion::BASE, "HID:SharedMemory"); 42 Kernel::MemoryPermission::Read, 0, Kernel::MemoryRegion::BASE, "HID:SharedMemory");
41 43
42 // Register update callbacks 44 // Register update callbacks
43 pad_update_event = CoreTiming::RegisterEvent( 45 pad_update_event = CoreTiming::RegisterEvent(
@@ -402,7 +404,8 @@ public:
402 404
403 RegisterHandlers(functions); 405 RegisterHandlers(functions);
404 406
405 event = Kernel::Event::Create(Kernel::ResetType::OneShot, "hid:EventHandle"); 407 auto& kernel = Core::System::GetInstance().Kernel();
408 event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "hid:EventHandle");
406 } 409 }
407 ~Hid() = default; 410 ~Hid() = default;
408 411
diff --git a/src/core/hle/service/nfp/nfp.cpp b/src/core/hle/service/nfp/nfp.cpp
index 56b05e9e8..4f7543af5 100644
--- a/src/core/hle/service/nfp/nfp.cpp
+++ b/src/core/hle/service/nfp/nfp.cpp
@@ -46,11 +46,13 @@ public:
46 }; 46 };
47 RegisterHandlers(functions); 47 RegisterHandlers(functions);
48 48
49 activate_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "IUser:ActivateEvent"); 49 auto& kernel = Core::System::GetInstance().Kernel();
50 activate_event =
51 Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "IUser:ActivateEvent");
50 deactivate_event = 52 deactivate_event =
51 Kernel::Event::Create(Kernel::ResetType::OneShot, "IUser:DeactivateEvent"); 53 Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "IUser:DeactivateEvent");
52 availability_change_event = 54 availability_change_event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot,
53 Kernel::Event::Create(Kernel::ResetType::OneShot, "IUser:AvailabilityChangeEvent"); 55 "IUser:AvailabilityChangeEvent");
54 } 56 }
55 57
56private: 58private:
diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp
index cfe8d9178..ed4f5f539 100644
--- a/src/core/hle/service/nifm/nifm.cpp
+++ b/src/core/hle/service/nifm/nifm.cpp
@@ -2,6 +2,7 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/core.h"
5#include "core/hle/ipc_helpers.h" 6#include "core/hle/ipc_helpers.h"
6#include "core/hle/kernel/event.h" 7#include "core/hle/kernel/event.h"
7#include "core/hle/service/nifm/nifm.h" 8#include "core/hle/service/nifm/nifm.h"
@@ -54,8 +55,9 @@ public:
54 }; 55 };
55 RegisterHandlers(functions); 56 RegisterHandlers(functions);
56 57
57 event1 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event1"); 58 auto& kernel = Core::System::GetInstance().Kernel();
58 event2 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event2"); 59 event1 = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "IRequest:Event1");
60 event2 = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "IRequest:Event2");
59 } 61 }
60 62
61private: 63private:
diff --git a/src/core/hle/service/ns/pl_u.cpp b/src/core/hle/service/ns/pl_u.cpp
index 923a52cc5..51638793d 100644
--- a/src/core/hle/service/ns/pl_u.cpp
+++ b/src/core/hle/service/ns/pl_u.cpp
@@ -266,8 +266,9 @@ void PL_U::GetSharedMemoryNativeHandle(Kernel::HLERequestContext& ctx) {
266 SHARED_FONT_MEM_VADDR, shared_font, 0, SHARED_FONT_MEM_SIZE, Kernel::MemoryState::Shared); 266 SHARED_FONT_MEM_VADDR, shared_font, 0, SHARED_FONT_MEM_SIZE, Kernel::MemoryState::Shared);
267 267
268 // Create shared font memory object 268 // Create shared font memory object
269 auto& kernel = Core::System::GetInstance().Kernel();
269 shared_font_mem = Kernel::SharedMemory::Create( 270 shared_font_mem = Kernel::SharedMemory::Create(
270 Core::CurrentProcess(), SHARED_FONT_MEM_SIZE, Kernel::MemoryPermission::ReadWrite, 271 kernel, Core::CurrentProcess(), SHARED_FONT_MEM_SIZE, Kernel::MemoryPermission::ReadWrite,
271 Kernel::MemoryPermission::Read, SHARED_FONT_MEM_VADDR, Kernel::MemoryRegion::BASE, 272 Kernel::MemoryPermission::Read, SHARED_FONT_MEM_VADDR, Kernel::MemoryRegion::BASE,
272 "PL_U:shared_font_mem"); 273 "PL_U:shared_font_mem");
273 274
diff --git a/src/core/hle/service/nvdrv/interface.cpp b/src/core/hle/service/nvdrv/interface.cpp
index 1b497b814..634ab9196 100644
--- a/src/core/hle/service/nvdrv/interface.cpp
+++ b/src/core/hle/service/nvdrv/interface.cpp
@@ -4,6 +4,7 @@
4 4
5#include <cinttypes> 5#include <cinttypes>
6#include "common/logging/log.h" 6#include "common/logging/log.h"
7#include "core/core.h"
7#include "core/hle/ipc_helpers.h" 8#include "core/hle/ipc_helpers.h"
8#include "core/hle/kernel/event.h" 9#include "core/hle/kernel/event.h"
9#include "core/hle/service/nvdrv/interface.h" 10#include "core/hle/service/nvdrv/interface.h"
@@ -107,7 +108,8 @@ NVDRV::NVDRV(std::shared_ptr<Module> nvdrv, const char* name)
107 }; 108 };
108 RegisterHandlers(functions); 109 RegisterHandlers(functions);
109 110
110 query_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "NVDRV::query_event"); 111 auto& kernel = Core::System::GetInstance().Kernel();
112 query_event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "NVDRV::query_event");
111} 113}
112 114
113} // namespace Service::Nvidia 115} // namespace Service::Nvidia
diff --git a/src/core/hle/service/nvflinger/buffer_queue.cpp b/src/core/hle/service/nvflinger/buffer_queue.cpp
index ef5713a71..8d8962276 100644
--- a/src/core/hle/service/nvflinger/buffer_queue.cpp
+++ b/src/core/hle/service/nvflinger/buffer_queue.cpp
@@ -6,14 +6,16 @@
6 6
7#include "common/assert.h" 7#include "common/assert.h"
8#include "common/logging/log.h" 8#include "common/logging/log.h"
9#include "core/core.h"
9#include "core/hle/service/nvflinger/buffer_queue.h" 10#include "core/hle/service/nvflinger/buffer_queue.h"
10 11
11namespace Service { 12namespace Service {
12namespace NVFlinger { 13namespace NVFlinger {
13 14
14BufferQueue::BufferQueue(u32 id, u64 layer_id) : id(id), layer_id(layer_id) { 15BufferQueue::BufferQueue(u32 id, u64 layer_id) : id(id), layer_id(layer_id) {
16 auto& kernel = Core::System::GetInstance().Kernel();
15 buffer_wait_event = 17 buffer_wait_event =
16 Kernel::Event::Create(Kernel::ResetType::Sticky, "BufferQueue NativeHandle"); 18 Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "BufferQueue NativeHandle");
17} 19}
18 20
19void BufferQueue::SetPreallocatedBuffer(u32 slot, const IGBPBuffer& igbp_buffer) { 21void BufferQueue::SetPreallocatedBuffer(u32 slot, const IGBPBuffer& igbp_buffer) {
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp
index a26a5f812..3996c24fe 100644
--- a/src/core/hle/service/nvflinger/nvflinger.cpp
+++ b/src/core/hle/service/nvflinger/nvflinger.cpp
@@ -161,7 +161,8 @@ void NVFlinger::Compose() {
161Layer::Layer(u64 id, std::shared_ptr<BufferQueue> queue) : id(id), buffer_queue(std::move(queue)) {} 161Layer::Layer(u64 id, std::shared_ptr<BufferQueue> queue) : id(id), buffer_queue(std::move(queue)) {}
162 162
163Display::Display(u64 id, std::string name) : id(id), name(std::move(name)) { 163Display::Display(u64 id, std::string name) : id(id), name(std::move(name)) {
164 vsync_event = Kernel::Event::Create(Kernel::ResetType::Pulse, "Display VSync Event"); 164 auto& kernel = Core::System::GetInstance().Kernel();
165 vsync_event = Kernel::Event::Create(kernel, Kernel::ResetType::Pulse, "Display VSync Event");
165} 166}
166 167
167} // namespace Service::NVFlinger 168} // namespace Service::NVFlinger
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 11951adaf..8fb907072 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -107,19 +107,24 @@ void ServiceFrameworkBase::InstallAsService(SM::ServiceManager& service_manager)
107 107
108void ServiceFrameworkBase::InstallAsNamedPort() { 108void ServiceFrameworkBase::InstallAsNamedPort() {
109 ASSERT(port == nullptr); 109 ASSERT(port == nullptr);
110
111 auto& kernel = Core::System::GetInstance().Kernel();
110 SharedPtr<ServerPort> server_port; 112 SharedPtr<ServerPort> server_port;
111 SharedPtr<ClientPort> client_port; 113 SharedPtr<ClientPort> client_port;
112 std::tie(server_port, client_port) = ServerPort::CreatePortPair(max_sessions, service_name); 114 std::tie(server_port, client_port) =
115 ServerPort::CreatePortPair(kernel, max_sessions, service_name);
113 server_port->SetHleHandler(shared_from_this()); 116 server_port->SetHleHandler(shared_from_this());
114 AddNamedPort(service_name, std::move(client_port)); 117 AddNamedPort(service_name, std::move(client_port));
115} 118}
116 119
117Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() { 120Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() {
118 ASSERT(port == nullptr); 121 ASSERT(port == nullptr);
122
123 auto& kernel = Core::System::GetInstance().Kernel();
119 Kernel::SharedPtr<Kernel::ServerPort> server_port; 124 Kernel::SharedPtr<Kernel::ServerPort> server_port;
120 Kernel::SharedPtr<Kernel::ClientPort> client_port; 125 Kernel::SharedPtr<Kernel::ClientPort> client_port;
121 std::tie(server_port, client_port) = 126 std::tie(server_port, client_port) =
122 Kernel::ServerPort::CreatePortPair(max_sessions, service_name); 127 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name);
123 port = MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port)).Unwrap(); 128 port = MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port)).Unwrap();
124 port->SetHleHandler(shared_from_this()); 129 port->SetHleHandler(shared_from_this());
125 return client_port; 130 return client_port;
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index f22a2a79f..b240d7eed 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -4,6 +4,7 @@
4 4
5#include <tuple> 5#include <tuple>
6#include "common/assert.h" 6#include "common/assert.h"
7#include "core/core.h"
7#include "core/hle/ipc_helpers.h" 8#include "core/hle/ipc_helpers.h"
8#include "core/hle/kernel/client_port.h" 9#include "core/hle/kernel/client_port.h"
9#include "core/hle/kernel/client_session.h" 10#include "core/hle/kernel/client_session.h"
@@ -47,9 +48,11 @@ ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> ServiceManager::RegisterService
47 if (registered_services.find(name) != registered_services.end()) 48 if (registered_services.find(name) != registered_services.end())
48 return ERR_ALREADY_REGISTERED; 49 return ERR_ALREADY_REGISTERED;
49 50
51 auto& kernel = Core::System::GetInstance().Kernel();
50 Kernel::SharedPtr<Kernel::ServerPort> server_port; 52 Kernel::SharedPtr<Kernel::ServerPort> server_port;
51 Kernel::SharedPtr<Kernel::ClientPort> client_port; 53 Kernel::SharedPtr<Kernel::ClientPort> client_port;
52 std::tie(server_port, client_port) = Kernel::ServerPort::CreatePortPair(max_sessions, name); 54 std::tie(server_port, client_port) =
55 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, name);
53 56
54 registered_services.emplace(std::move(name), std::move(client_port)); 57 registered_services.emplace(std::move(name), std::move(client_port));
55 return MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port)); 58 return MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port));