zephyr/arch/x86/platforms/quark_se
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
..
board.h serial: simplify interrupt config options 2016-02-05 20:25:05 -05:00
curie101_pinmux.c quark_se: rename platform and remove x86 suffix 2016-02-05 20:24:54 -05:00
eoi.c quark_se: apic: work around EOI forwarding issue 2016-02-05 20:25:05 -05:00
Kconfig quark_se: apic: work around EOI forwarding issue 2016-02-05 20:25:05 -05:00
Kconfig.platform quark_se: rename platform and remove x86 suffix 2016-02-05 20:24:54 -05:00
linker.cmd Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
Makefile quark_se: apic: work around EOI forwarding issue 2016-02-05 20:25:05 -05:00
pinmux.c quark_se: rename platform and remove x86 suffix 2016-02-05 20:24:54 -05:00
quark_se_config.c ipi: rename to ipm 2016-02-05 20:25:04 -05:00
shared_mem.h quark_se: rename platform and remove x86 suffix 2016-02-05 20:24:54 -05:00
system.c quark_se: shared_mem.h is local to the file including it 2016-02-05 20:25:04 -05:00