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 #include <climits> | 7 #include <climits> |
8 #include <limits> | 8 #include <limits> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 return 0; | 137 return 0; |
138 } | 138 } |
139 | 139 |
140 static NaClValidationStatus ApplyValidatorArm( | 140 static NaClValidationStatus ApplyValidatorArm( |
141 uintptr_t guest_addr, | 141 uintptr_t guest_addr, |
142 uint8_t *data, | 142 uint8_t *data, |
143 size_t size, | 143 size_t size, |
144 int stubout_mode, | 144 int stubout_mode, |
145 int readonly_text, | 145 int readonly_text, |
146 const NaClCPUFeatures *cpu_features, | 146 const NaClCPUFeatures *cpu_features, |
| 147 const struct NaClValidationMetadata *metadata, |
147 struct NaClValidationCache *cache) { | 148 struct NaClValidationCache *cache) { |
148 /* The ARM validator is currently unsafe w.r.t. caching. */ | 149 /* The ARM validator is currently unsafe w.r.t. caching. */ |
| 150 UNREFERENCED_PARAMETER(metadata); |
149 UNREFERENCED_PARAMETER(cache); | 151 UNREFERENCED_PARAMETER(cache); |
150 CheckAddressAlignAndOverflow((uint8_t *) guest_addr, size); | 152 CheckAddressAlignAndOverflow((uint8_t *) guest_addr, size); |
151 CheckAddressOverflow(data, size); | 153 CheckAddressOverflow(data, size); |
152 CheckAddressOverflow(data, size); | 154 CheckAddressOverflow(data, size); |
153 | 155 |
154 if (stubout_mode) | 156 if (stubout_mode) |
155 return NaClValidationFailedNotImplemented; | 157 return NaClValidationFailedNotImplemented; |
156 if (readonly_text) | 158 if (readonly_text) |
157 return NaClValidationFailedNotImplemented; | 159 return NaClValidationFailedNotImplemented; |
158 | 160 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 // so is their mix (single instruction update is atomic). | 193 // so is their mix (single instruction update is atomic). |
192 // We just have to make sure that unintended fallthrough doesn't | 194 // We just have to make sure that unintended fallthrough doesn't |
193 // happen, and we don't change position of guard instructions. | 195 // happen, and we don't change position of guard instructions. |
194 // Problem is that code is mapped for execution at different address | 196 // Problem is that code is mapped for execution at different address |
195 // that one we use here, and ARM usually use virtually indexed caches, | 197 // that one we use here, and ARM usually use virtually indexed caches, |
196 // so we couldn't invalidate correctly anyway. | 198 // so we couldn't invalidate correctly anyway. |
197 return 0; | 199 return 0; |
198 } | 200 } |
199 | 201 |
200 EXTERN_C_END | 202 EXTERN_C_END |
OLD | NEW |