| OLD | NEW |
| (Empty) |
| 1 This directory tests the x86-32 instruction decoder and instruction | |
| 2 validator. It does so using (human readable) text files. | |
| 3 | |
| 4 Note: The .dis files correspond to using the (new) 32-bit full | |
| 5 decoder. By looking at the corresponding outputs, it is clear that the | |
| 6 full decoder needs work. See | |
| 7 http://code.google.com/p/nativeclient/issues/detail?id=2171 for | |
| 8 corresponding issue that has already been filed. | |
| 9 | |
| 10 For a test FOO, the following files are defined: | |
| 11 | |
| 12 FOO.hex | |
| 13 | |
| 14 Textual file defining the sequence of hexidecimal bytes in the code | |
| 15 segment for testing. Comments on what the code segment is intended | |
| 16 to test are at the top of the file, and begin with a pound (#) | |
| 17 symbol. | |
| 18 | |
| 19 By default, the starting program counter is at 0. If you want it at | |
| 20 a different place, make the first non-comment line of the form | |
| 21 '@XXX' where XXX should be used as the starting program counter. | |
| 22 | |
| 23 FOO.dis | |
| 24 | |
| 25 Output generated by the full instruction decoder for the | |
| 26 corresponding FOO.hex file. | |
| 27 | |
| 28 Note: This file is generated by running: | |
| 29 | |
| 30 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 31 --full_decoder --hex_text=- < FOO.hex | |
| 32 | |
| 33 FOO.vdis | |
| 34 | |
| 35 Output generated by the corresponding (x86-32) validator | |
| 36 instruction decoder for the corresponding FOO.hex file. | |
| 37 | |
| 38 Note: This file is generated by running: | |
| 39 | |
| 40 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 41 --validator_decoder --hex_text=- < FOO.hex | |
| 42 | |
| 43 FOO.nval | |
| 44 | |
| 45 Output generated by the x86-32 (segment based) validator for the | |
| 46 corresponding FOO.hex file. Jump errors are summarized as in | |
| 47 sel_ldr. | |
| 48 | |
| 49 Note: This file is generated by running: | |
| 50 | |
| 51 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 52 --hex_text=- --max_errors=-1 --detailed=false \ | |
| 53 --alignment=32 --cpuid-all < FOO.hex | |
| 54 | |
| 55 FOO.nval16 | |
| 56 | |
| 57 Output generated by the x86-32 (segment based) validator for the | |
| 58 corresponding FOO.hex file. Assumes that the block size is 16 bytes | |
| 59 instead of 32. Jump errors are summarized as in sel_ldr. | |
| 60 | |
| 61 Note: This file is generated by running: | |
| 62 | |
| 63 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 64 --hex_text=- --max_errors=-1 --detailed=false \ | |
| 65 --alignment=16 --cpuid-all < FOO.hex | |
| 66 | |
| 67 FOO.nvals | |
| 68 | |
| 69 Output generated by the x86-32 (segment based) validator for the | |
| 70 corresponding FOO.hex file. Adds summary information. Jump errors | |
| 71 are summarized as in sel_ldr. | |
| 72 | |
| 73 Note: This file is generated by running: | |
| 74 | |
| 75 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 76 --hex_text=- --max_errors=-1 --stats \ | |
| 77 --alignment=32 --detailed=false --cpuid-all < FOO.hex | |
| 78 | |
| 79 FOO.nvals16 | |
| 80 | |
| 81 Output generated by the x86-32 (segment based) validator for the | |
| 82 corresponding FOO.hex file. Adds summary information, as well as | |
| 83 assume that the block size is 16 bytes instead of 32. Jump errors | |
| 84 are summarized as in sel_ldr. | |
| 85 | |
| 86 Note: This file is generated by running: | |
| 87 | |
| 88 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 89 --hex_text=- --max_errors=-1 --stats \ | |
| 90 --alignment=16 --detailed=false --cpuid-all < FOO.hex | |
| 91 | |
| 92 FOO.nvald | |
| 93 | |
| 94 Output generated by the x86-32 (segment based) validator for the | |
| 95 corresponding FOO.hex file. Jump errors are detailed, describing | |
| 96 each (individual) jump instruction that violates the jump criteria | |
| 97 of native client. | |
| 98 | |
| 99 Note: This file is generated by running: | |
| 100 | |
| 101 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 102 --hex_text=- --max_errors=-1 --alignment=32 \ | |
| 103 --detailed --cpuid-all < FOO.hex | |
| 104 | |
| 105 FOO.nvald16 | |
| 106 | |
| 107 Output generated by the x86-32 (segment based) validator for the | |
| 108 corresponding FOO.hex file. Assumes that the block size is 16 bytes | |
| 109 instead of 32. Jump errors are detailed, describing each | |
| 110 (individual) jump instruction that violates the jump criteria of | |
| 111 native client. | |
| 112 | |
| 113 Note: This file is generated by running: | |
| 114 | |
| 115 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 116 --hex_text=- --max_errors=-1 --alignment=16 \ | |
| 117 --detailed --cpuid-all < FOO.hex | |
| 118 | |
| 119 FOO.nvals | |
| 120 | |
| 121 Output generated by the x86-32 (segment based) validator for the | |
| 122 corresponding FOO.hex file. Adds summary information. Jump errors | |
| 123 are detailed. | |
| 124 | |
| 125 Note: This file is generated by running: | |
| 126 | |
| 127 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 128 --hex_text=- --max_errors=-1 --stats --alignment=32 \ | |
| 129 --detailed --cpuid--all < FOO.hex | |
| 130 | |
| 131 FOO.nvals16 | |
| 132 | |
| 133 Output generated by the x86-32 (segment based) validator for the | |
| 134 corresponding FOO.hex file. Adds summary information, as well as | |
| 135 assume that the block size is 16 bytes instead of 32. Jump errors | |
| 136 are detailed, describing each (individual) jump instruction that | |
| 137 violates the jump criteria of native client. | |
| 138 | |
| 139 Note: This file is generated by running: | |
| 140 | |
| 141 > scons-out/.../obj/src/trusted/validator_x86/ncval \ | |
| 142 --hex_text=- --max_errors=-1 --stats --alignment=16 \ | |
| 143 --detailed --cpuid-all < FOO.hex | |
| 144 | |
| 145 FOO.nexe | |
| 146 | |
| 147 Run the installed instruction decoder and validator on the | |
| 148 predefined compiled NACL executable FOO.nexe. | |
| 149 | |
| 150 In addition, the following non-unit tests are run: | |
| 151 | |
| 152 ncdis_FOO.input | |
| 153 | |
| 154 Self documenting file for the instruction decoder, assuming ncdis | |
| 155 was run on each instruction specified in the input file. It is | |
| 156 based on using the full decoder. | |
| 157 | |
| 158 Note: This input matches the generated output (i.e. self | |
| 159 documenting) by running: | |
| 160 | |
| 161 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 162 --self_document --full_decoder --commands=- \ | |
| 163 < ncdis_FOO.input | |
| 164 | |
| 165 ncdis_FOO.vinput | |
| 166 | |
| 167 Self documenting file for the instruction decoder, assuming ncdis | |
| 168 was run on each insruction specified in the input file. It is based | |
| 169 on the validator decoder. | |
| 170 | |
| 171 Note: This input matches the generated output (i.e. self | |
| 172 documenting) by running: | |
| 173 | |
| 174 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 175 --self_document --validator_decoder --commands=- | |
| 176 < ncdis_FOO.vinput | |
| 177 | |
| 178 ncdis_FOO.internal | |
| 179 | |
| 180 Output generated by the instruction decoder, generated from the | |
| 181 input file ncdis_FOO.input. After each printed instruction, the | |
| 182 internal form of the matched instruction, and the corresponding | |
| 183 expression tree is also printed. | |
| 184 | |
| 185 Uses the full decoder of ncdis to decode the instruction. | |
| 186 | |
| 187 Note: This file is generated by running: | |
| 188 | |
| 189 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 190 --internal --full_decoder --commands=- \ | |
| 191 < ncdis_iter_test.input | |
| 192 | |
| 193 ncdis_FOO.vinternal | |
| 194 | |
| 195 Output generated by the instruction decoder, generated from the | |
| 196 input file ncdis_FOO.input. | |
| 197 | |
| 198 Uses the validator decoder of ncdis to decode the instruction. | |
| 199 | |
| 200 Note: This file is generated by running: | |
| 201 | |
| 202 > scons-out/.../obj/src/trusted/validator_x86/ncdis \ | |
| 203 --internal --validator_decoder --commands=- \ | |
| 204 < ncdis_FOO.input | |
| 205 | |
| 206 modeled_insts.txt | |
| 207 | |
| 208 Automatically generated text describing the instruction set that | |
| 209 the full decoder understands. | |
| 210 | |
| 211 Note: This file is generated by running: | |
| 212 | |
| 213 > scons-out/.../obj/src/trusted/validator_x86/ncdecode_tablegen \ | |
| 214 -m32 -documentation | |
| 215 | |
| OLD | NEW |