• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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