Tian, Kevin
2006-Nov-21 06:37 UTC
RE: [Xen-devel] [PATCH] Change spec of callback IRQ for PV-on-HVM onIA64
>From: DOI Tsunehisa >Sent: 2006年11月21日 12:46 > > * pvdrv.patch2 > - Modify to change the spec of callback IRQ in PV-driver side. > - This patch brakes compatibility with previous version on IA64. > > I tested with our simple test of PV-on-HVM on RHEL4 U2 for IA64 >with hypervisor side modification. > >Thanks, >- Tsunehisa DoiMaybe I''m missing something and you can help me understand. :-) Whatever the value is mangled in pdev->irq, you should always keep following two instances same: if ((ret = request_irq(pdev->irq, evtchn_interrupt, SA_SHIRQ,... and if ((ret = set_callback_irq(pdev->irq))) Before your patch, say pdev->irq is 0x27 (ISA irq 9), platform-pci driver binds handler to 0x27 and xen will inject by callback_irq 0x27. However in your patch, request_irq is still using pdev->irq (0x27) while set_callback_irq instead wants (0x9). In this case, how can you still make things working when two sides don''t match... Thanks, Kevin _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Doi.Tsunehisa@jp.fujitsu.com
2006-Nov-21 07:40 UTC
Re: [Xen-devel] [PATCH] Change spec of callback IRQ for PV-on-HVM onIA64
Hi Kevin, You (kevin.tian) said:>> * pvdrv.patch2 >> - Modify to change the spec of callback IRQ in PV-driver side. >> - This patch brakes compatibility with previous version on IA64. >> >> I tested with our simple test of PV-on-HVM on RHEL4 U2 for IA64 >>with hypervisor side modification. >> >>Thanks, >>- Tsunehisa Doi > > Maybe I''m missing something and you can help me understand. :-) > Whatever the value is mangled in pdev->irq, you should always > keep following two instances same: > if ((ret = request_irq(pdev->irq, evtchn_interrupt, SA_SHIRQ,... > and > if ((ret = set_callback_irq(pdev->irq)))In x86-linux, two instances are same. But in IA64-linux, previous one is a external interrupt vector for xen-platform interruption. Although latter one is a hardware IRQ id. Both values are not same in IA64-linux.> Before your patch, say pdev->irq is 0x27 (ISA irq 9), platform-pci > driver binds handler to 0x27 and xen will inject by callback_irq 0x27. > However in your patch, request_irq is still using pdev->irq (0x27) > while set_callback_irq instead wants (0x9). In this case, how can you > still make things working when two sides don''t match...With the modification of hypervisor side, the callback_irq(it''s hardware IRQ) becomes to be converted to external interrupt vector with a emulator of IOSAPIC. Thanks, - Tsunehisa Doi _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Doi.Tsunehisa@jp.fujitsu.com
2006-Nov-21 07:45 UTC
Re: [Xen-devel] [PATCH] Change spec of callback IRQ for PV-on-HVM onIA64
You (Doi.Tsunehisa) said:>> Maybe I''m missing something and you can help me understand. :-) >> Whatever the value is mangled in pdev->irq, you should always >> keep following two instances same: >> if ((ret = request_irq(pdev->irq, evtchn_interrupt, SA_SHIRQ,... >> and >> if ((ret = set_callback_irq(pdev->irq))) > > In x86-linux, two instances are same. But in IA64-linux, previous one > is a external interrupt vector for xen-platform interruption. Although > latter one is a hardware IRQ id. Both values are not same in IA64-linux.Sorry.. This description is situation with my patch. -- ÅÚÈî¤Ç¤·¤¿¡¥¡¥¡¥ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel