diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/sparc/isa/base.isa | 25 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/unimp.isa | 4 |
2 files changed, 10 insertions, 19 deletions
diff --git a/src/arch/sparc/isa/base.isa b/src/arch/sparc/isa/base.isa index b95ffd69a..9d10e7cc7 100644 --- a/src/arch/sparc/isa/base.isa +++ b/src/arch/sparc/isa/base.isa @@ -560,28 +560,23 @@ output decoder {{ output exec {{ /// Check "FP enabled" machine status bit. Called when executing any FP - /// instruction in full-system mode. + /// instruction. /// @retval Full-system mode: NoFault if FP is enabled, FpDisabled /// if not. Non-full-system mode: always returns NoFault. -#if FULL_SYSTEM - inline Fault + static inline Fault checkFpEnableFault(%(CPU_exec_context)s *xc) { - Fault fault = NoFault; // dummy... this ipr access should not fault - if (xc->readMiscReg(MISCREG_PSTATE) & PSTATE::pef && - xc->readMiscReg(MISCREG_FPRS) & 0x4) { - return NoFault; + if (FULL_SYSTEM) { + if (xc->readMiscReg(MISCREG_PSTATE) & PSTATE::pef && + xc->readMiscReg(MISCREG_FPRS) & 0x4) { + return NoFault; + } else { + return new FpDisabled; + } } else { - return new FpDisabled; + return NoFault; } } -#else - inline Fault - checkFpEnableFault(%(CPU_exec_context)s *xc) - { - return NoFault; - } -#endif }}; diff --git a/src/arch/sparc/isa/formats/unimp.isa b/src/arch/sparc/isa/formats/unimp.isa index a623507a1..927bf9e64 100644 --- a/src/arch/sparc/isa/formats/unimp.isa +++ b/src/arch/sparc/isa/formats/unimp.isa @@ -103,11 +103,7 @@ output decoder {{ WarnUnimplemented::generateDisassembly(Addr pc, const SymbolTable *symtab) const { -#ifdef SS_COMPATIBLE_DISASSEMBLY - return csprintf("%-10s", mnemonic); -#else return csprintf("%-10s (unimplemented)", mnemonic); -#endif } }}; |