boot2: update for 16.0.0

This commit is contained in:
Michael Scire 2023-02-21 16:06:21 -07:00
parent 5b3420e9d6
commit 528191b50e
15 changed files with 68 additions and 11 deletions

View file

@ -74,6 +74,7 @@ namespace ams::boot2 {
ncm::SystemProgramId::Profiler, /* profiler */
ncm::SystemProgramId::Sdb, /* sdb */
ncm::SystemProgramId::Olsc, /* olsc */
ncm::SystemProgramId::Ngc, /* ngc */
ncm::SystemProgramId::Ngct, /* ngct */
};
constexpr size_t NumAdditionalLaunchPrograms = util::size(AdditionalLaunchPrograms);
@ -115,6 +116,7 @@ namespace ams::boot2 {
ncm::SystemProgramId::Profiler, /* profiler */
ncm::SystemProgramId::Sdb, /* sdb */
ncm::SystemProgramId::Olsc, /* olsc */
ncm::SystemProgramId::Ngc, /* ngc */
ncm::SystemProgramId::Ngct, /* ngct */
};
constexpr size_t NumAdditionalMaintenanceLaunchPrograms = util::size(AdditionalMaintenanceLaunchPrograms);
@ -399,6 +401,9 @@ namespace ams::boot2 {
LaunchProgram(nullptr, ncm::ProgramLocation::Make(ncm::SystemProgramId::Usb, ncm::StorageId::BuiltInSystem), 0);
}
/* Activate the system fs content storage. */
R_ABORT_UNLESS(ncm::ActivateFsContentStorage(fs::ContentStorageId::System));
/* Find out whether we are maintenance mode. */
const bool maintenance = IsMaintenanceMode();
if (maintenance) {

View file

@ -118,6 +118,7 @@ namespace ams::fs::impl {
ADD_ENUM_CASE(User);
ADD_ENUM_CASE(System);
ADD_ENUM_CASE(SdCard);
ADD_ENUM_CASE(System0);
default: return ToValueString(static_cast<int>(id));
}
}
@ -171,6 +172,8 @@ namespace ams::fs::impl {
ADD_ENUM_CASE(System);
ADD_ENUM_CASE(SystemProperEncryption);
ADD_ENUM_CASE(SystemProperPartition);
ADD_ENUM_CASE(DeviceTreeBlob);
ADD_ENUM_CASE(System0);
default: return ToValueString(static_cast<int>(id));
}
}

View file

@ -21,7 +21,7 @@ namespace ams::fs::impl {
#define ADD_ENUM_CASE(v) case v: return #v
template<> const char *IdString::ToString<pkg1::KeyGeneration>(pkg1::KeyGeneration id) {
static_assert(pkg1::KeyGeneration_Current == pkg1::KeyGeneration_15_0_0);
static_assert(pkg1::KeyGeneration_Current == pkg1::KeyGeneration_16_0_0);
switch (id) {
using enum pkg1::KeyGeneration;
case KeyGeneration_1_0_0: return "1.0.0-2.3.0";
@ -38,7 +38,8 @@ namespace ams::fs::impl {
case KeyGeneration_12_1_0: return "12.1.0";
case KeyGeneration_13_0_0: return "13.0.0-13.2.1";
case KeyGeneration_14_0_0: return "14.0.0-14.1.2";
case KeyGeneration_15_0_0: return "15.0.0-";
case KeyGeneration_15_0_0: return "15.0.0-15.0.1";
case KeyGeneration_16_0_0: return "16.0.0-";
default: return "Unknown";
}
}

View file

@ -114,6 +114,10 @@ namespace ams::ncm {
R_RETURN(g_content_manager->InvalidateRightsIdCache());
}
Result ActivateFsContentStorage(fs::ContentStorageId fs_content_storage_id) {
R_RETURN(g_content_manager->ActivateFsContentStorage(fs_content_storage_id));
}
/* Deprecated API. */
Result CloseContentStorageForcibly(StorageId storage_id) {
AMS_ABORT_UNLESS(hos::GetVersion() == hos::Version_1_0_0);

View file

@ -675,6 +675,12 @@ namespace ams::ncm {
R_SUCCEED();
}
Result ContentManagerImpl::ActivateFsContentStorage(fs::ContentStorageId fs_content_storage_id) {
/* TODO */
AMS_UNUSED(fs_content_storage_id);
R_SUCCEED();
}
Result ContentManagerImpl::GetMemoryReport(sf::Out<MemoryReport> out) {
/* Populate content meta resource states. */
MemoryReport report = {

View file

@ -99,6 +99,10 @@ namespace ams::ncm {
AMS_UNUSED(out);
AMS_ABORT();
}
Result ActivateFsContentStorage(fs::ContentStorageId fs_content_storage_id) {
R_RETURN(::ncmActivateFsContentStorage(static_cast<::FsContentStorageId>(util::ToUnderlying(fs_content_storage_id))));
}
};
static_assert(ncm::IsIContentManager<RemoteContentManagerImpl>);
#endif