ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / EmulatorPkg / TimerDxe / Timer.h
CommitLineData
949f388f 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
e3ba31da 8SPDX-License-Identifier: BSD-2-Clause-Patent\r
949f388f 9\r
10\r
11**/\r
12\r
13#ifndef _TIMER_H_\r
14#define _TIMER_H_\r
15\r
16\r
17\r
18\r
19//\r
20// Legal timer value range in 100 ns units\r
21//\r
22#define TIMER_MINIMUM_VALUE 0\r
23#define TIMER_MAXIMUM_VALUE (0x100000000ULL - 1)\r
24\r
25//\r
26// Default timer value in 100 ns units (50 ms)\r
27//\r
28#define DEFAULT_TIMER_TICK_DURATION 500000\r
29\r
30//\r
31// Function Prototypes\r
32//\r
33EFI_STATUS\r
34EFIAPI\r
35EmuTimerDriverInitialize (\r
36 IN EFI_HANDLE ImageHandle,\r
37 IN EFI_SYSTEM_TABLE *SystemTable\r
38 );\r
39\r
40EFI_STATUS\r
41EFIAPI\r
42EmuTimerDriverRegisterHandler (\r
43 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
44 IN EFI_TIMER_NOTIFY NotifyFunction\r
45 );\r
46\r
47EFI_STATUS\r
48EFIAPI\r
49EmuTimerDriverSetTimerPeriod (\r
50 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
51 IN UINT64 TimerPeriod\r
52 );\r
53\r
54EFI_STATUS\r
55EFIAPI\r
56EmuTimerDriverGetTimerPeriod (\r
57 IN EFI_TIMER_ARCH_PROTOCOL *This,\r
58 OUT UINT64 *TimerPeriod\r
59 );\r
60\r
61EFI_STATUS\r
62EFIAPI\r
63EmuTimerDriverGenerateSoftInterrupt (\r
64 IN EFI_TIMER_ARCH_PROTOCOL *This\r
65 );\r
66\r
67#endif\r