qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH v3 0/2] 40p: fix PCI interrupt routing


From: David Gibson
Subject: Re: [Qemu-ppc] [PATCH v3 0/2] 40p: fix PCI interrupt routing
Date: Mon, 17 Sep 2018 13:54:27 +1000
User-agent: Mutt/1.10.1 (2018-07-13)

On Mon, Sep 10, 2018 at 09:46:29PM +0100, Mark Cave-Ayland wrote:
> According to the PReP specification section 6.1.6 "System Interrupt
> Assignments", all PCI interrupts are routed via IRQ 15.
> 
> In the case of the 40p machine this isn't quite true in that it has a routing
> quirk: the LSI SCSI device is always routed to IRQ 13. At least Linux and
> NetBSD compare the model name presented by the firmware to "IBM PPS Model
> 6015", and if it matches will active this quirk.
> 
> In order for guest OSs to make use of the fixed IRQ routing, the model name
> in the residual data must be changed in OpenBIOS using the diff below:
> 
> diff --git a/arch/ppc/qemu/context.c b/arch/ppc/qemu/context.c
> index 06e0122..5815895 100644
> --- a/arch/ppc/qemu/context.c
> +++ b/arch/ppc/qemu/context.c
> @@ -111,7 +111,7 @@ static void *
>  residual_build(uint32_t memsize, uint32_t load_base, uint32_t load_size)
>  {
>      residual_t *res;
> -    const unsigned char model[] = "Qemu\0PPC\0";
> +    const unsigned char model[] = "IBM PPS Model 6015\0";
>      int i;
>  
>      res = malloc(sizeof(residual_t));
> 
> With the above OpenBIOS patch applied as well as this patchset, it is now
> possible to boot the sandalfoot zImage all the way through to a working
> userspace when using OpenBIOS.
> 
> (Note: this patchset requires the changes in my previous patchset "scsi:
> replace lsi53c895a_create() and lsi53c810_create() functions)
> 
> Signed-off-by: Mark Cave-Ayland <address@hidden>
> Based-on: <address@hidden>

Mark,

I think we have all the necessary acks to go ahead with this.
However, I'm afraid I've lost track of the various prereq patches that
were necessary here.  Can you resend with all the necessary pieces
rebased against ppc-for-3.1 and the appropriate acked-bys included?

> 
> v3:
> - Add external IRQ to LSI SCSI device instead of hacking the PCI interrupt
>   routing as suggested by David
> - Rebase onto the patches from v2 already applied to ppc-for-3.1
> 
> v2:
> - Add OR gate as recommended by Zoltan and implement routing quirk by hacking
>   the raven PCI interrupt routing
> 
> 
> Mark Cave-Ayland (2):
>   lsi53c895a: add optional external IRQ via qdev
>   40p: add fixed IRQ routing for LSI SCSI device
> 
>  hw/ppc/prep.c        | 11 ++++++-----
>  hw/scsi/lsi53c895a.c | 16 ++++++++++++++--
>  2 files changed, 20 insertions(+), 7 deletions(-)
> 

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]