Home | History | Annotate | Download | only in Library
      1 /** @file
      2   Platform specific Debug Agent abstraction for timer used by the agent.
      3 
      4   The timer is used by the debugger to break into a running program.
      5 
      6   Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
      7 
      8   This program and the accompanying materials
      9   are licensed and made available under the terms and conditions of the BSD License
     10   which accompanies this distribution.  The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php
     12 
     13   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     14   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     15 
     16 **/
     17 
     18 #ifndef __GDB_TIMER_LIB__
     19 #define __GDB_TIMER_LIB__
     20 
     21 
     22 
     23 /**
     24   Setup all the hardware needed for the debug agents timer.
     25 
     26   This function is used to set up debug enviroment. It may enable interrupts.
     27 
     28 **/
     29 VOID
     30 EFIAPI
     31 DebugAgentTimerIntialize (
     32   VOID
     33   );
     34 
     35 
     36 /**
     37   Set the period for the debug agent timer. Zero means disable the timer.
     38 
     39   @param[in] TimerPeriodMilliseconds    Frequency of the debug agent timer.
     40 
     41 **/
     42 VOID
     43 EFIAPI
     44 DebugAgentTimerSetPeriod (
     45   IN  UINT32  TimerPeriodMilliseconds
     46   );
     47 
     48 
     49 /**
     50   Perform End Of Interrupt for the debug agent timer. This is called in the
     51   interrupt handler after the interrupt has been processed.
     52 
     53 **/
     54 VOID
     55 EFIAPI
     56 DebugAgentTimerEndOfInterrupt (
     57   VOID
     58   );
     59 
     60 #endif
     61 
     62 
     63