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

On Wed, Sep 08, 2010 at 10:36:30PM +0100, M A Young wrote:
> On Wed, 8 Sep 2010, Konrad Rzeszutek Wilk wrote:
> >I've piggybacked on your debug patch and added some extra stuff to see if 
> >the __setup_vector_irq
> >is responsible for setting the new per_cpu. Those printk's _might_ not work 
> >as
> >all of that is being run on a secondary CPU that is being initialized..?
> >
> >For the IO APIC programming I added a printk/debug_stack by the ioapic_write
> >to see who and when sets those pins on the IOAPIC to 3.
> I had to modify the patch slightly to get the kernel not to panic,
> but it did mostly work after that. The results are attached.

Hm, and they still don't give a hint of who sets the IOAPIC pin 1-through 15
to destination 3.

> setup_IO_APIC_irq: dest=1
> IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0)
> Reprogramming PIN1, dest=1
> setup_IO_APIC_irq: cfg->domain=-1 (vector: 48)

Excellent, IOAPIC PIN1 should have dest 1... but
>  NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect:   
>  00 000 1    0    0   0   0    0    0    00
>  01 003 0    0    0   0   0    1    1    31

It is 3 here?

And then later we set the destination to 3.
> setup_IO_APIC_irq: dest=3
> IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0)
> Reprogramming PIN12, dest=3
> Pid: 1, comm: swapper Not tainted #1
> Call Trace:
>  [<ffffffff8102b25d>] ioapic_write_entry+0x48/0xda
>  [<ffffffff8102bdd9>] setup_IO_APIC_irq+0x21f/0x22e
>  [<ffffffff8144680a>] ? irq_to_desc_alloc_node+0x16/0x188
>  [<ffffffff8102bf39>] io_apic_set_pci_routing+0x151/0x17c
>  [<ffffffff810263ae>] mp_register_gsi+0x17d/0x18f
>  [<ffffffff8102644d>] acpi_register_gsi+0x5b/0x64
>  [<ffffffff812a02f3>] pnpacpi_parse_allocated_irqresource+0x113/0x14a

Compared this to how Xen works it is pretty much exactly the same.
Except that I think Xen forces the IO APIC to be reset. Here it looks
as if it is untouched from the boot - but who knows?

I think you need to figure out who sets the IO APIC entries earlier
on. It might be as well that nobody does and this is what the BIOS
came up and under Xen we clear it up.

Xen-devel mailing list