fusee/exo: add emunand configitem support

This commit is contained in:
Michael Scire 2019-05-27 12:07:51 -07:00
parent 4dac80df75
commit 79d96bbdfd
6 changed files with 32 additions and 9 deletions

View file

@ -17,6 +17,7 @@
#ifndef FUSEE_EXOSPHERE_CONFIG_H
#define FUSEE_EXOSPHERE_CONFIG_H
#include <stdint.h>
#include <atmosphere.h>
/* This serves to set configuration for *exosphere itself*, separate from the SecMon Exosphere mimics. */
@ -31,12 +32,15 @@
#define EXOSPHERE_FLAGS_DEFAULT (EXOSPHERE_FLAG_IS_DEBUGMODE_PRIV)
typedef struct {
unsigned int magic;
unsigned int target_firmware;
unsigned int flags;
unsigned int reserved;
uint32_t magic;
uint32_t target_firmware;
uint32_t flags;
uint32_t reserved;
uint64_t emunand_config;
} exosphere_config_t;
_Static_assert(sizeof(exosphere_config_t) == 0x18, "exosphere config definition");
#define MAILBOX_EXOSPHERE_CONFIGURATION ((volatile exosphere_config_t *)(0x8000F000ull))
#define EXOSPHERE_TARGETFW_KEY "target_firmware"

View file

@ -125,7 +125,7 @@ static int exosphere_ini_handler(void *user, const char *section, const char *na
int tmp = 0;
if (strcmp(section, "exosphere") == 0) {
if (strcmp(name, EXOSPHERE_TARGETFW_KEY) == 0) {
sscanf(value, "%d", &exo_cfg->target_firmware);
sscanf(value, "%ld", &exo_cfg->target_firmware);
} else if (strcmp(name, EXOSPHERE_DEBUGMODE_PRIV_KEY) == 0) {
sscanf(value, "%d", &tmp);
if (tmp) {