This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] xen 4 only seeing one keyboard and mouse

To: M A Young <m.a.young@xxxxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: Re: [Xen-devel] xen 4 only seeing one keyboard and mouse
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Fri, 27 Aug 2010 08:34:44 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 27 Aug 2010 00:35:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.LFD.2.00.1008262319280.7742@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: ActFbaEmbcfxraZERR+7/HR+AXc7PAATLAjf
Thread-topic: [Xen-devel] xen 4 only seeing one keyboard and mouse
User-agent: Microsoft-Entourage/
On 26/08/2010 23:24, "M A Young" <m.a.young@xxxxxxxxxxxx> wrote:

> or perhaps it should happen in io_apic_set_pci_routing from
> xen/arch/x86/io_apic.c where the higher IRQs are set (it doesn't because
> __assign_irq_vector sees the IRQ is already in use
>       old_vector = irq_to_vector(irq);
>      if (old_vector) {
>          cpus_and(tmp_mask, mask, cpu_online_map);
>          cpus_and(tmp_mask, cfg->domain, tmp_mask);
>          if (!cpus_empty(tmp_mask)) {
>              cfg->vector = old_vector;
>              return 0;
>          }
>      }
> but seems to miss the fact that it is only actually configured for one
> cpu.

Setting up for one CPU only was the whole point of the per-cpu IDT patch. It
allows the same vector on different CPUs to be bound to different
interrupts, hence increasing the system-wide interrupt limit by a factor
equal to number of CPUs in the system. As long as the interrupt controller
is programmed to only interrupt the CPU which has the vector allocated, all
is good.

 -- Keir

Xen-devel mailing list