summaryrefslogtreecommitdiff
path: root/src/core/hle/service/services.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/services.cpp')
-rw-r--r--src/core/hle/service/services.cpp136
1 files changed, 136 insertions, 0 deletions
diff --git a/src/core/hle/service/services.cpp b/src/core/hle/service/services.cpp
new file mode 100644
index 000000000..d6c6eff50
--- /dev/null
+++ b/src/core/hle/service/services.cpp
@@ -0,0 +1,136 @@
1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include "core/hle/service/services.h"
5
6#include "core/hle/service/acc/acc.h"
7#include "core/hle/service/am/am.h"
8#include "core/hle/service/aoc/aoc_u.h"
9#include "core/hle/service/apm/apm.h"
10#include "core/hle/service/audio/audio.h"
11#include "core/hle/service/bcat/bcat.h"
12#include "core/hle/service/bpc/bpc.h"
13#include "core/hle/service/btdrv/btdrv.h"
14#include "core/hle/service/btm/btm.h"
15#include "core/hle/service/caps/caps.h"
16#include "core/hle/service/erpt/erpt.h"
17#include "core/hle/service/es/es.h"
18#include "core/hle/service/eupld/eupld.h"
19#include "core/hle/service/fatal/fatal.h"
20#include "core/hle/service/fgm/fgm.h"
21#include "core/hle/service/filesystem/filesystem.h"
22#include "core/hle/service/friend/friend.h"
23#include "core/hle/service/glue/glue.h"
24#include "core/hle/service/grc/grc.h"
25#include "core/hle/service/hid/hid.h"
26#include "core/hle/service/ipc_helpers.h"
27#include "core/hle/service/jit/jit.h"
28#include "core/hle/service/lbl/lbl.h"
29#include "core/hle/service/ldn/ldn.h"
30#include "core/hle/service/ldr/ldr.h"
31#include "core/hle/service/lm/lm.h"
32#include "core/hle/service/mig/mig.h"
33#include "core/hle/service/mii/mii.h"
34#include "core/hle/service/mm/mm_u.h"
35#include "core/hle/service/mnpp/mnpp_app.h"
36#include "core/hle/service/ncm/ncm.h"
37#include "core/hle/service/nfc/nfc.h"
38#include "core/hle/service/nfp/nfp.h"
39#include "core/hle/service/ngc/ngc.h"
40#include "core/hle/service/nifm/nifm.h"
41#include "core/hle/service/nim/nim.h"
42#include "core/hle/service/npns/npns.h"
43#include "core/hle/service/ns/ns.h"
44#include "core/hle/service/nvdrv/nvdrv.h"
45#include "core/hle/service/nvnflinger/nvnflinger.h"
46#include "core/hle/service/olsc/olsc.h"
47#include "core/hle/service/omm/omm.h"
48#include "core/hle/service/pcie/pcie.h"
49#include "core/hle/service/pctl/pctl_module.h"
50#include "core/hle/service/pcv/pcv.h"
51#include "core/hle/service/pm/pm.h"
52#include "core/hle/service/prepo/prepo.h"
53#include "core/hle/service/psc/psc.h"
54#include "core/hle/service/ptm/ptm.h"
55#include "core/hle/service/ro/ro.h"
56#include "core/hle/service/service.h"
57#include "core/hle/service/set/settings.h"
58#include "core/hle/service/sm/sm.h"
59#include "core/hle/service/sockets/sockets.h"
60#include "core/hle/service/spl/spl_module.h"
61#include "core/hle/service/ssl/ssl.h"
62#include "core/hle/service/usb/usb.h"
63#include "core/hle/service/vi/vi.h"
64
65namespace Service {
66
67Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system,
68 std::stop_token token) {
69 auto& kernel = system.Kernel();
70
71 system.GetFileSystemController().CreateFactories(*system.GetFilesystem(), false);
72
73 // clang-format off
74 kernel.RunOnHostCoreProcess("audio", [&] { Audio::LoopProcess(system); }).detach();
75 kernel.RunOnHostCoreProcess("FS", [&] { FileSystem::LoopProcess(system); }).detach();
76 kernel.RunOnHostCoreProcess("jit", [&] { JIT::LoopProcess(system); }).detach();
77 kernel.RunOnHostCoreProcess("ldn", [&] { LDN::LoopProcess(system); }).detach();
78 kernel.RunOnHostCoreProcess("Loader", [&] { LDR::LoopProcess(system); }).detach();
79 kernel.RunOnHostCoreProcess("nvservices", [&] { Nvidia::LoopProcess(system); }).detach();
80 kernel.RunOnHostCoreProcess("bsdsocket", [&] { Sockets::LoopProcess(system); }).detach();
81 kernel.RunOnHostCoreProcess("vi", [&, token] { VI::LoopProcess(system, token); }).detach();
82
83 kernel.RunOnGuestCoreProcess("sm", [&] { SM::LoopProcess(system); });
84 kernel.RunOnGuestCoreProcess("account", [&] { Account::LoopProcess(system); });
85 kernel.RunOnGuestCoreProcess("am", [&] { AM::LoopProcess(system); });
86 kernel.RunOnGuestCoreProcess("aoc", [&] { AOC::LoopProcess(system); });
87 kernel.RunOnGuestCoreProcess("apm", [&] { APM::LoopProcess(system); });
88 kernel.RunOnGuestCoreProcess("bcat", [&] { BCAT::LoopProcess(system); });
89 kernel.RunOnGuestCoreProcess("bpc", [&] { BPC::LoopProcess(system); });
90 kernel.RunOnGuestCoreProcess("btdrv", [&] { BtDrv::LoopProcess(system); });
91 kernel.RunOnGuestCoreProcess("btm", [&] { BTM::LoopProcess(system); });
92 kernel.RunOnGuestCoreProcess("capsrv", [&] { Capture::LoopProcess(system); });
93 kernel.RunOnGuestCoreProcess("erpt", [&] { ERPT::LoopProcess(system); });
94 kernel.RunOnGuestCoreProcess("es", [&] { ES::LoopProcess(system); });
95 kernel.RunOnGuestCoreProcess("eupld", [&] { EUPLD::LoopProcess(system); });
96 kernel.RunOnGuestCoreProcess("fatal", [&] { Fatal::LoopProcess(system); });
97 kernel.RunOnGuestCoreProcess("fgm", [&] { FGM::LoopProcess(system); });
98 kernel.RunOnGuestCoreProcess("friends", [&] { Friend::LoopProcess(system); });
99 kernel.RunOnGuestCoreProcess("settings", [&] { Set::LoopProcess(system); });
100 kernel.RunOnGuestCoreProcess("psc", [&] { PSC::LoopProcess(system); });
101 kernel.RunOnGuestCoreProcess("glue", [&] { Glue::LoopProcess(system); });
102 kernel.RunOnGuestCoreProcess("grc", [&] { GRC::LoopProcess(system); });
103 kernel.RunOnGuestCoreProcess("hid", [&] { HID::LoopProcess(system); });
104 kernel.RunOnGuestCoreProcess("lbl", [&] { LBL::LoopProcess(system); });
105 kernel.RunOnGuestCoreProcess("LogManager.Prod", [&] { LM::LoopProcess(system); });
106 kernel.RunOnGuestCoreProcess("mig", [&] { Migration::LoopProcess(system); });
107 kernel.RunOnGuestCoreProcess("mii", [&] { Mii::LoopProcess(system); });
108 kernel.RunOnGuestCoreProcess("mm", [&] { MM::LoopProcess(system); });
109 kernel.RunOnGuestCoreProcess("mnpp", [&] { MNPP::LoopProcess(system); });
110 kernel.RunOnGuestCoreProcess("nvnflinger", [&] { Nvnflinger::LoopProcess(system); });
111 kernel.RunOnGuestCoreProcess("NCM", [&] { NCM::LoopProcess(system); });
112 kernel.RunOnGuestCoreProcess("nfc", [&] { NFC::LoopProcess(system); });
113 kernel.RunOnGuestCoreProcess("nfp", [&] { NFP::LoopProcess(system); });
114 kernel.RunOnGuestCoreProcess("ngc", [&] { NGC::LoopProcess(system); });
115 kernel.RunOnGuestCoreProcess("nifm", [&] { NIFM::LoopProcess(system); });
116 kernel.RunOnGuestCoreProcess("nim", [&] { NIM::LoopProcess(system); });
117 kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
118 kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
119 kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
120 kernel.RunOnGuestCoreProcess("omm", [&] { OMM::LoopProcess(system); });
121 kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
122 kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
123 kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
124 kernel.RunOnGuestCoreProcess("prepo", [&] { PlayReport::LoopProcess(system); });
125 kernel.RunOnGuestCoreProcess("ProcessManager", [&] { PM::LoopProcess(system); });
126 kernel.RunOnGuestCoreProcess("ptm", [&] { PTM::LoopProcess(system); });
127 kernel.RunOnGuestCoreProcess("ro", [&] { RO::LoopProcess(system); });
128 kernel.RunOnGuestCoreProcess("spl", [&] { SPL::LoopProcess(system); });
129 kernel.RunOnGuestCoreProcess("ssl", [&] { SSL::LoopProcess(system); });
130 kernel.RunOnGuestCoreProcess("usb", [&] { USB::LoopProcess(system); });
131 // clang-format on
132}
133
134Services::~Services() = default;
135
136} // namespace Service