warmboot: make remaining TODOs explicit

This commit is contained in:
Michael Scire 2018-12-18 16:02:49 -08:00
parent 95a9e1e215
commit 34c16e211f
3 changed files with 13 additions and 1 deletions

View file

@ -28,6 +28,10 @@ bool fuse_check_downgrade_status(void) {
return false; return false;
} }
void fuse_disable_programming(void) {
FUSE_REGS->FUSE_DIS_PGM = 1;
}
static fuse_bypass_data_t g_fuse_bypass_entries[NUM_FUSE_BYPASS_ENTRIES] = { static fuse_bypass_data_t g_fuse_bypass_entries[NUM_FUSE_BYPASS_ENTRIES] = {
/* No entries here. */ /* No entries here. */
}; };

View file

@ -197,4 +197,6 @@ bool fuse_check_downgrade_status(void);
void fuse_configure_fuse_bypass(void); void fuse_configure_fuse_bypass(void);
void fuse_disable_programming(void);
#endif #endif

View file

@ -20,6 +20,7 @@
#include "lp0.h" #include "lp0.h"
#include "secmon.h" #include "secmon.h"
#include "se.h" #include "se.h"
#include "fuse.h"
#include "pmc.h" #include "pmc.h"
/* "private" functions. */ /* "private" functions. */
@ -47,7 +48,12 @@ void secmon_restore_to_tzram(const uint32_t target_firmware) {
/* Make security engine require secure busmaster. */ /* Make security engine require secure busmaster. */
se_get_regs()->_0x4 = 0; se_get_regs()->_0x4 = 0;
/* TODO: stuff */ /* TODO: se_verify_keys_unreadable(); */
/* TODO: pmc_lockout_wb_scratch_registers(); */
/* Disable fuse programming. */
fuse_disable_programming();
} }
void secmon_decrypt_saved_image(void *dst, const void *src, size_t size) { void secmon_decrypt_saved_image(void *dst, const void *src, size_t size) {