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>
9 lines
313 B
Makefile
9 lines
313 B
Makefile
ccflags-y +=-I$(srctree)/arch/x86
|
|
ccflags-y +=-I$(srctree)/arch/x86/platforms/$(PLATFORM_NAME)/
|
|
ccflags-y +=-I$(srctree)/include/drivers
|
|
ccflags-y +=-I$(srctree)/drivers
|
|
asflags-y := ${ccflags-y}
|
|
|
|
obj-y = system.o quark_se_config.o eoi.o
|
|
obj-$(CONFIG_PINMUX) += pinmux.o
|
|
obj-$(CONFIG_PINMUX) += curie101_pinmux.o
|