Create Table of Content links in markdown files

Fixes arm-software/tf-issues#276
diff --git a/docs/cpu-specific-build-macros.md b/docs/cpu-specific-build-macros.md
index 246381a..b913f5f 100644
--- a/docs/cpu-specific-build-macros.md
+++ b/docs/cpu-specific-build-macros.md
@@ -4,9 +4,10 @@
 Contents
 --------
 
-1.  Introduction
-2.  CPU Errata Workarounds
-3.  CPU Specific optimizations
+1.  [Introduction](#1--introduction)
+2.  [CPU Errata Workarounds](#2--cpu-errata-workarounds)
+3.  [CPU Specific optimizations](#3--cpu-specific-optimizations)
+
 
 1.  Introduction
 ----------------
diff --git a/docs/firmware-design.md b/docs/firmware-design.md
index bc075da..5b7d70a 100644
--- a/docs/firmware-design.md
+++ b/docs/firmware-design.md
@@ -3,17 +3,17 @@
 
 Contents :
 
-1.  Introduction
-2.  Cold boot
-3.  EL3 runtime services framework
-4.  Power State Coordination Interface
-5.  Secure-EL1 Payloads and Dispatchers
-6.  Crash Reporting in BL3-1
-7.  CPU specific operations framework
-8.  Memory layout of BL images
-9.  Firmware Image Package (FIP)
-10.  Code Structure
-11.  References
+1.  [Introduction](#1--introduction)
+2.  [Cold boot](#2--cold-boot)
+3.  [EL3 runtime services framework](#3--el3-runtime-services-framework)
+4.  [Power State Coordination Interface](#4--power-state-coordination-interface)
+5.  [Secure-EL1 Payloads and Dispatchers](#5--secure-el1-payloads-and-dispatchers)
+6.  [Crash Reporting in BL3-1](#6--crash-reporting-in-bl3-1)
+7.  [CPU specific operations framework](#7--cpu-specific-operations-framework)
+8.  [Memory layout of BL images](#8-memory-layout-of-bl-images)
+9.  [Firmware Image Package (FIP)](#9--firmware-image-package-fip)
+10. [Code Structure](#10--code-structure)
+11. [References](#11--references)
 
 
 1.  Introduction
diff --git a/docs/interrupt-framework-design.md b/docs/interrupt-framework-design.md
index d620f3b..ff001b1 100644
--- a/docs/interrupt-framework-design.md
+++ b/docs/interrupt-framework-design.md
@@ -3,37 +3,37 @@
 
 Contents :
 
-1.  Introduction
-    *    Assumptions
-    *    Concepts
-         -    Interrupt Types
-         -    Routing Model
-         -    Valid Routing Models
-              +    Secure-EL1 Interrupts
-              +    Non-secure Interrupts
-         -    Mapping of Interrupt Type to Signal
+1.  [Introduction](#1-introduction)
+    *   [Assumptions](#11-assumptions)
+    *   [Concepts](#12-concepts)
+        -   [Interrupt Types](#121-interrupt-types)
+        -   [Routing Model](#122-routing-model)
+        -   [Valid Routing Models](#123-valid-routing-models)
+            +   [Secure-EL1 Interrupts](#1231-secure-el1-interrupts)
+            +   [Non-secure Interrupts](#1232-non-secure-interrupts)
+        -   [Mapping of Interrupt Type to Signal](#124-mapping-of-interrupt-type-to-signal)
 
-2.  Interrupt Management
-    *    Software Components
-    *    Interrupt Registration
-         -    EL3 Runtime Firmware
-         -    Secure Payload Dispatcher
-              +    Test Secure Payload Dispatcher behavior
-         -    Secure Payload
-              +    Secure Payload IHF design w.r.t Secure-EL1 interrupts
-              +    Secure Payload IHF design w.r.t Non-secure interrupts
-              +    Test Secure Payload behavior
-    *    Interrupt Handling
-         -    EL3 Runtime Firmware
-         -    Secure Payload Dispatcher
-              +    Interrupt Entry
-              +    Interrupt Exit
-              +    Test Secure Payload Dispatcher behavior
-         -    Secure Payload
-              +    Test Secure Payload behavior
+2.  [Interrupt Management](#2-interrupt-management)
+    *   [Software Components](#21-software-components)
+    *   [Interrupt Registration](#22-interrupt-registration)
+        -   [EL3 Runtime Firmware](#221-el3-runtime-firmware)
+        -   [Secure Payload Dispatcher](#222-secure-payload-dispatcher)
+            +   [Test Secure Payload Dispatcher behavior](#2221-test-secure-payload-dispatcher-behavior)
+        -   [Secure Payload](#223-secure-payload)
+            +   [Secure Payload IHF design w.r.t Secure-EL1 interrupts](#2231-secure-payload-ihf-design-wrt-secure-el1-interrupts)
+            +   [Secure Payload IHF design w.r.t Non-secure interrupts](#2232-secure-payload-ihf-design-wrt-non-secure-interrupts)
+            +   [Test Secure Payload behavior](#2233-test-secure-payload-behavior)
+    *   [Interrupt Handling](#23-interrupt-handling)
+        -   [EL3 Runtime Firmware](#231-el3-runtime-firmware)
+        -   [Secure Payload Dispatcher](#232-secure-payload-dispatcher)
+            +   [Interrupt Entry](#2321-interrupt-entry)
+            +   [Interrupt Exit](#2322-interrupt-exit)
+            +   [Test Secure Payload Dispatcher behavior](#2323-test-secure-payload-dispatcher-behavior)
+        -   [Secure Payload](#233-secure-payload)
+            +   [Test Secure Payload behavior](#2331-test-secure-payload-behavior)
 
 
-1.  Introduction
+1. Introduction
 ----------------
 This document describes the design of the Interrupt management framework in ARM
 Trusted Firmware. This section briefly describes the requirements from this
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index 7831a27..3855ca7 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -4,21 +4,21 @@
 Contents
 --------
 
-1.  Introduction
-2.  Common Modifications
-    *   Common mandatory modifications
-    *   Handling reset
-    *   Common optional modifications
-3.  Boot Loader stage specific modifications
-    *   Boot Loader stage 1 (BL1)
-    *   Boot Loader stage 2 (BL2)
-    *   Boot Loader stage 3-1 (BL3-1)
-    *   PSCI implementation (in BL3-1)
-    *   Interrupt Management framework (in BL3-1)
-    *   Crash Reporting mechanism (in BL3-1)
-4.  Build flags
-5.  C Library
-6.  Storage abstraction layer
+1.  [Introduction](#1--introduction)
+2.  [Common Modifications](#2--common-modifications)
+    *   [Common mandatory modifications](#21-common-mandatory-modifications)
+    *   [Handling reset](#22-handling-reset)
+    *   [Common optional modifications](#23-common-optional-modifications)
+3.  [Boot Loader stage specific modifications](#3--modifications-specific-to-a-boot-loader-stage)
+    *   [Boot Loader stage 1 (BL1)](#31-boot-loader-stage-1-bl1)
+    *   [Boot Loader stage 2 (BL2)](#32-boot-loader-stage-2-bl2)
+    *   [Boot Loader stage 3-1 (BL3-1)](#32-boot-loader-stage-3-1-bl3-1)
+    *   [PSCI implementation (in BL3-1)](#33-power-state-coordination-interface-in-bl3-1)
+    *   [Interrupt Management framework (in BL3-1)](#34--interrupt-management-framework-in-bl3-1)
+    *   [Crash Reporting mechanism (in BL3-1)](#35--crash-reporting-mechanism-in-bl3-1)
+4.  [Build flags](#4--build-flags)
+5.  [C Library](#5--c-library)
+6.  [Storage abstraction layer](#6--storage-abstraction-layer)
 
 - - - - - - - - - - - - - - - - - -
 
diff --git a/docs/rt-svc-writers-guide.md b/docs/rt-svc-writers-guide.md
index 2d13f74..c39a495 100644
--- a/docs/rt-svc-writers-guide.md
+++ b/docs/rt-svc-writers-guide.md
@@ -4,14 +4,14 @@
 Contents
 --------
 
-1.  Introduction
-2.  Owning Entities, Call Types and Function IDs
-3.  Getting started
-4.  Registering a runtime service
-5.  Initializing a runtime service
-6.  Handling runtime service requests
-7.  Services that contain multiple sub-services
-8.  Secure-EL1 Payload Dispatcher service (SPD)
+1.  [Introduction](#1--introduction)
+2.  [Owning Entities, Call Types and Function IDs](#2--owning-entities-call-types-and-function-ids)
+3.  [Getting started](#3--getting-started)
+4.  [Registering a runtime service](#4--registering-a-runtime-service)
+5.  [Initializing a runtime service](#5-initializing-a-runtime-service)
+6.  [Handling runtime service requests](#6--handling-runtime-service-requests)
+7.  [Services that contain multiple sub-services](#7--services-that-contain-multiple-sub-services)
+8.  [Secure-EL1 Payload Dispatcher service (SPD)](#8--secure-el1-payload-dispatcher-service-spd)
 
 - - - - - - - - - - - - - - - - - -
 
diff --git a/docs/user-guide.md b/docs/user-guide.md
index 0b95a1b..b9497c6 100644
--- a/docs/user-guide.md
+++ b/docs/user-guide.md
@@ -3,15 +3,15 @@
 
 Contents :
 
-1.  Introduction
-2.  Host machine requirements
-3.  Tools
-4.  Building the Trusted Firmware
-5.  Obtaining the normal world software
-6.  Preparing the images to run on FVP
-7.  Running the software on FVP
-8.  Preparing the images to run on Juno
-9.  Running the software on Juno
+1.  [Introduction](#1--introduction)
+2.  [Host machine requirements](#2--host-machine-requirements)
+3.  [Tools](#3--tools)
+4.  [Building the Trusted Firmware](#4--building-the-trusted-firmware)
+5.  [Obtaining the normal world software](#5--obtaining-the-normal-world-software)
+6.  [Preparing the images to run on FVP](#6--preparing-the-images-to-run-on-fvp)
+7.  [Running the software on FVP](#7--running-the-software-on-fvp)
+8.  [Preparing the images to run on Juno](#8--preparing-the-images-to-run-on-juno)
+9.  [Running the software on Juno](#9--running-the-software-on-juno)
 
 
 1.  Introduction