mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-08 13:11:02 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eb070d817d | |||
| 2df82bd21b | |||
| a944f93f26 |
@@ -711,8 +711,6 @@ add_library(core STATIC
|
|||||||
hle/service/kernel_helpers.h
|
hle/service/kernel_helpers.h
|
||||||
hle/service/lbl/lbl.cpp
|
hle/service/lbl/lbl.cpp
|
||||||
hle/service/lbl/lbl.h
|
hle/service/lbl/lbl.h
|
||||||
hle/service/ldn/client_process_monitor.cpp
|
|
||||||
hle/service/ldn/client_process_monitor.h
|
|
||||||
hle/service/ldn/lan_discovery.cpp
|
hle/service/ldn/lan_discovery.cpp
|
||||||
hle/service/ldn/lan_discovery.h
|
hle/service/ldn/lan_discovery.h
|
||||||
hle/service/ldn/ldn.cpp
|
hle/service/ldn/ldn.cpp
|
||||||
@@ -832,8 +830,6 @@ add_library(core STATIC
|
|||||||
hle/service/ns/system_update_control.h
|
hle/service/ns/system_update_control.h
|
||||||
hle/service/ns/system_update_interface.cpp
|
hle/service/ns/system_update_interface.cpp
|
||||||
hle/service/ns/system_update_interface.h
|
hle/service/ns/system_update_interface.h
|
||||||
hle/service/ns/vulnerability_manager_interface.cpp
|
|
||||||
hle/service/ns/vulnerability_manager_interface.h
|
|
||||||
hle/service/nvdrv/core/container.cpp
|
hle/service/nvdrv/core/container.cpp
|
||||||
hle/service/nvdrv/core/container.h
|
hle/service/nvdrv/core/container.h
|
||||||
hle/service/nvdrv/core/heap_mapper.cpp
|
hle/service/nvdrv/core/heap_mapper.cpp
|
||||||
@@ -1067,8 +1063,6 @@ add_library(core STATIC
|
|||||||
hle/service/sockets/sockets.h
|
hle/service/sockets/sockets.h
|
||||||
hle/service/sockets/sockets_translate.cpp
|
hle/service/sockets/sockets_translate.cpp
|
||||||
hle/service/sockets/sockets_translate.h
|
hle/service/sockets/sockets_translate.h
|
||||||
hle/service/spl/csrng.cpp
|
|
||||||
hle/service/spl/csrng.h
|
|
||||||
hle/service/spl/spl.cpp
|
hle/service/spl/spl.cpp
|
||||||
hle/service/spl/spl.h
|
hle/service/spl/spl.h
|
||||||
hle/service/spl/spl_module.cpp
|
hle/service/spl/spl_module.cpp
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
@@ -121,6 +124,7 @@ size_t HierarchicalIntegrityVerificationStorage::Read(u8* buffer, size_t size,
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t HierarchicalIntegrityVerificationStorage::GetSize() const {
|
size_t HierarchicalIntegrityVerificationStorage::GetSize() const {
|
||||||
|
ASSERT(m_data_size >= 0);
|
||||||
return m_data_size;
|
return m_data_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
@@ -26,17 +29,14 @@ IStorage::~IStorage() = default;
|
|||||||
|
|
||||||
Result IStorage::Open(Out<SharedPointer<IStorageAccessor>> out_storage_accessor) {
|
Result IStorage::Open(Out<SharedPointer<IStorageAccessor>> out_storage_accessor) {
|
||||||
LOG_DEBUG(Service_AM, "called");
|
LOG_DEBUG(Service_AM, "called");
|
||||||
|
|
||||||
R_UNLESS(m_impl->GetHandle() == nullptr, AM::ResultInvalidStorageType);
|
R_UNLESS(m_impl->GetHandle() == nullptr, AM::ResultInvalidStorageType);
|
||||||
|
|
||||||
*out_storage_accessor = std::make_shared<IStorageAccessor>(system, m_impl);
|
*out_storage_accessor = std::make_shared<IStorageAccessor>(system, m_impl);
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
Result IStorage::OpenTransferStorage(
|
Result IStorage::OpenTransferStorage(Out<SharedPointer<ITransferStorageAccessor>> out_transfer_storage_accessor) {
|
||||||
Out<SharedPointer<ITransferStorageAccessor>> out_transfer_storage_accessor) {
|
LOG_DEBUG(Service_AM, "called");
|
||||||
R_UNLESS(m_impl->GetHandle() != nullptr, AM::ResultInvalidStorageType);
|
R_UNLESS(m_impl->GetHandle() != nullptr, AM::ResultInvalidStorageType);
|
||||||
|
|
||||||
*out_transfer_storage_accessor = std::make_shared<ITransferStorageAccessor>(system, m_impl);
|
*out_transfer_storage_accessor = std::make_shared<ITransferStorageAccessor>(system, m_impl);
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
#include "core/hle/service/cmif_serialization.h"
|
|
||||||
#include "core/hle/service/ldn/ldn_results.h"
|
|
||||||
#include "core/hle/service/ldn/client_process_monitor.h"
|
|
||||||
#include "core/hle/service/ipc_helpers.h"
|
|
||||||
|
|
||||||
namespace Service::LDN {
|
|
||||||
|
|
||||||
IClientProcessMonitor::IClientProcessMonitor(Core::System& system_)
|
|
||||||
: ServiceFramework{system_, "IClientProcessMonitor"} {
|
|
||||||
static const FunctionInfo functions[] = {
|
|
||||||
{0, D<&IClientProcessMonitor::RegisterClient>, "RegisterClient"},
|
|
||||||
};
|
|
||||||
RegisterHandlers(functions);
|
|
||||||
}
|
|
||||||
|
|
||||||
IClientProcessMonitor::~IClientProcessMonitor() = default;
|
|
||||||
|
|
||||||
Result IClientProcessMonitor::RegisterClient() {
|
|
||||||
LOG_WARNING(Service_LDN, "(STUBBED) called");
|
|
||||||
|
|
||||||
R_SUCCEED();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Service::LDN
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "core/hle/service/cmif_types.h"
|
|
||||||
#include "core/hle/service/service.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
class System;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Service::LDN {
|
|
||||||
|
|
||||||
class IClientProcessMonitor final
|
|
||||||
: public ServiceFramework<IClientProcessMonitor> {
|
|
||||||
public:
|
|
||||||
explicit IClientProcessMonitor(Core::System& system_);
|
|
||||||
~IClientProcessMonitor() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
Result RegisterClient();
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::LDN
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/hle/service/cmif_serialization.h"
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
#include "core/hle/service/ldn/ldn.h"
|
#include "core/hle/service/ldn/ldn.h"
|
||||||
#include "core/hle/service/ldn/client_process_monitor.h"
|
|
||||||
#include "core/hle/service/ldn/monitor_service.h"
|
#include "core/hle/service/ldn/monitor_service.h"
|
||||||
#include "core/hle/service/ldn/sf_monitor_service.h"
|
#include "core/hle/service/ldn/sf_monitor_service.h"
|
||||||
#include "core/hle/service/ldn/sf_service.h"
|
#include "core/hle/service/ldn/sf_service.h"
|
||||||
@@ -17,6 +16,26 @@
|
|||||||
|
|
||||||
namespace Service::LDN {
|
namespace Service::LDN {
|
||||||
|
|
||||||
|
class IClientProcessMonitor final
|
||||||
|
: public ServiceFramework<IClientProcessMonitor> {
|
||||||
|
public:
|
||||||
|
explicit IClientProcessMonitor(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "IClientProcessMonitor"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, D<&IClientProcessMonitor::RegisterClient>, "RegisterClient"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
~IClientProcessMonitor() override = default;
|
||||||
|
private:
|
||||||
|
Result RegisterClient(ClientProcessId pid) {
|
||||||
|
LOG_WARNING(Service_LDN, "(STUBBED) called");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class IMonitorServiceCreator final : public ServiceFramework<IMonitorServiceCreator> {
|
class IMonitorServiceCreator final : public ServiceFramework<IMonitorServiceCreator> {
|
||||||
public:
|
public:
|
||||||
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
|
explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {
|
||||||
@@ -25,7 +44,6 @@ public:
|
|||||||
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}
|
{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@
|
|||||||
#include "core/hle/service/ns/query_service.h"
|
#include "core/hle/service/ns/query_service.h"
|
||||||
#include "core/hle/service/ns/service_getter_interface.h"
|
#include "core/hle/service/ns/service_getter_interface.h"
|
||||||
#include "core/hle/service/ns/system_update_interface.h"
|
#include "core/hle/service/ns/system_update_interface.h"
|
||||||
#include "core/hle/service/ns/vulnerability_manager_interface.h"
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
|
#include "core/hle/service/cmif_serialization.h"
|
||||||
|
#include "core/hle/service/cmif_types.h"
|
||||||
#include "core/hle/service/server_manager.h"
|
#include "core/hle/service/server_manager.h"
|
||||||
|
|
||||||
namespace Service::NS {
|
namespace Service::NS {
|
||||||
@@ -39,6 +41,43 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class IVulnerabilityManagerInterface final
|
||||||
|
: public ServiceFramework<IVulnerabilityManagerInterface> {
|
||||||
|
public:
|
||||||
|
explicit IVulnerabilityManagerInterface(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "ns:vm"} {
|
||||||
|
// clang-format off
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
|
||||||
|
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
|
||||||
|
{1202, nullptr, "GetSafeSystemVersion"},
|
||||||
|
{3100, D<&IVulnerabilityManagerInterface::GetSafeSystemVersionCheckInfo>, "GetSafeSystemVersionCheckInfo"},
|
||||||
|
{3101, nullptr, "RequestUpdateSafeSystemVersionCheckInfo"},
|
||||||
|
{3102, D<&IVulnerabilityManagerInterface::ResetSafeSystemVersionCheckInfo>, "ResetSafeSystemVersionCheckInfo"},
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
~IVulnerabilityManagerInterface() override = default;
|
||||||
|
|
||||||
|
Result NeedsUpdateVulnerability(Out<bool> out_needs_update_vulnerability) {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED)");
|
||||||
|
*out_needs_update_vulnerability = false;
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result GetSafeSystemVersionCheckInfo(Out<std::array<u8, 0x20>> out_system_version_check_info) {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED)");
|
||||||
|
*out_system_version_check_info = {};
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
|
||||||
|
Result ResetSafeSystemVersionCheckInfo() {
|
||||||
|
LOG_WARNING(Service_NS, "(STUBBED)");
|
||||||
|
R_SUCCEED();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void LoopProcess(Core::System& system) {
|
void LoopProcess(Core::System& system) {
|
||||||
auto server_manager = std::make_unique<ServerManager>(system);
|
auto server_manager = std::make_unique<ServerManager>(system);
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#include "core/hle/service/cmif_serialization.h"
|
|
||||||
#include "core/hle/service/ns/vulnerability_manager_interface.h"
|
|
||||||
|
|
||||||
namespace Service::NS {
|
|
||||||
|
|
||||||
IVulnerabilityManagerInterface::IVulnerabilityManagerInterface(Core::System& system_)
|
|
||||||
: ServiceFramework{system_, "ns:vm"} {
|
|
||||||
// clang-format off
|
|
||||||
static const FunctionInfo functions[] = {
|
|
||||||
{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"},
|
|
||||||
{1201, nullptr, "UpdateSafeSystemVersionForDebug"},
|
|
||||||
{1202, nullptr, "GetSafeSystemVersion"},
|
|
||||||
};
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
RegisterHandlers(functions);
|
|
||||||
}
|
|
||||||
|
|
||||||
IVulnerabilityManagerInterface::~IVulnerabilityManagerInterface() = default;
|
|
||||||
|
|
||||||
Result IVulnerabilityManagerInterface::NeedsUpdateVulnerability(
|
|
||||||
Out<bool> out_needs_update_vulnerability) {
|
|
||||||
LOG_WARNING(Service_NS, "(STUBBED) called");
|
|
||||||
*out_needs_update_vulnerability = false;
|
|
||||||
R_SUCCEED();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Service::NS
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "core/hle/service/cmif_types.h"
|
|
||||||
#include "core/hle/service/service.h"
|
|
||||||
|
|
||||||
namespace Service::NS {
|
|
||||||
|
|
||||||
class IVulnerabilityManagerInterface final
|
|
||||||
: public ServiceFramework<IVulnerabilityManagerInterface> {
|
|
||||||
public:
|
|
||||||
explicit IVulnerabilityManagerInterface(Core::System& system_);
|
|
||||||
~IVulnerabilityManagerInterface() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
Result NeedsUpdateVulnerability(Out<bool> out_needs_update_vulnerability);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::NS
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#include "core/hle/service/spl/csrng.h"
|
|
||||||
|
|
||||||
namespace Service::SPL {
|
|
||||||
|
|
||||||
CSRNG::CSRNG(Core::System& system_, std::shared_ptr<Module> module_)
|
|
||||||
: Interface(system_, std::move(module_), "csrng") {
|
|
||||||
static const FunctionInfo functions[] = {
|
|
||||||
{0, &CSRNG::GenerateRandomBytes, "GenerateRandomBytes"},
|
|
||||||
};
|
|
||||||
RegisterHandlers(functions);
|
|
||||||
}
|
|
||||||
|
|
||||||
CSRNG::~CSRNG() = default;
|
|
||||||
|
|
||||||
} // namespace Service::SPL
|
|
||||||
@@ -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/spl/spl_module.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
class System;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Service::SPL {
|
|
||||||
|
|
||||||
class CSRNG final : public Module::Interface {
|
|
||||||
public:
|
|
||||||
explicit CSRNG(Core::System& system_, std::shared_ptr<Module> module_);
|
|
||||||
~CSRNG() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Service::SPL
|
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
#include "core/hle/api_version.h"
|
#include "core/hle/api_version.h"
|
||||||
#include "core/hle/service/ipc_helpers.h"
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
#include "core/hle/service/server_manager.h"
|
#include "core/hle/service/server_manager.h"
|
||||||
#include "core/hle/service/spl/csrng.h"
|
|
||||||
#include "core/hle/service/spl/spl.h"
|
#include "core/hle/service/spl/spl.h"
|
||||||
#include "core/hle/service/spl/spl_module.h"
|
#include "core/hle/service/spl/spl_module.h"
|
||||||
|
|
||||||
@@ -203,6 +202,18 @@ Result Module::Interface::GetConfigImpl(u64* out_config, ConfigItem config_item)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class CSRNG final : public Module::Interface {
|
||||||
|
public:
|
||||||
|
explicit CSRNG(Core::System& system_, std::shared_ptr<Module> module_)
|
||||||
|
: Interface(system_, std::move(module_), "csrng") {
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, &CSRNG::GenerateRandomBytes, "GenerateRandomBytes"},
|
||||||
|
};
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
~CSRNG() override = default;
|
||||||
|
};
|
||||||
|
|
||||||
void LoopProcess(Core::System& system) {
|
void LoopProcess(Core::System& system) {
|
||||||
auto server_manager = std::make_unique<ServerManager>(system);
|
auto server_manager = std::make_unique<ServerManager>(system);
|
||||||
auto module = std::make_shared<Module>();
|
auto module = std::make_shared<Module>();
|
||||||
|
|||||||
Reference in New Issue
Block a user