diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-03-24 13:56:14 +0000 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2018-06-07 17:33:30 +0000 |
commit | 6f84c91c74245a53ec1ab5a8ec325ee9d2bd1487 (patch) | |
tree | 486212f7a0cf69cc258643aab6e1e4354100b5d7 /src | |
parent | c5c71a751676a5adecad8ac43ec85b6c4c66ebf0 (diff) | |
download | gem5-6f84c91c74245a53ec1ab5a8ec325ee9d2bd1487.tar.xz |
dev-arm: Add a VirtIO MMIO device to VExpress_GEM5_V1
Add an ARM-specific VirtIO MMIO device to the VExpress_GEM5_V1
platform.
Change-Id: Id1e75398e039aad9d637f46f653cda9084d3d2fe
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Sudhanshu Jha <sudhanshu.jha@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/2327
Diffstat (limited to 'src')
-rw-r--r-- | src/dev/arm/RealView.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py index 308de18af..104c87736 100644 --- a/src/dev/arm/RealView.py +++ b/src/dev/arm/RealView.py @@ -63,6 +63,7 @@ from SubSystem import SubSystem from Graphics import ImageFormat from ClockedObject import ClockedObject from PS2 import * +from VirtIOMMIO import MmioVirtIO # Platforms with KVM support should generally use in-kernel GIC # emulation. Use a GIC model that automatically switches between @@ -1045,6 +1046,8 @@ Memory map: 0x1c0a0000-0x1c0affff: UART1 (reserved) 0x1c0b0000-0x1c0bffff: UART2 (reserved) 0x1c0c0000-0x1c0cffff: UART3 (reserved) + 0x1c130000-0x1c13ffff: VirtIO (gem5/FM extension) + 0x1c140000-0x1c14ffff: VirtIO (gem5/FM extension) 0x1c170000-0x1c17ffff: RTC 0x20000000-0x3fffffff: On-chip peripherals: @@ -1089,6 +1092,8 @@ Interrupts: 48 : Reserved (USB) 95-255: On-chip interrupt sources (we use these for gem5-specific devices, SPIs) + 74 : VirtIO (gem5/FM extension) + 75 : VirtIO (gem5/FM extension) 95 : HDLCD 96- 98: GPU (reserved) 100-103: PCI @@ -1154,6 +1159,12 @@ Interrupts: energy_ctrl = EnergyCtrl(pio_addr=0x10000000) + vio = [ + MmioVirtIO(pio_addr=0x1c130000, pio_size=0x1000, + interrupt=ArmSPI(num=74)), + MmioVirtIO(pio_addr=0x1c140000, pio_size=0x1000, + interrupt=ArmSPI(num=75)), + ] def _off_chip_devices(self): return [ @@ -1165,6 +1176,8 @@ Interrupts: self.pci_host, self.energy_ctrl, self.clock24MHz, + self.vio[0], + self.vio[1], ] def attachPciDevice(self, device, *args, **kwargs): |