# This is the official list of LK Trusty authors for copyright purposes.
# This file is distinct from the CONTRIBUTORS files.
# See the latter for an explanation.

# Names should be added to this file as:
# Name or Organization <email address>
# The email address is not required for organizations.

Google Inc.
NVIDIA CORPORATION.
Travis Geiselbrecht <geist@foobox.com>
Intel Corporation.
