OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="arm-32-bit-sandbox"> | 3 <b><font color="#cc0000"> |
4 <span id="id1"></span><h1 id="arm-32-bit-sandbox"><span id="id1"></span>ARM 32-b
it Sandbox</h1> | 4 NOTE: |
| 5 Deprecation of the technologies described here has been announced |
| 6 for platforms other than ChromeOS.<br/> |
| 7 Please visit our |
| 8 <a href="/native-client/migration">migration guide</a> |
| 9 for details. |
| 10 </font></b> |
| 11 <hr/><section id="id1"> |
| 12 <h1 id="id1">ARM 32-bit Sandbox</h1> |
5 <p>Native Client for ARM is a sandboxing technology for running | 13 <p>Native Client for ARM is a sandboxing technology for running |
6 programs—even malicious ones—safely, on computers that use 32-bit | 14 programs—even malicious ones—safely, on computers that use 32-bit |
7 ARM processors. The ARM sandbox is an extension of earlier work on | 15 ARM processors. The ARM sandbox is an extension of earlier work on |
8 Native Client for x86 processors. Security is provided with a low | 16 Native Client for x86 processors. Security is provided with a low |
9 performance overhead of about 10% over regular ARM code, and as you’ll | 17 performance overhead of about 10% over regular ARM code, and as you’ll |
10 see in this document the sandbox model is beautifully simple, meaning | 18 see in this document the sandbox model is beautifully simple, meaning |
11 that the trusted codebase is much easier to validate.</p> | 19 that the trusted codebase is much easier to validate.</p> |
12 <p>As an implementation detail, the Native Client 32-bit ARM sandbox is | 20 <p>As an implementation detail, the Native Client 32-bit ARM sandbox is |
13 currently used by Portable Native Client to execute code on 32-bit ARM | 21 currently used by Portable Native Client to execute code on 32-bit ARM |
14 machines in a safe manner. The portable bitcode contained in a <strong>pexe</str
ong> | 22 machines in a safe manner. The portable bitcode contained in a <strong>pexe</str
ong> |
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
778 <h4 id="validator-code">Validator Code</h4> | 786 <h4 id="validator-code">Validator Code</h4> |
779 <p>By now you’re itching to see the sandbox validator’s code and dis
sect | 787 <p>By now you’re itching to see the sandbox validator’s code and dis
sect |
780 it. You’ll have a disapointing read: at less that 500 lines of code | 788 it. You’ll have a disapointing read: at less that 500 lines of code |
781 <a class="reference external" href="http://src.chromium.org/viewvc/native_client
/trunk/src/native_client/src/trusted/validator_arm/validator.cc">validator.cc</a
> | 789 <a class="reference external" href="http://src.chromium.org/viewvc/native_client
/trunk/src/native_client/src/trusted/validator_arm/validator.cc">validator.cc</a
> |
782 is quite simple to understand and much shorter than this document. It’s | 790 is quite simple to understand and much shorter than this document. It’s |
783 of course dependent on the <a class="reference external" href="http://src.chromi
um.org/viewvc/native_client/trunk/src/native_client/src/trusted/validator_arm/ar
mv7.table">ARMv7 instruction table definition</a>, | 791 of course dependent on the <a class="reference external" href="http://src.chromi
um.org/viewvc/native_client/trunk/src/native_client/src/trusted/validator_arm/ar
mv7.table">ARMv7 instruction table definition</a>, |
784 which teaches it about the ARMv7 instruction set.</p> | 792 which teaches it about the ARMv7 instruction set.</p> |
785 </section> | 793 </section> |
786 | 794 |
787 {{/partials.standard_nacl_article}} | 795 {{/partials.standard_nacl_article}} |
OLD | NEW |