summaryrefslogtreecommitdiff
path: root/src/dev/uart.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/uart.hh')
-rw-r--r--src/dev/uart.hh19
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__