Home | History | Annotate | Download | only in TimerDxe
      1 /**@file
      2 
      3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   Timer.h
     15 
     16 Abstract:
     17 
     18   NT Emulation Architectural Protocol Driver as defined in Tiano.
     19   This Timer module uses an NT Thread to simulate the timer-tick driven
     20   timer service.
     21 
     22 **/
     23 
     24 #ifndef _TIMER_H_
     25 #define _TIMER_H_
     26 
     27 
     28 #include <Uefi.h>
     29 #include <WinNtDxe.h>
     30 #include <Protocol/Timer.h>
     31 #include <Protocol/Cpu.h>
     32 #include <Library/DebugLib.h>
     33 #include <Library/UefiDriverEntryPoint.h>
     34 #include <Library/WinNtLib.h>
     35 #include <Library/UefiBootServicesTableLib.h>
     36 
     37 
     38 //
     39 // Legal timer value range in 100 ns units
     40 //
     41 #define TIMER_MINIMUM_VALUE 0
     42 #define TIMER_MAXIMUM_VALUE (0x100000000 - 1)
     43 
     44 //
     45 // Default timer value in 100 ns units (10 ms)
     46 //
     47 #define DEFAULT_TIMER_TICK_DURATION 100000
     48 
     49 //
     50 // Function Prototypes
     51 //
     52 EFI_STATUS
     53 EFIAPI
     54 WinNtTimerDriverInitialize (
     55   IN EFI_HANDLE        ImageHandle,
     56   IN EFI_SYSTEM_TABLE  *SystemTable
     57   )
     58 /*++
     59 
     60 Routine Description:
     61 
     62   TODO: Add function description
     63 
     64 Arguments:
     65 
     66   ImageHandle - TODO: add argument description
     67   SystemTable - TODO: add argument description
     68 
     69 Returns:
     70 
     71   TODO: add return values
     72 
     73 --*/
     74 ;
     75 
     76 EFI_STATUS
     77 EFIAPI
     78 WinNtTimerDriverRegisterHandler (
     79   IN EFI_TIMER_ARCH_PROTOCOL  *This,
     80   IN EFI_TIMER_NOTIFY         NotifyFunction
     81   )
     82 /*++
     83 
     84 Routine Description:
     85 
     86   TODO: Add function description
     87 
     88 Arguments:
     89 
     90   This            - TODO: add argument description
     91   NotifyFunction  - TODO: add argument description
     92 
     93 Returns:
     94 
     95   TODO: add return values
     96 
     97 --*/
     98 ;
     99 
    100 EFI_STATUS
    101 EFIAPI
    102 WinNtTimerDriverSetTimerPeriod (
    103   IN EFI_TIMER_ARCH_PROTOCOL  *This,
    104   IN UINT64                   TimerPeriod
    105   )
    106 /*++
    107 
    108 Routine Description:
    109 
    110   TODO: Add function description
    111 
    112 Arguments:
    113 
    114   This        - TODO: add argument description
    115   TimerPeriod - TODO: add argument description
    116 
    117 Returns:
    118 
    119   TODO: add return values
    120 
    121 --*/
    122 ;
    123 
    124 EFI_STATUS
    125 EFIAPI
    126 WinNtTimerDriverGetTimerPeriod (
    127   IN EFI_TIMER_ARCH_PROTOCOL   *This,
    128   OUT UINT64                   *TimerPeriod
    129   )
    130 /*++
    131 
    132 Routine Description:
    133 
    134   TODO: Add function description
    135 
    136 Arguments:
    137 
    138   This        - TODO: add argument description
    139   TimerPeriod - TODO: add argument description
    140 
    141 Returns:
    142 
    143   TODO: add return values
    144 
    145 --*/
    146 ;
    147 
    148 EFI_STATUS
    149 EFIAPI
    150 WinNtTimerDriverGenerateSoftInterrupt (
    151   IN EFI_TIMER_ARCH_PROTOCOL  *This
    152   )
    153 /*++
    154 
    155 Routine Description:
    156 
    157   TODO: Add function description
    158 
    159 Arguments:
    160 
    161   This  - TODO: add argument description
    162 
    163 Returns:
    164 
    165   TODO: add return values
    166 
    167 --*/
    168 ;
    169 
    170 #endif
    171