summaryrefslogtreecommitdiff
path: root/src/arch/arm/utility.cc
diff options
context:
space:
mode:
authorAli Saidi <Ali.Saidi@ARM.com>2010-08-25 19:10:43 -0500
committerAli Saidi <Ali.Saidi@ARM.com>2010-08-25 19:10:43 -0500
commitc0b54f579ccccd805ccc1f0b2c41b0b10899eecd (patch)
tree468355a62988a12682596237da5a9f9bc598dcd4 /src/arch/arm/utility.cc
parente1168e72ca8ae370a1989220a202347980c6a4d2 (diff)
downloadgem5-c0b54f579ccccd805ccc1f0b2c41b0b10899eecd.tar.xz
ARM: Limited implementation of dprintk.
Does not work with vfp arguments or arguments passed on the stack.
Diffstat (limited to 'src/arch/arm/utility.cc')
-rw-r--r--src/arch/arm/utility.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc
index cecd459f3..3e574ccaf 100644
--- a/src/arch/arm/utility.cc
+++ b/src/arch/arm/utility.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009 ARM Limited
+ * Copyright (c) 2009-2010 ARM Limited
* All rights reserved.
*
* The license below extends only to copyright in the software and shall
@@ -59,7 +59,16 @@ initCPU(ThreadContext *tc, int cpuId)
uint64_t getArgument(ThreadContext *tc, int number, bool fp) {
#if FULL_SYSTEM
- panic("getArgument() not implemented for ARM!\n");
+ if (number < NumArgumentRegs) {
+ if (fp)
+ panic("getArgument(): Floating point arguments not implemented\n");
+ else
+ return tc->readIntReg(number);
+ }
+ else {
+ panic("getArgument(): Argument index %d beyond max supported (%d).\n",
+ number, NumArgumentRegs - 1);
+ }
#else
panic("getArgument() only implemented for FULL_SYSTEM\n");
M5_DUMMY_RETURN