Fri, 07 Apr 2023 13:03:58 +0200
6 files changed,
22 insertions(+),
3 deletions(-)
M
src/kernel/main.c
→
src/kernel/main.c
@@ -67,11 +67,11 @@ printk("done.\n");
printk("Initializing root file system..."); FAT_init(); - printk("done."); + printk("done.\n"); printk("Initializing graphics..."); graphics_init(); - printk("done."); + printk("done.\n"); printk("Initialization finished.\n--------------\n");
M
src/kernel/syscall.c
→
src/kernel/syscall.c
@@ -20,7 +20,8 @@ get_current_process,
sched_spawn, sched_wait, file_open, - graphics_set_mode + graphics_set_mode, + hard_reset }; extern void syscall_interrupt(void);
M
src/libcedos/cedos.c
→
src/libcedos/cedos.c
@@ -58,4 +58,9 @@
void graphics_set_mode(int mode) { volatile uint32_t res = 0; interrupt(0x30, res, 7, mode, 0, 0); +} + +void hard_reset() { + volatile uint32_t res = 0; + interrupt(0x30, res, 8, 0, 0, 0); }
M
src/libcedos/include/cedos.h
→
src/libcedos/include/cedos.h
@@ -17,5 +17,7 @@ int sc_file_read(int fd, char *buffer, uint32_t size);
int sc_file_write(int fd, char *buffer, uint32_t size); int sc_file_openat(int fd, char *buffer, uint32_t size); +void hard_reset(); + #endif
A
src/shell/quit.c
@@ -0,0 +1,10 @@
+#include "cedos.h" +#include "stdio.h" + +#include <stdint.h> + +void main(char *args) { + printf("Thank you for using CeDOS!\n"); + + hard_reset(); +}