/** @file | |
Grant Table function declaration. | |
Grant Table are used to grant access to certain page of the current | |
VM to an other VM. | |
Copyright (C) 2014, Citrix Ltd. | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef __GNTTAB_H__ | |
#define __GNTTAB_H__ | |
#include <IndustryStandard/Xen/grant_table.h> | |
/** | |
Initialize the Grant Table at the address MmioAddr. | |
@param Dev A pointer to XENBUS_DEVICE. | |
@param MmioAddr An address where the grant table can be mapped into | |
the guest. | |
**/ | |
VOID | |
XenGrantTableInit ( | |
IN XENBUS_DEVICE *Dev | |
); | |
/** | |
De-initialize the Grant Table. | |
**/ | |
VOID | |
XenGrantTableDeinit ( | |
IN XENBUS_DEVICE *Dev | |
); | |
/** | |
Grant access to the page Frame to the domain DomainId. | |
@param This A pointer to XENBUS_PROTOCOL instance. | |
@param DomainId ID of the domain to grant access to. | |
@param Frame Frame Number of the page to grant access to. | |
@param ReadOnly Provide read-only or read-write access. | |
@param RefPtr Reference number of the grant will be written to this pointer. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
XenBusGrantAccess ( | |
IN XENBUS_PROTOCOL *This, | |
IN domid_t DomainId, | |
IN UINTN Frame, // MFN | |
IN BOOLEAN ReadOnly, | |
OUT grant_ref_t *RefPtr | |
); | |
/** | |
End access to grant Ref, previously return by XenBusGrantAccess. | |
@param This A pointer to XENBUS_PROTOCOL instance. | |
@param Ref Reference numeber of a grant previously returned by | |
XenBusGrantAccess. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
XenBusGrantEndAccess ( | |
IN XENBUS_PROTOCOL *This, | |
IN grant_ref_t Ref | |
); | |
#endif /* !__GNTTAB_H__ */ |