Commit 675aaf05 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

docs: xen-tpmfront.txt: convert it to .rst



In order to be able to add this file to the security book,
we need first to convert it to reST.

While this is not part of any book, mark it as :orphan:, in order
to avoid build warnings.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 2bbbf827
Loading
Loading
Loading
Loading
+60 −47
Original line number Diff line number Diff line
:orphan:

=============================
Virtual TPM interface for Xen
=============================

Authors: Matthew Fioravante (JHUAPL), Daniel De Graaf (NSA)

@@ -6,7 +10,8 @@ This document describes the virtual Trusted Platform Module (vTPM) subsystem for
Xen. The reader is assumed to have familiarity with building and installing Xen,
Linux, and a basic understanding of the TPM and vTPM concepts.

INTRODUCTION
Introduction
------------

The goal of this work is to provide a TPM functionality to a virtual guest
operating system (in Xen terms, a DomU).  This allows programs to interact with
@@ -24,10 +29,10 @@ This mini-os vTPM subsystem was built on top of the previous vTPM work done by
IBM and Intel corporation.


DESIGN OVERVIEW
Design Overview
---------------

The architecture of vTPM is described below:
The architecture of vTPM is described below::

  +------------------+
  |    Linux DomU    | ...
@@ -63,42 +68,50 @@ The architecture of vTPM is described below:
  |   Hardware TPM   |
  +------------------+

 * Linux DomU: The Linux based guest that wants to use a vTPM. There may be
* Linux DomU:
	       The Linux based guest that wants to use a vTPM. There may be
	       more than one of these.

 * xen-tpmfront.ko: Linux kernel virtual TPM frontend driver. This driver
* xen-tpmfront.ko:
		    Linux kernel virtual TPM frontend driver. This driver
                    provides vTPM access to a Linux-based DomU.

 * mini-os/tpmback: Mini-os TPM backend driver. The Linux frontend driver
* mini-os/tpmback:
		    Mini-os TPM backend driver. The Linux frontend driver
		    connects to this backend driver to facilitate communications
		    between the Linux DomU and its vTPM. This driver is also
		    used by vtpmmgr-stubdom to communicate with vtpm-stubdom.

 * vtpm-stubdom: A mini-os stub domain that implements a vTPM. There is a
* vtpm-stubdom:
		 A mini-os stub domain that implements a vTPM. There is a
		 one to one mapping between running vtpm-stubdom instances and
                 logical vtpms on the system. The vTPM Platform Configuration
                 Registers (PCRs) are normally all initialized to zero.

 * mini-os/tpmfront: Mini-os TPM frontend driver. The vTPM mini-os domain
* mini-os/tpmfront:
		     Mini-os TPM frontend driver. The vTPM mini-os domain
		     vtpm-stubdom uses this driver to communicate with
		     vtpmmgr-stubdom. This driver is also used in mini-os
		     domains such as pv-grub that talk to the vTPM domain.

 * vtpmmgr-stubdom: A mini-os domain that implements the vTPM manager. There is
* vtpmmgr-stubdom:
		    A mini-os domain that implements the vTPM manager. There is
		    only one vTPM manager and it should be running during the
		    entire lifetime of the machine.  This domain regulates
		    access to the physical TPM on the system and secures the
		    persistent state of each vTPM.

 * mini-os/tpm_tis: Mini-os TPM version 1.2 TPM Interface Specification (TIS)
* mini-os/tpm_tis:
		    Mini-os TPM version 1.2 TPM Interface Specification (TIS)
                    driver. This driver used by vtpmmgr-stubdom to talk directly to
                    the hardware TPM. Communication is facilitated by mapping
                    hardware memory pages into vtpmmgr-stubdom.

 * Hardware TPM: The physical TPM that is soldered onto the motherboard.
* Hardware TPM:
		The physical TPM that is soldered onto the motherboard.


INTEGRATION WITH XEN
Integration With Xen
--------------------

Support for the vTPM driver was added in Xen using the libxl toolstack in Xen