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

Side by Side Diff: src/trusted/validator/ncvalidate.h

Issue 9535001: Add validation caching interface. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: More edits Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « src/trusted/validator/build.scons ('k') | src/trusted/validator/validation_cache.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__ 7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__
8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__ 8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__
9 9
10 /* Defines the API to the native client validation code. 10 /* Defines the API to the native client validation code.
(...skipping 12 matching lines...) Expand all
23 * Hence, for example, NACL_SUBARCH_NAME(ApplyValidator, x86, 64) 23 * Hence, for example, NACL_SUBARCH_NAME(ApplyValidator, x86, 64)
24 * would generate the function name NaCL_ApplyValidator_x86_64. 24 * would generate the function name NaCL_ApplyValidator_x86_64.
25 */ 25 */
26 26
27 #include "native_client/src/include/nacl_base.h" 27 #include "native_client/src/include/nacl_base.h"
28 #include "native_client/src/shared/utils/types.h" 28 #include "native_client/src/shared/utils/types.h"
29 #include "native_client/src/trusted/validator/cpufeatures.h" 29 #include "native_client/src/trusted/validator/cpufeatures.h"
30 30
31 EXTERN_C_BEGIN 31 EXTERN_C_BEGIN
32 32
33 struct NaClValidationCache;
34
33 /* Defines the API to select the validator kind. 35 /* Defines the API to select the validator kind.
34 * So far only the ARM architecture has a non-default validator kind 36 * So far only the ARM architecture has a non-default validator kind
35 * 37 *
36 * NaClSBKind can be architecture specific, but requries more 38 * NaClSBKind can be architecture specific, but requries more
37 * scaffolding. So it is probably not worth while to split up the flag. 39 * scaffolding. So it is probably not worth while to split up the flag.
38 */ 40 */
39 enum NaClSBKind { 41 enum NaClSBKind {
40 NACL_SB_DEFAULT = 0, 42 NACL_SB_DEFAULT = 0,
41 NACL_SB_ARM_THUMB2 = 1 43 NACL_SB_ARM_THUMB2 = 1
42 }; 44 };
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 */ 105 */
104 extern NaClValidationStatus NACL_SUBARCH_NAME(ApplyValidator, 106 extern NaClValidationStatus NACL_SUBARCH_NAME(ApplyValidator,
105 NACL_TARGET_ARCH, 107 NACL_TARGET_ARCH,
106 NACL_TARGET_SUBARCH)( 108 NACL_TARGET_SUBARCH)(
107 enum NaClSBKind sb_kind, 109 enum NaClSBKind sb_kind,
108 NaClApplyValidationKind kind, 110 NaClApplyValidationKind kind,
109 uintptr_t guest_addr, 111 uintptr_t guest_addr,
110 uint8_t *data, 112 uint8_t *data,
111 size_t size, 113 size_t size,
112 int bundle_size, 114 int bundle_size,
113 NaClCPUFeatures *cpu_features); 115 NaClCPUFeatures *cpu_features,
116 struct NaClValidationCache *cache);
114 117
115 /* Applies the validator, as used in a command-line tool to report issues. 118 /* Applies the validator, as used in a command-line tool to report issues.
116 * Note: This is intentionally separated from ApplyValidator, since it need 119 * Note: This is intentionally separated from ApplyValidator, since it need
117 * not be performance critical. 120 * not be performance critical.
118 * Parameters are: 121 * Parameters are:
119 * kind - The way the validator should be applied. 122 * kind - The way the validator should be applied.
120 * local_cpu: True if local cpu rules should be applied. 123 * local_cpu: True if local cpu rules should be applied.
121 * Otherwise, assume no cpu specific rules. 124 * Otherwise, assume no cpu specific rules.
122 * guest_addr - The virtual pc to assume with the beginning address of the 125 * guest_addr - The virtual pc to assume with the beginning address of the
123 * code segment. Typically, this is the corresponding addresss that 126 * code segment. Typically, this is the corresponding addresss that
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 uintptr_t guest_addr, 190 uintptr_t guest_addr,
188 uint8_t *data_old, 191 uint8_t *data_old,
189 uint8_t *data_new, 192 uint8_t *data_new,
190 size_t size, 193 size_t size,
191 int bundle_size, 194 int bundle_size,
192 NaClCPUFeatures *cpu_features); 195 NaClCPUFeatures *cpu_features);
193 196
194 EXTERN_C_END 197 EXTERN_C_END
195 198
196 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__ */ 199 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVALIDATE_H__ */
OLDNEW
« no previous file with comments | « src/trusted/validator/build.scons ('k') | src/trusted/validator/validation_cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698