diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-04 17:23:57 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-04 17:23:57 +0100 |
| commit | 22a681a07ab09922435ad0a9f665290a30f6b85b (patch) | |
| tree | 084fd239e826c8ab03d0d5ade73eac26f05c1e3a /kernel/main.c | |
| parent | 4c25981400e9d6d7c15df70dac32b6c8819b77a5 (diff) | |
| download | fbos-22a681a07ab09922435ad0a9f665290a30f6b85b.tar.gz fbos-22a681a07ab09922435ad0a9f665290a30f6b85b.zip | |
Pass the hart ID on start_kernel instead
Instead of storing the hard ID as given by the bootloader into a C
variable, pass it directly into the 'start_kernel' function since we
don't need to tamper the value as originally laid out on the 'a0'
register.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'kernel/main.c')
| -rw-r--r-- | kernel/main.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/main.c b/kernel/main.c index 41619d6..3ed8551 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -5,11 +5,8 @@ #include <fbos/string.h> #include <fbos/dt.h> -/* - * Data related to harts and set by kernel/head.S. Defined in fbos/init.h. - */ +// Defined in fbos/init.h. atomic32_t hart_lottery __section(".sdata"); -uint32_t hart_id; // Defined in fbos/sched.h. uint64_t stack[STACK_SIZE / sizeof(uint64_t)]; @@ -30,7 +27,7 @@ struct dt_info info = { .initrd_end = 0, }; -__noreturn __kernel void start_kernel(void *dtb) +__noreturn __kernel void start_kernel(uint64_t hart_id, void *dtb) { printk("Welcome to FizzBuzz OS!\n"); |
