summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_riscv/host_missing/accel_missing/2763
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:35:14 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:35:14 +0200
commit3e4c5a6261770bced301b5e74233e7866166ea5b (patch)
tree9379fddaba693ef8a045da06efee8529baa5f6f4 /gitlab/issues_text/target_riscv/host_missing/accel_missing/2763
parente5634e2806195bee44407853c4bf8776f7abfa4f (diff)
downloadqemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.tar.gz
qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.zip
clean up repository
Diffstat (limited to 'gitlab/issues_text/target_riscv/host_missing/accel_missing/2763')
-rw-r--r--gitlab/issues_text/target_riscv/host_missing/accel_missing/276324
1 files changed, 0 insertions, 24 deletions
diff --git a/gitlab/issues_text/target_riscv/host_missing/accel_missing/2763 b/gitlab/issues_text/target_riscv/host_missing/accel_missing/2763
deleted file mode 100644
index 99f463f5f..000000000
--- a/gitlab/issues_text/target_riscv/host_missing/accel_missing/2763
+++ /dev/null
@@ -1,24 +0,0 @@
-RISC-V APLIC emulation: interrupt pending state of direct-delivery level-triggered interrupts is wrong after masking
-Description of problem:
-According to the APLIC specification, the interrupt pending state of a level-triggered interrupt in direct delivery mode should always match the (rectified) input signal:
-
-> When an interrupt domain is in direct delivery mode, the pending bit for a level-sensitive source is always just a copy of the rectified input value.
-
-(From Section 4.7 "Precise effects on interrupt-pending bits" of the specification. See also the more detailed paragraph starting with "If the 
- source mode is Level1 or Level0 and the interrupt domain is configured in direct delivery mode [...]".)
-
-However, **this is not true in Qemu's emulation**. In particular, in some situations, **a level-triggered interrupt in direct delivery mode can be raised even though the rectified input signal is off**.
-Steps to reproduce:
-1. Set `-machine virt,acpi=off,aia=aplic` to use AIA without IMSIC.
-2. Program APLIC to direct delivery. Program some level triggered interrupt (e.g., an interrupt of a PCIe ECAM controller).
-4. Wait until the IRQ is raised by a device (i.e., `claimi` returns the IRQ).
-5. Mask the interrupt by writing to `clrie`.
-6. Clear the interrupt at the device level.
-7. The state of Qemu's APLIC registers is now:
-   ```
-   Rectified input = 0 (correct)
-   Pending = 1 (incorrect)
-   topi = 0 (correct)
-   ```
-
-Furthermore, if `setie` is written to unmask the IRQ in this situation, the IRQ is raised (in `topi` / `claimi`) despite the signal being off.