From a06f1e2de790d7f11a3ba8c4177dcdab7c69850c Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Thu, 8 Aug 2024 17:15:28 +0200 Subject: executor: arm64: sys/linux: add SYZOS_API_IRQ_SETUP Implement basic IRQ controller setup for VMs with a single CPU. SYZOS_API_IRQ_SETUP sets up the VGICv3 distributor/redistributor and enables the specified number of SPIs starting from 32. The default IRQ handler is set up to perform a uexit(-2). --- sys/linux/dev_kvm.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/dev_kvm.txt b/sys/linux/dev_kvm.txt index 1375c2c6a..af41eed55 100644 --- a/sys/linux/dev_kvm.txt +++ b/sys/linux/dev_kvm.txt @@ -276,6 +276,11 @@ syzos_api_smccc { arg_params array[int64, 5] } +syzos_api_irq_setup { + nr_cpus int32[0:4] + nr_spis int32[0:987] +} + type syzos_api[NUM, PAYLOAD] { call const[NUM, int64] size bytesize[parent, int64] @@ -283,11 +288,12 @@ type syzos_api[NUM, PAYLOAD] { } syzos_api_call [ - uexit syzos_api[0, intptr] - code syzos_api[1, syzos_api_code] - msr syzos_api[2, syzos_api_msr] - smc syzos_api[3, syzos_api_smccc] - hvc syzos_api[4, syzos_api_smccc] + uexit syzos_api[0, intptr] + code syzos_api[1, syzos_api_code] + msr syzos_api[2, syzos_api_msr] + smc syzos_api[3, syzos_api_smccc] + hvc syzos_api[4, syzos_api_smccc] + irq_setup syzos_api[5, syzos_api_irq_setup] ] [varlen] kvm_text_ppc64 { -- cgit mrf-deployment