OLD | NEW |
(Empty) | |
| 1 {{+bindTo:partials.standard_nacl_article}} |
| 2 |
| 3 <section id="design-documents"> |
| 4 <h1 id="design-documents">Design Documents</h1> |
| 5 <p>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).</p> |
| 8 <p>Dynamic loading and linking:</p> |
| 9 <ul class="small-gap"> |
| 10 <li><a class="reference external" href="http://code.google.com/p/nativeclient/wi
ki/DynamicLoadingOptions">Dynamic loading: Options for supporting dynamic loadin
g, and how they interact with dynamic libraries</a> (2010)</li> |
| 11 </ul> |
| 12 <p>Handling faults (hardware exceptions) in untrusted code:</p> |
| 13 <ul class="small-gap"> |
| 14 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1T2KQitbOBz_ALQtr4ONcZcSNCIKNla3DI7t6dMcx5AE/edit">NaCl untrusted faul
t handling: guide to the implementation</a></li> |
| 15 </ul> |
| 16 <p>Sandbox security on Windows:</p> |
| 17 <ul class="small-gap"> |
| 18 <li><a class="reference external" href="https://src.chromium.org/viewvc/native_c
lient/trunk/src/native_client/documentation/windows_ntdll_patch.txt?revision=HEA
D">Native Client’s NTDLL patch on x86-64 Windows</a> (2012)</li> |
| 19 </ul> |
| 20 <p>Debugging using GDB:</p> |
| 21 <ul class="small-gap"> |
| 22 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1OtVmgJFC7X7aa57DnyiL4V10vAVax_vcRJp4Mw86lIU/edit">Providing a GDB deb
ug stub integrated into native_client</a> (2012). This was the main design doc
for NaCl’s GDB debug stub.</li> |
| 23 <li><a class="reference external" href="https://docs.google.com/a/google.com/doc
ument/d/1tu2FEA4EKhBH669iUgRZBDBcEd6jzNQ-0OVn9JI4_qk/edit">Native Client Support
for Debugging, Crash Reporting and Hardware Exception Handling – high lev
el design</a> (Jan 2012)</li> |
| 24 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/19qkl5R4lg-AIDf648Ml-gLRq6eZscjvvdMNWkVu2wLk/edit">NaCl: three kinds o
f crash handling</a> (2012). This is an earlier document. It contains notes on
trusted vs. untrusted crash handling, vs. GDB support.</li> |
| 25 </ul> |
| 26 <p>PNaCl:</p> |
| 27 <ul class="small-gap"> |
| 28 <li><a class="reference external" href="https://docs.google.com/a/google.com/doc
ument/d/1xUlWyXnaRnIUBnmKdOBkgq2O9OqfvaRBLaz82pNdKt0/edit">Stability of the PNaC
l bitcode ABI</a> (2013). This is an overview of ABI stability issues and the f
eatures of LLVM IR that PNaCl is removing.</li> |
| 29 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1HvZJVwS9KeTc0jUvoQjbLapRbStHk3mZ0rPDUHNN96Y/edit">Incrementally simpl
ifying the PNaCl bitcode format</a> (2013)</li> |
| 30 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1Bub1bV_IIDZDhdld-zTULE2Sv0KNbOXk33KOW8o0aR4/edit">SJLJ EH: C++ except
ion handling in PNaCl using setjmp()+longjmp()</a> (2013)</li> |
| 31 </ul> |
| 32 <p>Security hardening:</p> |
| 33 <ul class="small-gap"> |
| 34 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1eskaI4353XdsJQFJLRnZzb_YIESQx4gNRzf31dqXVG8/edit">Hiding PNaCl’
s x86-64 sandbox base address</a> (2013). This was part of the security hardeni
ng we did for enabling PNaCl on the open web.</li> |
| 35 </ul> |
| 36 <p>MIPS support:</p> |
| 37 <ul class="small-gap"> |
| 38 <li><a class="reference external" href="https://code.google.com/p/nativeclient/i
ssues/attachmentText?id=2275&aid=22750018000&name=native-client-mips-0.4
.txt">Design for the NaCl MIPS sandbox</a> (2012)</li> |
| 39 </ul> |
| 40 <p>Cleanup work:</p> |
| 41 <ul class="small-gap"> |
| 42 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1lycqf4yPMC84011yvuyO_50V8c8COQ8dAe5rNvbeB9o/edit">Removing NaCl’
;s dependency on Chromium</a> (2012)</li> |
| 43 </ul> |
| 44 <p>DEPS rolls:</p> |
| 45 <ul class="small-gap"> |
| 46 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1jHoLo9I3CCS1_-4KlIq1OiEMv9cmMuXES2Z9JVpmPtY/edit">Semi-automated NaCl
DEPS rolls: Updates to nacl_revision field in Chromium’s DEPS file</a> (2
013). This is a description of current practice rather than a design doc.</li> |
| 47 </ul> |
| 48 <section id="obsolete-not-implemented"> |
| 49 <h2 id="obsolete-not-implemented">Obsolete (not implemented)</h2> |
| 50 <p>PNaCl multi-threading support: The following proposals do not reflect what w
as implemented in PNaCl in the end. They are listed here for historical referen
ce.</p> |
| 51 <ul class="small-gap"> |
| 52 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1HcRiGOaaPLk7pQrGnjXceoM7Px3IwOjjwdiVvJVQNr4/edit">Multi-threading sup
port for a first release of PNaCl</a> (2013): Proposal for mutex_v2/cond_v2 IRT
interfaces.</li> |
| 53 <li><a class="reference external" href="https://docs.google.com/a/chromium.org/d
ocument/d/1HcRiGOaaPLk7pQrGnjXceoM7Px3IwOjjwdiVvJVQNr4/edit">Explicit vs. implic
it atomicity guarantees in PNaCl</a> (2013): Discussion about how to handle atom
ic memory operations.</li> |
| 54 </ul> |
| 55 </section></section> |
| 56 |
| 57 {{/partials.standard_nacl_article}} |
OLD | NEW |