iPXE
xenver.h
Go to the documentation of this file.
1#ifndef _IPXE_XENVER_H
2#define _IPXE_XENVER_H
3
4/** @file
5 *
6 * Xen version
7 *
8 */
9
10FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11
12#include <ipxe/xen.h>
13#include <xen/version.h>
14
15/**
16 * Get Xen version
17 *
18 * @v xen Xen hypervisor
19 * @ret version Version (major.minor: 16 bits each)
20 */
21static inline __attribute__ (( always_inline )) uint32
22xenver_version ( struct xen_hypervisor *xen ) {
23
24 return xen_hypercall_2 ( xen, __HYPERVISOR_xen_version,
25 XENVER_version, 0 );
26}
27
28/**
29 * Get Xen extra version string
30 *
31 * @v xen Xen hypervisor
32 * @v extraversion Extra version string to fill in
33 * @ret xenrc Xen status code
34 */
35static inline __attribute__ (( always_inline )) int
36xenver_extraversion ( struct xen_hypervisor *xen,
38
39 return xen_hypercall_2 ( xen, __HYPERVISOR_xen_version,
41 virt_to_phys ( extraversion ) );
42}
43
44#endif /* _IPXE_XENVER_H */
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define __attribute__(x)
Definition compiler.h:10
Xen interface.
uint32_t uint32
Definition stdint.h:33
#define __HYPERVISOR_xen_version
Definition xen.h:98
A Xen hypervisor.
Definition xen.h:51
char xen_extraversion_t[16]
Definition version.h:31
#define XENVER_version
Definition version.h:23
#define XENVER_extraversion
Definition version.h:30
static xen_extraversion_t * extraversion
Definition xenver.h:37