#include #include #include #include #include #include #include void kmain(struct kmain_info info) { kprintf("mem...\n"); mem_init(&info); kprintf("tests...\n"); tests_all(); kprintf("loading init...\n"); process_seed(&info); kprintf("switching...\n"); process_switch_any(); } void shutdown(void) { size_t states[PS_LAST] = {0}; for (struct process *p = process_first; p; p = process_next(p)) states[p->state]++; for (size_t i = 0; i < sizeof(states) / sizeof(*states); i++) kprintf("state 0x%x: 0x%x\n", i, states[i]); mem_debugprint(); cpu_shutdown(); }