pm: Update to support 10.0.0

This commit is contained in:
Michael Scire 2020-04-14 02:54:55 -07:00
parent 73552c86c3
commit 200d2df785
3 changed files with 17 additions and 0 deletions

View file

@ -21,6 +21,7 @@ namespace ams::spl {
HardwareType GetHardwareType();
MemoryArrangement GetMemoryArrangement();
bool IsDisabledProgramVerification();
bool IsDevelopmentHardware();
bool IsDevelopmentFunctionEnabled();
bool IsMariko();

View file

@ -41,6 +41,12 @@ namespace ams::spl {
}
}
bool IsDisabledProgramVerification() {
u64 val = 0;
R_ABORT_UNLESS(splGetConfig(SplConfigItem_DisableProgramVerification, &val));
return val != 0;
}
bool IsDevelopmentHardware() {
bool is_dev_hardware;
R_ABORT_UNLESS(splIsDevelopment(&is_dev_hardware));

View file

@ -705,6 +705,16 @@ namespace ams::pm::impl {
Result NotifyBootFinished() {
static bool g_has_boot_finished = false;
if (!g_has_boot_finished) {
/* Set program verification disabled, if we should. */
/* NOTE: Nintendo does not check the result of this. */
if (spl::IsDisabledProgramVerification()) {
if (hos::GetVersion() >= hos::Version_10_0_0) {
ldr::pm::SetEnabledProgramVerification(false);
} else {
fsprSetEnabledProgramVerification(false);
}
}
boot2::LaunchPreSdCardBootProgramsAndBoot2();
g_has_boot_finished = true;
os::SignalSystemEvent(std::addressof(g_boot_finished_event));