summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2016-05-04 16:24:12 +0000
committerbz <bz@FreeBSD.org>2016-05-04 16:24:12 +0000
commitba335e3838d1bf62c741921f83dc804c87441293 (patch)
tree021935d34ff84552d1cafebd4c30044ad06495ba /sys/arm
parent64ae5d371f0ee7f0b0d74b0784b299d3bd90c1b7 (diff)
downloadFreeBSD-src-ba335e3838d1bf62c741921f83dc804c87441293.zip
FreeBSD-src-ba335e3838d1bf62c741921f83dc804c87441293.tar.gz
While gem5 is not qemu, we treat it as "simulators" or "virtual environments".
Add the needed hardcoded gem5 attachments for the UART there, re-using all the other bits. In collaboration with: andrew Sponsored by: DARPA/AFRL Reviewed by: andrew MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D6204
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/qemu/virt_machdep.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/arm/qemu/virt_machdep.c b/sys/arm/qemu/virt_machdep.c
index 95cc225..d15b97c 100644
--- a/sys/arm/qemu/virt_machdep.c
+++ b/sys/arm/qemu/virt_machdep.c
@@ -97,3 +97,20 @@ static platform_method_t virt_methods[] = {
};
FDT_PLATFORM_DEF(virt, "virt", 0, "linux,dummy-virt", 1);
+
+static int
+gem5_devmap_init(platform_t plat)
+{
+
+ devmap_add_entry(0x1c090000, 0x100000); /* Uart */
+ return (0);
+}
+
+static platform_method_t gem5_methods[] = {
+ PLATFORMMETHOD(platform_devmap_init, gem5_devmap_init),
+ PLATFORMMETHOD(platform_lastaddr, virt_lastaddr),
+
+ PLATFORMMETHOD_END,
+};
+
+FDT_PLATFORM_DEF(gem5, "gem5", 0, "arm,vexpress", 1);
OpenPOWER on IntegriCloud