#define XENPF_enter_acpi_sleep 51 struct xenpf_enter_acpi_sleep { /* IN variables */
uint16_t val_a; /* PM1a control / sleep type A. */
uint16_t val_b; /* PM1b control / sleep type B. */
uint32_t sleep_state; /* Which state to enter (Sn). */ #define XENPF_ACPI_SLEEP_EXTENDED 0x00000001
uint32_t flags; /* XENPF_ACPI_SLEEP_*. */
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_enter_acpi_sleep_t);
#define XENPF_change_freq 52 struct xenpf_change_freq { /* IN variables */
uint32_t flags; /* Must be zero. */
uint32_t cpu; /* Physical cpu. */
uint64_t freq; /* New frequency (Hz). */
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_change_freq_t);
/* *Getidletimes(nanosecondssinceboot)forphysicalCPUsspecifiedinthe *@cpumap_bitmapwithrange[0..@cpumap_nr_cpus-1].The@idletimearrayis *indexedbyCPUnumber;onlyentrieswiththecorresponding@cpumap_bitmap *bitsetarewrittento.Onreturn,@cpumap_bitmapismodifiedsothatany *non-existentCPUsarecleared.SuchCPUshavetheir@idletimearrayentry *cleared.
*/ #define XENPF_getidletime 53 struct xenpf_getidletime { /* IN/OUT variables */ /* IN: CPUs to interrogate; OUT: subset of IN which are present */
GUEST_HANDLE(uchar) cpumap_bitmap; /* IN variables */ /* Size of cpumap bitmap. */
uint32_t cpumap_nr_cpus; /* Must be indexable for every cpu in cpumap_bitmap. */
GUEST_HANDLE(uint64_t) idletime; /* OUT variables */ /* System time when the idletime snapshots were taken. */
uint64_t now;
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_getidletime_t);
struct xen_processor_csd {
uint32_t domain; /* domain number of one dependent group */
uint32_t coord_type; /* coordination type */
uint32_t num; /* number of processors in same domain */
};
DEFINE_GUEST_HANDLE_STRUCT(xen_processor_csd);
struct xen_processor_cx { struct xen_power_register reg; /* GAS for Cx trigger register */
uint8_t type; /* cstate value, c0: 0, c1: 1, ... */
uint32_t latency; /* worst latency (ms) to enter/exit this cstate */
uint32_t power; /* average power consumption(mW) */
uint32_t dpcnt; /* number of dependency entries */
GUEST_HANDLE(xen_processor_csd) dp; /* NULL if no dependency */
};
DEFINE_GUEST_HANDLE_STRUCT(xen_processor_cx);
struct xen_processor_power {
uint32_t count; /* number of C state entries in array below */ struct xen_processor_flags flags; /* global flags of this processor */
GUEST_HANDLE(xen_processor_cx) states; /* supported c states */
};
struct xen_processor_performance {
uint32_t flags; /* flag for Px sub info type */
uint32_t platform_limit; /* Platform limitation on freq usage */ struct xen_pct_register control_register; struct xen_pct_register status_register;
uint32_t state_count; /* total available performance states */
GUEST_HANDLE(xen_processor_px) states; struct xen_psd_package domain_info;
uint32_t shared_type; /* coordination type of this processor */
};
DEFINE_GUEST_HANDLE_STRUCT(xen_processor_performance);
struct xenpf_set_processor_pminfo { /* IN variables */
uint32_t id; /* ACPI CPU ID */
uint32_t type; /* {XEN_PM_CX, XEN_PM_PX} */ union { struct xen_processor_power power;/* Cx: _CST/_CSD */ struct xen_processor_performance perf; /* Px: _PPC/_PCT/_PSS/_PSD */
GUEST_HANDLE(uint32_t) pdc;
};
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_set_processor_pminfo);
#define XENPF_get_cpuinfo 55 struct xenpf_pcpuinfo { /* IN */
uint32_t xen_cpuid; /* OUT */ /* The maxium cpu_id that is present */
uint32_t max_present; #define XEN_PCPU_FLAGS_ONLINE 1 /* Correponding xen_cpuid is not present*/ #define XEN_PCPU_FLAGS_INVALID 2
uint32_t flags;
uint32_t apic_id;
uint32_t acpi_id;
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
#define XENPF_core_parking 60 struct xenpf_core_parking { /* IN variables */ #define XEN_CORE_PARKING_SET 1 #define XEN_CORE_PARKING_GET 2
uint32_t type; /* IN variables: set cpu nums expected to be idled */ /* OUT variables: get cpu nums actually be idled */
uint32_t idle_nums;
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_core_parking);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.