| 
         
xen-devel
RE: [Xen-devel] Re: APIC rework
 
| 
To:  | 
Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, Jeremy Fitzhardinge	<jeremy@xxxxxxxx> | 
 
| 
Subject:  | 
RE: [Xen-devel] Re: APIC rework | 
 
| 
From:  | 
"Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> | 
 
| 
Date:  | 
Tue, 24 Nov 2009 18:04:36 +0800 | 
 
| 
Accept-language:  | 
en-US | 
 
| 
Acceptlanguage:  | 
en-US | 
 
| 
Cc:  | 
Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Han,	Weidong" <weidong.han@xxxxxxxxx>, "Jiang,	Yunhong" <yunhong.jiang@xxxxxxxxx> | 
 
| 
Delivery-date:  | 
Tue, 24 Nov 2009 02:05:30 -0800 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<C72970BC.C323%keir.fraser@xxxxxxxxxxxxx> | 
 
| 
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> | 
 
| 
References:  | 
<706158FABBBA044BAD4FE898A02E4BC201CD3207E0@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>	<C72970BC.C323%keir.fraser@xxxxxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
Thread-index:  | 
AcpnRahRKdY8JG4aRBKJtSOrmCF95gAPb6tAAADLjVUAAFOzQAANzk5eAA9qNnAADXnVJAEtpdpg | 
 
| 
Thread-topic:  | 
[Xen-devel] Re: APIC rework | 
 
 
 
Keir Fraser wrote:
> On 18/11/2009 03:25, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> wrote:
> 
>>> For modern dom0 don't we already assume that dom0 pirq == irq == gsi
>>> (see comments in ioapic_guest_write)? Perhaps we should just have
>>> that relationship set up by default: I think only NetBSD dom0 has
>>> different, and it will establish different relationship via legacy
>>> method of PHYSDEVOP_alloc_irq_vector and paravirtualised IOAPIC
>>> writes?
>> 
>> The assumption should be right for dom0 today, but it still needs to
>> register this info to dom0's private data(d->arch.{pirq_irq,
>> irq_pirq). 
>> And I think maybe we should clean up the logic and let hypervisor
>> knows the assumption, when consulting this relationship.
> 
> Well, it strikes me that existing MAP_PIRQ_TYPE_GSI fills this role
> already, as it is, doesn't it? Seems to me that is its whole purpose.
> :-) 
> 
> Shoehorning trig/pol information into it as well is kind of nasty.
> And I think on any PC system it should suffice to assume GSI 0-15 are
> ISA edge-triggered active-high, GSI 16+ are PCI level-triggered
> active-low, and any exceptions are parsed out of MADT or MPBIOS. We
> pretty much have all that code, it just might need plumbing back in a
> little bit. Yunhong points out that ACPI DSDT can have overriding
> objects in the _PRT, but I don't know it ever actually gets used on
> real-world PC systems. So I would try without, but if we do end up
> needing to get this info from dom0, I think it should be via a new
> physdev_op.
At least dom0 parses this info from DSDT, so we can't have the assuption 
whether it is used or not, I think. And I also agree to add a new physdev_op to 
handle this case, and it should be better way to go.  
Based on this idea, I worked out the patch, attached!  In this patch, we 
introduced a new physdev_op PHYSDEVOP_setup_gsi for each GSI setup, and each 
domain can require to map each GSI in this case. 
In addition, I believe it is very safe to port the hypervisor patch to 
xen-3.4-x tree and keeps pv_ops dom0 running on it, since no logic is changed.  
BTW, I also tested apic and non-apic cases, they works fine after applying the 
patches. 
Xiantao
 
x86-add-a-new-physdev_op.patch 
Description: x86-add-a-new-physdev_op.patch 
 
0001-x86-ioapic-Remove-Xen-s-specific-changes-about-ioa.patch 
Description: 0001-x86-ioapic-Remove-Xen-s-specific-changes-about-ioa.patch 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- Re: [Xen-devel] Re: APIC rework, (continued)
 
- Re: [Xen-devel] Re: APIC rework, Keir Fraser
 - RE: [Xen-devel] Re: APIC rework, Jiang, Yunhong
 
- RE: [Xen-devel] Re: APIC rework, Zhang, Xiantao
 - Re: [Xen-devel] Re: APIC rework, Keir Fraser
 - RE: [Xen-devel] Re: APIC rework,
Zhang, Xiantao <=
 - Re: [Xen-devel] Re: APIC rework, Jeremy Fitzhardinge
 - RE: [Xen-devel] Re: APIC rework, Zhang, Xiantao
 
- Re: [Xen-devel] Re: APIC rework, Konrad Rzeszutek Wilk
 - Re: [Xen-devel] Re: APIC rework, Jeremy Fitzhardinge
 - Re: [Xen-devel] Re: APIC rework, Konrad Rzeszutek Wilk
 - Re: [Xen-devel] Re: APIC rework, Jeremy Fitzhardinge
 - Re: [Xen-devel] Re: APIC rework, Konrad Rzeszutek Wilk
 
- RE: [Xen-devel] Re: APIC rework, Zhang, Xiantao
 - Re: [Xen-devel] Re: APIC rework, Konrad Rzeszutek Wilk
 - RE: [Xen-devel] Re: APIC rework, Zhang, Xiantao
 
 
 |  
  
 | 
    |