diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-10-15 23:57:06 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-10-15 23:57:06 -0700 |
commit | ab9f062166085c9750eeee2318c25efeb2ec5948 (patch) | |
tree | 21cb1f2f3d4ec4d64574516e1335e6697321c07f /src/arch/arm | |
parent | b197a542b4e572d1e2df149642850fb9189c86c7 (diff) | |
download | gem5-ab9f062166085c9750eeee2318c25efeb2ec5948.tar.xz |
GetArgument: Rework getArgument so that X86_FS compiles again.
When no size is specified for an argument, push the decision about what size
to use into the ISA by passing a size of -1.
Diffstat (limited to 'src/arch/arm')
-rw-r--r-- | src/arch/arm/utility.cc | 7 | ||||
-rw-r--r-- | src/arch/arm/utility.hh | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc index 9672c5136..7609b3991 100644 --- a/src/arch/arm/utility.cc +++ b/src/arch/arm/utility.cc @@ -39,6 +39,7 @@ #include "arch/arm/faults.hh" +#include "arch/arm/isa_traits.hh" #include "arch/arm/utility.hh" #include "cpu/thread_context.hh" @@ -61,8 +62,12 @@ initCPU(ThreadContext *tc, int cpuId) reset->invoke(tc); } -uint64_t getArgument(ThreadContext *tc, int &number, uint8_t size, bool fp) { +uint64_t +getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp) +{ #if FULL_SYSTEM + if (size == (uint16_t)(-1)) + size = ArmISA::MachineBytes; if (fp) panic("getArgument(): Floating point arguments not implemented\n"); diff --git a/src/arch/arm/utility.hh b/src/arch/arm/utility.hh index 21c0a9c04..571a74ef8 100644 --- a/src/arch/arm/utility.hh +++ b/src/arch/arm/utility.hh @@ -156,7 +156,7 @@ namespace ArmISA { return !cpacr.asedis && vfpEnabled(cpacr, cpsr, fpexc); } -uint64_t getArgument(ThreadContext *tc, int &number, uint8_t size, bool fp); +uint64_t getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp); Fault setCp15Register(uint32_t &Rd, int CRn, int opc1, int CRm, int opc2); Fault readCp15Register(uint32_t &Rd, int CRn, int opc1, int CRm, int opc2); |