diff options
Diffstat (limited to 'results/classifier/118/device/2886')
| -rw-r--r-- | results/classifier/118/device/2886 | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/results/classifier/118/device/2886 b/results/classifier/118/device/2886 new file mode 100644 index 000000000..c84c04dc1 --- /dev/null +++ b/results/classifier/118/device/2886 @@ -0,0 +1,45 @@ +device: 0.809 +architecture: 0.707 +graphic: 0.649 +boot: 0.634 +performance: 0.577 +kernel: 0.535 +mistranslation: 0.527 +socket: 0.504 +debug: 0.503 +register: 0.493 +network: 0.453 +i386: 0.425 +vnc: 0.422 +semantic: 0.420 +peripherals: 0.407 +hypervisor: 0.405 +PID: 0.404 +permissions: 0.403 +ppc: 0.364 +x86: 0.334 +arm: 0.298 +assembly: 0.252 +risc-v: 0.242 +files: 0.220 +user-level: 0.201 +VMM: 0.196 +TCG: 0.189 +KVM: 0.161 +virtual: 0.160 + +ACPI MADT advertises GITS even when disabled +Description of problem: +As per the command line given above, QEMU shall emulate a GICv4 without GIC Interrupt Translation Service (GITS). + +The following happens: +- ACPI **incorrectly** lists a GITS (type 0xf) structure in the MADT with GITS MMIO Base = 0x8080000 +- The OS reads that structure and interprets it to mean a GITS is present at the given MMIO address +- Subsequent access to GITS MMIO causes a data abort (0x25) because QEMU doesn't emulate a GITS (as requested) + +The bug is thus that QEMU wrongly advertises GITS as present (via the MADT) when it is in fact absent. +Steps to reproduce: +1. Disable GITS emulation by passing `its=off` on the QEMU command line +2. Check if a GITS structure is listed in the ACPI MADT (must be present in ACPI MADT only if GITS is enabled and absent otherwise) +Additional information: +When booting with `its=on` (default), everything works as expected. |