mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-12-18 19:41:01 +01:00
am: move out omm interfaces to new module
This commit is contained in:
parent
a65fb85b6d
commit
bca698a17a
14 changed files with 124 additions and 87 deletions
|
@ -425,14 +425,10 @@ add_library(core STATIC
|
||||||
hle/service/am/applet_message_queue.h
|
hle/service/am/applet_message_queue.h
|
||||||
hle/service/am/hid_registration.cpp
|
hle/service/am/hid_registration.cpp
|
||||||
hle/service/am/hid_registration.h
|
hle/service/am/hid_registration.h
|
||||||
hle/service/am/idle.cpp
|
|
||||||
hle/service/am/idle.h
|
|
||||||
hle/service/am/library_applet_storage.cpp
|
hle/service/am/library_applet_storage.cpp
|
||||||
hle/service/am/library_applet_storage.h
|
hle/service/am/library_applet_storage.h
|
||||||
hle/service/am/managed_layer_holder.cpp
|
hle/service/am/managed_layer_holder.cpp
|
||||||
hle/service/am/managed_layer_holder.h
|
hle/service/am/managed_layer_holder.h
|
||||||
hle/service/am/omm.cpp
|
|
||||||
hle/service/am/omm.h
|
|
||||||
hle/service/am/process.cpp
|
hle/service/am/process.cpp
|
||||||
hle/service/am/process.h
|
hle/service/am/process.h
|
||||||
hle/service/am/service/all_system_applet_proxies_service.cpp
|
hle/service/am/service/all_system_applet_proxies_service.cpp
|
||||||
|
@ -487,8 +483,6 @@ add_library(core STATIC
|
||||||
hle/service/am/service/window_controller.h
|
hle/service/am/service/window_controller.h
|
||||||
hle/service/am/system_buffer_manager.cpp
|
hle/service/am/system_buffer_manager.cpp
|
||||||
hle/service/am/system_buffer_manager.h
|
hle/service/am/system_buffer_manager.h
|
||||||
hle/service/am/spsm.cpp
|
|
||||||
hle/service/am/spsm.h
|
|
||||||
hle/service/aoc/aoc_u.cpp
|
hle/service/aoc/aoc_u.cpp
|
||||||
hle/service/aoc/aoc_u.h
|
hle/service/aoc/aoc_u.h
|
||||||
hle/service/apm/apm.cpp
|
hle/service/apm/apm.cpp
|
||||||
|
@ -815,6 +809,14 @@ add_library(core STATIC
|
||||||
hle/service/nvnflinger/window.h
|
hle/service/nvnflinger/window.h
|
||||||
hle/service/olsc/olsc.cpp
|
hle/service/olsc/olsc.cpp
|
||||||
hle/service/olsc/olsc.h
|
hle/service/olsc/olsc.h
|
||||||
|
hle/service/omm/omm.cpp
|
||||||
|
hle/service/omm/omm.h
|
||||||
|
hle/service/omm/operation_mode_manager.cpp
|
||||||
|
hle/service/omm/operation_mode_manager.h
|
||||||
|
hle/service/omm/policy_manager_system.cpp
|
||||||
|
hle/service/omm/policy_manager_system.h
|
||||||
|
hle/service/omm/power_state_interface.cpp
|
||||||
|
hle/service/omm/power_state_interface.h
|
||||||
hle/service/os/event.cpp
|
hle/service/os/event.cpp
|
||||||
hle/service/os/event.h
|
hle/service/os/event.h
|
||||||
hle/service/os/multi_wait_holder.cpp
|
hle/service/os/multi_wait_holder.cpp
|
||||||
|
|
|
@ -2,11 +2,8 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "core/hle/service/am/am.h"
|
#include "core/hle/service/am/am.h"
|
||||||
#include "core/hle/service/am/idle.h"
|
|
||||||
#include "core/hle/service/am/omm.h"
|
|
||||||
#include "core/hle/service/am/service/all_system_applet_proxies_service.h"
|
#include "core/hle/service/am/service/all_system_applet_proxies_service.h"
|
||||||
#include "core/hle/service/am/service/application_proxy_service.h"
|
#include "core/hle/service/am/service/application_proxy_service.h"
|
||||||
#include "core/hle/service/am/spsm.h"
|
|
||||||
#include "core/hle/service/server_manager.h"
|
#include "core/hle/service/server_manager.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::AM {
|
||||||
|
@ -18,9 +15,6 @@ void LoopProcess(Nvnflinger::Nvnflinger& nvnflinger, Core::System& system) {
|
||||||
"appletAE", std::make_shared<IAllSystemAppletProxiesService>(system, nvnflinger));
|
"appletAE", std::make_shared<IAllSystemAppletProxiesService>(system, nvnflinger));
|
||||||
server_manager->RegisterNamedService(
|
server_manager->RegisterNamedService(
|
||||||
"appletOE", std::make_shared<IApplicationProxyService>(system, nvnflinger));
|
"appletOE", std::make_shared<IApplicationProxyService>(system, nvnflinger));
|
||||||
server_manager->RegisterNamedService("idle:sys", std::make_shared<IdleSys>(system));
|
|
||||||
server_manager->RegisterNamedService("omm", std::make_shared<OMM>(system));
|
|
||||||
server_manager->RegisterNamedService("spsm", std::make_shared<SPSM>(system));
|
|
||||||
ServerManager::RunServer(std::move(server_manager));
|
ServerManager::RunServer(std::move(server_manager));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "core/hle/service/service.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
class System;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Service::AM {
|
|
||||||
|
|
||||||
class IdleSys final : public ServiceFramework<IdleSys> {
|
|
||||||
public:
|
|
||||||
explicit IdleSys(Core::System& system_);
|
|
||||||
~IdleSys() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::AM
|
|
|
@ -1,20 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "core/hle/service/service.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
class System;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Service::AM {
|
|
||||||
|
|
||||||
class OMM final : public ServiceFramework<OMM> {
|
|
||||||
public:
|
|
||||||
explicit OMM(Core::System& system_);
|
|
||||||
~OMM() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::AM
|
|
|
@ -1,20 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "core/hle/service/service.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
class System;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Service::AM {
|
|
||||||
|
|
||||||
class SPSM final : public ServiceFramework<SPSM> {
|
|
||||||
public:
|
|
||||||
explicit SPSM(Core::System& system_);
|
|
||||||
~SPSM() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::AM
|
|
22
src/core/hle/service/omm/omm.cpp
Normal file
22
src/core/hle/service/omm/omm.cpp
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "core/hle/service/omm/omm.h"
|
||||||
|
#include "core/hle/service/omm/operation_mode_manager.h"
|
||||||
|
#include "core/hle/service/omm/policy_manager_system.h"
|
||||||
|
#include "core/hle/service/omm/power_state_interface.h"
|
||||||
|
#include "core/hle/service/server_manager.h"
|
||||||
|
|
||||||
|
namespace Service::OMM {
|
||||||
|
|
||||||
|
void LoopProcess(Core::System& system) {
|
||||||
|
auto server_manager = std::make_unique<ServerManager>(system);
|
||||||
|
|
||||||
|
server_manager->RegisterNamedService("idle:sys",
|
||||||
|
std::make_shared<IPolicyManagerSystem>(system));
|
||||||
|
server_manager->RegisterNamedService("omm", std::make_shared<IOperationModeManager>(system));
|
||||||
|
server_manager->RegisterNamedService("spsm", std::make_shared<IPowerStateInterface>(system));
|
||||||
|
ServerManager::RunServer(std::move(server_manager));
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::OMM
|
14
src/core/hle/service/omm/omm.h
Normal file
14
src/core/hle/service/omm/omm.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
class System;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::OMM {
|
||||||
|
|
||||||
|
void LoopProcess(Core::System& system);
|
||||||
|
|
||||||
|
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "core/hle/service/am/omm.h"
|
#include "core/hle/service/omm/operation_mode_manager.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::OMM {
|
||||||
|
|
||||||
OMM::OMM(Core::System& system_) : ServiceFramework{system_, "omm"} {
|
IOperationModeManager::IOperationModeManager(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "omm"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "GetOperationMode"},
|
{0, nullptr, "GetOperationMode"},
|
||||||
|
@ -43,6 +44,6 @@ OMM::OMM(Core::System& system_) : ServiceFramework{system_, "omm"} {
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
OMM::~OMM() = default;
|
IOperationModeManager::~IOperationModeManager() = default;
|
||||||
|
|
||||||
} // namespace Service::AM
|
} // namespace Service::OMM
|
20
src/core/hle/service/omm/operation_mode_manager.h
Normal file
20
src/core/hle/service/omm/operation_mode_manager.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
class System;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::OMM {
|
||||||
|
|
||||||
|
class IOperationModeManager final : public ServiceFramework<IOperationModeManager> {
|
||||||
|
public:
|
||||||
|
explicit IOperationModeManager(Core::System& system_);
|
||||||
|
~IOperationModeManager() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "core/hle/service/am/idle.h"
|
#include "core/hle/service/omm/policy_manager_system.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::OMM {
|
||||||
|
|
||||||
IdleSys::IdleSys(Core::System& system_) : ServiceFramework{system_, "idle:sys"} {
|
IPolicyManagerSystem::IPolicyManagerSystem(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "idle:sys"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "GetAutoPowerDownEvent"},
|
{0, nullptr, "GetAutoPowerDownEvent"},
|
||||||
|
@ -20,6 +21,6 @@ IdleSys::IdleSys(Core::System& system_) : ServiceFramework{system_, "idle:sys"}
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
IdleSys::~IdleSys() = default;
|
IPolicyManagerSystem::~IPolicyManagerSystem() = default;
|
||||||
|
|
||||||
} // namespace Service::AM
|
} // namespace Service::OMM
|
20
src/core/hle/service/omm/policy_manager_system.h
Normal file
20
src/core/hle/service/omm/policy_manager_system.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
class System;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::OMM {
|
||||||
|
|
||||||
|
class IPolicyManagerSystem final : public ServiceFramework<IPolicyManagerSystem> {
|
||||||
|
public:
|
||||||
|
explicit IPolicyManagerSystem(Core::System& system_);
|
||||||
|
~IPolicyManagerSystem() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "core/hle/service/am/spsm.h"
|
#include "core/hle/service/omm/power_state_interface.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::OMM {
|
||||||
|
|
||||||
SPSM::SPSM(Core::System& system_) : ServiceFramework{system_, "spsm"} {
|
IPowerStateInterface::IPowerStateInterface(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "spsm"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, nullptr, "GetState"},
|
{0, nullptr, "GetState"},
|
||||||
|
@ -26,6 +27,6 @@ SPSM::SPSM(Core::System& system_) : ServiceFramework{system_, "spsm"} {
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
SPSM::~SPSM() = default;
|
IPowerStateInterface::~IPowerStateInterface() = default;
|
||||||
|
|
||||||
} // namespace Service::AM
|
} // namespace Service::OMM
|
20
src/core/hle/service/omm/power_state_interface.h
Normal file
20
src/core/hle/service/omm/power_state_interface.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
class System;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::OMM {
|
||||||
|
|
||||||
|
class IPowerStateInterface final : public ServiceFramework<IPowerStateInterface> {
|
||||||
|
public:
|
||||||
|
explicit IPowerStateInterface(Core::System& system_);
|
||||||
|
~IPowerStateInterface() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Service::OMM
|
|
@ -52,6 +52,7 @@
|
||||||
#include "core/hle/service/nvnflinger/hos_binder_driver_server.h"
|
#include "core/hle/service/nvnflinger/hos_binder_driver_server.h"
|
||||||
#include "core/hle/service/nvnflinger/nvnflinger.h"
|
#include "core/hle/service/nvnflinger/nvnflinger.h"
|
||||||
#include "core/hle/service/olsc/olsc.h"
|
#include "core/hle/service/olsc/olsc.h"
|
||||||
|
#include "core/hle/service/omm/omm.h"
|
||||||
#include "core/hle/service/pcie/pcie.h"
|
#include "core/hle/service/pcie/pcie.h"
|
||||||
#include "core/hle/service/pctl/pctl_module.h"
|
#include "core/hle/service/pctl/pctl_module.h"
|
||||||
#include "core/hle/service/pcv/pcv.h"
|
#include "core/hle/service/pcv/pcv.h"
|
||||||
|
@ -266,6 +267,7 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system
|
||||||
kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("omm", [&] { OMM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
|
||||||
|
|
Loading…
Reference in a new issue