History log of /seL4-l4v-10.1.1/seL4/src/plat/pc99/machine/ioapic.c
Revision Date Author Comments
# 74f3570f 04-Apr-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

pc99: Explicit error for num_ioapics == 0

This is needed as otherwise the error condition will try and say that the requested ioapic
was outside the range of 0-UINT_MAX due to num_ioapics-1 underflowing.


# 57fa0e0f 07-Aug-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

Share linker.h between architectures


# aaa6ecc6 12-Sep-2016 amrzar <azarrabi@nicta.com.au>

In xAPIC (P4 and above) 256 ID is availabe on system bus while in APIC serial bus only 16 ID available.
Don't check I/O APIC IDs for xAPIC systems in 32bit system.


# 49510f9d 22-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-624: remove redundancy in io.[c|h]

And clean up a bit while we are there


# bddd804a 06-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: IOAPIC/MSI syscalls

Restructure the x86 interrupt handling to allow for a more flexible
method of using IOAPIC and MSI interrupts. The essence of this change
is to allow for the user to pick, for both IOAPIC and MSIs, which
CPU vector to use. Additionally there is future support, in the API,
for seL4 to eventually protect MSI interrupts with the vt-d interrupt
routing tables.

API behaviour for legacy systems using the PIC is preserved

Part of SELFOUR-281


# cbb8e9db 08-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Fix compile assert


# 5d42d014 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Do not conditionally compile IRQ controller code, use build/run time checks

Guarding code with #ifdef's makes even cursor testing of 'does this code compile'
difficult due to code being hidden by the pre-processor. Using config_set in
regular C if statements is performant as the compiler can trivially detect
dead code at compile time, and at -O1 and above will not even link in symbols
referenced by dead code in these blocks, so this will not bloat image size


# 71a45e6b 05-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Strip multi kernel support from the x86 kernel. This is not used and is conflicting with planned future features


# 6474acea 03-Jun-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Change types from uint32_t->word_t to be 32/64bit agnostic


# 617df4a7 03-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Rationalize standard types

This commit aims to rationalize how we represent different types
for compatiblity between ARM and x86, as well as between 32 and
64 bit code. The choices being made here is to declare that a
uint32_t has a type of 'int', this allows uint32_t to be declared
consistently across 32 and 64 bit (at least in GCC).
The word_t type is declared using a 'long' (not a uint32_t or uint64_t) to
allow for a word_t to be backed by the same type on both 32 and 64 bit
All other types that want to be declared as the size of a native word
get declared in terms of a word_t


# f32a1d75 05-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Fix printing when the ioapic is enabled


# ec788900 24-Jul-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

xIntroduce RELEASE_PRINTF, which allows a renamed printf (release_printf) to be used in a release build of the kernel - userful for debugging tests that only fail on a release build of the kernel


# c0e9c638 11-Aug-2014 Adrian Danis <Adrian.Danis@nicta.com.au>

Support IOAPIC on ia32 and modify interrupt handling to support user level setting of modes