/** * Perform a full factory reset. * This can be triggered automatically at boot time if * certain sanity checks fail, or via a test mode option. */ void factory_reset (void) { file_reset (); memset (AREA_BASE (permanent), 0, AREA_SIZE (permanent)); callset_invoke (factory_reset); // timestamp_update (&system_timestamps.factory_reset); }
static int page_chunk_init(phys_area_info* elem, kmem_chunk* next , kmem_chunk* prev) { kmem_chunk* a_begin = elem->begin; kmem_chunk* a_end = elem->end - sizeof(kmem_chunk) + 1; if (elem == NULL) kdie("page_chunk_init: elem == NULL"); a_begin->prev = prev; a_begin->next = a_end; a_begin->size = 0; a_begin->area_size = AREA_SIZE(elem); a_end->next = next; a_end->prev = a_begin; a_end->size = 0; a_end->area_size = 0; #ifdef TEDIOS_MAL_DEBUG kprint("Area is initialized.\r\n" "Begin chunk:\r\n"); kmem_chunk_dump(a_begin); kprint("End chunk:\r\n"); kmem_chunk_dump(a_end); #endif return 0; }
/** * Perform a full factory reset. * This can be triggered automatically at boot time if * certain sanity checks fail, or via a test mode option. */ void factory_reset (void) { file_reset (); #ifdef __m6809__ memset (AREA_BASE (permanent), 0, AREA_SIZE (permanent)); #else /* TODO - how to clean the permanent area in native mode? */ #endif timestamp_update (&system_timestamps.factory_reset); callset_invoke (factory_reset); }
/** * Perform a full factory reset. * This can be triggered automatically at boot time if * certain sanity checks fail, or via a test mode option. */ void factory_reset (void) { adj_reset_all (); /* TODO : this should also clear audits, reset the high scores, * and reset the custom message. */ #ifdef __m6809__ memset (AREA_BASE (permanent), 0, AREA_SIZE (permanent)); #else /* TODO - how to clean the permanent area in native mode? */ #endif callset_invoke (factory_reset); }