Alex Williamson write on 2006年11月29日 14:15:
> On Tue, 2006-11-28 at 16:26 +0800, Xu, Anthony wrote:
>> Create viosapic handling for IPF.
>> There are three reasons to do this.
>> 1. IOSAPIC is different with IOAPIC
>> such as:
>> 1. IOAPIC implement broadcast, but IOSAPIC doesn't
>> 2. IOSAPIC doesn't implement dest_mode and remote irr bits.
>> 3. IOSAPIC implement EOI but IOAPIC doesn't
>> etc.
>> 2. In IA32 side there are I8259 and LAPIC who are
>> related to IOAPIC, but In IPF there is no I8259 and has LSAPIC.
>> 3. after creating this file, all header files under asm-ia64/hvm,
>> which are linked from IA32 side, are not needed.
>
> Hi Anthony,
>
> xen-unstable.hg also removed HVMOP_set_irq_level, can we safely
> remove references to it from the xen and sparse trees with this patch?
> Thanks,
Kier added three hypercals for delivering interrupt.
1. xc_hvm_set_pci_link_route
2. xc_hvm_set_isa_irq_level
3. xc_hvm_set_pci_intx_level
There is no PIC(8259), there is not interrupt router in IPF, so hypercall 1 is
not necessary for IPF.
I don’t understand why we need to separate isa and pci interrupt, as for
interrupt,
there is level and edge.
And Kier used i440fx_set_irq to replace piix3_set_irq.
Actually piix3_set_irq is doing a good job about interrupt line sharing.
But i440fx_set_irq didn't handle this
If we use i440fx_set_irq, we set a very high level for qemu device module.
For example, if one device module set_irq(irq, level=0) twice by mistake,
One shared interrupt is lost.
I think the interrupt deliver mechanism has nothing to do with IOSAPCI
emulation.
In IPF side, we only need xc_hvm_set_isa_irq_level to deliver interrupt,
I'm looking at this.
Thanks,
Anthony
> Alex
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|