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

Side by Side Diff: src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_detailed.h

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 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
OLDNEW
(Empty)
1 /*
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
4 * found in the LICENSE file.
5 */
6
7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_DETAILE D_H__
8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_DETAILE D_H__
9
10 /*
11 * ncvalidate_details.h: Secondary API for the validator to the segment-based
12 * sandbox.
13 *
14 * This is a secondary interface to the validator for the segment-based sandbox.
15 * This version should be used when details about reporting errors is needed.
16 * In particular, this interface should be used when the validator is run
17 * in verbose or stubout mode. In these cases, getting details right
18 * (i.e. the instruction that causes a code segment to violate NaCl rules)
19 * is important. For verbose mode, this implies that the
20 * error messages will report each instruction that violates a NaCl rule. For
21 * stubout mode, it will automatically stub out (i.e. replace with HALT
22 * instructions) instructions that violate NaCl rules.
23 *
24 * See ncvalidate.h for the primary interface to the segment-based sandbox
25 * NaCl validator.
26 *
27 * This secondary interface is considerbly slower than the primary interface
28 * in that it does 2 walks over the code segment instead of one. However, by
29 * doing this second walk, it can generate more detailed error reports.
30 * The secondary interface is engaged if one calls NCValidateInitDetailed
31 * in place of NCValidateInit. The rest of the interface to the
32 * NaCl validator is the same.
33 *
34 * Basic usage:
35 * if (!NaClArchSuppported()) fail
36 * vstate = NCValidateInitDetailed(base, size, cpu_features)
37 * if vstate == 0 fail
38 * for each section:
39 * NCValidateSegment(maddr, base, size, vstate);
40 * rc = NCValidateFinish();
41 * if rc != 0 fail
42 * NCValidateFreeState(&vstate);
43 *
44 * See the README file in this directory for more info on the general
45 * structure of the validator.
46 */
47
48 #include "native_client/src/trusted/validator/x86/ncval_seg_sfi/ncvalidate.h"
49
50 /*
51 * NCValidateInitDetailed: Initialize NaCl validator internal state. Focus
52 * is on error details rather then performance. Note: The paramters and
53 * return values for this function is the same as NCValidateInit
54 * from the primary interface to the NaCl validator, and replaces it
55 * in the secondary interface.o
56 *
57 * Parameters:
58 * vbase: base virtual address for code segment
59 * codesize: size in bytes of code segment
60 * features: the features supported by the CPU that will run the code
61 * Returns:
62 * an initialized struct NCValidatorState * if everything is okay,
63 * else NULL
64 */
65 struct NCValidatorState *NCValidateInitDetailed(
66 const NaClPcAddress vbase,
67 const NaClMemorySize codesize,
68 const NaClCPUFeaturesX86 *features);
69
70 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_DETA ILED_H__ */
OLDNEW
« no previous file with comments | « src/trusted/validator/x86/ncval_seg_sfi/ncvalidate.c ('k') | src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_detailed.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698