dev-arm: Add a MMIO transport interface for VirtIO
authorAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 7 Nov 2016 18:21:43 +0000 (18:21 +0000)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Thu, 7 Jun 2018 17:33:30 +0000 (17:33 +0000)
commitc5c71a751676a5adecad8ac43ec85b6c4c66ebf0
treeade68beb4edf155b37285f9c573bb8e763f24d78
parent409fbc653f5177f9f1da91877591a27b27302a3b
dev-arm: Add a MMIO transport interface for VirtIO

The MMIO interface currently only supports a subset of version 0.9.5
of the VirtIO specification. It has the following known limitations:

  * The queue size hint (the QUEUE_NUM register) is ignored.

  * Queue alignment is assumed to be hard-coded to
    VirtQueue::ALIGN_SIZE (4096 bytes).

  * Only 4096 byte pages are currently supported.

Change-Id: Ifd318f5e5bddab0b6a42d8c8af9ff2fbb477f98b
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Rekai Gonzalez Alberquilla <rekai.gonzalezalberquilla@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/2326
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
src/dev/arm/SConscript
src/dev/arm/VirtIOMMIO.py [new file with mode: 0644]
src/dev/arm/vio_mmio.cc [new file with mode: 0644]
src/dev/arm/vio_mmio.hh [new file with mode: 0644]