arm: 0.920 architecture: 0.902 semantic: 0.847 graphic: 0.839 device: 0.767 network: 0.554 performance: 0.534 vnc: 0.488 socket: 0.478 i386: 0.435 kernel: 0.425 risc-v: 0.424 mistranslation: 0.421 debug: 0.416 VMM: 0.392 peripherals: 0.378 register: 0.362 x86: 0.355 ppc: 0.338 PID: 0.335 TCG: 0.325 boot: 0.312 hypervisor: 0.303 assembly: 0.300 KVM: 0.282 files: 0.224 permissions: 0.181 virtual: 0.159 user-level: 0.150 -------------------- arm: 0.999 architecture: 0.376 user-level: 0.128 register: 0.079 hypervisor: 0.066 TCG: 0.047 virtual: 0.032 permissions: 0.019 device: 0.016 debug: 0.014 kernel: 0.014 semantic: 0.013 peripherals: 0.012 files: 0.011 boot: 0.011 PID: 0.010 assembly: 0.007 performance: 0.006 VMM: 0.004 network: 0.003 risc-v: 0.002 vnc: 0.002 socket: 0.002 graphic: 0.002 KVM: 0.001 mistranslation: 0.000 ppc: 0.000 i386: 0.000 x86: 0.000 ARM GICv3 cannot support irq number > 992 Description of problem: If we want to create a gic with supported irq number 992, we need to set the `num-irq` property to 992 + 32 while 32 is the extra SGI number. But there is a problem, when QEMU initialize GICv3, it will check the variable `num_irq <= 1020 && (num_irq & 32) == 0`, which will lead to error abort. So there is no way to bypass the ```num_irq <= 1020``` check and we cannot use irq number bigger than 992 while in ARM GIC specification, irq number < 1020 should all be aviliable to use.