Skip to content
  • Colin Finck's avatar
    Port over Dynamic Ticks, IRQ handling, PIC, PIT, and SpeedStep functions to... · a3c8174f
    Colin Finck authored
    Port over Dynamic Ticks, IRQ handling, PIC, PIT, and SpeedStep functions to Rust and improve the GDT code.
    
    Functions accessing the PIC are now properly separated from the rest of the IRQ handling to allow for a clean APIC implementation later.
    Also the PIT is separated from the Timer functions, because it is only meant to be used for measuring the CPU frequency.
    
    The GDT code allocates all 4 ISTs per core now and sets the TSS, so that interrupts can be enabled sooner.
    This also means that IST1 is no longer allocated per task, but a single IST1 is shared among all tasks on a core.
    
    Furthermore, some more Rust features have been introduced: Question mark and "if let" statements.
    
    This change breaks using HermitCore applications until the APIC, Memory, Task, and IRQ Handlers have been ported.
    a3c8174f