summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1760262
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-30 12:24:58 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-06-30 12:27:06 +0000
commit33606b41d35115f887ea688b1a16f2ff85bf2fe4 (patch)
tree406b2c7b19a087ba437c68f3dbf0b589fa1d6150 /results/scraper/launchpad-without-comments/1760262
parentadedf8771bc4de3113041ca21bd4d0d1c0014b6a (diff)
downloademulator-bug-study-33606b41d35115f887ea688b1a16f2ff85bf2fe4.tar.gz
emulator-bug-study-33606b41d35115f887ea688b1a16f2ff85bf2fe4.zip
add launchpad bug reports without comments
Diffstat (limited to 'results/scraper/launchpad-without-comments/1760262')
-rw-r--r--results/scraper/launchpad-without-comments/176026231
1 files changed, 31 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1760262 b/results/scraper/launchpad-without-comments/1760262
new file mode 100644
index 00000000..d59d8b8c
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/1760262
@@ -0,0 +1,31 @@
+cmsdk-apb-uart doesn't appear to clear interrupt flags
+
+I have been writing a small operating system and using QEMU emulating the mps2-an385 board for some of my testing.
+
+During development of the uart driver I observed some odd behaviour with the TX interrupt -- writing a '1' to bit 0 of the INTCLEAR register doesn't clear the TX interrupt flag, and the interrupt fires continuously.
+
+It's possible that I have an error somewhere in my code, but after inspecting the QEMU source it does appear to be a QEMU bug. I applied the following patch and it solved my issue:
+
+From 9875839c144fa60a3772f16ae44d32685f9328aa Mon Sep 17 00:00:00 2001
+From: Patrick Oppenlander <email address hidden>
+Date: Sat, 31 Mar 2018 15:10:28 +1100
+Subject: [PATCH] hw/char/cmsdk-apb-uart: fix clearing of interrupt flags
+
+---
+ hw/char/cmsdk-apb-uart.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/hw/char/cmsdk-apb-uart.c b/hw/char/cmsdk-apb-uart.c
+index 1ad1e14295..64991bd9d7 100644
+--- a/hw/char/cmsdk-apb-uart.c
++++ b/hw/char/cmsdk-apb-uart.c
+@@ -274,6 +274,7 @@ static void uart_write(void *opaque, hwaddr offset, uint64_t value,
+          * is then reflected into the intstatus value by the update function).
+          */
+         s->state &= ~(value & (R_INTSTATUS_TXO_MASK | R_INTSTATUS_RXO_MASK));
++        s->intstatus &= ~(value & ~(R_INTSTATUS_TXO_MASK | R_INTSTATUS_RXO_MASK));
+         cmsdk_apb_uart_update(s);
+         break;
+     case A_BAUDDIV:
+-- 
+2.16.2
\ No newline at end of file