ams-1.0.0: meso no longer optional, remove conditional logic

This commit is contained in:
Michael Scire 2021-09-05 10:08:30 -07:00 committed by SciresM
parent 320f0bbcfd
commit da208f8001
10 changed files with 19 additions and 53 deletions

View file

@ -74,9 +74,6 @@ namespace ams {
ams_ctx.pc = ctx->pc.x;
ams_ctx.pstate = ctx->pstate;
ams_ctx.afsr0 = static_cast<u32>(::ams::exosphere::GetVersion(ATMOSPHERE_RELEASE_VERSION));
if (svc::IsKernelMesosphere()) {
ams_ctx.afsr0 |= (static_cast<u32>('M') << (BITSIZEOF(u32) - BITSIZEOF(u8)));
}
ams_ctx.afsr1 = static_cast<u32>(hos::GetVersion());
ams_ctx.far = ctx->far.x;
ams_ctx.report_identifier = armGetSystemTick();

View file

@ -462,7 +462,7 @@ namespace ams::boot2 {
DetectAndDeclareFutureMitms();
/* Device whether to launch tma or htc. */
if (svc::IsKernelMesosphere() && IsHtcEnabled()) {
if (IsHtcEnabled()) {
LaunchProgram(nullptr, ncm::ProgramLocation::Make(ncm::SystemProgramId::Htc, ncm::StorageId::None), 0);
LaunchProgram(nullptr, ncm::ProgramLocation::Make(ncm::SystemProgramId::Cs, ncm::StorageId::None), 0);
} else {

View file

@ -219,10 +219,8 @@ namespace ams::erpt::srv {
}
void SubmitResourceLimitContexts() {
if (hos::GetVersion() >= hos::Version_11_0_0 || svc::IsKernelMesosphere()) {
SubmitResourceLimitLimitContext();
SubmitResourceLimitPeakContext();
}
SubmitResourceLimitLimitContext();
SubmitResourceLimitPeakContext();
}
Result ValidateCreateReportContext(const ContextEntry *ctx) {

View file

@ -40,6 +40,9 @@ namespace ams::hos {
/* Initialize hos::Version API. */
hos::SetVersionForLibnxInternal();
/* Check that we're running under mesosphere. */
AMS_ABORT_UNLESS(svc::IsKernelMesosphere());
}
void InitializeForStratosphereDebug(hos::Version debug_version) {
@ -48,6 +51,9 @@ namespace ams::hos {
/* Initialize hos::Version API. */
hos::SetVersionForLibnxInternalDebug(debug_version);
/* Check that we're running under mesosphere. */
AMS_ABORT_UNLESS(svc::IsKernelMesosphere());
}
}

View file

@ -56,27 +56,11 @@ namespace ams::os::impl {
}
static u64 GetAslrSpaceBeginAddress() {
if (hos::GetVersion() >= hos::Version_2_0_0 || svc::IsKernelMesosphere()) {
return GetAslrInfo(svc::InfoType_AslrRegionAddress);
} else {
if (GetHeapSpaceBeginAddress() < AslrBase64BitDeprecated || GetAliasSpaceBeginAddress() < AslrBase64BitDeprecated) {
return AslrBase32Bit;
} else {
return AslrBase64BitDeprecated;
}
}
return GetAslrInfo(svc::InfoType_AslrRegionAddress);
}
static u64 GetAslrSpaceEndAddress() {
if (hos::GetVersion() >= hos::Version_2_0_0 || svc::IsKernelMesosphere()) {
return GetAslrInfo(svc::InfoType_AslrRegionAddress) + GetAslrInfo(svc::InfoType_AslrRegionSize);
} else {
if (GetHeapSpaceBeginAddress() < AslrBase64BitDeprecated || GetAliasSpaceBeginAddress() < AslrBase64BitDeprecated) {
return AslrBase32Bit + AslrSize32Bit;
} else {
return AslrBase64BitDeprecated + AslrSize64BitDeprecated;
}
}
return GetAslrInfo(svc::InfoType_AslrRegionAddress) + GetAslrInfo(svc::InfoType_AslrRegionSize);
}
};