OLD | NEW |
(Empty) | |
| 1 ================ |
| 2 Design Documents |
| 3 ================ |
| 4 |
| 5 This is a list of design documents for Native Client. This list |
| 6 generally covers designs that were implemented. It does not cover |
| 7 PPAPI (Pepper). |
| 8 |
| 9 Dynamic loading and linking: |
| 10 |
| 11 * `Dynamic loading: Options for supporting dynamic loading, and how they interac
t with dynamic libraries <http://code.google.com/p/nativeclient/wiki/DynamicLoad
ingOptions>`_ (2010) |
| 12 |
| 13 Handling faults (hardware exceptions) in untrusted code: |
| 14 |
| 15 * `NaCl untrusted fault handling: guide to the implementation <https://docs.goo
gle.com/a/chromium.org/document/d/1T2KQitbOBz_ALQtr4ONcZcSNCIKNla3DI7t6dMcx5AE/e
dit>`_ |
| 16 |
| 17 Sandbox security on Windows: |
| 18 |
| 19 * `Native Client's NTDLL patch on x86-64 Windows <https://src.chromium.org/viewv
c/native_client/trunk/src/native_client/documentation/windows_ntdll_patch.txt?re
vision=HEAD>`_ (2012) |
| 20 |
| 21 Debugging using GDB: |
| 22 |
| 23 * `Providing a GDB debug stub integrated into native_client <https://docs.google
.com/a/chromium.org/document/d/1OtVmgJFC7X7aa57DnyiL4V10vAVax_vcRJp4Mw86lIU/edit
>`_ (2012). This was the main design doc for NaCl's GDB debug stub. |
| 24 * `Native Client Support for Debugging, Crash Reporting and Hardware Exception H
andling -- high level design <https://docs.google.com/a/google.com/document/d/1t
u2FEA4EKhBH669iUgRZBDBcEd6jzNQ-0OVn9JI4_qk/edit>`_ (Jan 2012) |
| 25 * `NaCl: three kinds of crash handling <https://docs.google.com/a/chromium.org/d
ocument/d/19qkl5R4lg-AIDf648Ml-gLRq6eZscjvvdMNWkVu2wLk/edit>`_ (2012). This is
an earlier document. It contains notes on trusted vs. untrusted crash handling,
vs. GDB support. |
| 26 |
| 27 PNaCl: |
| 28 |
| 29 * `Stability of the PNaCl bitcode ABI <https://docs.google.com/a/google.com/docu
ment/d/1xUlWyXnaRnIUBnmKdOBkgq2O9OqfvaRBLaz82pNdKt0/edit>`_ (2013). This is an
overview of ABI stability issues and the features of LLVM IR that PNaCl is remov
ing. |
| 30 * `Incrementally simplifying the PNaCl bitcode format <https://docs.google.com/a
/chromium.org/document/d/1HvZJVwS9KeTc0jUvoQjbLapRbStHk3mZ0rPDUHNN96Y/edit>`_ (2
013) |
| 31 * `SJLJ EH: C++ exception handling in PNaCl using setjmp()+longjmp() <https://do
cs.google.com/a/chromium.org/document/d/1Bub1bV_IIDZDhdld-zTULE2Sv0KNbOXk33KOW8o
0aR4/edit>`_ (2013) |
| 32 |
| 33 Security hardening: |
| 34 |
| 35 * `Hiding PNaCl's x86-64 sandbox base address <https://docs.google.com/a/chromiu
m.org/document/d/1eskaI4353XdsJQFJLRnZzb_YIESQx4gNRzf31dqXVG8/edit>`_ (2013). T
his was part of the security hardening we did for enabling PNaCl on the open web
. |
| 36 |
| 37 MIPS support: |
| 38 |
| 39 * `Design for the NaCl MIPS sandbox <https://code.google.com/p/nativeclient/issu
es/attachmentText?id=2275&aid=22750018000&name=native-client-mips-0.4.txt>`_ (20
12) |
| 40 |
| 41 Cleanup work: |
| 42 |
| 43 * `Removing NaCl's dependency on Chromium <https://docs.google.com/a/chromium.or
g/document/d/1lycqf4yPMC84011yvuyO_50V8c8COQ8dAe5rNvbeB9o/edit>`_ (2012) |
| 44 |
| 45 DEPS rolls: |
| 46 |
| 47 * `Semi-automated NaCl DEPS rolls: Updates to nacl_revision field in Chromium's
DEPS file <https://docs.google.com/a/chromium.org/document/d/1jHoLo9I3CCS1_-4KlI
q1OiEMv9cmMuXES2Z9JVpmPtY/edit>`_ (2013). This is a description of current prac
tice rather than a design doc. |
| 48 |
| 49 Obsolete (not implemented) |
| 50 ========================== |
| 51 |
| 52 PNaCl multi-threading support: The following proposals do not reflect what was
implemented in PNaCl in the end. They are listed here for historical reference. |
| 53 |
| 54 * `Multi-threading support for a first release of PNaCl <https://docs.google.com
/a/chromium.org/document/d/1HcRiGOaaPLk7pQrGnjXceoM7Px3IwOjjwdiVvJVQNr4/edit>`_
(2013): Proposal for mutex_v2/cond_v2 IRT interfaces. |
| 55 * `Explicit vs. implicit atomicity guarantees in PNaCl <https://docs.google.com/
a/chromium.org/document/d/1HcRiGOaaPLk7pQrGnjXceoM7Px3IwOjjwdiVvJVQNr4/edit>`_ (
2013): Discussion about how to handle atomic memory operations. |
OLD | NEW |