Home | History | Annotate | Download | only in trunks
      1 ======
      2 TRUNKS
      3 ======
      4 
      5 The Trunks TPM Library (TTL) is a set of types and functions used to interface
      6 with a Trusted Platform Module.  It is designed to be light, and does not
      7 comply with the TSS specification.  It is usable in firmware as well as in
      8 user-level code.
      9 
     10 -----------------
     11 TPM SPECIFICATION
     12 -----------------
     13 
     14 See http://www.trustedcomputinggroup.org.  This version of trunks is based on
     15 TPM 2.0 rev 00.99.
     16 
     17 --- Structures ---
     18 generator/raw_structures.txt
     19 generator/raw_structures_fixed.txt
     20 
     21 This file is a direct PDF scrape* of 'Part 2 - Structures'.  The '_fixed'
     22 version includes some manual fixes to make processing easier.
     23 
     24 --- Commands ---
     25 generator/raw_commands.txt
     26 generator/raw_commands_fixed.txt
     27 
     28 This file is a direct PDF scrape* of 'Part 3 - Commands'.  The '_fixed' version
     29 includes some manual fixes to make processing easier.
     30 
     31 ---
     32 *Scraping for this version of trunks used Poppler's pdftotext utility v0.18.4.
     33 
     34 ---------------
     35 CODE GENERATION
     36 ---------------
     37 
     38 generator/extract_structures.sh
     39 
     40 Extracts structured information about types, constants, structures, and unions
     41 from spec/raw_structures_fixed.txt.  The output of this script is intended to be
     42 parsed by generator.py.
     43 
     44 generator/extract_commands.sh
     45 
     46 Extracts structured information about commands from spec/raw_commands_fixed.txt.
     47 The output of this script is intended to be parsed by generator.py.
     48 
     49 generator/generator.py
     50 
     51 Generates C++ serialization and parsing code for TPM commands.  Inputs must be
     52 formatted as by the extract_* scripts.
     53