qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC v2 1/4] hw/arm/virt: Allow multiple agents to modi


From: alvise rigo
Subject: Re: [Qemu-devel] [RFC v2 1/4] hw/arm/virt: Allow multiple agents to modify dt
Date: Tue, 6 Jan 2015 10:56:16 +0100

Thank you. I will keep this in mind for the next spin of the patches.

Regards,
alvise

On Mon, Jan 5, 2015 at 7:07 PM, Peter Maydell <address@hidden> wrote:
> On 5 January 2015 at 17:35, alvise rigo <address@hidden> wrote:
>> So I suppose we need to define a fixed number of PCI slots according
>> to the number of interrupts available in mach-virt. In this regard,
>> should this number be a qdev property?
>
> The PCI spec means that a bus has an implicit maximum of
> 32 slots (the devfn in a PCI address is only 5 bits).
> Note that this doesn't imply having 32 interrupt lines.
>
> What you can do is something like this (which is what the
> versatilepb device-tree-binding will have):
>
> +                       interrupt-map-mask = <0x1800 0 0 7>;
> +                       interrupt-map = <0x1800 0 0 1 &sic 28
> +                                        0x1800 0 0 2 &sic 29
> +                                        0x1800 0 0 3 &sic 30
> +                                        0x1800 0 0 4 &sic 27
> +
> +                                        0x1000 0 0 1 &sic 27
> +                                        0x1000 0 0 2 &sic 28
> +                                        0x1000 0 0 3 &sic 29
> +                                        0x1000 0 0 4 &sic 30
> +
> +                                        0x0800 0 0 1 &sic 30
> +                                        0x0800 0 0 2 &sic 27
> +                                        0x0800 0 0 3 &sic 28
> +                                        0x0800 0 0 4 &sic 29
> +
> +                                        0x0000 0 0 1 &sic 29
> +                                        0x0000 0 0 2 &sic 30
> +                                        0x0000 0 0 3 &sic 27
> +                                        0x0000 0 0 4 &sic 28>;
>
> That says "we have four interrupts, which are swizzled in
> the usual way between slots", and doesn't impose any
> particular maximum number of slots. (Notice that the
> mask value is 0x1800 0 0 0 7, which means we only match
> on the low two bits of the devfn, so a unit-interrupt-specifier
> of <0x2000 0x0 0x0 1> for slot 4 matches the entry
> <0x0000 0x0 0x0 1> in the map table, as required.)
>
> (You'll want to do something more sensible than 27..30,
> which is just what the interrupt lines on the versatilepb
> happen to be.)
>
> -- PMM



reply via email to

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