From 6ab82e8eeb3972745de76432c57dcaf29f3a45d3 Mon Sep 17 00:00:00 2001 From: Zephyron Date: Thu, 30 Jan 2025 22:10:08 +1000 Subject: service: Implement rebootless system update stubs and types Adds initial support for rebootless system update related functionality: - Add system archive title IDs for ApplicationBlackList, RebootlessSystemUpdateVersion, and ContentActionTable - Add NS service result codes for system update operations - Implement stubs for ISystemUpdateControl::SetupToReceiveSystemUpdate and RequestCheckLatestUpdateIncludesRebootlessUpdate - Add RebootlessSystemUpdateVersion settings type and implement GetRebootlessSystemUpdateVersion in SET service - Fix GetSettingsItemValueImpl template implementation This provides basic infrastructure for handling system updates, particularly the rebootless update feature, though actual update functionality remains stubbed. --- src/core/file_sys/system_archive/system_archive.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/core/file_sys') diff --git a/src/core/file_sys/system_archive/system_archive.cpp b/src/core/file_sys/system_archive/system_archive.cpp index b53eef877..4a189923d 100644 --- a/src/core/file_sys/system_archive/system_archive.cpp +++ b/src/core/file_sys/system_archive/system_archive.cpp @@ -12,6 +12,12 @@ namespace FileSys::SystemArchive { +namespace { + constexpr u64 ApplicationBlackListTID = 0x0100000000000825; + constexpr u64 RebootlessSystemUpdateVersionTID = 0x0100000000000826; + constexpr u64 ContentActionTableTID = 0x0100000000000827; +} // namespace + constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800; constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x28; @@ -61,9 +67,9 @@ constexpr std::array SYSTEM_ARCHI {0x0100000000000822, "ControllerFirmware", nullptr}, {0x0100000000000823, "NgWord2", &NgWord2}, {0x0100000000000824, "PlatformConfigIcosaMariko", nullptr}, - {0x0100000000000825, "ApplicationBlackList", nullptr}, - {0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr}, - {0x0100000000000827, "ContentActionTable", nullptr}, + {ApplicationBlackListTID, "ApplicationBlackList", nullptr}, + {RebootlessSystemUpdateVersionTID, "RebootlessSystemUpdateVersion", nullptr}, + {ContentActionTableTID, "ContentActionTable", nullptr}, }}; VirtualFile SynthesizeSystemArchive(const u64 title_id) { -- cgit v1.2.3