erpt: add automatic report cleanup mechanism on boot (closes #1795)

This commit is contained in:
Michael Scire
2022-03-17 00:31:30 -07:00
parent 9545cbb4cb
commit 9a38be201a
5 changed files with 43 additions and 0 deletions

View File

@@ -325,6 +325,10 @@ namespace ams::settings::fwdbg {
/* Note that this setting does nothing when log manager is not enabled/sd card logging is not enabled. */
R_ABORT_UNLESS(ParseSettingsItemValue("lm", "sd_card_log_output_directory", "str!atmosphere/binlogs"));
/* Control whether erpt reports should always be preserved, instead of automatically cleaning periodically. */
/* 0 = Disabled, 1 = Enabled */
R_ABORT_UNLESS(ParseSettingsItemValue("erpt", "disable_automatic_report_cleanup", "u8!0x0"));
/* Atmosphere custom settings. */
/* Reboot from fatal automatically after some number of milliseconds. */

View File

@@ -84,6 +84,16 @@ namespace ams {
/* Atmosphere always wants to redirect new reports to the SD card, to prevent them from being logged. */
erpt::srv::SetRedirectNewReportsToSdCard(true);
/* Decide whether or not to clean up reports periodically. */
{
u8 disable_report_cleanup = 0;
if (settings::fwdbg::GetSettingsItemValue(std::addressof(disable_report_cleanup), sizeof(disable_report_cleanup), "erpt", "disable_automatic_report_cleanup") == sizeof(disable_report_cleanup)) {
erpt::srv::SetEnabledAutomaticReportCleanup(disable_report_cleanup == 0);
} else {
erpt::srv::SetEnabledAutomaticReportCleanup(true);
}
}
/* Configure the OS version. */
{
settings::system::FirmwareVersion firmware_version = {};