iPXE
hyperv.h File Reference

Hyper-V interface. More...

#include <stddef.h>
#include <stdint.h>
#include <ipxe/io.h>

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
static __attribute__ ((always_inline)) int hv_call(struct hv_hypervisor *hv
 Issue hypercall.
__asm__ __volatile__ ("call *%9" :"=a"(result), "=c"(discard_ecx), "=d"(discard_edx) :"d"(0), "a"(code), "b"(0), "c"(in_phys), "D"(0), "S"(out_phys), "m"(hypercall))

Variables

static unsigned int code
 Response code.
static unsigned int const void * in
static unsigned int const void void * out
uint32_t in_phys
uint32_t out_phys
uint32_t discard_ecx
uint32_t discard_edx
uint16_t result

Detailed Description

Hyper-V interface.

Definition in file hyperv.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ __attribute__()

__attribute__ ( (always_inline) )
inlinestatic

Issue hypercall.

Parameters
hvHyper-V hypervisor
codeCall code
inInput parameters
outOutput parameters
Return values
statusStatus code

◆ __volatile__()

Variable Documentation

◆ code

◆ in

unsigned int const void* in

Definition at line 26 of file hyperv.h.

◆ out

unsigned int const void void* out
Initial value:
{
void *hypercall = hv->hypercall
static unsigned int hypercall
Definition xen.h:43

Definition at line 27 of file hyperv.h.

◆ in_phys

in_phys
Initial value:
= ( ( __builtin_constant_p ( in ) && ( in == NULL ) )
? 0 : virt_to_phys ( in ) )
#define NULL
NULL pointer (VOID *)
Definition Base.h:322
__be32 in[4]
Definition CIB_PRM.h:7

Definition at line 29 of file hyperv.h.

Referenced by __volatile__().

◆ out_phys

out_phys
Initial value:
= ( ( __builtin_constant_p ( out ) && ( out == NULL ) )
? 0 : virt_to_phys ( out ) )
__be32 out[4]
Definition CIB_PRM.h:8

Definition at line 30 of file hyperv.h.

Referenced by __volatile__().

◆ discard_ecx

◆ discard_edx

◆ result