summaryrefslogtreecommitdiff
path: root/arch/x86/machine/lapic.h
AgeCommit message (Collapse)Author
2018-07-07x86: refactor interrupt/exception handlingRichard Braun
This commit merges the trap module into the cpu module in order to solve interface problems caused by the degree to which those two modules are actually coupled, i.e. it just makes a lot more sense to not separate them at all. The cpu module is also internally reworked with improved object and method definitions, that clarify the double fault handling code, among other things.
2018-06-25x86: add performance monitoring supportRichard Braun
2018-04-14Fix left-over reserved identifiersRichard Braun
For some reason, commit be5b9d6ab9f7e7a81c367e4bb0823ba11f85940f didn't take care of all reserved identifiers.
2017-06-03x86: don't unconditionnally initialize the legacy PICRichard Braun
2017-05-26x86: use the new intr moduleRichard Braun
In particular, the pic and ioapic modules register their respective devices as interrupt controllers. Selection between the legacy XT-PIC and the modern APIC system is made on the availability of ACPI, disregarding the multiprocessor specification entirely. The uart driver is also updated to register devices interrupt handlers.
2017-02-04Clean up compilationRichard Braun
Instead of mixing standard headers and internal redefinitions of standard types, completely rely on the compiler for what is guaranteed for a free standing environment. This results in the removal of kern/stddef.h and kern/stdint.h. The kern/types.h header is reintroduced for the different (and saner) purpose of defining types not specified in standard C, namely ssize_t for now.
2014-10-02x86/{lapic/pic}: normalize interrupt handler namesRichard Braun
Interrupt handler functions are suffixed with _intr.
2014-05-21x86/lapic: clarify interfaceRichard Braun
Make it clear that destinations are APIC IDs and not kernel-assigned processor IDs.
2012-12-09x86/lapic: fixed/broadcast inter-processor interruptsRichard Braun
In addition, make lapic_eoi public.
2012-11-03Merge lib into kernRichard Braun
There are no precise enough criteria to justify the separation of these two directories.
2012-10-22x86/trap: new moduleRichard Braun
The trap module is responsible for managing low level interrupts and exceptions.
2012-10-03x86: new architectureRichard Braun
Merge 32-bit IA-32 (i386) and 64-bit AMD64 (amd64) code into one common architecture. The amd64 variant isn't functional yet.