iPXE
Functions | Variables
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. More...
 
__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
 
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__()

static __attribute__ ( (always_inline)  )
inlinestatic

Issue hypercall.

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

◆ __volatile__()

__asm__ __volatile__ ( )

Variable Documentation

◆ code

unsigned int code

Definition at line 26 of file hyperv.h.

◆ 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:42

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 ) )
static __always_inline unsigned long virt_to_phys(volatile const void *addr)
Convert virtual address to a physical address.
Definition: uaccess.h:287
#define NULL
NULL pointer (VOID *)
Definition: Base.h:362
static unsigned int const void * in
Definition: hyperv.h:26

Definition at line 29 of file hyperv.h.

◆ out_phys

out_phys
Initial value:
= ( ( __builtin_constant_p ( out ) && ( out == NULL ) )
? 0 : virt_to_phys ( out ) )
static __always_inline unsigned long virt_to_phys(volatile const void *addr)
Convert virtual address to a physical address.
Definition: uaccess.h:287
static unsigned int const void void * out
Definition: hyperv.h:27
#define NULL
NULL pointer (VOID *)
Definition: Base.h:362

Definition at line 30 of file hyperv.h.

◆ discard_ecx

uint32_t discard_ecx

◆ discard_edx

uint32_t discard_edx

◆ result

return result

Definition at line 33 of file hyperv.h.