diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-04 14:23:44 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-04 14:23:44 +0100 |
| commit | ad072dbf39036eaeb2879bd39f5195175d8b1280 (patch) | |
| tree | 2cc5b3c5aac6895a7ad214ee2b25feb3021c4fe6 /kernel | |
| parent | 75fc0bb454b6da14ca42168006af65577fbdfc39 (diff) | |
| download | fbos-ad072dbf39036eaeb2879bd39f5195175d8b1280.tar.gz fbos-ad072dbf39036eaeb2879bd39f5195175d8b1280.zip | |
Move documentation to the proper places
Code documentation was scattered between header and source files. Since
the norm was already to have this documentation into header files, move
some comments from source files to their header counterparts. This
hopefully makes things more consistent.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/main.c | 17 | ||||
| -rw-r--r-- | kernel/trap.c | 5 |
2 files changed, 7 insertions, 15 deletions
diff --git a/kernel/main.c b/kernel/main.c index 822d638..41619d6 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -11,18 +11,10 @@ atomic32_t hart_lottery __section(".sdata"); uint32_t hart_id; -// Stack to be used by our processes, which is initialized in head.S. -// "Blasphemy!" I hear you say. "How dare you use the same stack for kernel and -// user space?" It's not like this is some sort of utopian system in which -// everyone shares everything, but since this stupidly simple kernel does not -// even bother to implement paging nor any other memory protection of any kind, -// it's not like separating stacks for each process and kernel space would make -// much of a difference. Hence, let's keep it simple and have the same stack -// everwhere. +// Defined in fbos/sched.h. uint64_t stack[STACK_SIZE / sizeof(uint64_t)]; -// Initialize the list of structs by providing a fixed stack address and empty -// values everywhere else. +// Defined in fbos/sched.h. struct task_struct tasks[4] = { [TASK_INIT] = { .name = "init", .entry_addr = nullptr, }, [TASK_FIZZ] = { .name = "fizz", .entry_addr = nullptr, }, @@ -38,11 +30,6 @@ struct dt_info info = { .initrd_end = 0, }; -/* - * This is the main entry point of the kernel after head.S is done. This - * function can (and will) assume that everything has been reset and that we can - * start the whole thing. - */ __noreturn __kernel void start_kernel(void *dtb) { printk("Welcome to FizzBuzz OS!\n"); diff --git a/kernel/trap.c b/kernel/trap.c index 29f1c21..855b048 100644 --- a/kernel/trap.c +++ b/kernel/trap.c @@ -39,6 +39,11 @@ __kernel void time_out_in_one_second(void) } } +/* + * Exception handler. For this kernel, it only ensures that the 'write' system + * call is the one responsible for this exception and handles it; otherwise it + * will die. + */ __kernel __always_inline void exception_handler(uint64_t cause) { register char *message asm("a0"); |
