In platform_pci.c we register the IRQ that the hypervisor should use to notify the guest in response to event channel notifications. In cases where the mapping between irq and vectors are not one to one, I am not sure how this can work. For instance, on a RHEL 4 installation (with acpi turned on) I am looking at, the irq assigned to the platform-pci device is 185! Consequently the set_callback_irq() fails since the number passed down exceeds the number of pins being emulated. Any insight will be greatly appreciated. Regards, K. Y _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
After some more hacking, if I were to use the irqline information available in the pci config space for this device, both in establishing the handler for this device (request_irq()) as well as in registering the callback irq (set_callback_irq()) things seem to work. Regards, K. Y>>> On Fri, Apr 27, 2007 at 3:12 PM, in message <4632028C.E57C.0030.0@novell.com>,"Ky Srinivasan" <ksrinivasan@novell.com> wrote:> In platform_pci.c we register the IRQ that the hypervisor should use to > notify the guest in response to event channel notifications. In cases where > the mapping between irq and vectors are not one to one, I am not sure how > this can work. For instance, on a RHEL 4 installation (with acpi turned on) > I am looking at, the irq assigned to the platform- pci device is 185! > Consequently the set_callback_irq() fails since the number passed down > exceeds the number of pins being emulated. Any insight will be greatly > appreciated. > > Regards, > > K. Y > > > > _______________________________________________ > Xen- devel mailing list > Xen- devel@lists.xensource.com > http://lists.xensource.com/xen- devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
After some more hacking, if I were to use the irqline information available in the pci config space for this device, both in establishing the handler for this device (request_irq()) as well as in registering the callback irq (set_callback_irq()) things seem to work. Regards, K. Y>>> On Fri, Apr 27, 2007 at 3:12 PM, in message <4632028C.E57C.0030.0@novell.com>,"Ky Srinivasan" <ksrinivasan@novell.com> wrote:> In platform_pci.c we register the IRQ that the hypervisor should use to > notify the guest in response to event channel notifications. In cases where > the mapping between irq and vectors are not one to one, I am not sure how > this can work. For instance, on a RHEL 4 installation (with acpi turned on) > I am looking at, the irq assigned to the platform- pci device is 185! > Consequently the set_callback_irq() fails since the number passed down > exceeds the number of pins being emulated. Any insight will be greatly > appreciated. > > Regards, > > K. Y > > > > _______________________________________________ > Xen- devel mailing list > Xen- devel@lists.xensource.com > http://lists.xensource.com/xen- devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 27/4/07 20:12, "Ky Srinivasan" <ksrinivasan@novell.com> wrote:> In platform_pci.c we register the IRQ that the hypervisor should use to notify > the guest in response to event channel notifications. In cases where the > mapping between irq and vectors are not one to one, I am not sure how this can > work. For instance, on a RHEL 4 installation (with acpi turned on) I am > looking at, the irq assigned to the platform-pci device is 185! Consequently > the set_callback_irq() fails since the number passed down exceeds the number > of pins being emulated. Any insight will be greatly appreciated.3.0.5-rc doesn''t have this problem. We pass down the PCI device address and let Xen work it out from that. --- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel