kernel-ark/arch/x86/kernel
Weidong Han 746cddd37d x86, intr-remap: fix eoi for interrupt remapping without x2apic
To simplify level irq migration in the presence of interrupt-remapping,
Suresh used a virtual vector (io-apic pin number) to eliminate io-apic
RTE modification. Level triggered interrupt will appear as an edge to
the local apic cpu but still as level to the IO-APIC. So in addition to
do the local apic EOI, it still needs to do IO-APIC directed EOI to clear
the remote IRR bit in the IO-APIC RTE. Pls refer to Suresh's patch for
more details (commit 0280f7c416).

Now interrupt remapping is decoupled from x2apic, it also needs to do the
directed EOI for apic. Otherwise, apic interrupts won't work correctly.

Signed-off-by: Weidong Han <weidong.han@intel.com>
Cc: iommu@lists.linux-foundation.org
Cc: Weidong Han <weidong.han@intel.com>
Cc: suresh.b.siddha@intel.com
Cc: dwmw2@infradead.org
Cc: allen.m.kay@intel.com
LKML-Reference: <1239355037-22856-1-git-send-email-weidong.han@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-10 13:12:17 +02:00
..
acpi Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
apic x86, intr-remap: fix eoi for interrupt remapping without x2apic 2009-04-10 13:12:17 +02:00
cpu x86: cpu_debug remove execute permission 2009-04-09 06:34:02 +02:00
.gitignore
alternative.c x86: expand irq-off region in text_poke() 2009-03-10 16:24:23 +01:00
amd_iommu_init.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu 2009-01-03 12:03:52 -08:00
amd_iommu.c Merge git://git.infradead.org/iommu-2.6 2009-04-03 10:36:57 -07:00
aperture_64.c aperture_64.c: clarify that too small aperture is valid reason for this code 2008-11-28 15:24:39 +01:00
apm_32.c Merge branch 'cpumask-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-31 13:33:50 +10:30
asm-offsets_32.c pm: rework includes, remove arch ifdefs 2009-04-01 08:59:16 -07:00
asm-offsets_64.c pm: rework includes, remove arch ifdefs 2009-04-01 08:59:16 -07:00
asm-offsets.c
audit_64.c
bios_uv.c x86: bios_uv.c: uv_systab should be static 2008-12-29 22:08:28 -08:00
bootflag.c
check.c x86: fix 64k corruption-check 2009-03-15 07:03:15 +01:00
cpuid.c Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-03 12:04:39 -08:00
crash_dump_32.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
crash_dump_64.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
crash.c x86, apic: remove duplicate asm/apic.h inclusions 2009-02-17 17:52:44 +01:00
doublefault_32.c x86: fix virt_addr_valid() with CONFIG_DEBUG_VIRTUAL=y, v2 2008-10-13 10:33:15 +02:00
ds.c x86, pebs: correct qualifier passed to ds_write_config() from ds_request_pebs() 2009-03-06 16:13:15 +01:00
dumpstack_32.c ftrace: print real return in dumpstack for function graph 2008-12-03 08:56:25 +01:00
dumpstack_64.c x86-64: Move current task from PDA to per-cpu and consolidate with 32-bit. 2009-01-19 00:38:58 +09:00
dumpstack.c Merge commit 'origin/master' into next 2009-03-30 14:04:53 +11:00
dumpstack.h ftrace: print real return in dumpstack for function graph 2008-12-03 08:56:25 +01:00
e820.c x86: e820 fix various signedness issues in setup.c and e820.c 2009-03-23 15:02:05 +05:30
early_printk.c x86: properly __init-annotate recent early_printk additions 2009-03-13 02:37:18 +01:00
early-quirks.c x86: only scan the root bus in early PCI quirks 2009-01-09 12:46:22 -08:00
efi_32.c
efi_64.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
efi_stub_32.S Merge branch 'x86/asm' into x86/mm 2009-02-25 08:27:46 +01:00
efi_stub_64.S x86: efi_stub_32,64 - add missing ENDPROCs 2009-02-24 18:08:40 +01:00
efi.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
entry_32.S x86: entry_32.S fix compile warnings - fix work mask bit width 2009-03-14 09:42:51 +01:00
entry_64.S x86-64: move save_paranoid into .kprobes.text 2009-03-12 11:57:46 +01:00
ftrace.c tracing, x86: remove duplicated #include 2009-04-07 14:01:53 +02:00
geode_32.c
head32.c x86-32: use brk segment for allocating initial kernel pagetable 2009-03-14 17:23:47 -07:00
head64.c x86: add brk allocation for very, very early allocations 2009-03-14 15:37:14 -07:00
head_32.S x86-32: tighten the bound on additional memory to map 2009-03-17 11:52:10 -07:00
head_64.S x86: head_64.S - use IDT_ENTRIES instead of hardcoded number 2009-02-24 18:08:38 +01:00
head.c x86, debug: remove EBDA debug printk 2008-12-12 11:08:42 +01:00
hpet.c x86: hpet: stop HPET_COUNTER when programming periodic mode 2009-02-22 18:01:18 +01:00
i386_ksyms_32.c ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
i387.c x86, math-emu: fix init_fpu for task != current 2009-03-04 20:33:16 +01:00
i8237.c i8327: fix outb() parameter order 2009-02-10 13:13:23 +01:00
i8253.c x86: i8253 cleanup 2009-03-21 16:56:10 +05:30
i8259.c x86: refactor x86_quirks support 2009-02-23 00:08:11 +01:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io_delay.c x86: io_delay.c cleanup 2009-03-21 16:57:04 +05:30
ioport.c x86-32: use non-lazy io bitmap context switching 2009-03-02 12:07:48 +01:00
irq_32.c Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu 2009-02-24 21:52:45 +01:00
irq_64.c x86: unify do_IRQ() 2009-02-09 12:16:05 +01:00
irq.c x86: smarten /proc/interrupts output for new counters 2009-04-08 18:06:07 +02:00
irqinit_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-03-30 18:00:26 -07:00
irqinit_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-03-30 18:00:26 -07:00
k8.c x86, gart: fix gart detection for Fam11h CPUs 2008-10-28 17:10:27 +01:00
kdebugfs.c x86: kdebugfs.c cleanup 2009-03-21 16:55:45 +05:30
kgdb.c x86, apic: remove genapic.h 2009-02-17 17:52:44 +01:00
kprobes.c Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
kvm.c x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
kvmclock.c x86: refactor x86_quirks support 2009-02-23 00:08:11 +01:00
ldt.c x86: ldt.c fix style problems 2009-01-02 17:46:24 +01:00
machine_kexec_32.c x86, kexec: fix kexec x86 coding style 2009-03-10 18:13:25 -07:00
machine_kexec_64.c x86, kexec: x86_64: add kexec jump support for x86_64 2009-03-10 18:13:25 -07:00
Makefile Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
mca_32.c x86: refactor x86_quirks support 2009-02-23 00:08:11 +01:00
mfgpt_32.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
microcode_amd.c x86: microcode: cleanup 2009-03-18 13:51:17 +01:00
microcode_core.c x86: microcode: cleanup 2009-03-18 13:51:17 +01:00
microcode_intel.c x86: microcode: cleanup 2009-03-18 13:51:17 +01:00
mmconf-fam10h_64.c x86: move various CPU initialization objects into .cpuinit.rodata 2009-03-12 13:13:07 +01:00
module_32.c x86: module_32.c fix style problems 2009-01-12 11:22:55 +01:00
module_64.c x86: module_64.c fix style problems 2009-01-12 11:23:01 +01:00
mpparse.c x86: mpparse.c introduce check_physptr helper function 2009-03-21 14:15:43 +05:30
msr.c x86: msr.c fix style problems 2009-01-12 11:22:50 +01:00
olpc.c x86, olpc: fix model detection without OFW 2009-02-14 23:05:25 +01:00
paravirt_patch_32.c x86/pvops: add a paravirt_ident functions to allow special patching 2009-01-30 14:51:44 -08:00
paravirt_patch_64.c x86/pvops: add a paravirt_ident functions to allow special patching 2009-01-30 14:51:44 -08:00
paravirt-spinlocks.c x86: remove byte locks 2009-01-20 17:14:28 +01:00
paravirt.c x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
pci-calgary_64.c x86, ia64: convert to use generic dma_map_ops struct 2009-01-06 14:06:57 +01:00
pci-dma.c dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
pci-gart_64.c Merge branch 'linus' into core/iommu 2009-03-05 12:47:28 +01:00
pci-nommu.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pci-swiotlb.c x86: rename arch/x86/kernel/pci-swiotlb_64.c => pci-swiotlb.c 2009-01-23 12:06:44 +01:00
pcspeaker.c
pmtimer_64.c
probe_roms_32.c x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
process_32.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
process_64.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
process.c Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
ptrace.c Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
pvclock.c x86: pvclock: fix shadowed variable warning 2008-10-15 14:25:14 +02:00
quirks.c Merge branch 'linus' into x86/core 2009-03-28 22:27:45 +01:00
reboot_fixups_32.c
reboot.c x86: DMI match for the Dell DXP061 as it needs BIOS reboot 2009-04-08 17:53:27 +02:00
relocate_kernel_32.S x86, kexec: fix kexec x86 coding style 2009-03-10 18:13:25 -07:00
relocate_kernel_64.S x86, kexec: x86_64: add kexec jump support for x86_64 2009-03-10 18:13:25 -07:00
rtc.c x86: rtc.c cleanup 2009-03-21 16:56:37 +05:30
scx200_32.c
setup_percpu.c x86: remove duplicated code with pcpu_need_numa() 2009-04-02 06:08:05 +02:00
setup.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-03-30 18:00:26 -07:00
signal.c x86: signal: check sas_ss_size instead of sas_ss_flags() 2009-04-01 17:13:17 +02:00
smp.c x86, apic: remove genapic.h 2009-02-17 17:52:44 +01:00
smpboot.c cpumask: use new cpumask functions throughout x86 2009-03-13 14:49:54 +10:30
stacktrace.c x86: update copyrights 2009-01-31 04:21:18 +01:00
step.c
sys_i386_32.c
sys_x86_64.c
syscall_64.c x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
syscall_table_32.S preadv/pwritev: Add preadv and pwritev system calls. 2009-04-02 19:05:08 -07:00
tce_64.c
test_nx.c
test_rodata.c
time_32.c x86: refactor x86_quirks support 2009-02-23 00:08:11 +01:00
time_64.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
tlb_uv.c Merge branch 'linus' into cpumask-for-linus 2009-03-30 23:53:32 +02:00
tls.c
tls.h
topology.c x86: topology.c cleanup 2009-03-21 16:55:24 +05:30
trampoline_32.S x86: use _types.h headers in asm where available 2009-02-13 11:35:01 -08:00
trampoline_64.S x86: use _types.h headers in asm where available 2009-02-13 11:35:01 -08:00
trampoline.c x86: change static allocation of trampoline area 2008-12-08 13:49:45 +01:00
traps.c x86-32: use non-lazy io bitmap context switching 2009-03-02 12:07:48 +01:00
tsc_sync.c Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core 2008-12-23 16:27:23 +01:00
tsc.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
uv_irq.c x86, apic: remove genapic.h 2009-02-17 17:52:44 +01:00
uv_sysfs.c x86: Add sysfs entries for UV v4 2008-10-16 16:53:13 +02:00
uv_time.c x86: UV, SGI RTC: fix uv_time.c for UP 2009-03-05 11:27:49 +01:00
verify_cpu_64.S
visws_quirks.c x86: convert obsolete irq_desc_t typedef to struct irq_desc 2009-03-11 09:49:01 +01:00
vm86_32.c x86: use regparm(3) for passed-in pt_regs pointer 2009-02-11 14:00:56 -08:00
vmi_32.c x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
vmiclock_32.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
vmlinux_32.lds.S x86-32: move _end to a dummy section 2009-03-17 14:16:02 -07:00
vmlinux_64.lds.S x86/brk: put the brk reservations in their own section 2009-03-17 12:58:15 -07:00
vmlinux.lds.S
vsmp_64.c Revert "x86: don't compile vsmp_64 for 32bit" 2009-03-25 21:34:28 +01:00
vsyscall_64.c Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:21:10 -08:00
x8664_ksyms_64.c x86: convert pda ops to wrappers around x86 percpu accessors 2009-01-16 14:20:22 +01:00
xsave.c x86: xsave.c: restore_user_xstate should be static 2008-12-30 13:31:41 -08:00