Merge remote-tracking branch 'goog/upstream-master' into the_merge

Doing a merge, because we reverted the previous merge and I
can figure out how to make git/gerrit happy about it.

Changes:

  - Protocol for preshared secret provisioning.
  - Added boot_hash and GetBootInfo().
  - Add NUGGET_PARAM_AP_UART_PASSTHRU to control AP UART
  - keymaster: use enum for boot color
  - keymaster.proto: Add boot_hash to SetBootStateRequest.
  - keymaster.proto: Added SetSystemVersionInfo RPC.
  - Transport: increase datagram retried to 300ms
  - kemaster_defs.proto: Added missing tags.

Bug: b/63388215
Test: It Works For Me(tm)
Change-Id: I0be6bb1677b6afb42172678398bb17b11ea38dd3
tree: e19b3f9cb982f81a7464ccedb8bb8632ea6c1fcf
  1. citadel/
  2. libnos/
  3. libnos_datagram/
  4. libnos_transport/
  5. nugget/
  6. Android.bp
  7. BUILD
  8. LICENSE
  9. METADATA
  10. MODULE_LICENSE_APACHE2
  11. NOTICE
  12. README.md
  13. WORKSPACE
README.md

Generic host components for Nugget

Nugget will be used in different contexts and with different hosts. This repo contains the components that can be shared between those hosts.

nugget

The nugget directory contains items that are shared between the host and the firmware. Those include:

  • shared headers
  • service protos

libnos

libnos is a C++ library for communication with a Nugget device. It offers an interface to manage a connection and exchange data and a generator for RPC stubs based on service protos.

libnos_datagram

libnos_datagram is a C library for exchanging datagrams with a Nugget device. This directory only contains the API of the library as the different platforms will need to implement it differently.

libnos_transport

libnos_transport is a C library for communicating with a Nugget device via the transport API. This is built on top of the libnos_datagram library for exchanging datagrams.