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

Unified Diff: src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_internaltypes.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 side-by-side diff with in-line comments
Download patch
Index: src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_internaltypes.h
diff --git a/src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_internaltypes.h b/src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_internaltypes.h
deleted file mode 100644
index 40bc2374d516d36ee3822f5811a42ed65cc89cac..0000000000000000000000000000000000000000
--- a/src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_internaltypes.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2012 The Native Client Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_INTERNALTYPES_H__
-#define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_INTERNALTYPES_H__
-
-/*
- * ncvalidate_internaltypes.h
- * Declarations intimate to ncvalidate.h, exposed for testing and other files
- * that define the validator.
- *
- */
-#include "native_client/src/trusted/cpu_features/arch/x86/cpu_x86.h"
-#include "native_client/src/trusted/validator/x86/ncval_seg_sfi/ncdecode.h"
-
-/* statistics */
-typedef struct SummaryStats {
- /* these are just information */
- uint32_t instructions;
- uint32_t checktarget;
- uint32_t targetindirect;
- uint32_t segments;
- /* the following indicate safety defects */
- uint32_t badtarget;
- uint32_t unsafeindirect;
- uint32_t returns;
- uint32_t illegalinst;
- uint32_t badalignment;
- uint32_t segfaults;
- uint32_t badprefix;
- uint32_t badinstlength;
- uint32_t internalerrors;
- int didstubout; /* boolean */
- int sawfailure; /* boolean */
-} SummaryStats;
-
-/* We track instructions in a three-entry circular buffer,
- * allowing us to see the two previous instructions and to
- * check the safe call sequence. I rounded up to
- * four so we can use a mask, even though we only need to
- * remember three instructions.
- * This is #defined rather than const int because it is used
- * as an array dimension
- */
-#define kNCValidatorInstBufferSize 4
-
-/* Defines a jump summarization function. When in sel_ldr, this will
- * be the minimal code needed to detect issues. When in ncval, this
- * will expend more effort and generate more readable error messages.
- */
-typedef void (*NCValidateJumpSummarizeFn)(struct NCValidatorState* vstate);
-
-/* put all formerly global data into a struct */
-typedef struct NCValidatorState {
- /* NOTE: Decoder state (dstate) must appear first so that we can use it like
- * C++ inheritance, where a pointer to a validator state will be the
- * same as a pointer to a decoder state.
- */
- NCDecoderState dstate;
- NCDecoderInst inst_buffer[kNCValidatorInstBufferSize];
- NaClCPUFeaturesX86 cpufeatures; /* from CPUID bit masks; see cpu_x86.c */
- NaClPcAddress iadrbase;
- NaClMemorySize codesize;
- uint8_t bundle_size;
- uint32_t bundle_mask;
- SummaryStats stats;
- uint32_t opcodehisto[256];
- uint8_t *vttable;
- uint8_t *kttable;
- /* If non-null, then in detailed mode. Keeps track of addresses
- * to instructions in the middle of a NaCl (atomic) pattern.
- * This allows detailed mode to give better error messages (i.e.
- * whether the jump isn't to an instruction boundary,
- * or if the jump is into the middle of a nacl pattern).
- */
- uint8_t *pattern_nonfirst_insts_table;
- int do_stub_out; /* boolean */
- int readonly_text; /* boolean */
- int num_diagnostics; /* How many error messages to print. */
- /* Defines the summarization function to apply. Defaults to
- * NCSelLDrJumpSummarizeFn, which is the summarize function
- * for sel_ldr (i.e. non-detailed).
- */
- NCValidateJumpSummarizeFn summarize_fn;
-} NCValidatorState;
-
-/* The following macro is used to clarify the derived class relationship
- * of NCValidateState and NCDecoderState. That is, &this->dstate is also
- * an instance of a validator state. Hence one can downcast this pointer.
- */
-#define NCVALIDATOR_STATE_DOWNCAST(this_dstate) \
- ((NCValidatorState*) (this_dstate))
-
-/* Masks used to access bits within a byte. */
-extern const uint8_t nc_iadrmasks[8];
-
-/* Converts address to corresponding byte in jump table. */
-#define NCIATOffset(__IA) ((__IA) >> 3)
-
-/* Gets mask for bit associated with corresponding byte in jump table. */
-#define NCIATMask(__IA) (nc_iadrmasks[(__IA) & 0x7])
-
-/* Sets bit __IOFF in jump table __TABLE. */
-#define NCSetAdrTable(__IOFF, __TABLE) \
- (__TABLE)[NCIATOffset(__IOFF)] |= NCIATMask(__IOFF)
-
-/* Clears bit __IOFF in jump table __TABLE. */
-#define NCClearAdrTable(__IOFF, __TABLE) \
- (__TABLE)[NCIATOffset(__IOFF)] &= ~(NCIATMask(__IOFF))
-
-/* Gets bit __IOFF in jump table __TABLE. */
-#define NCGetAdrTable(__IOFF, __TABLE) \
- ((__TABLE)[NCIATOffset(__IOFF)] & NCIATMask(__IOFF))
-
-/* Report that the given instruction is illegal in native client, using
- * the given error message.
- */
-void NCBadInstructionError(const struct NCDecoderInst *dinst, const char *msg);
-
-/* Update statistics to show that another bad jump target was found. */
-void NCStatsBadTarget(struct NCValidatorState *vstate);
-
-/* Update statistics to show that another bad address alignment issues has been
- * found.
- */
-void NCStatsBadAlignment(struct NCValidatorState *vstate);
-
-/* Update statistics to show that some (unexpected) internal error occurred
- * while running the validator.
- */
-void NCStatsInternalError(struct NCValidatorState *vstate);
-
-/* Provide a partial-validation operation, checking a single instruction
- * but ignoring inter-instruction considerations, useful for validator
- * testing.
- */
-Bool UnsafePartialValidateInst(const NCDecoderInst *dinst);
-
-#endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCVALIDATE_INTERNALTYPES_H__ */
« no previous file with comments | « src/trusted/validator/x86/ncval_seg_sfi/ncvalidate_detailed.c ('k') | src/trusted/validator/x86/testing/enuminsts/README.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698