lkml.org 
[lkml]   [2009]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[GIT PULL REPOST] xen/dom0/apic-ops: Xen dom0 APIC changes
Date
Hi Ingo,

This is a repost of the changes for Xen's apic hooks. This is unchanged
from the last time I posted it.

These changes allow us to route interrupts via Xen's event channel
mechanism, so that hardware interrupts can be distributed to the
appropriate guest domain.

It adds a minimal ioapic_ops interface to allow us to transform the
low-level IO-APIC accesses from mmio into hypercalls. This is sufficient
for our needs because the accesses themselves are going to the real
hardware IO APICs, and we want all the other logic above generating
the requests. You initially approved of this approach.

More recently, you proposed that we add a higher-level ioapic driver
abstraction to encompass not only Xen's current needs, but also to address
KVM possible use for such an interface. This seems like a good idea in
general, but not something we can do in time for the next merge window.

I propose that you take the current minimal approach, and we can
develop something fuller when we can see what KVM's needs are, and have
enough time to do a proper job.

There are no other outstanding issues.

Please pull it into tip.git x86/xen/dom0/apic

Thanks,
J

The following changes since commit ce791368bb4a53d05e78e1588bac0aacde8db84c:
Jeremy Fitzhardinge (1):
xen/i386: make sure initial VGA/ISA mappings are not overridden

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git for-ingo/xen/dom0/apic-ops

Gerd Hoffmann (2):
xen: set pirq name to something useful.
xen: fix legacy irq setup, make ioapic-less machines work.

Ian Campbell (1):
xen: pre-initialize legacy irqs early

Jeremy Fitzhardinge (14):
xen/dom0: handle acpi lapic parsing in Xen dom0
x86: add io_apic_ops to allow interception
xen: implement io_apic_ops
xen: create dummy ioapic mapping
xen: implement pirq type event channels
x86/io_apic: add get_nr_irqs_gsi()
xen/apic: identity map gsi->irqs
xen: direct irq registration to pirq event channels
xen: bind pirq to vector and event channel
xen: don't setup acpi interrupt unless there is one
xen: use acpi_get_override_irq() to get triggering for legacy irqs
xen: initialize irq 0 too
xen: dynamically allocate irq & event structures
xen: disable MSI

arch/x86/include/asm/io_apic.h | 10 ++
arch/x86/include/asm/xen/pci.h | 13 ++
arch/x86/kernel/acpi/boot.c | 18 +++-
arch/x86/kernel/apic/io_apic.c | 55 ++++++++-
arch/x86/xen/Kconfig | 11 ++
arch/x86/xen/Makefile | 3 +-
arch/x86/xen/apic.c | 69 ++++++++++
arch/x86/xen/enlighten.c | 2 +
arch/x86/xen/mmu.c | 10 ++
arch/x86/xen/pci.c | 86 +++++++++++++
arch/x86/xen/xen-ops.h | 6 +
drivers/pci/pci.h | 2 -
drivers/xen/events.c | 273 ++++++++++++++++++++++++++++++++++++++--
include/linux/pci.h | 6 +
include/xen/events.h | 19 +++
15 files changed, 568 insertions(+), 15 deletions(-)
create mode 100644 arch/x86/include/asm/xen/pci.h
create mode 100644 arch/x86/xen/apic.c
create mode 100644 arch/x86/xen/pci.c



\
 
 \ /
  Last update: 2009-05-27 09:55    [W:0.299 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site