Send a crash report when a hung process is detected.
[chromium-blink-merge.git] / native_client_sdk / src / doc / reference / sandbox_internals / index.rst
blobb8bd1dabef5e54d3f9c81135c51c433306b2f730
1 .. _sandbox-internals-index:
3 #################
4 Sandbox Internals
5 #################
7 The sandbox internals documentation describes implementation details for
8 Native Client sandboxing, which is also used by Portable Native
9 Client. These details can be useful to reimplement a sandbox, or to
10 write assembly code that follows sandboxing rules for Native Client
11 (Portable Native Client does not allow platform-specific assembly code).
13 As an implementation detail, the Native Client sandboxes described here
14 are currently used by Portable Native Client to execute code on the
15 corresponding machines in a safe manner. The portable bitcode contained
16 in a **pexe** is translated to a machine-specific **nexe** before
17 execution. This may change at a point in time: Portable Native Client
18 doesn't necessarily need these sandboxes to execute code on these
19 machines. Note that the Portable Native Client compiler itself is also
20 untrusted: it too runs in a Native Client sandbox described below.
22 Native Client has sandboxes for:
24 * :ref:`ARM 32-bit <arm-32-bit-sandbox>`.
25 * x86-32: the original design is described in `Native Client: A Sandbox
26   for Portable, Untrusted x86 Native Code
27   <http://research.google.com/pubs/archive/34913.pdf>`_, the current
28   design has changed slightly since then.
29 * :ref:`x86-64 <x86-64-sandbox>`.
30 * MIPS32, described in the `overview of Native Client for MIPS
31   <https://code.google.com/p/nativeclient/issues/attachmentText?id=2275&aid=22750018000&name=native-client-mips-0.4.txt>`_,
32   and `bug 2275
33   <https://code.google.com/p/nativeclient/issues/detail?id=2275>`_.