mirror of
https://github.com/CTCaer/hekate.git
synced 2024-11-26 19:52:11 +00:00
hos: Clear secmon mailbox where appropriate
This commit is contained in:
parent
d37fe213d7
commit
9e48d64b27
1 changed files with 13 additions and 5 deletions
|
@ -59,8 +59,9 @@ extern hekate_config h_cfg;
|
||||||
#define PKG2_LOAD_ADDR 0xA9800000
|
#define PKG2_LOAD_ADDR 0xA9800000
|
||||||
|
|
||||||
// Secmon mailbox.
|
// Secmon mailbox.
|
||||||
#define SECMON_MAILBOX_ADDR 0x40002EF8
|
#define SECMON_MAILBOX_ADDR 0x40002E00
|
||||||
#define SECMON7_MAILBOX_ADDR 0x400000F8
|
#define SECMON7_MAILBOX_ADDR 0x40000000
|
||||||
|
#define SECMON_STATE_OFFSET 0xF8
|
||||||
typedef struct _secmon_mailbox_t
|
typedef struct _secmon_mailbox_t
|
||||||
{
|
{
|
||||||
// < 4.0.0 Signals - 0: Not ready, 1: BCT ready, 2: DRAM and pkg2 ready, 3: Continue boot.
|
// < 4.0.0 Signals - 0: Not ready, 1: BCT ready, 2: DRAM and pkg2 ready, 3: Continue boot.
|
||||||
|
@ -1008,11 +1009,18 @@ int hos_launch(ini_sec_t *cfg)
|
||||||
// < 4.0.0 pkg1.1 locks PMC scratches.
|
// < 4.0.0 pkg1.1 locks PMC scratches.
|
||||||
//_pmc_scratch_lock(kb);
|
//_pmc_scratch_lock(kb);
|
||||||
|
|
||||||
// Set secmon mailbox address.
|
// Set secmon mailbox address and clear it.
|
||||||
if (kb >= KB_FIRMWARE_VERSION_700 || exo_new)
|
if (kb >= KB_FIRMWARE_VERSION_700 || exo_new)
|
||||||
secmon_mailbox = (secmon_mailbox_t *)SECMON7_MAILBOX_ADDR;
|
{
|
||||||
|
memset((void *)SECMON7_MAILBOX_ADDR, 0, 0x200);
|
||||||
|
secmon_mailbox = (secmon_mailbox_t *)(SECMON7_MAILBOX_ADDR + SECMON_STATE_OFFSET);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
secmon_mailbox = (secmon_mailbox_t *)SECMON_MAILBOX_ADDR;
|
{
|
||||||
|
if (kb <= KB_FIRMWARE_VERSION_301)
|
||||||
|
memset((void *)SECMON_MAILBOX_ADDR, 0, 0x200);
|
||||||
|
secmon_mailbox = (secmon_mailbox_t *)(SECMON_MAILBOX_ADDR + SECMON_STATE_OFFSET);
|
||||||
|
}
|
||||||
|
|
||||||
// Start from DRAM ready signal and reset outgoing value.
|
// Start from DRAM ready signal and reset outgoing value.
|
||||||
secmon_mailbox->in = bootStateDramPkg2;
|
secmon_mailbox->in = bootStateDramPkg2;
|
||||||
|
|
Loading…
Reference in a new issue