diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-05-26 18:48:11 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-05-26 18:48:11 -0400 |
commit | fffae72b451088e385168ba432d82b0b0d44d2cc (patch) | |
tree | b946b890fd57489d114ddb07da668bf51c33aff2 /dev/tsunami_uart.hh | |
parent | f0d45c797c40b91b7021699f0aa202d06015a94e (diff) | |
download | gem5-fffae72b451088e385168ba432d82b0b0d44d2cc.tar.xz |
Fixed serial support in 2.6 (too much work for...)
Removed bootloader and just wrote command line into linux kernel
base/inifile.cc:
the forked process should not return, it should exit.
dev/tsunami_uart.cc:
dev/tsunami_uart.hh:
The serial port in reality has some delay and linux expects it. This
schedules an interrupt 300 cycles after the transmit instead of
immediately
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
removed boot loader and stuck boot command line in the kernel manually
--HG--
extra : convert_revision : 68aa54f8ca4e8391789f7a4c1ae227e6f8b94e13
Diffstat (limited to 'dev/tsunami_uart.hh')
-rw-r--r-- | dev/tsunami_uart.hh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dev/tsunami_uart.hh b/dev/tsunami_uart.hh index d57b255ae..84e415067 100644 --- a/dev/tsunami_uart.hh +++ b/dev/tsunami_uart.hh @@ -48,6 +48,7 @@ class TsunamiUart : public PioDevice Addr addr; static const Addr size = 0x8; + protected: SimConsole *cons; int status_store; @@ -55,6 +56,19 @@ class TsunamiUart : public PioDevice bool valid_char; uint8_t IER; + class IntrEvent : public Event + { + protected: + TsunamiUart *uart; + public: + IntrEvent(TsunamiUart *u); + virtual void process(); + virtual const char *description(); + void scheduleIntr(); + }; + + IntrEvent intrEvent; + public: TsunamiUart(const string &name, SimConsole *c, MemoryController *mmu, Addr a, HierParams *hier, Bus *bus); |