]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/TimerDxe/Timer.h
Nt32Pkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Nt32Pkg / TimerDxe / Timer.h
CommitLineData
6ae81428 1/**@file\r
e331c50d 2\r
8f2a5f80 3Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
9d2eedba 4SPDX-License-Identifier: BSD-2-Clause-Patent\r
e331c50d 5\r
6Module Name:\r
7\r
8 Timer.h\r
9\r
10Abstract:\r
11\r
12 NT Emulation Architectural Protocol Driver as defined in Tiano.\r
13 This Timer module uses an NT Thread to simulate the timer-tick driven\r
14 timer service.\r
15\r
6ae81428 16**/\r
e331c50d 17\r
18#ifndef _TIMER_H_\r
19#define _TIMER_H_\r
20\r
21\r
60c93673 22#include <Uefi.h>\r
f2569572
A
23#include <WinNtDxe.h>\r
24#include <Protocol/Timer.h>\r
25#include <Protocol/Cpu.h>\r
26#include <Library/DebugLib.h>\r
27#include <Library/UefiDriverEntryPoint.h>\r
28#include <Library/WinNtLib.h>\r
29#include <Library/UefiBootServicesTableLib.h>\r
e331c50d 30\r
31\r
e331c50d 32//\r
33// Legal timer value range in 100 ns units\r
34//\r
35#define TIMER_MINIMUM_VALUE 0\r
36#define TIMER_MAXIMUM_VALUE (0x100000000 - 1)\r
37\r
38//\r
39// Default timer value in 100 ns units (10 ms)\r
40//\r
41#define DEFAULT_TIMER_TICK_DURATION 100000\r
42\r
43//\r
44// Function Prototypes\r
45//\r
46EFI_STATUS\r
47EFIAPI\r
48WinNtTimerDriverInitialize (\r
49 IN EFI_HANDLE ImageHandle,\r
50 IN EFI_SYSTEM_TABLE *SystemTable\r
51 )\r
52/*++\r
53\r
54Routine Description:\r
55\r
56 TODO: Add function description\r
57\r
58Arguments:\r
59\r
60 ImageHandle - TODO: add argument description\r
61 SystemTable - TODO: add argument description\r
62\r
63Returns:\r
64\r
65 TODO: add return values\r
66\r
67--*/\r
68;\r
69\r
70EFI_STATUS\r
71EFIAPI\r
72WinNtTimerDriverRegisterHandler (\r
73 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
74 IN EFI_TIMER_NOTIFY NotifyFunction\r
75 )\r
76/*++\r
77\r
78Routine Description:\r
79\r
80 TODO: Add function description\r
81\r
82Arguments:\r
83\r
84 This - TODO: add argument description\r
85 NotifyFunction - TODO: add argument description\r
86\r
87Returns:\r
88\r
89 TODO: add return values\r
90\r
91--*/\r
92;\r
93\r
94EFI_STATUS\r
95EFIAPI\r
96WinNtTimerDriverSetTimerPeriod (\r
97 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
98 IN UINT64 TimerPeriod\r
99 )\r
100/*++\r
101\r
102Routine Description:\r
103\r
104 TODO: Add function description\r
105\r
106Arguments:\r
107\r
108 This - TODO: add argument description\r
109 TimerPeriod - TODO: add argument description\r
110\r
111Returns:\r
112\r
113 TODO: add return values\r
114\r
115--*/\r
116;\r
117\r
118EFI_STATUS\r
119EFIAPI\r
120WinNtTimerDriverGetTimerPeriod (\r
121 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
122 OUT UINT64 *TimerPeriod\r
123 )\r
124/*++\r
125\r
126Routine Description:\r
127\r
128 TODO: Add function description\r
129\r
130Arguments:\r
131\r
132 This - TODO: add argument description\r
133 TimerPeriod - TODO: add argument description\r
134\r
135Returns:\r
136\r
137 TODO: add return values\r
138\r
139--*/\r
140;\r
141\r
142EFI_STATUS\r
143EFIAPI\r
144WinNtTimerDriverGenerateSoftInterrupt (\r
145 IN EFI_TIMER_ARCH_PROTOCOL *This\r
146 )\r
147/*++\r
148\r
149Routine Description:\r
150\r
151 TODO: Add function description\r
152\r
153Arguments:\r
154\r
155 This - TODO: add argument description\r
156\r
157Returns:\r
158\r
159 TODO: add return values\r
160\r
161--*/\r
162;\r
163\r
164#endif\r