[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 2/3] pseries: added allocator for a block of IRQs
From: |
Alexander Graf |
Subject: |
Re: [Qemu-ppc] [PATCH 2/3] pseries: added allocator for a block of IRQs |
Date: |
Wed, 27 Jun 2012 16:47:30 +0200 |
On 14.06.2012, at 06:33, Alexey Kardashevskiy wrote:
>
> The patch adds a simple helper which allocates a consecutive sequence
> of IRQs calling spapr_allocate_irq for each and checks that allocated
> IRQs go consequently.
>
> The patch is required for upcoming support of MSI/MSIX on POWER.
>
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> ---
> hw/spapr.c | 19 +++++++++++++++++++
> hw/spapr.h | 1 +
> 2 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/hw/spapr.c b/hw/spapr.c
> index 2e0b4b8..ef6ffcb 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -113,6 +113,25 @@ qemu_irq spapr_allocate_irq(uint32_t hint, uint32_t
> *irq_num,
> return qirq;
> }
>
> +/* Allocate block of consequtive IRQs, returns a number of the first */
> +int spapr_allocate_irq_block(uint32_t num, enum xics_irq_type type)
> +{
> + int i, ret;
> + uint32_t irq = -1;
> +
> + for (i = 0; i < num; ++i) {
> + if (!spapr_allocate_irq(0, &irq, type)) {
> + return -1;
> + }
> + if (0 == i) {
> + ret = irq;
> + } else if (ret + i != irq) {
else? Why?
Alex
> + return -1;
> + }
> + }
> + return ret;
> +}
> +
> static int spapr_set_associativity(void *fdt, sPAPREnvironment *spapr)
> {
> int ret = 0, offset;
> diff --git a/hw/spapr.h b/hw/spapr.h
> index 502393a..408b470 100644
> --- a/hw/spapr.h
> +++ b/hw/spapr.h
> @@ -289,6 +289,7 @@ target_ulong spapr_hypercall(CPUPPCState *env,
> target_ulong opcode,
>
> qemu_irq spapr_allocate_irq(uint32_t hint, uint32_t *irq_num,
> enum xics_irq_type type);
> +int spapr_allocate_irq_block(uint32_t num, enum xics_irq_type type);
>
> static inline qemu_irq spapr_allocate_msi(uint32_t hint, uint32_t *irq_num)
> {
> --
> 1.7.7.3
> --
> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
> the body of a message to address@hidden
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-ppc] [PATCH 2/3] pseries: added allocator for a block of IRQs,
Alexander Graf <=