From 0bf59cf0ae0aa28e3c09d01c3d3dd17b82283949 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 12 Mar 2014 09:23:34 +0100 Subject: Add documentation for profiling --- doc/bsp_howto/support.t | 11 +++++++++++ doc/cpu_supplement/general.t | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/doc/bsp_howto/support.t b/doc/bsp_howto/support.t index 843093a20a..4441636d9f 100644 --- a/doc/bsp_howto/support.t +++ b/doc/bsp_howto/support.t @@ -283,6 +283,17 @@ Interrupt Controller model which does not require the BSP to implement @code{set_vector}. BSPs for these architectures must provide a different set of support routines. +@section Interrupt Delay Profiling + +The RTEMS profiling needs support by the BSP for the interrupt delay times. In +case profiling is enabled via the RTEMS build configuration option +@code{--enable-profiling} (in this case the pre-processor symbol +@code{RTEMS_PROFILING} is defined) a BSP may provide data for the interrupt +delay times. The BSP can feed interrupt delay times with the +@code{_Profiling_Update_max_interrupt_delay()} function +(@code{#include }). For an example please have a look +at @code{c/src/lib/libbsp/sparc/leon3/clock/ckinit.c}. + @section Programmable Interrupt Controller API A BSP can use the PIC API to install Interrupt Service Routines through diff --git a/doc/cpu_supplement/general.t b/doc/cpu_supplement/general.t index deca4de3b3..9c952a7e97 100644 --- a/doc/cpu_supplement/general.t +++ b/doc/cpu_supplement/general.t @@ -362,6 +362,18 @@ provide the following two functions counter values. @end itemize +@section Interrupt Profiling + +The RTEMS profiling needs support by the CPU port for the interrupt entry and +exit times. In case profiling is enabled via the RTEMS build configuration +option @code{--enable-profiling} (in this case the pre-processor symbol +@code{RTEMS_PROFILING} is defined) the CPU port may provide data for the +interrupt entry and exit times of the outer-most interrupt. The CPU port can +feed interrupt entry and exit times with the +@code{_Profiling_Outer_most_interrupt_entry_and_exit()} function +(@code{#include }). For an example please have a look +at @code{cpukit/score/cpu/arm/arm_exc_interrupt.S}. + @c @c @c -- cgit v1.2.3