aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/bpc/bpc.cpp
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-09-11 21:38:52 +0200
committercrueter <crueter@eden-emu.dev>2026-09-11 21:38:52 +0200
commit8a22f1845b8b7ec19fbb518b696513e36d42b317 (patch)
tree2ce54dbc857658d5172eacdc9a6f1291f3b62a22 /src/core/hle/service/bpc/bpc.cpp
parent301da63a15de8cfbe752ac44784db9b58cdd2d87 (diff)
[hle] Enforce max_sessions, add bpc:ams service (#4394)
As per switchbrew, as per atmosphere, and some poking around. bpc:ams stubbed for now. Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4394 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/core/hle/service/bpc/bpc.cpp')
-rw-r--r--src/core/hle/service/bpc/bpc.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/core/hle/service/bpc/bpc.cpp b/src/core/hle/service/bpc/bpc.cpp
index 6fd7001821..6f2e00b22b 100644
--- a/src/core/hle/service/bpc/bpc.cpp
+++ b/src/core/hle/service/bpc/bpc.cpp
@@ -101,14 +101,28 @@ public:
}
};
+class BPC_AMS final : public ServiceFramework<BPC_AMS> {
+public:
+ explicit BPC_AMS(Core::System& system_) : ServiceFramework{system_, "bpc:ams"} {
+ // clang-format off
+ static const FunctionInfo functions[] = {
+ {65000, nullptr, "RebootToFatalError"},
+ {65001, nullptr, "SetRebootPayload"},
+ };
+ // clang-format on
+ RegisterHandlers(functions);
+ }
+};
+
void LoopProcess(Core::System& system) {
auto server_manager = std::make_unique<ServerManager>(system);
- server_manager->RegisterNamedService("bpc", std::make_shared<BPC>(system));
- server_manager->RegisterNamedService("bpc:r", std::make_shared<BPC_R>(system));
- server_manager->RegisterNamedService("bpc:c", std::make_shared<BPC_C>(system));
- server_manager->RegisterNamedService("bpc:b", std::make_shared<BPC_B>(system));
- server_manager->RegisterNamedService("bpc:w", std::make_shared<BPC_W>(system));
+ server_manager->RegisterNamedService("bpc", std::make_shared<BPC>(system), 13);
+ server_manager->RegisterNamedService("bpc:r", std::make_shared<BPC_R>(system), 13);
+ server_manager->RegisterNamedService("bpc:c", std::make_shared<BPC_C>(system), 13);
+ server_manager->RegisterNamedService("bpc:b", std::make_shared<BPC_B>(system), 13);
+ server_manager->RegisterNamedService("bpc:w", std::make_shared<BPC_W>(system), 13);
+ server_manager->RegisterNamedService("bpc:ams", std::make_shared<BPC_AMS>(system), 4);
ServerManager::RunServer(std::move(server_manager));
}