diff options
Diffstat (limited to 'src/dev/uart.hh')
-rw-r--r-- | src/dev/uart.hh | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/dev/uart.hh b/src/dev/uart.hh index f0ae0854c..f5d5e2855 100644 --- a/src/dev/uart.hh +++ b/src/dev/uart.hh @@ -37,6 +37,7 @@ #include "base/range.hh" #include "dev/io_device.hh" +#include "params/Uart.hh" class SimConsole; class Platform; @@ -44,7 +45,6 @@ class Platform; const int RX_INT = 0x1; const int TX_INT = 0x2; - class Uart : public BasicPioDevice { @@ -54,28 +54,25 @@ class Uart : public BasicPioDevice SimConsole *cons; public: - struct Params : public BasicPioDevice::Params - { - SimConsole *cons; - }; + typedef UartParams Params; + Uart(const Params *p); - Uart(Params *p); + const Params * + params() const + { + return dynamic_cast<const Params *>(_params); + } /** * Inform the uart that there is data available. */ virtual void dataAvailable() = 0; - /** * Return if we have an interrupt pending * @return interrupt status */ bool intStatus() { return status ? true : false; } - - protected: - const Params *params() const {return (const Params *)_params; } - }; #endif // __UART_HH__ |