aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin/dv-bfin_uart2.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-05-09 18:14:01 +0000
committerMike Frysinger <vapier@gentoo.org>2011-05-09 18:14:01 +0000
commitb44f3f638ee28cb2e77d1768edbb7eeda01ffc61 (patch)
tree5606c2b111d2b5ff841c7d523923ba8a00db84fe /sim/bfin/dv-bfin_uart2.c
parent91c1f14cb61e83f86b103d25a4104efc064d2b3b (diff)
downloadgdb-b44f3f638ee28cb2e77d1768edbb7eeda01ffc61.zip
gdb-b44f3f638ee28cb2e77d1768edbb7eeda01ffc61.tar.gz
gdb-b44f3f638ee28cb2e77d1768edbb7eeda01ffc61.tar.bz2
sim: bfin: fix UART LSR read-only bit saturation
A few bits in the newer UART LSR register are not sticky, so make sure we clear them when returning updated status rather than leaving them always set. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sim/bfin/dv-bfin_uart2.c')
-rw-r--r--sim/bfin/dv-bfin_uart2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sim/bfin/dv-bfin_uart2.c b/sim/bfin/dv-bfin_uart2.c
index facde1c..179574d 100644
--- a/sim/bfin/dv-bfin_uart2.c
+++ b/sim/bfin/dv-bfin_uart2.c
@@ -151,6 +151,7 @@ bfin_uart_io_read_buffer (struct hw *me, void *dest,
bfin_uart_reschedule (me);
break;
case mmr_offset(lsr):
+ uart->lsr &= ~(DR | THRE | TEMT);
uart->lsr |= bfin_uart_get_status (me);
case mmr_offset(thr):
case mmr_offset(msr):