dev: Refactor terminal<->UART interface to make it more generic
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>
Sat, 20 Sep 2014 21:17:50 +0000 (17:17 -0400)
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>
Sat, 20 Sep 2014 21:17:50 +0000 (17:17 -0400)
commit0c5139310d634d6d366f4120d88deef66c9266af
treec86dc547b8eeb36f3e6d78589889e4e2335d7f9f
parent0fa128bbd0a53a3428fa2028b8754e15c9ef7c38
dev: Refactor terminal<->UART interface to make it more generic

The terminal currently assumes that the transport to the guest always
inherits from the Uart class. This assumption breaks when
implementing, for example, a VirtIO consoles. This patch removes this
assumption by adding pointer to the from the terminal to the uart and
replacing it with a more general callback interface. The Uart, or any
other class using the terminal, class implements an instance of the
callbacks class and registers it with the terminal.
src/dev/terminal.cc
src/dev/terminal.hh
src/dev/uart.cc
src/dev/uart.hh