diff options
Diffstat (limited to 'sys/xen/interface/vcpu.h')
| -rw-r--r-- | sys/xen/interface/vcpu.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/sys/xen/interface/vcpu.h b/sys/xen/interface/vcpu.h index 898b89f50940..3623af932f7e 100644 --- a/sys/xen/interface/vcpu.h +++ b/sys/xen/interface/vcpu.h @@ -1,8 +1,8 @@ /****************************************************************************** * vcpu.h - * + * * VCPU initialisation, query, and hotplug. - * + * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the @@ -38,11 +38,13 @@ */ /* - * Initialise a VCPU. Each VCPU can be initialised only once. A + * Initialise a VCPU. Each VCPU can be initialised only once. A * newly-initialised VCPU will not run until it is brought up by VCPUOP_up. - * - * @extra_arg == pointer to vcpu_guest_context structure containing initial - * state for the VCPU. + * + * @extra_arg == For PV or ARM guests this is a pointer to a vcpu_guest_context + * structure containing the initial state for the VCPU. For x86 + * HVM based guests this is a pointer to a vcpu_hvm_context + * structure. */ #define VCPUOP_initialise 0 @@ -82,6 +84,12 @@ struct vcpu_runstate_info { /* When was current state entered (system time, ns)? */ uint64_t state_entry_time; /* + * Update indicator set in state_entry_time: + * When activated via VMASST_TYPE_runstate_update_flag, set during + * updates in guest memory mapped copy of vcpu_runstate_info. + */ +#define XEN_RUNSTATE_UPDATE (xen_mk_ullong(1) << 63) + /* * Time spent in each RUNSTATE_* (ns). The sum of these times is * guaranteed not to drift from system time. */ @@ -163,7 +171,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_set_singleshot_timer_t); #define _VCPU_SSHOTTMR_future (0) #define VCPU_SSHOTTMR_future (1U << _VCPU_SSHOTTMR_future) -/* +/* * Register a memory location in the guest address space for the * vcpu_info structure. This allows the guest to place the vcpu_info * structure in a convenient place, such as in a per-cpu data area. @@ -184,7 +192,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_register_vcpu_info_t); /* Send an NMI to the specified VCPU. @extra_arg == NULL. */ #define VCPUOP_send_nmi 11 -/* +/* * Get the physical ID information for a pinned vcpu's underlying physical * processor. The physical ID informmation is architecture-specific. * On x86: id[31:0]=apic_id, id[63:32]=acpi_id. @@ -199,7 +207,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_get_physid_t); #define xen_vcpu_physid_to_x86_apicid(physid) ((uint32_t)(physid)) #define xen_vcpu_physid_to_x86_acpiid(physid) ((uint32_t)((physid) >> 32)) -/* +/* * Register a memory location to get a secondary copy of the vcpu time * parameters. The master copy still exists as part of the vcpu shared * memory area, and this secondary copy is updated whenever the master copy |
