]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/XenBusDxe/EventChannel.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / XenBusDxe / EventChannel.h
CommitLineData
f1259bba
AP
1/** @file\r
2 Event Channel function declaration.\r
3\r
4 Copyright (C) 2014, Citrix Ltd.\r
5\r
b26f0cf9 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
f1259bba
AP
7\r
8**/\r
ac0a286f 9\r
f1259bba
AP
10#ifndef __XENBUS_EVENT_CHANNEL_H\r
11#define __XENBUS_EVENT_CHANNEL_H\r
12\r
13#include "XenBusDxe.h"\r
14\r
15#include <IndustryStandard/Xen/event_channel.h>\r
16\r
17/**\r
18 Send an event to the remote end of the channel whose local endpoint is Port.\r
19\r
20 @param Dev A pointer to XENBUS_DEVICE.\r
21 @param Port The port to notify.\r
22\r
23 @return Return 0 on success, or return the errno code from the hypercall.\r
24**/\r
25UINT32\r
26XenEventChannelNotify (\r
ac0a286f
MK
27 IN XENBUS_DEVICE *Dev,\r
28 IN evtchn_port_t Port\r
f1259bba
AP
29 );\r
30\r
e86895d9
AP
31/*\r
32 * XenBus protocol\r
33 */\r
34\r
35/**\r
36 Allocate a port that can be bind from domain DomainId.\r
37\r
38 @param This A pointer to the XENBUS_PROTOCOL.\r
39 @param DomainId The domain ID that can bind the newly allocated port.\r
40 @param Port A pointer to a evtchn_port_t that will contain the newly\r
41 allocated port.\r
42\r
43 @retval UINT32 The return value from the hypercall, 0 if success.\r
44**/\r
45UINT32\r
46EFIAPI\r
47XenBusEventChannelAllocate (\r
ac0a286f
MK
48 IN XENBUS_PROTOCOL *This,\r
49 IN domid_t DomainId,\r
50 OUT evtchn_port_t *Port\r
e86895d9
AP
51 );\r
52\r
53/**\r
54 Send an event to the remote end of the channel whose local endpoint is Port.\r
55\r
56 @param This A pointer to the XENBUS_PROTOCOL.\r
493dde94 57 @param Port Local port to the event from.\r
e86895d9
AP
58\r
59 @retval UINT32 The return value from the hypercall, 0 if success.\r
60**/\r
61UINT32\r
62EFIAPI\r
63XenBusEventChannelNotify (\r
ac0a286f
MK
64 IN XENBUS_PROTOCOL *This,\r
65 IN evtchn_port_t Port\r
e86895d9
AP
66 );\r
67\r
68/**\r
69 Close a local event channel Port.\r
70\r
71 @param This A pointer to the XENBUS_PROTOCOL.\r
72 @param Port The event channel to close.\r
73\r
74 @retval UINT32 The return value from the hypercall, 0 if success.\r
75**/\r
76UINT32\r
77EFIAPI\r
78XenBusEventChannelClose (\r
ac0a286f
MK
79 IN XENBUS_PROTOCOL *This,\r
80 IN evtchn_port_t Port\r
e86895d9
AP
81 );\r
82\r
f1259bba 83#endif\r