summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2016-12-02 16:51:18 +0000
committerAndreas Sandberg <andreas.sandberg@arm.com>2017-05-09 10:09:58 +0000
commit212a71e99e113b0b8ddf2d92516fae362a2c7489 (patch)
treebb23e5e9c0b2b1cbe482f7823641b4d7b4292d81
parent3b698e91f1be86f5abaad3b118b2ea4335d106be (diff)
downloadgem5-212a71e99e113b0b8ddf2d92516fae362a2c7489.tar.xz
util, arm: Support mmapped m5ops on aarch64
Add support for memory-mapped m5ops in the aarch64 version of the m5 utility. To enable support for memory-mapped m5ops, compile the tool with the define M5OP_ADDR set to the base of the m5op PA range. Change-Id: I13e21e48536b9849bf4081411b66b2f350f7a8ac Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2966
-rw-r--r--util/m5/m5op_arm_A64.S13
1 files changed, 12 insertions, 1 deletions
diff --git a/util/m5/m5op_arm_A64.S b/util/m5/m5op_arm_A64.S
index b69530db3..f17c803d0 100644
--- a/util/m5/m5op_arm_A64.S
+++ b/util/m5/m5op_arm_A64.S
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013, 2016 ARM Limited
+ * Copyright (c) 2010-2013, 2016-2017 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -45,12 +45,23 @@
#include "m5ops.h"
+#ifdef M5OP_ADDR
+.macro m5op_func, name, func, subfunc
+ .globl \name
+ \name:
+ ldr x9, m5_mem
+ movz x10, #((\func << 8) | \subfunc)
+ ldr x0, [ x9, x10 ]
+ ret
+.endm
+#else
.macro m5op_func, name, func, subfunc
.globl \name
\name:
.long 0xff000110 | (\func << 16) | (\subfunc << 12)
ret
.endm
+#endif
.text
#define M5OP(name, func, subfunc) m5op_func name, func, subfunc