On Tue, 23 Mar 2021 10:13:58 -0400
"Michael S. Tsirkin" <m...@redhat.com> wrote:

CCing Philippe,

maybe he has an idea how to fix it from mips side.

> On Tue, Mar 23, 2021 at 10:50:05AM +0000, Peter Maydell wrote:
> > On Mon, 22 Mar 2021 at 22:56, Michael S. Tsirkin <m...@redhat.com> wrote:  
> > > On Mon, Mar 22, 2021 at 06:46:06PM +0000, Peter Maydell wrote:  
> > > > This happens because pm_update_sci() calls pci_irq_handler(),
> > > > which calls pci_intx(pci_dev), which returns -1, which is not
> > > > a valid interrupt number to call pci_irq_handler() with.
> > > >
> > > > Q: given that pci_irq_handler() says it must only be called with
> > > > an irqnum in [0..3], shouldn't pci_set_irq() be a bit more
> > > > cautious than to pull a byte directly out of PCI_INTERRUPT_PIN
> > > > and assume it's valid? (Is this guest-writable, or is it read-only?)  
> > >
> > > It's read-only.  
> > 
> > Ah, so if a device model (a) doesn't set the value to a correct
> > interrupt number and then (b) triggers an interrupt for itself,
> > then that's a device model bug ? It might be worth assert()ing
> > that the irqnum is valid, just to catch this kind of bug a bit
> > more obviously.
> > 
> > thanks
> > -- PMM  
> 
> Sure, we can do this. Patch?
> 


Reply via email to