/* * _system_assertions() - check memory integrity and other assertions */ uint8_t _system_assertions() { uint8_t value = 0; if (tg.magic_start != MAGICNUM) { value = 1; } // Note: reported VALue is offset by ALARM_MEMORY_OFFSET if (tg.magic_end != MAGICNUM) { value = 2; } if (cm.magic_start != MAGICNUM) { value = 3; } if (cm.magic_end != MAGICNUM) { value = 4; } if (gm.magic_start != MAGICNUM) { value = 5; } if (gm.magic_end != MAGICNUM) { value = 6; } if (cfg.magic_start != MAGICNUM) { value = 7; } if (cfg.magic_end != MAGICNUM) { value = 8; } if (cmdStr.magic_start != MAGICNUM) { value = 9; } if (cmdStr.magic_end != MAGICNUM) { value = 10; } if (mb.magic_start != MAGICNUM) { value = 11; } if (mb.magic_end != MAGICNUM) { value = 12; } if (mr.magic_start != MAGICNUM) { value = 13; } if (mr.magic_end != MAGICNUM) { value = 14; } if (ar.magic_start != MAGICNUM) { value = 15; } if (ar.magic_end != MAGICNUM) { value = 16; } if (st_get_st_magic() != MAGICNUM) { value = 17; } if (st_get_sps_magic() != MAGICNUM) { value = 18; } if (rtc.magic_end != MAGICNUM) { value = 19; } xio_assertions(&value); // run xio assertions if (value == 0) { return (STAT_OK);} rpt_exception(STAT_MEMORY_FAULT, value); cm_alarm(ALARM_MEMORY_OFFSET + value); return (STAT_EAGAIN); }
/* * _system_assertions() - check memory integrity and other assertions */ uint8_t _system_assertions() { uint8_t value = 0; if (tg.magic_start != MAGICNUM) { value = 1; } if (tg.magic_end != MAGICNUM) { value = 2; } if (cm.magic_start != MAGICNUM) { value = 3; } if (cm.magic_end != MAGICNUM) { value = 4; } if (gm.magic_start != MAGICNUM) { value = 5; } if (gm.magic_end != MAGICNUM) { value = 6; } if (cfg.magic_start != MAGICNUM) { value = 7; } if (cfg.magic_end != MAGICNUM) { value = 8; } if (cmdStr.magic_start != MAGICNUM) { value = 9; } if (cmdStr.magic_end != MAGICNUM) { value = 10; } if (mb.magic_start != MAGICNUM) { value = 11; } if (mb.magic_end != MAGICNUM) { value = 12; } if (mr.magic_start != MAGICNUM) { value = 13; } if (mr.magic_end != MAGICNUM) { value = 14; } if (st_get_st_magic() != MAGICNUM) { value = 15; } if (st_get_sps_magic() != MAGICNUM) { value = 16; } if (rtc.magic_end != MAGICNUM) { value = 17; } xio_assertions(&value); // run xio assertions if (value == 0) { return (TG_OK);} rpt_exception(TG_MEMORY_CORRUPTION, value); cm_shutdown(); return (TG_EAGAIN); }