diff options
Diffstat (limited to 'firmware/README')
-rw-r--r-- | firmware/README | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/firmware/README b/firmware/README index ac35e93b..754edf1b 100644 --- a/firmware/README +++ b/firmware/README @@ -1,8 +1,43 @@ -arch/ is stuff that defines the architecture-dependent information (only used in -firmware build mode). -lib/ is stuff that the BIOS needs to link with. +Here's what's what in the firmware/ directory. -stub/ is stuff to be implemented by the BIOS. +include/ +lib/ -include/ describes the interfaces between the two parts. + These are the original structures and APIs used in the earliest + Chromebooks and continuing through 2014. It never had a version as such to + begin with, but we now refer to this implementation as "vboot1" or + "vboot version 1.0". + +linktest/ +stub/ + + These are stubs used to link the vboot1 libraries into host-side test + executables so we can run some tests on the build machine instead of a + Chromebook. + +2lib/ + + In 2014 we began work on a new vboot API. The first step was just a + refactoring and renaming of the verification API. The public functions and + external headers that are exported for use by the Chrome OS firmware (or + anything else that wants to use vboot) live in here. The internal + structures and implementations go elsewhere. + +lib20/ + + This is an early implementation of the public (2lib/) API. It is + binary-compatible with vboot1, so although the interface details are + different, any existing on-device structures or signatures created by the + vboot1 tools can be validated using this implementation. + + This was deployed slightly before it was ready. That's not a problem, + thanks to the binary compatibility, but this directory will be abandoned + Real Soon Now, except for the product support branches. + +lib21/ + + This is where the current development of the second-generation vboot API + is taking place. It uses the public (2lib/) API, but will NOT be binary + compatible with vboot1 structs. Because of the early release of the lib20 + stuff, we're actually calling this lib21. |