summary refs log tree commit diff stats
path: root/results/classifier/105/device/1904490
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/105/device/1904490')
-rw-r--r--results/classifier/105/device/190449070
1 files changed, 70 insertions, 0 deletions
diff --git a/results/classifier/105/device/1904490 b/results/classifier/105/device/1904490
new file mode 100644
index 000000000..aa2ad55de
--- /dev/null
+++ b/results/classifier/105/device/1904490
@@ -0,0 +1,70 @@
+device: 0.912
+other: 0.821
+mistranslation: 0.805
+semantic: 0.794
+graphic: 0.791
+instruction: 0.778
+network: 0.718
+socket: 0.570
+assembly: 0.540
+vnc: 0.540
+boot: 0.429
+KVM: 0.404
+
+intel-hda: valid registers are unknown
+
+According to HDA specification, "3.1.2 General Register Behaviors and Access Requirements":
+
+"All controller registers must be addressable as byte, Word, and Dword quantities."
+
+But e.g. if you try the following to reset and enable the CORB, assuming es:esi contains the base MMIO address of the controller,
+
+ es or [esi+4bh], byte 80h   ; reset CORB
+corbresetloop:
+ es test [esi+4bh], byte 80h ; is HW done resetting yet?
+ jnz corbreset1ok            ; yes, bit is now 1
+ hlt                         ; wait a little bit
+ jmp corbresetloop           ; and check again
+corbreset1ok:
+ es and [esi+4bh], byte 7fh  ; clear the bit
+
+It will hang indefinitely because the bit never gets set, and if you enable debug output of the controller with "-device intel-hda,debug=1", you will see infinitely the line "unknown register, addr 0x4b" output. The same code on a real hardware (I tried with ICH7M) works fine, as it should according to the spec.
+
+Host/guest/version does not matter (I am writing own drivers) --- as of right now, latest version still has this code:
+
+https://github.com/qemu/qemu/blob/master/hw/audio/intel-hda.c
+
+which seems to emit "unknown register" message in intel_hda_reg_find(), and this function does not take into account range of addresses that each register occupies.
+
+The QEMU project is currently moving its bug tracking to another system.
+For this we need to know which bugs are still valid and which could be
+closed already. Thus we are setting the bug state to "Incomplete" now.
+
+If the bug has already been fixed in the latest upstream version of QEMU,
+then please close this ticket as "Fix released".
+
+If it is not fixed yet and you think that this bug report here is still
+valid, then you have two options:
+
+1) If you already have an account on gitlab.com, please open a new ticket
+for this problem in our new tracker here:
+
+    https://gitlab.com/qemu-project/qemu/-/issues
+
+and then close this ticket here on Launchpad (or let it expire auto-
+matically after 60 days). Please mention the URL of this bug ticket on
+Launchpad in the new ticket on GitLab.
+
+2) If you don't have an account on gitlab.com and don't intend to get
+one, but still would like to keep this ticket opened, then please switch
+the state back to "New" or "Confirmed" within the next 60 days (other-
+wise it will get closed as "Expired"). We will then eventually migrate
+the ticket automatically to the new system (but you won't be the reporter
+of the bug in the new system and thus you won't get notified on changes
+anymore).
+
+Thank you and sorry for the inconvenience.
+
+
+[Expired for QEMU because there has been no activity for 60 days.]
+