forked from suyu/suyu
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
This commit is contained in:
parent
92344da20c
commit
6e37676482
6 changed files with 91 additions and 0 deletions
|
@ -222,6 +222,7 @@ void DebuggerBackend::Write(const Entry& entry) {
|
||||||
SUB(Service, NPNS) \
|
SUB(Service, NPNS) \
|
||||||
SUB(Service, NS) \
|
SUB(Service, NS) \
|
||||||
SUB(Service, NVDRV) \
|
SUB(Service, NVDRV) \
|
||||||
|
SUB(Service, OLSC) \
|
||||||
SUB(Service, PCIE) \
|
SUB(Service, PCIE) \
|
||||||
SUB(Service, PCTL) \
|
SUB(Service, PCTL) \
|
||||||
SUB(Service, PCV) \
|
SUB(Service, PCV) \
|
||||||
|
|
|
@ -95,6 +95,7 @@ enum class Class : ClassType {
|
||||||
Service_NPNS, ///< The NPNS service
|
Service_NPNS, ///< The NPNS service
|
||||||
Service_NS, ///< The NS services
|
Service_NS, ///< The NS services
|
||||||
Service_NVDRV, ///< The NVDRV (Nvidia driver) service
|
Service_NVDRV, ///< The NVDRV (Nvidia driver) service
|
||||||
|
Service_OLSC, ///< The OLSC service
|
||||||
Service_PCIE, ///< The PCIe service
|
Service_PCIE, ///< The PCIe service
|
||||||
Service_PCTL, ///< The PCTL (Parental control) service
|
Service_PCTL, ///< The PCTL (Parental control) service
|
||||||
Service_PCV, ///< The PCV service
|
Service_PCV, ///< The PCV service
|
||||||
|
|
|
@ -458,6 +458,8 @@ add_library(core STATIC
|
||||||
hle/service/nvflinger/buffer_queue.h
|
hle/service/nvflinger/buffer_queue.h
|
||||||
hle/service/nvflinger/nvflinger.cpp
|
hle/service/nvflinger/nvflinger.cpp
|
||||||
hle/service/nvflinger/nvflinger.h
|
hle/service/nvflinger/nvflinger.h
|
||||||
|
hle/service/olsc/olsc.cpp
|
||||||
|
hle/service/olsc/olsc.h
|
||||||
hle/service/pcie/pcie.cpp
|
hle/service/pcie/pcie.cpp
|
||||||
hle/service/pcie/pcie.h
|
hle/service/pcie/pcie.h
|
||||||
hle/service/pctl/module.cpp
|
hle/service/pctl/module.cpp
|
||||||
|
|
69
src/core/hle/service/olsc/olsc.cpp
Normal file
69
src/core/hle/service/olsc/olsc.cpp
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
// Copyright 2020 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/hle/ipc_helpers.h"
|
||||||
|
#include "core/hle/kernel/hle_ipc.h"
|
||||||
|
#include "core/hle/service/olsc/olsc.h"
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
#include "core/hle/service/sm/sm.h"
|
||||||
|
|
||||||
|
namespace Service::OLSC {
|
||||||
|
|
||||||
|
class OLSC final : public ServiceFramework<OLSC> {
|
||||||
|
public:
|
||||||
|
explicit OLSC() : ServiceFramework{"olsc:u"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, &OLSC::Initialize, "Initialize"},
|
||||||
|
{10, nullptr, "VerifySaveDataBackupLicenseAsync"},
|
||||||
|
{13, nullptr, "GetSaveDataBackupSetting"},
|
||||||
|
{14, &OLSC::SetSaveDataBackupSettingEnabled, "SetSaveDataBackupSettingEnabled"},
|
||||||
|
{15, nullptr, "SetCustomData"},
|
||||||
|
{16, nullptr, "DeleteSaveDataBackupSetting"},
|
||||||
|
{18, nullptr, "GetSaveDataBackupInfoCache"},
|
||||||
|
{19, nullptr, "UpdateSaveDataBackupInfoCacheAsync"},
|
||||||
|
{22, nullptr, "DeleteSaveDataBackupAsync"},
|
||||||
|
{25, nullptr, "ListDownloadableSaveDataBackupInfoAsync"},
|
||||||
|
{26, nullptr, "DownloadSaveDataBackupAsync"},
|
||||||
|
{9010, nullptr, "VerifySaveDataBackupLicenseAsyncForDebug"},
|
||||||
|
{9013, nullptr, "GetSaveDataBackupSettingForDebug"},
|
||||||
|
{9014, nullptr, "SetSaveDataBackupSettingEnabledForDebug"},
|
||||||
|
{9015, nullptr, "SetCustomDataForDebug"},
|
||||||
|
{9016, nullptr, "DeleteSaveDataBackupSettingForDebug"},
|
||||||
|
{9018, nullptr, "GetSaveDataBackupInfoCacheForDebug"},
|
||||||
|
{9019, nullptr, "UpdateSaveDataBackupInfoCacheAsyncForDebug"},
|
||||||
|
{9022, nullptr, "DeleteSaveDataBackupAsyncForDebug"},
|
||||||
|
{9025, nullptr, "ListDownloadableSaveDataBackupInfoAsyncForDebug"},
|
||||||
|
{9026, nullptr, "DownloadSaveDataBackupAsyncForDebug"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool initialized{};
|
||||||
|
|
||||||
|
void Initialize(Kernel::HLERequestContext& ctx) {
|
||||||
|
LOG_WARNING(Service_OLSC, "(STUBBED) called");
|
||||||
|
|
||||||
|
initialized = true;
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetSaveDataBackupSettingEnabled(Kernel::HLERequestContext& ctx) {
|
||||||
|
LOG_WARNING(Service_OLSC, "(STUBBED) called");
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void InstallInterfaces(SM::ServiceManager& service_manager) {
|
||||||
|
std::make_shared<OLSC>()->InstallAsService(service_manager);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Service::OLSC
|
16
src/core/hle/service/olsc/olsc.h
Normal file
16
src/core/hle/service/olsc/olsc.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright 2020 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Service::SM {
|
||||||
|
class ServiceManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::OLSC {
|
||||||
|
|
||||||
|
/// Registers all SSL services with the specified service manager.
|
||||||
|
void InstallInterfaces(SM::ServiceManager& service_manager);
|
||||||
|
|
||||||
|
} // namespace Service::OLSC
|
|
@ -51,6 +51,7 @@
|
||||||
#include "core/hle/service/ns/ns.h"
|
#include "core/hle/service/ns/ns.h"
|
||||||
#include "core/hle/service/nvdrv/nvdrv.h"
|
#include "core/hle/service/nvdrv/nvdrv.h"
|
||||||
#include "core/hle/service/nvflinger/nvflinger.h"
|
#include "core/hle/service/nvflinger/nvflinger.h"
|
||||||
|
#include "core/hle/service/olsc/olsc.h"
|
||||||
#include "core/hle/service/pcie/pcie.h"
|
#include "core/hle/service/pcie/pcie.h"
|
||||||
#include "core/hle/service/pctl/module.h"
|
#include "core/hle/service/pctl/module.h"
|
||||||
#include "core/hle/service/pcv/pcv.h"
|
#include "core/hle/service/pcv/pcv.h"
|
||||||
|
@ -231,6 +232,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system) {
|
||||||
NPNS::InstallInterfaces(*sm);
|
NPNS::InstallInterfaces(*sm);
|
||||||
NS::InstallInterfaces(*sm, system);
|
NS::InstallInterfaces(*sm, system);
|
||||||
Nvidia::InstallInterfaces(*sm, *nv_flinger, system);
|
Nvidia::InstallInterfaces(*sm, *nv_flinger, system);
|
||||||
|
OLSC::InstallInterfaces(*sm);
|
||||||
PCIe::InstallInterfaces(*sm);
|
PCIe::InstallInterfaces(*sm);
|
||||||
PCTL::InstallInterfaces(*sm);
|
PCTL::InstallInterfaces(*sm);
|
||||||
PCV::InstallInterfaces(*sm);
|
PCV::InstallInterfaces(*sm);
|
||||||
|
|
Loading…
Reference in a new issue