From: Mohamed Mediouni <mohamed@unpredictable.fr>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Igor Mammedov <imammedo@redhat.com>, Mads Ynddal <mads@ynddal.dk>,
Alexander Graf <agraf@csgraf.de>,
Shannon Zhao <shannon.zhaosl@gmail.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Cameron Esfahani <dirty@apple.com>,
Roman Bolshakov <rbolshakov@ddn.com>,
Phil Dennis-Jordan <phil@philjordan.eu>,
qemu-arm@nongnu.org, Ani Sinha <anisinha@redhat.com>,
Mohamed Mediouni <mohamed@unpredictable.fr>
Subject: [PATCH 3/9] target/arm: hvf: instantiate GIC early
Date: Fri, 25 Jul 2025 10:34:25 +0200 [thread overview]
Message-ID: <20250725083431.91450-4-mohamed@unpredictable.fr> (raw)
In-Reply-To: <20250725083431.91450-1-mohamed@unpredictable.fr>
While figuring out a better spot for it, put it in hv_arch_vm_create().
Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr>
---
target/arm/hvf/hvf.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
index edfd29de75..bb31df90b8 100644
--- a/target/arm/hvf/hvf.c
+++ b/target/arm/hvf/hvf.c
@@ -1001,6 +1001,21 @@ hv_return_t hvf_arch_vm_create(MachineState *ms, uint32_t pa_range)
chosen_ipa_bit_size = pa_range;
ret = hv_vm_create(config);
+ if (hvf_irqchip_in_kernel()) {
+ /*
+ * Instantiate GIC.
+ * This must be done prior to the creation of any vCPU
+ * but past hv_vm_create()
+ */
+ hv_gic_config_t cfg = hv_gic_config_create();
+ hv_gic_config_set_distributor_base(cfg, 0x08000000);
+ hv_gic_config_set_redistributor_base(cfg, 0x080A0000);
+ hv_return_t err = hv_gic_create(cfg);
+ if (err != HV_SUCCESS) {
+ error_report("error creating platform VGIC");
+ goto cleanup;
+ }
+ }
cleanup:
os_release(config);
--
2.39.5 (Apple Git-154)
next prev parent reply other threads:[~2025-07-25 8:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 8:34 [PATCH 0/9] HVF: Add support for platform vGIC and nested virtualisation Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 1/9] target/arm: hvf: stubbing writes to LORC_EL1 Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 2/9] accel, hw/arm, include/system/hvf: plumbing changes for HVF vGIC Mohamed Mediouni
2025-07-25 8:34 ` Mohamed Mediouni [this message]
2025-07-25 8:34 ` [PATCH 4/9] target/arm: add asserts for code paths not leveraged when using the vGIC Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 5/9] hw/intc: Add hvf vGIC interrupt controller support Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 6/9] hw/arm, target/arm: nested virtualisation on HVF Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 7/9] target/arm: hvf: pass through CNTHCTL_EL2 and MDCCINT_EL1 Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 8/9] hw/arm: virt: add GICv2m for the case when ITS is not available Mohamed Mediouni
2025-07-25 8:34 ` [PATCH 9/9] target/arm: hvf: use LOG_UNIMP for CNTP_CVAL_EL0/SYSREG_CNTP_CTL_EL0 Mohamed Mediouni
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=20250725083431.91450-4-mohamed@unpredictable.fr \
--to=mohamed@unpredictable.fr \
--cc=agraf@csgraf.de \
--cc=anisinha@redhat.com \
--cc=dirty@apple.com \
--cc=imammedo@redhat.com \
--cc=mads@ynddal.dk \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=phil@philjordan.eu \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rbolshakov@ddn.com \
--cc=shannon.zhaosl@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).