diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-07-20 11:36:55 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-11-08 10:47:25 +0000 |
commit | 74d3f8a1765869765b542fd91114628a62947ba9 (patch) | |
tree | 201e1094159c565b1ae8f1b1f7b2a6f32abad4f4 /src/dev/serial.hh | |
parent | d6c204c67d42a3cea9d603888ec52a8d8dacf1a3 (diff) | |
download | gem5-74d3f8a1765869765b542fd91114628a62947ba9.tar.xz |
dev: Add a dummy serial device
Add a dummy serial device that discards any output and doesn't provide
any input. This device can be used to terminate UARTs that don't have
a default device (e.g., a terminal) attached.
Change-Id: I4a6b0b5037ce360f59bfb5c566e1698d113a1d26
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/4290
Reviewed-by: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/dev/serial.hh')
-rw-r--r-- | src/dev/serial.hh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/dev/serial.hh b/src/dev/serial.hh index 4ea2f5ea8..230ecaa74 100644 --- a/src/dev/serial.hh +++ b/src/dev/serial.hh @@ -44,6 +44,7 @@ #include "sim/sim_object.hh" struct SerialDeviceParams; +struct SerialNullDeviceParams; /** * Base class for serial devices such as terminals. @@ -140,4 +141,18 @@ class SerialDevice : public SimObject Callback *interfaceCallback; }; +/** + * Dummy serial device that discards all data sent to it. + */ +class SerialNullDevice : public SerialDevice +{ + public: + SerialNullDevice(const SerialNullDeviceParams *p); + + public: + bool dataAvailable() const override { return false; } + void writeData(uint8_t c) override {}; + uint8_t readData() override; +}; + #endif // __DEV_SERIAL_HH__ |