Files
2021-08-06 00:30:17 +08:00

49 lines
632 B
C

#include "os.h"
extern void trap_init(void);
void panic(char *s)
{
lib_puts(s);
for (;;)
{
}
}
void os_kernel()
{
task_os();
}
void disk_read()
{
virtio_tester(0);
}
void os_start()
{
uart_init();
lib_puts("OS start\n");
user_init();
trap_init();
plic_init();
virtio_disk_init();
timer_init(); // start timer interrupt ...
}
int os_main(void)
{
os_start();
disk_read();
int current_task = 0;
while (1)
{
lib_puts("OS: Activate next task\n");
task_go(current_task);
lib_puts("OS: Back to OS\n");
current_task = (current_task + 1) % taskTop; // Round Robin Scheduling
lib_puts("\n");
}
return 0;
}