diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dev/virtio/VirtIO.py | 8 | ||||
-rw-r--r-- | src/dev/virtio/base.cc | 15 | ||||
-rw-r--r-- | src/dev/virtio/base.hh | 14 |
3 files changed, 33 insertions, 4 deletions
diff --git a/src/dev/virtio/VirtIO.py b/src/dev/virtio/VirtIO.py index 1345c7603..bf050fd47 100644 --- a/src/dev/virtio/VirtIO.py +++ b/src/dev/virtio/VirtIO.py @@ -1,6 +1,6 @@ # -*- mode:python -*- -# Copyright (c) 2014 ARM Limited +# Copyright (c) 2014, 2016 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -53,11 +53,15 @@ class VirtIODeviceBase(SimObject): system = Param.System(Parent.any, "system object") +class VirtIODummyDevice(VirtIODeviceBase): + type = 'VirtIODummyDevice' + cxx_header = 'dev/virtio/base.hh' + class PciVirtIO(PciDevice): type = 'PciVirtIO' cxx_header = 'dev/virtio/pci.hh' - vio = Param.VirtIODeviceBase("VirtIO device") + vio = Param.VirtIODeviceBase(VirtIODummyDevice(), "VirtIO device") VendorID = 0x1AF4 SubsystemVendorID = VendorID; diff --git a/src/dev/virtio/base.cc b/src/dev/virtio/base.cc index f098784d0..61dd3069f 100644 --- a/src/dev/virtio/base.cc +++ b/src/dev/virtio/base.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 ARM Limited + * Copyright (c) 2014, 2016 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -41,6 +41,7 @@ #include "debug/VIO.hh" #include "params/VirtIODeviceBase.hh" +#include "params/VirtIODummyDevice.hh" VirtDescriptor::VirtDescriptor(PortProxy &_memProxy, VirtQueue &_queue, Index descIndex) @@ -477,3 +478,15 @@ VirtIODeviceBase::registerQueue(VirtQueue &queue) { _queues.push_back(&queue); } + + +VirtIODummyDevice::VirtIODummyDevice(VirtIODummyDeviceParams *params) + : VirtIODeviceBase(params, ID_INVALID, 0, 0) +{ +} + +VirtIODummyDevice * +VirtIODummyDeviceParams::create() +{ + return new VirtIODummyDevice(this); +} diff --git a/src/dev/virtio/base.hh b/src/dev/virtio/base.hh index 4d4c16536..89c281f21 100644 --- a/src/dev/virtio/base.hh +++ b/src/dev/virtio/base.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 ARM Limited + * Copyright (c) 2014, 2016 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -48,6 +48,8 @@ #include "sim/sim_object.hh" struct VirtIODeviceBaseParams; +struct VirtIODummyDeviceParams; + class VirtQueue; /** @{ @@ -875,4 +877,14 @@ class VirtIODeviceBase : public SimObject Callback *transKick; }; +class VirtIODummyDevice : public VirtIODeviceBase +{ + public: + VirtIODummyDevice(VirtIODummyDeviceParams *params); + + protected: + /** VirtIO device ID */ + static const DeviceId ID_INVALID = 0x00; +}; + #endif // __DEV_VIRTIO_BASE_HH__ |