Keir,
It's not guest complaining, it's hypervisor who complains.
There are such lines in vioapic.c:
DPRINTK("Forcing edge triggered APIC irq %d?\n", irq);
domain_crash(d);
The guest crashed here when insmod platform-pci driver. So that means guest
considers the irq as edge triggered. (in fact, if hypervisor does not
intentionally crash, the guest is likely to work happily).
Later I checked Linux source, when ACPI is disabled, Linux read MP table to
decide irq to I/O APIC binding. This is where it sets the trigger mode of irqs.
See arch/i386/kernel/mpparse.c and arch/i386/kernel/io_apic.c
Mp talbe is constructed in hvmloader/mp_table.c, which has only ISA bus...
Thanks,
Qing
>-----Original Message-----
>From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx]
>Sent: 2006年10月27日 15:50
>To: He, Qing; xen-devel@xxxxxxxxxxxxxxxxxxx
>Subject: Re: [Xen-devel] edge-triggered interrupts in non-ACPI SMP HVM
>
>
>
>
>On 27/10/06 3:20 am, "He, Qing" <qing.he@xxxxxxxxx> wrote:
>
>> However, there is only one bus entry in that table, ISA. All the
>> interrupts is related to ISA bus and their trigger mode is set to
>> `follow bus', which Linux sets to edge triggered later.
>>
>> I don't know whether lacking a PCI bus entry was OK, but now it turns
>> out to have problem with the pv driver. Is this going to be fixed?
>
>That's odd, since the guest should see the PV platform device as a PCI
>device just like any other (IDE, rtl8139, ...). So I wonder why the guest
>only complains about the PV platform device?
>
> -- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|