Implement blank prodinfo creation.

This is a complete implementation of what PR #532 seeks to do
(thanks @ThatNerdyPikachu). However, it currently blackscreens.

This is because we can't actually mitm settings, because settings
must be able to complete its initialization before the sd card
can be mounted. Thus we end up with a circular dependency and
the console blackscreens. This problem may yet be solvable, but
it's unclear immediately how this dependency might be solved. In any
event, this serves as a reference to use in the event that a solution
arises.
This commit is contained in:
Michael Scire
2019-05-10 05:27:30 -07:00
parent bb6cc6532b
commit 3bba035b84
4 changed files with 211 additions and 71 deletions

View File

@@ -61,6 +61,8 @@ class Utils {
static bool HasSdRomfsContent(u64 title_id);
static Result OpenBlankProdInfoFile(FsFile *out);
/* Delayed Initialization + MitM detection. */
static void InitializeThreadFunc(void *args);
@@ -87,9 +89,15 @@ class Utils {
static Result GetSettingsItemValue(const char *name, const char *key, void *out, size_t max_size, u64 *out_size);
static Result GetSettingsItemBooleanValue(const char *name, const char *key, bool *out);
/* CRC util. */
static u16 GetCrc16(const void *data, size_t size);
/* Error occurred. */
static void RebootToFatalError(AtmosphereFatalErrorContext *ctx);
private:
static void RefreshConfiguration();
static void CreateBlankProdInfo();
static bool IsCal0Valid(const u8 *cal0);
};