All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-05 13:54 ` Lukas Juenger
  0 siblings, 0 replies; 6+ messages in thread
From: Lukas Juenger @ 2019-04-05 13:54 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, Stefano Stabellini, Lukas Juenger

Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
While the hardware GIC can support up to 1020 interrupt lines,
the vGIC is only supporting up to 992 interrupt lines.
This means that Xen will not be able to boot on platforms where the hardware
GIC supports more than 992 interrupt lines.
While it would make sense to increase the limits in the vGICs, this is not
trivial because of the design choices.
At the moment, only models seem to report the maximum of interrupt lines.
They also do not have any interrupt wired above the 992 limit.
So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.

Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>

---
Changed since v1:
- Adapted commit message as suggested
- Changed code comment to reflect correct terminology
---
 xen/arch/arm/setup.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 444857a967..ccb0f181ea 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -888,7 +888,13 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Create initial domain 0. */
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
-    dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
+    /*
+     * Xen vGIC supports a maximum of 992 interrupt lines.
+     * 32 are substracted to cover local IRQs.
+     */
+    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
+    if ( gic_number_lines() > 992 )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
     dom0_cfg.max_vcpus = dom0_max_vcpus();
 
     dom0 = domain_create(0, &dom0_cfg, true);
-- 
2.21.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Xen-devel] [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-05 13:54 ` Lukas Juenger
  0 siblings, 0 replies; 6+ messages in thread
From: Lukas Juenger @ 2019-04-05 13:54 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, Stefano Stabellini, Lukas Juenger

Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
While the hardware GIC can support up to 1020 interrupt lines,
the vGIC is only supporting up to 992 interrupt lines.
This means that Xen will not be able to boot on platforms where the hardware
GIC supports more than 992 interrupt lines.
While it would make sense to increase the limits in the vGICs, this is not
trivial because of the design choices.
At the moment, only models seem to report the maximum of interrupt lines.
They also do not have any interrupt wired above the 992 limit.
So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.

Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>

---
Changed since v1:
- Adapted commit message as suggested
- Changed code comment to reflect correct terminology
---
 xen/arch/arm/setup.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 444857a967..ccb0f181ea 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -888,7 +888,13 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Create initial domain 0. */
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
-    dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
+    /*
+     * Xen vGIC supports a maximum of 992 interrupt lines.
+     * 32 are substracted to cover local IRQs.
+     */
+    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
+    if ( gic_number_lines() > 992 )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
     dom0_cfg.max_vcpus = dom0_max_vcpus();
 
     dom0 = domain_create(0, &dom0_cfg, true);
-- 
2.21.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-08 10:15   ` Julien Grall
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Grall @ 2019-04-08 10:15 UTC (permalink / raw)
  To: Lukas Juenger, xen-devel; +Cc: Stefano Stabellini

Hi Lukas,

On 4/5/19 2:54 PM, Lukas Juenger wrote:
> Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
> While the hardware GIC can support up to 1020 interrupt lines,
> the vGIC is only supporting up to 992 interrupt lines.
> This means that Xen will not be able to boot on platforms where the hardware
> GIC supports more than 992 interrupt lines.
> While it would make sense to increase the limits in the vGICs, this is not
> trivial because of the design choices.
> At the moment, only models seem to report the maximum of interrupt lines.
> They also do not have any interrupt wired above the 992 limit.
> So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.
> 
> Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>

Acked-by: Julien Grall <julien.grall@arm.com>

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Xen-devel] [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-08 10:15   ` Julien Grall
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Grall @ 2019-04-08 10:15 UTC (permalink / raw)
  To: Lukas Juenger, xen-devel; +Cc: Stefano Stabellini

Hi Lukas,

On 4/5/19 2:54 PM, Lukas Juenger wrote:
> Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
> While the hardware GIC can support up to 1020 interrupt lines,
> the vGIC is only supporting up to 992 interrupt lines.
> This means that Xen will not be able to boot on platforms where the hardware
> GIC supports more than 992 interrupt lines.
> While it would make sense to increase the limits in the vGICs, this is not
> trivial because of the design choices.
> At the moment, only models seem to report the maximum of interrupt lines.
> They also do not have any interrupt wired above the 992 limit.
> So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.
> 
> Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>

Acked-by: Julien Grall <julien.grall@arm.com>

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-08 10:24     ` Julien Grall
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Grall @ 2019-04-08 10:24 UTC (permalink / raw)
  To: Lukas Juenger, xen-devel; +Cc: Stefano Stabellini



On 4/8/19 11:15 AM, Julien Grall wrote:
> Hi Lukas,
> 
> On 4/5/19 2:54 PM, Lukas Juenger wrote:
>> Dom0 vGIC will use the same number of interrupt lines as the hardware 
>> GIC.
>> While the hardware GIC can support up to 1020 interrupt lines,
>> the vGIC is only supporting up to 992 interrupt lines.
>> This means that Xen will not be able to boot on platforms where the 
>> hardware
>> GIC supports more than 992 interrupt lines.
>> While it would make sense to increase the limits in the vGICs, this is 
>> not
>> trivial because of the design choices.
>> At the moment, only models seem to report the maximum of interrupt lines.
>> They also do not have any interrupt wired above the 992 limit.
>> So it should be fine to cap the number of interrupt lines for dom0 to 
>> 992 lines.
>>
>> Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>
> 
> Acked-by: Julien Grall <julien.grall@arm.com>

Now pushed.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Xen-devel] [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0
@ 2019-04-08 10:24     ` Julien Grall
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Grall @ 2019-04-08 10:24 UTC (permalink / raw)
  To: Lukas Juenger, xen-devel; +Cc: Stefano Stabellini



On 4/8/19 11:15 AM, Julien Grall wrote:
> Hi Lukas,
> 
> On 4/5/19 2:54 PM, Lukas Juenger wrote:
>> Dom0 vGIC will use the same number of interrupt lines as the hardware 
>> GIC.
>> While the hardware GIC can support up to 1020 interrupt lines,
>> the vGIC is only supporting up to 992 interrupt lines.
>> This means that Xen will not be able to boot on platforms where the 
>> hardware
>> GIC supports more than 992 interrupt lines.
>> While it would make sense to increase the limits in the vGICs, this is 
>> not
>> trivial because of the design choices.
>> At the moment, only models seem to report the maximum of interrupt lines.
>> They also do not have any interrupt wired above the 992 limit.
>> So it should be fine to cap the number of interrupt lines for dom0 to 
>> 992 lines.
>>
>> Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>
> 
> Acked-by: Julien Grall <julien.grall@arm.com>

Now pushed.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-04-08 10:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-05 13:54 [PATCH v2] xen/arm: Cap the number of interrupt lines for dom0 Lukas Juenger
2019-04-05 13:54 ` [Xen-devel] " Lukas Juenger
2019-04-08 10:15 ` Julien Grall
2019-04-08 10:15   ` [Xen-devel] " Julien Grall
2019-04-08 10:24   ` Julien Grall
2019-04-08 10:24     ` [Xen-devel] " Julien Grall

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.