Skip to content

Commit

Permalink
Implement parsing MultiProcessor tables, initializing APIC, initializ…
Browse files Browse the repository at this point in the history
…ing SMP, and port over the interrupt handling in Rust from eduOS-rs.

MAX_CORES is reduced to 256, because MultiProcessor tables don't support more than that.
entry.asm is relicensed to MIT just like the rest of the eduOS-rs and HermitCore Rust code.
Also improve debugging and make use of the or_else/unwrap_or_else Rust functions.

This is all untested work in progress! At least it compiles :)
  • Loading branch information
ColinFinck committed Nov 23, 2017
1 parent ee46872 commit 77bd5d1
Show file tree
Hide file tree
Showing 16 changed files with 894 additions and 754 deletions.
468 changes: 116 additions & 352 deletions arch/x86/kernel/entry.asm

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions kernel/tasks.c
Original file line number Diff line number Diff line change
Expand Up @@ -898,7 +898,7 @@ void reschedule(void)
uint8_t flags;

flags = irq_nested_disable();
if ((stack = scheduler()))
switch_context(stack);
/*if ((stack = scheduler()))
switch_context(stack);*/
irq_nested_enable(flags);
}
Loading

0 comments on commit 77bd5d1

Please sign in to comment.