lkml.org 
[lkml]   [2008]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: TARGET_CPUS in assign_irq_vector
Eric W. Biederman wrote:
> Jeremy Fitzhardinge <jeremy@goop.org> writes:
>
>
>> 3) give up because the idea is fundamentally ill-conceived, or 4)
>> something else?
>>
>
> Yes.
>
> When working with event channels you should not have any
> truck with vectors and you should not call the architecture
> specific do_IRQ().

Hm. That would work OK for fully paravirtualized domains, which have no
direct access to real hardware in any form (well, there's pci
passthough, but interrupts are all thoroughly massaged into event channels).

But for dom0, the kernel handles interrupts weird hybrid mode. The
interrupts themselves are delivered via event channels rather than via a
local apic, but the IO APIC is still under the kernel's control, and is
responsible for poking (Xen-allocated) vectors into it. This only
applies to physical irq event channels; there's no need to have vectors
for purely software event channels like interdomain, IPI and timers.
This is further complicated by the fact that the dom0 kernel parses the
ACPI and MPTABLES to find out about IO APICs, so the existing APIC
subsystem is already involved. I need to work out how'd I'd hook all
this together with a minimum of mess.

J


\
 
 \ /
  Last update: 2008-09-10 21:47    [W:0.249 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site