| Index: src/trusted/validator_mips/validator.h
|
| diff --git a/src/trusted/validator_mips/validator.h b/src/trusted/validator_mips/validator.h
|
| index 85f0236a159c412d0e915b374950e268a48dded1..377a2233f63ff51849a02cf29f824f8084b376f1 100644
|
| --- a/src/trusted/validator_mips/validator.h
|
| +++ b/src/trusted/validator_mips/validator.h
|
| @@ -274,6 +274,14 @@ class DecodedInstruction {
|
| return decoder_->IsLoadStore();
|
| }
|
|
|
| + bool IsLoadWord() const {
|
| + return decoder_->IsLoadWord();
|
| + }
|
| +
|
| + uint32_t GetImm() const {
|
| + return decoder_->GetImm(inst_);
|
| + }
|
| +
|
| bool IsDirectJump() const {
|
| return decoder_->IsDirectJump();
|
| }
|
| @@ -385,6 +393,9 @@ const char * const kProblemBranchSplitsPattern = "kProblemBranchSplitsPattern";
|
| const char * const kProblemBranchInvalidDest = "kProblemBranchInvalidDest";
|
| // A load/store uses an unsafe (non-masked) base address.
|
| const char * const kProblemUnsafeLoadStore = "kProblemUnsafeLoadStore";
|
| +// A thread pointer load/store is unsafe.
|
| +const char * const kProblemUnsafeLoadStoreThreadPointer =
|
| + "kProblemUnsafeLoadStoreThreadPointer";
|
| // An instruction updates a data-address register (e.g. SP) without masking.
|
| const char * const kProblemUnsafeDataWrite = "kProblemUnsafeDataWrite";
|
| // An instruction updates a read-only register (e.g. t6, t7, t8).
|
|
|