summaryrefslogtreecommitdiff
path: root/src/arch/arm/utility.cc
diff options
context:
space:
mode:
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