diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-07-20 11:58:06 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-11-08 20:04:53 +0000 |
commit | 20de3bb759a36dbffed10adae2159e376b7cb68c (patch) | |
tree | 8984162e7204528cd5297e5514a4e6deda4536a3 /src/dev/serial.cc | |
parent | 74d3f8a1765869765b542fd91114628a62947ba9 (diff) | |
download | gem5-20de3bb759a36dbffed10adae2159e376b7cb68c.tar.xz |
dev: Move generic serial devices to src/dev/serial
Change-Id: I104227fc460f8b561e7375b329a541c1fce881b2
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/4291
Reviewed-by: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/dev/serial.cc')
-rw-r--r-- | src/dev/serial.cc | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/src/dev/serial.cc b/src/dev/serial.cc deleted file mode 100644 index 68fc94c57..000000000 --- a/src/dev/serial.cc +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2014, 2017 ARM Limited - * All rights reserved - * - * The license below extends only to copyright in the software and shall - * not be construed as granting a license to any other intellectual - * property including but not limited to intellectual property relating - * to a hardware implementation of the functionality of the software - * licensed hereunder. You may use the software subject to the license - * terms below provided that you ensure that this notice is replicated - * unmodified and in its entirety in all distributions of the software, - * modified or unmodified, in source code or in binary form. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Authors: Andreas Sandberg - */ - -#include "dev/serial.hh" - -#include "base/misc.hh" -#include "params/SerialDevice.hh" -#include "params/SerialNullDevice.hh" - -SerialDevice::SerialDevice(const SerialDeviceParams *p) - : SimObject(p), interfaceCallback(nullptr) -{ -} - -SerialDevice::~SerialDevice() -{ -} - -void -SerialDevice::regInterfaceCallback(Callback *c) -{ - // This can happen if the user has connected multiple UARTs to the - // same terminal. In that case, each of them tries to register - // callbacks. - if (interfaceCallback) - fatal("A UART has already been associated with this device.\n"); - interfaceCallback = c; -} - -void -SerialDevice::notifyInterface() -{ - assert(dataAvailable()); - // Registering a callback is optional. - if (interfaceCallback) - interfaceCallback->process(); -} - - - - -SerialNullDevice::SerialNullDevice(const SerialNullDeviceParams *p) - : SerialDevice(p) -{ -} - -uint8_t -SerialNullDevice::readData() -{ - panic("SerialNullDevice does not have pending data.\n"); -} - - - -SerialNullDevice * -SerialNullDeviceParams::create() -{ - return new SerialNullDevice(this); -} |