summaryrefslogtreecommitdiff
path: root/dev/uart8250.cc
diff options
context:
space:
mode:
authorMiguel Serrano <mserrano@umich.edu>2005-07-28 11:47:06 -0400
committerMiguel Serrano <mserrano@umich.edu>2005-07-28 11:47:06 -0400
commit6a8ae7a6a040876e697dfa8b837e1ba1bd7e1fd5 (patch)
tree1aba5f9f04e6ed1cf7b8fd48688dcde27ea47146 /dev/uart8250.cc
parent4f2480a18bdf98792e2ebf3471ce7cd3109ef824 (diff)
downloadgem5-6a8ae7a6a040876e697dfa8b837e1ba1bd7e1fd5.tar.xz
ghgfsdf
dev/pciconfigall.cc: removed union. dev/pcidev.cc: . dev/rtcreg.h: more macros to avoid magic numbers. dev/tsunami_io.cc: replaced magic numbers, no more advancing RTC as it isn't reaaly necessary. dev/tsunami_io.hh: removed declarations of things that go unused. dev/uart8250.cc: reading the Interrupt ID register should clear TX interrupt flag. dev/uart8250.hh: useful #defines. kern/freebsd/freebsd_system.cc: kern/freebsd/freebsd_system.hh: nothing. python/m5/objects/Pci.py: new PciFake. --HG-- extra : convert_revision : 88259704f5b215591d1416360180810fcda14d26
Diffstat (limited to 'dev/uart8250.cc')
-rw-r--r--dev/uart8250.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/dev/uart8250.cc b/dev/uart8250.cc
index 99e3bd017..013cbfd00 100644
--- a/dev/uart8250.cc
+++ b/dev/uart8250.cc
@@ -146,10 +146,11 @@ Uart8250::read(MemReqPtr &req, uint8_t *data)
break;
case 0x2: // Intr Identification Register (IIR)
DPRINTF(Uart, "IIR Read, status = %#x\n", (uint32_t)status);
- if (status)
- *(uint8_t*)data = 0;
+ status &= ~TX_INT;
+ if (status & RX_INT)
+ *(uint8_t*)data = IIR_RXID;
else
- *(uint8_t*)data = 1;
+ *(uint8_t*)data = IIR_NOPEND;
break;
case 0x3: // Line Control Register (LCR)
*(uint8_t*)data = LCR;