[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-ia64-devel][PATCH] Implement IOSAPIC handler for IPF side


  • To: "Alex Williamson" <alex.williamson@xxxxxx>
  • From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
  • Date: Wed, 29 Nov 2006 15:05:18 +0800
  • Cc: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 28 Nov 2006 23:05:22 -0800
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AccTfctABxFaItw+TtOrkfywCTIeFAAAtFVg
  • Thread-topic: [Xen-ia64-devel][PATCH] Implement IOSAPIC handler for IPF side

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.