| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ | 7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ |
| 8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ | 8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ |
| 9 | 9 |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 // This instruction has unpredictable effects at runtime. | 35 // This instruction has unpredictable effects at runtime. |
| 36 UNPREDICTABLE, | 36 UNPREDICTABLE, |
| 37 // This instruction is deprecated in ARMv7. | 37 // This instruction is deprecated in ARMv7. |
| 38 DEPRECATED, | 38 DEPRECATED, |
| 39 | 39 |
| 40 // This instruction is forbidden by our SFI model. | 40 // This instruction is forbidden by our SFI model. |
| 41 FORBIDDEN, | 41 FORBIDDEN, |
| 42 // This instruction's operands are forbidden by our SFI model. | 42 // This instruction's operands are forbidden by our SFI model. |
| 43 FORBIDDEN_OPERANDS, | 43 FORBIDDEN_OPERANDS, |
| 44 | 44 |
| 45 // This instruction was decoded incorrectly, because it should have decoded |
| 46 // as a different instruction. This value should never occur, unless there |
| 47 // is a bug in our decoder tables (in file armv7.table). |
| 48 DECODER_ERROR, |
| 49 |
| 45 // This instruction may be safe in untrusted code: in isolation it contains | 50 // This instruction may be safe in untrusted code: in isolation it contains |
| 46 // nothing scary, but the validator may overrule this during global analysis. | 51 // nothing scary, but the validator may overrule this during global analysis. |
| 47 MAY_BE_SAFE | 52 MAY_BE_SAFE |
| 48 }; | 53 }; |
| 49 | 54 |
| 50 // Returns the safety level associated with i (or UNKNOWN if no such safety | 55 // Returns the safety level associated with i (or UNKNOWN if no such safety |
| 51 // level exists). | 56 // level exists). |
| 52 SafetyLevel Int2SafetyLevel(uint32_t i); | 57 SafetyLevel Int2SafetyLevel(uint32_t i); |
| 53 | 58 |
| 54 // ------------------------------------------------------------------ | 59 // ------------------------------------------------------------------ |
| (...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 733 // Default assumes defs={} | 738 // Default assumes defs={} |
| 734 virtual RegisterList defs(Instruction i) const; | 739 virtual RegisterList defs(Instruction i) const; |
| 735 | 740 |
| 736 private: | 741 private: |
| 737 NACL_DISALLOW_COPY_AND_ASSIGN(CoprocessorOp); | 742 NACL_DISALLOW_COPY_AND_ASSIGN(CoprocessorOp); |
| 738 }; | 743 }; |
| 739 | 744 |
| 740 } // namespace nacl_arm_dec | 745 } // namespace nacl_arm_dec |
| 741 | 746 |
| 742 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ | 747 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_INST_CLASSES_H_ |
| OLD | NEW |