[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 18/25] xen/riscv: introduce (de)initialization helpers for vINTC
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- Date: Wed, 1 Jul 2026 12:52:36 +0200
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
- Cc: Romain Caritey <Romain.Caritey@xxxxxxxxxxxxx>, Baptiste Le Duc <baptiste.le-duc@xxxxxxxxxx>, Alistair Francis <alistair.francis@xxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Wed, 01 Jul 2026 10:52:46 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 6/29/26 5:07 PM, Jan Beulich wrote:
On 26.06.2026 17:46, Oleksii Kurochko wrote:
Add common helpers domain_vintc_init() and domain_vintc_deinit() to
allocate and deallocate a virtual interrupt controller (vINTC)
structure and initialize basic virtual interrupt controller registers.
domain_vintc_deinit() isn't called at the moment as arch_domain_destroy()
is implemented as stub at the moment.
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
Thanks.
with one more suggestion:
@@ -83,3 +84,37 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
return vintc->init_ops->make_domu_dt_node(kinfo);
}
+
+int domain_vintc_init(struct domain *d)
+{
+ int ret = -EOPNOTSUPP;
+ const enum intc_variant variant = intc_hw_ops->info->hw_variant;
+
+ switch ( variant )
+ {
+ case INTC_APLIC:
+ ret = domain_vaplic_init(d);
+ break;
+
+ default:
+ printk("vintc (variant:%d) isn't implemented\n", variant);
printk_once() maybe?
It makes sense. I will apply your suggestions.
~ Oleksii
|