Add quick start guides

Adds quick start guides to project docs to cover building and running
tests in PC and FVP environments.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: Iad9a089ffb371fe7a11df11902ecf71c3df6a013
diff --git a/docs/quickstart/index.rst b/docs/quickstart/index.rst
new file mode 100644
index 0000000..73a3660
--- /dev/null
+++ b/docs/quickstart/index.rst
@@ -0,0 +1,18 @@
+Quick Start Guides
+==================
+
+The following quick start guides provide step-by-step instructions for performing common tasks when
+working with the Trusted Services project.
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Contents:
+
+    pc-testing
+    optee-testing
+
+--------------
+
+*Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.*
+
+SPDX-License-Identifier: BSD-3-Clause
diff --git a/docs/quickstart/optee-testing.rst b/docs/quickstart/optee-testing.rst
new file mode 100644
index 0000000..85e2053
--- /dev/null
+++ b/docs/quickstart/optee-testing.rst
@@ -0,0 +1,61 @@
+Build and run tests on OP-TEE reference integration for FVP
+===========================================================
+
+The Linux based build maintained by the OP-TEE project is used as the reference integration for testing
+trusted service deployments on a simulated hardware platform. Service providers deployed within secure partitions
+are tested using test executables that run as user-space programs under Linux. Test cases interact with trusted
+service providers using standard service access protocols, carried by FF-A based messages.
+
+The test executables most often used for service level testing on hardware platforms are:
+
+  - *ts-service-test* - contains a set of service-level end-to-end tests. Discovers and communicates
+    with service providers using libts.
+  - *psa-api-test* - PSA functional API conformance tests (from external project). Also uses libts.
+
+This method uses the makefiles from the ``op-tee/build`` repository.
+
+
+Before you start
+----------------
+
+Before attempting to run tests on the FVP simulation, the OP-TEE reference integration needs to be
+built and run. Read the following guides to understand how to do this:
+
+  - OP-TEE build and run instructions, see:
+    :ref:`Deploying trusted services in S-EL0 Secure Partitions under OP-TEE`
+
+  - Instructions for loading and running user-space programs on FVP:
+    :ref:`Running user-space programs on FVP`
+
+
+Build the linux application binaries
+------------------------------------
+
+From the root directory of the workspace, enter the following to build the test applications::
+
+  make -C build ffa-test-all
+
+
+Run *ts-service-test*
+---------------------
+
+From the root directory of the workspace, enter::
+
+  FVP_PATH=../Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3 make -C build run-only
+
+Once it boots to the login prompt, log in as root and from the FVP terminal, enter::
+
+  cd /mnt/host
+  cp -vat /usr out/ts-install/arm-linux/lib out/ts-install/arm-linux/bin
+  out/linux-arm-ffa-tee/load_module.sh
+  out/linux-arm-ffa-user/load_module.sh
+  ts-service-test -v
+
+Use the same flow for other user-space programs. Check the output of the ``cp`` command executed to see
+executables copied under ``/usr/bin``.
+
+--------------
+
+*Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.*
+
+SPDX-License-Identifier: BSD-3-Clause
diff --git a/docs/quickstart/pc-testing.rst b/docs/quickstart/pc-testing.rst
new file mode 100644
index 0000000..9b887be
--- /dev/null
+++ b/docs/quickstart/pc-testing.rst
@@ -0,0 +1,66 @@
+Build and run PC based tests
+============================
+
+Many components within the Trusted Services project may be built and tested within a native PC environment.
+PC based testing is an important part of the development flow and can provide a straight-forward way to check
+for regressions and debug problems. PC based tests range from small unit tests up to end-to-end service tests.
+All test cases in the Trusted Services project are written for the CppUTest test framework.
+
+The test executables most often used for PC based testing of Trusted Services components are:
+
+  - *component-test* - a PC executable that runs many component level tests.
+  - *ts-service-test* - contains a set of service-level end-to-end tests. For PC build, service providers
+    are included in the libts library.
+  - *psa-api-test* - PSA functional API conformance tests (from external project).
+
+
+Before you start
+----------------
+Before attempting to run any builds, ensure that all necessary tools are installed.  See: :ref:`Software Requirements`
+
+
+Build and run *component-test*
+------------------------------
+
+From the root directory of the checked-out TS project, enter the following::
+
+  cmake -B build-ct -S deployments/component-test/linux-pc
+  make -C build-ct install
+  build-ct/install/linux-pc/bin/component-test -v
+
+
+Build and run *ts-service-test*
+-------------------------------
+
+From the root directory of the checked-out TS project, enter the following::
+
+  cmake -B build-ts -S deployments/ts-service-test/linux-pc
+  make -C build-ts install
+  LD_PRELOAD=build-ts/install/linux-pc/lib/libts.so build-ts/install/linux-pc/bin/ts-service-test -v
+
+Build and run *psa-api-test*
+----------------------------
+Tests for each API are built as separate executables. Test are available for the following APIs::
+
+  crypto
+  initial_attestation
+  internal_trusted_storage
+  protected_storage
+
+To build and run tests for the Crypto API, enter the following (use the same flow for other APIs)::
+
+  cmake -B build-pa deployments/psa-api-test/crypto/linux-pc
+  make -C build-pa install
+  LD_PRELOAD=build-pa/install/linux-pc/lib/libts.so build-pa/install/linux-pc/bin/psa-crypto-api-test
+
+More information
+----------------
+For more information about deployments and building, see: :ref:`Build Instructions`
+
+PSA functional API conformance tests git location: https://github.com/ARM-software/psa-arch-tests.git
+
+--------------
+
+*Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.*
+
+SPDX-License-Identifier: BSD-3-Clause