CeDOS - Commit e0e685de

Some hotfixes, added quit program
Celina Sophie Kalus
Fri, 07 Apr 2023 13:03:58 +0200
6 files changed, 22 insertions(+), 3 deletions(-)
M makefilemakefile

@@ -72,6 +72,7 @@ > sudo mount $@ ./mnt

> sudo cp $(LOCAL_BUILD)/kernel.bin ./mnt > sudo cp $(LOCAL_BUILD)/bin/* ./mnt > sudo cp ./img-contents/* ./mnt +> du -csh ./mnt/* > sudo umount ./mnt $(GLOBAL_BUILD)/cedos.img: $(GLOBAL_BUILD)/fat.img | $(MODULES)
M src/kernel/main.csrc/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.csrc/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.csrc/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.hsrc/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(); +}