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