1#ifndef _IPXE_XENGRANT_H
2#define _IPXE_XENGRANT_H
20#define XENGRANT_FAIL_RATE 0
35 virt_to_phys (
size ), 1 );
63 struct gnttab_get_version *
version ) {
90static inline __attribute__ (( always_inline ))
struct grant_entry_header *
105xengrant_v1 (
struct grant_entry_header *
hdr ) {
116static inline __attribute__ (( always_inline ))
union grant_entry_v2 *
117xengrant_v2 (
struct grant_entry_header *
hdr ) {
129 struct grant_entry_header *
hdr ) {
131 unsigned int i = ( (
sizeof ( xen->
grant.
table[0] ) /
sizeof ( *dword ))
146 struct grant_entry_header *
hdr = xengrant_header ( xen,
ref );
177 struct grant_entry_header *
hdr = xengrant_header ( xen,
ref );
179 union grant_entry_v2 *
v2 = xengrant_v2 (
hdr );
202 if (
frame > 0xffffffffUL )
230 unsigned int count );
232 unsigned int count );
struct golan_inbox_hdr hdr
Message header.
unsigned long long uint64_t
#define assert(condition)
Assert a condition at run-time.
u32 version
Driver version.
uint32_t addr
Buffer address.
#define GTF_permit_access
#define GNTTABOP_query_size
uint16_t size
Buffer size.
static unsigned int count
Number of entries.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define ERANGE
Result too large.
#define EAGAIN
Resource temporarily unavailable.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
#define PAGE_SIZE
Page size.
#define writeq(data, io_addr)
#define __HYPERVISOR_grant_table_op
static const char grant_ref_t ref
static const char grant_ref_t unsigned int struct io_buffer grant_ref_t * refs
long int random(void)
Generate a pseudo-random number between 0 and 2147483647L or 2147483562?
#define container_of(ptr, type, field)
Get containing structure.
unsigned int shift
Entry size shift (for later version tables)
size_t len
Total grant table length.
struct grant_entry_v1 * table
Grant table entries.
struct xen_grant grant
Grant table.
int xengrant_alloc(struct xen_hypervisor *xen, grant_ref_t *refs, unsigned int count)
Allocate grant references.
static void xengrant_zero(struct xen_hypervisor *xen, struct grant_entry_header *hdr)
Zero grant table entry.
#define XENGRANT_FAIL_RATE
Induced failure rate (for testing)
static grant_ref_t domid_t unsigned int subflags
static grant_ref_t domid_t domid
void xengrant_free(struct xen_hypervisor *xen, grant_ref_t *refs, unsigned int count)
Free grant references.
union grant_entry_v2 * v2
int xengrant_init(struct xen_hypervisor *xen)
Initialise grant table.