Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: src/trusted/validator_mips/ncvalidate.cc

Issue 1234393005: A mechanism to identify/forbid/"rewrite" non-temporal instructions (and other) (Closed) Base URL: https://chromium.googlesource.com/native_client/src/native_client.git@master
Patch Set: Fixing nits Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "native_client/src/trusted/validator_mips/ncvalidate.h" 7 #include "native_client/src/trusted/validator_mips/ncvalidate.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "native_client/src/include/nacl_string.h" 11 #include "native_client/src/include/nacl_string.h"
12 #include "native_client/src/include/portability.h" 12 #include "native_client/src/include/portability.h"
13 #include "native_client/src/shared/platform/nacl_check.h"
13 #include "native_client/src/shared/utils/types.h" 14 #include "native_client/src/shared/utils/types.h"
14 #include "native_client/src/trusted/service_runtime/arch/mips/sel_ldr_mips.h" 15 #include "native_client/src/trusted/service_runtime/arch/mips/sel_ldr_mips.h"
15 #include "native_client/src/trusted/cpu_features/arch/mips/cpu_mips.h" 16 #include "native_client/src/trusted/cpu_features/arch/mips/cpu_mips.h"
16 #include "native_client/src/trusted/validator/validation_cache.h" 17 #include "native_client/src/trusted/validator/validation_cache.h"
17 #include "native_client/src/trusted/validator_mips/model.h" 18 #include "native_client/src/trusted/validator_mips/model.h"
18 #include "native_client/src/trusted/validator_mips/validator.h" 19 #include "native_client/src/trusted/validator_mips/validator.h"
19 20
20 using nacl_mips_val::SfiValidator; 21 using nacl_mips_val::SfiValidator;
21 using nacl_mips_val::CodeSegment; 22 using nacl_mips_val::CodeSegment;
22 using nacl_mips_dec::Register; 23 using nacl_mips_dec::Register;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 if (!success) return 2; 111 if (!success) return 2;
111 112
112 return 0; 113 return 0;
113 } 114 }
114 115
115 static NaClValidationStatus ApplyValidatorMips( 116 static NaClValidationStatus ApplyValidatorMips(
116 uintptr_t guest_addr, 117 uintptr_t guest_addr,
117 uint8_t *data, 118 uint8_t *data,
118 size_t size, 119 size_t size,
119 int stubout_mode, 120 int stubout_mode,
121 uint32_t flags,
120 int readonly_text, 122 int readonly_text,
121 const NaClCPUFeatures *cpu_features, 123 const NaClCPUFeatures *cpu_features,
122 const struct NaClValidationMetadata *metadata, 124 const struct NaClValidationMetadata *metadata,
123 struct NaClValidationCache *cache) { 125 struct NaClValidationCache *cache) {
126 CHECK((flags & MIPS_VALIDATION_FLAGS_MASK) == 0);
124 void *query = NULL; 127 void *query = NULL;
125 const NaClCPUFeaturesMips *features = 128 const NaClCPUFeaturesMips *features =
126 (const NaClCPUFeaturesMips *) cpu_features; 129 (const NaClCPUFeaturesMips *) cpu_features;
127 NaClValidationStatus status = NaClValidationFailedNotImplemented; 130 NaClValidationStatus status = NaClValidationFailedNotImplemented;
128 131
129 /* Don't cache in stubout mode. */ 132 /* Don't cache in stubout mode. */
130 if (stubout_mode) 133 if (stubout_mode)
131 cache = NULL; 134 cache = NULL;
132 135
133 /* If the validation caching interface is available, perform a query. */ 136 /* If the validation caching interface is available, perform a query. */
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 */ 241 */
239 int NaClCopyInstruction(uint8_t *dst, uint8_t *src, uint8_t sz) { 242 int NaClCopyInstruction(uint8_t *dst, uint8_t *src, uint8_t sz) {
240 UNREFERENCED_PARAMETER(dst); 243 UNREFERENCED_PARAMETER(dst);
241 UNREFERENCED_PARAMETER(src); 244 UNREFERENCED_PARAMETER(src);
242 UNREFERENCED_PARAMETER(sz); 245 UNREFERENCED_PARAMETER(sz);
243 246
244 return 0; 247 return 0;
245 } 248 }
246 249
247 EXTERN_C_END 250 EXTERN_C_END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698