All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Hanjun Guo <hanjun.guo@linaro.org>, kvmarm@lists.cs.columbia.edu
Cc: christoffer.dall@linaro.org, marc.zyngier@arm.com,
	fu.wei@linaro.org, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, wei@redhat.com,
	al.stone@linaro.org, gg@slimlogic.co.uk,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>
Subject: Re: [PATCH v5 4/9] irqchip/gic-v2: Parse and export virtual GIC information
Date: Mon, 11 Apr 2016 14:54:08 +0100	[thread overview]
Message-ID: <570BAC80.2090708@arm.com> (raw)
In-Reply-To: <570B174B.2050905@linaro.org>

On 11/04/16 04:17, Hanjun Guo wrote:
> Hi Julian,

Hi Hanjun,

>
> On 2016/4/4 19:37, Julien Grall wrote:
>> @@ -1302,6 +1339,41 @@ static bool __init gic_validate_dist(struct
>> acpi_subtable_header *header,
>>
>>   #define ACPI_GICV2_DIST_MEM_SIZE    (SZ_4K)
>>   #define ACPI_GIC_CPU_IF_MEM_SIZE    (SZ_8K)
>> +#define ACPI_GICV2_VCTRL_MEM_SIZE    (SZ_4K)
>> +#define ACPI_GICV2_VCPU_MEM_SIZE    (SZ_8K)
>> +
>> +static void __init gic_acpi_setup_kvm_info(void)
>> +{
>> +    int irq;
>> +    struct resource *vctrl_res = &gic_v2_kvm_info.vctrl;
>> +    struct resource *vcpu_res = &gic_v2_kvm_info.vcpu;
>> +
>> +    gic_v2_kvm_info.type = GIC_V2;
>> +
>> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
>> +                acpi_data.maint_irq_mode,
>> +                ACPI_ACTIVE_HIGH);
>> +    if (irq <= 0)
>> +        return;
>> +
>> +    gic_v2_kvm_info.maint_irq = irq;
>> +
>> +    if (!acpi_data.vctrl_base)
>> +        return;
>
> It might be worth to unregister gsi before return, or just
> move
>
> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
> +                acpi_data.maint_irq_mode,
> +                ACPI_ACTIVE_HIGH);
> +    if (irq <= 0)
> +        return;
> +
> +    gic_v2_kvm_info.maint_irq = irq;
>
> before gic_set_kvm_info(&gic_v2_kvm_info); below...
>
>> +
>> +    vctrl_res->flags = IORESOURCE_MEM;
>> +    vctrl_res->start = acpi_data.vctrl_base;
>> +    vctrl_res->end = vctrl_res->start + ACPI_GICV2_VCTRL_MEM_SIZE - 1;
>> +
>> +    if (!acpi_data.vcpu_base)
>> +        return;
>> +
>> +    vcpu_res->flags = IORESOURCE_MEM;
>> +    vcpu_res->start = acpi_data.vcpu_base;
>> +    vcpu_res->end = vcpu_res->start + ACPI_GICV2_VCPU_MEM_SIZE - 1;
>
> ...
> Move them just here will be better.

I will move the code to get the maintenance interrupt here.

Regards,

-- 
Julien Grall

WARNING: multiple messages have this Message-ID (diff)
From: Julien Grall <julien.grall@arm.com>
To: Hanjun Guo <hanjun.guo@linaro.org>, kvmarm@lists.cs.columbia.edu
Cc: al.stone@linaro.org, kvm@vger.kernel.org, marc.zyngier@arm.com,
	linux-kernel@vger.kernel.org, fu.wei@linaro.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	linux-arm-kernel@lists.infradead.org, gg@slimlogic.co.uk
Subject: Re: [PATCH v5 4/9] irqchip/gic-v2: Parse and export virtual GIC information
Date: Mon, 11 Apr 2016 14:54:08 +0100	[thread overview]
Message-ID: <570BAC80.2090708@arm.com> (raw)
In-Reply-To: <570B174B.2050905@linaro.org>

On 11/04/16 04:17, Hanjun Guo wrote:
> Hi Julian,

Hi Hanjun,

>
> On 2016/4/4 19:37, Julien Grall wrote:
>> @@ -1302,6 +1339,41 @@ static bool __init gic_validate_dist(struct
>> acpi_subtable_header *header,
>>
>>   #define ACPI_GICV2_DIST_MEM_SIZE    (SZ_4K)
>>   #define ACPI_GIC_CPU_IF_MEM_SIZE    (SZ_8K)
>> +#define ACPI_GICV2_VCTRL_MEM_SIZE    (SZ_4K)
>> +#define ACPI_GICV2_VCPU_MEM_SIZE    (SZ_8K)
>> +
>> +static void __init gic_acpi_setup_kvm_info(void)
>> +{
>> +    int irq;
>> +    struct resource *vctrl_res = &gic_v2_kvm_info.vctrl;
>> +    struct resource *vcpu_res = &gic_v2_kvm_info.vcpu;
>> +
>> +    gic_v2_kvm_info.type = GIC_V2;
>> +
>> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
>> +                acpi_data.maint_irq_mode,
>> +                ACPI_ACTIVE_HIGH);
>> +    if (irq <= 0)
>> +        return;
>> +
>> +    gic_v2_kvm_info.maint_irq = irq;
>> +
>> +    if (!acpi_data.vctrl_base)
>> +        return;
>
> It might be worth to unregister gsi before return, or just
> move
>
> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
> +                acpi_data.maint_irq_mode,
> +                ACPI_ACTIVE_HIGH);
> +    if (irq <= 0)
> +        return;
> +
> +    gic_v2_kvm_info.maint_irq = irq;
>
> before gic_set_kvm_info(&gic_v2_kvm_info); below...
>
>> +
>> +    vctrl_res->flags = IORESOURCE_MEM;
>> +    vctrl_res->start = acpi_data.vctrl_base;
>> +    vctrl_res->end = vctrl_res->start + ACPI_GICV2_VCTRL_MEM_SIZE - 1;
>> +
>> +    if (!acpi_data.vcpu_base)
>> +        return;
>> +
>> +    vcpu_res->flags = IORESOURCE_MEM;
>> +    vcpu_res->start = acpi_data.vcpu_base;
>> +    vcpu_res->end = vcpu_res->start + ACPI_GICV2_VCPU_MEM_SIZE - 1;
>
> ...
> Move them just here will be better.

I will move the code to get the maintenance interrupt here.

Regards,

-- 
Julien Grall

WARNING: multiple messages have this Message-ID (diff)
From: julien.grall@arm.com (Julien Grall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 4/9] irqchip/gic-v2: Parse and export virtual GIC information
Date: Mon, 11 Apr 2016 14:54:08 +0100	[thread overview]
Message-ID: <570BAC80.2090708@arm.com> (raw)
In-Reply-To: <570B174B.2050905@linaro.org>

On 11/04/16 04:17, Hanjun Guo wrote:
> Hi Julian,

Hi Hanjun,

>
> On 2016/4/4 19:37, Julien Grall wrote:
>> @@ -1302,6 +1339,41 @@ static bool __init gic_validate_dist(struct
>> acpi_subtable_header *header,
>>
>>   #define ACPI_GICV2_DIST_MEM_SIZE    (SZ_4K)
>>   #define ACPI_GIC_CPU_IF_MEM_SIZE    (SZ_8K)
>> +#define ACPI_GICV2_VCTRL_MEM_SIZE    (SZ_4K)
>> +#define ACPI_GICV2_VCPU_MEM_SIZE    (SZ_8K)
>> +
>> +static void __init gic_acpi_setup_kvm_info(void)
>> +{
>> +    int irq;
>> +    struct resource *vctrl_res = &gic_v2_kvm_info.vctrl;
>> +    struct resource *vcpu_res = &gic_v2_kvm_info.vcpu;
>> +
>> +    gic_v2_kvm_info.type = GIC_V2;
>> +
>> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
>> +                acpi_data.maint_irq_mode,
>> +                ACPI_ACTIVE_HIGH);
>> +    if (irq <= 0)
>> +        return;
>> +
>> +    gic_v2_kvm_info.maint_irq = irq;
>> +
>> +    if (!acpi_data.vctrl_base)
>> +        return;
>
> It might be worth to unregister gsi before return, or just
> move
>
> +    irq = acpi_register_gsi(NULL, acpi_data.maint_irq,
> +                acpi_data.maint_irq_mode,
> +                ACPI_ACTIVE_HIGH);
> +    if (irq <= 0)
> +        return;
> +
> +    gic_v2_kvm_info.maint_irq = irq;
>
> before gic_set_kvm_info(&gic_v2_kvm_info); below...
>
>> +
>> +    vctrl_res->flags = IORESOURCE_MEM;
>> +    vctrl_res->start = acpi_data.vctrl_base;
>> +    vctrl_res->end = vctrl_res->start + ACPI_GICV2_VCTRL_MEM_SIZE - 1;
>> +
>> +    if (!acpi_data.vcpu_base)
>> +        return;
>> +
>> +    vcpu_res->flags = IORESOURCE_MEM;
>> +    vcpu_res->start = acpi_data.vcpu_base;
>> +    vcpu_res->end = vcpu_res->start + ACPI_GICV2_VCPU_MEM_SIZE - 1;
>
> ...
> Move them just here will be better.

I will move the code to get the maintenance interrupt here.

Regards,

-- 
Julien Grall

  reply	other threads:[~2016-04-11 13:54 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-04 11:37 [PATCH v5 0/9] arm64: Add support for KVM with ACPI Julien Grall
2016-04-04 11:37 ` Julien Grall
2016-04-04 11:37 ` Julien Grall
2016-04-04 11:37 ` [PATCH v5 1/9] clocksource: arm_arch_timer: Gather KVM specific information in a structure Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:26   ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-04 11:37 ` [PATCH v5 2/9] clocksource: arm_arch_timer: Extend arch_timer_kvm_info to get the virtual IRQ Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:26   ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-04 11:37 ` [PATCH v5 3/9] irqchip/gic-v2: Gather ACPI specific data in a single structure Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-11  2:47   ` Hanjun Guo
2016-04-11  2:47     ` Hanjun Guo
2016-04-11  2:47     ` Hanjun Guo
2016-04-04 11:37 ` [PATCH v5 4/9] irqchip/gic-v2: Parse and export virtual GIC information Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:04   ` Christoffer Dall
2016-04-06 17:04     ` Christoffer Dall
2016-04-06 17:04     ` Christoffer Dall
2016-04-06 17:40     ` Julien Grall
2016-04-06 17:40       ` Julien Grall
2016-04-06 17:40       ` Julien Grall
2016-04-11  3:17   ` Hanjun Guo
2016-04-11  3:17     ` Hanjun Guo
2016-04-11  3:17     ` Hanjun Guo
2016-04-11 13:54     ` Julien Grall [this message]
2016-04-11 13:54       ` Julien Grall
2016-04-11 13:54       ` Julien Grall
2016-04-04 11:37 ` [PATCH v5 5/9] irqchip/gic-v3: Gather all ACPI specific data in a single structure Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:26   ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-06 17:26     ` Christoffer Dall
2016-04-11  5:21   ` Hanjun Guo
2016-04-11  5:21     ` Hanjun Guo
2016-04-11  5:21     ` Hanjun Guo
2016-04-04 11:37 ` [PATCH v5 6/9] irqchip/gic-v3: Parse and export virtual GIC information Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:22   ` Christoffer Dall
2016-04-06 17:22     ` Christoffer Dall
2016-04-06 17:22     ` Christoffer Dall
2016-04-06 17:45     ` Julien Grall
2016-04-06 17:45       ` Julien Grall
2016-04-06 17:45       ` Julien Grall
2016-04-09  2:29   ` Shanker Donthineni
2016-04-09  2:29     ` Shanker Donthineni
2016-04-09  2:29     ` Shanker Donthineni
2016-04-11 14:03     ` Julien Grall
2016-04-11 14:03       ` Julien Grall
2016-04-11 14:03       ` Julien Grall
2016-04-11  5:27   ` Hanjun Guo
2016-04-11  5:27     ` Hanjun Guo
2016-04-11  5:27     ` Hanjun Guo
2016-04-11 14:27     ` Julien Grall
2016-04-11 14:27       ` Julien Grall
2016-04-11 14:27       ` Julien Grall
2016-04-11 15:25       ` Shanker Donthineni
2016-04-11 15:25         ` Shanker Donthineni
2016-04-11 15:25         ` Shanker Donthineni
2016-04-13 10:11         ` Hanjun Guo
2016-04-13 10:11           ` Hanjun Guo
2016-04-13 10:11           ` Hanjun Guo
2016-04-04 11:37 ` [PATCH v5 7/9] KVM: arm/arm64: arch_timer: Rely on the arch timer to parse the firmware tables Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37 ` [PATCH v5 8/9] KVM: arm/arm64: vgic: Rely on the GIC driver " Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:25   ` Christoffer Dall
2016-04-06 17:25     ` Christoffer Dall
2016-04-06 17:25     ` Christoffer Dall
2016-04-04 11:37 ` [PATCH v5 9/9] clocksource: arm_arch_timer: Remove arch_timer_get_timecounter Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-04 11:37   ` Julien Grall
2016-04-06 17:28 ` [PATCH v5 0/9] arm64: Add support for KVM with ACPI Christoffer Dall
2016-04-06 17:28   ` Christoffer Dall
2016-04-06 17:28   ` Christoffer Dall
2016-04-06 17:49   ` Julien Grall
2016-04-06 17:49     ` Julien Grall
2016-04-06 17:49     ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=570BAC80.2090708@arm.com \
    --to=julien.grall@arm.com \
    --cc=al.stone@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=fu.wei@linaro.org \
    --cc=gg@slimlogic.co.uk \
    --cc=hanjun.guo@linaro.org \
    --cc=jason@lakedaemon.net \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=tglx@linutronix.de \
    --cc=wei@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.