]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EmulatorPkg/TimerDxe/Timer.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmulatorPkg / TimerDxe / Timer.h
... / ...
CommitLineData
1/*++ @file\r
2 Emu Emulation Architectural Protocol Driver as defined in UEFI/PI.\r
3 This Timer module uses an UNIX Thread to simulate the timer-tick driven\r
4 timer service.\r
5\r
6Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
7Portions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.\r
8SPDX-License-Identifier: BSD-2-Clause-Patent\r
9\r
10\r
11**/\r
12\r
13#ifndef _TIMER_H_\r
14#define _TIMER_H_\r
15\r
16//\r
17// Legal timer value range in 100 ns units\r
18//\r
19#define TIMER_MINIMUM_VALUE 0\r
20#define TIMER_MAXIMUM_VALUE (0x100000000ULL - 1)\r
21\r
22//\r
23// Default timer value in 100 ns units (50 ms)\r
24//\r
25#define DEFAULT_TIMER_TICK_DURATION 500000\r
26\r
27//\r
28// Function Prototypes\r
29//\r
30EFI_STATUS\r
31EFIAPI\r
32EmuTimerDriverInitialize (\r
33 IN EFI_HANDLE ImageHandle,\r
34 IN EFI_SYSTEM_TABLE *SystemTable\r
35 );\r
36\r
37EFI_STATUS\r
38EFIAPI\r
39EmuTimerDriverRegisterHandler (\r
40 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
41 IN EFI_TIMER_NOTIFY NotifyFunction\r
42 );\r
43\r
44EFI_STATUS\r
45EFIAPI\r
46EmuTimerDriverSetTimerPeriod (\r
47 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
48 IN UINT64 TimerPeriod\r
49 );\r
50\r
51EFI_STATUS\r
52EFIAPI\r
53EmuTimerDriverGetTimerPeriod (\r
54 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
55 OUT UINT64 *TimerPeriod\r
56 );\r
57\r
58EFI_STATUS\r
59EFIAPI\r
60EmuTimerDriverGenerateSoftInterrupt (\r
61 IN EFI_TIMER_ARCH_PROTOCOL *This\r
62 );\r
63\r
64#endif\r