zephyr/include
Andrew Boie 88808f1247 quark_se: apic: work around EOI forwarding issue
Quark SE Lakemont core has a hardware bug where the LOAPIC does
not properly notify the IOAPIC to clear the IRR bit for level-
triggered interrupts.

This patch introduces a workaround where the vector ID of the
in-service interrupt is manually written to the IOAPIC_EOI
register, resulting in the bit being cleared.

Unfortunately, in the context where EOI happens it's very difficult
to identify which IRQ line is being serviced, so this is done
unconditionally for all interrupts vectors whether they are registered
in the IOAPIC RTE table or not.

Change-Id: I639cd258dec4f50934e17eadbb821e6a7112e636
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:05 -05:00
..
arch kernel: remove CONFIG_INT_LATENCY_BENCHMARK fences from code path 2016-02-05 20:25:04 -05:00
bluetooth Bluetooth: Don't default to continuous scanning with BT_LE_SCAN_ACTIVE 2016-02-05 20:25:03 -05:00
display doxygen: fixed parameter documentation 2016-02-05 20:24:34 -05:00
drivers quark_se: apic: work around EOI forwarding issue 2016-02-05 20:25:05 -05:00
microkernel timer: Remove deprecated routines 2016-02-05 20:24:55 -05:00
misc drivers/console: shell: Add custom prompt callback support 2016-02-05 20:24:58 -05:00
net net: buf: Enable IP and L2 buf debugging properly 2016-02-05 20:24:59 -05:00
toolchain fixed check for clang compiler 2016-02-05 20:25:04 -05:00
adc.h doxygen: define groups for drivers 2016-02-05 20:24:36 -05:00
aio_comparator.h aio: introduce DesignWare AIO/Comparator driver 2016-02-05 20:24:48 -05:00
atomic.h Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
cache.h x86: CLFLUSH and cache line size detection 2016-02-05 20:24:41 -05:00
clock_control.h clock: add Quark SE clock control 2016-02-05 20:24:48 -05:00
device.h device: fix synchronous call usage of nano semaphore 2016-02-05 20:25:04 -05:00
gpio.h doxygen: define groups for drivers 2016-02-05 20:24:36 -05:00
i2c.h i2c: Remove all polling based functions 2016-02-05 20:25:03 -05:00
init.h devices: _PASTE macro relocated from init.h to common.h 2016-02-05 20:24:56 -05:00
ipm.h ipi: rename to ipm 2016-02-05 20:25:04 -05:00
irq_offload.h irq_offload: API to run a function in IRQ context 2016-02-05 20:24:55 -05:00
kernel_version.h Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
linker-defs.h init: Add protection against incorrect levels or priorities 2016-02-05 20:24:54 -05:00
linker-tool-gcc.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
linker-tool.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
microkernel.h Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
nanokernel.h nanokernel: Expose publicly nano_timer_wait 2016-02-05 20:25:04 -05:00
pinmux.h doxygen: define groups for drivers 2016-02-05 20:24:36 -05:00
pwm.h doxygen: define groups for drivers 2016-02-05 20:24:36 -05:00
rtc.h rtc: Make the API ready for multiple RTC instances 2016-02-05 20:24:58 -05:00
section_tags.h toolchain: change section macro to support external c libraries 2016-02-05 20:24:29 -05:00
sections.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
shared_irq.h Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
spi.h spi: Add static keyword to spi_slave_select() 2016-02-05 20:24:37 -05:00
sw_isr_table.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
sys_clock.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
sys_io.h sys_io: include nanokernel.h 2016-02-05 20:24:42 -05:00
toolchain.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
uart.h uart: fix compilation error when interrupt is enabled 2016-02-05 20:24:57 -05:00
watchdog.h watchdog: Make the API ready for multiple WDT instances 2016-02-05 20:24:58 -05:00
zephyr.h sysgen: generate sysgen.h instead of zephyr.h 2016-02-05 20:24:35 -05:00