platform.h (53279f36dccffc26ff536003fd6bb97cc21c3b82) platform.h (92e3229dcdc80ff0b6304f14c578d76e7e10e226)
1/******************************************************************************
2 * platform.h
3 *
4 * Hardware platform operations. Intended for use by domain-0 kernel.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the

--- 310 unchanged lines hidden (view full) ---

319
320#define XENPF_cpu_online 56
321#define XENPF_cpu_offline 57
322struct xenpf_cpu_ol {
323 uint32_t cpuid;
324};
325DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
326
1/******************************************************************************
2 * platform.h
3 *
4 * Hardware platform operations. Intended for use by domain-0 kernel.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the

--- 310 unchanged lines hidden (view full) ---

319
320#define XENPF_cpu_online 56
321#define XENPF_cpu_offline 57
322struct xenpf_cpu_ol {
323 uint32_t cpuid;
324};
325DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
326
327/*
328 * CMD 58 and 59 are reserved for cpu hotadd and memory hotadd,
329 * which are already occupied at Xen hypervisor side.
330 */
331#define XENPF_core_parking 60
332struct xenpf_core_parking {
333 /* IN variables */
334#define XEN_CORE_PARKING_SET 1
335#define XEN_CORE_PARKING_GET 2
336 uint32_t type;
337 /* IN variables: set cpu nums expected to be idled */
338 /* OUT variables: get cpu nums actually be idled */
339 uint32_t idle_nums;
340};
341DEFINE_GUEST_HANDLE_STRUCT(xenpf_core_parking);
342
327struct xen_platform_op {
328 uint32_t cmd;
329 uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
330 union {
331 struct xenpf_settime settime;
332 struct xenpf_add_memtype add_memtype;
333 struct xenpf_del_memtype del_memtype;
334 struct xenpf_read_memtype read_memtype;
335 struct xenpf_microcode_update microcode;
336 struct xenpf_platform_quirk platform_quirk;
337 struct xenpf_firmware_info firmware_info;
338 struct xenpf_enter_acpi_sleep enter_acpi_sleep;
339 struct xenpf_change_freq change_freq;
340 struct xenpf_getidletime getidletime;
341 struct xenpf_set_processor_pminfo set_pminfo;
342 struct xenpf_pcpuinfo pcpu_info;
343 struct xenpf_cpu_ol cpu_ol;
343struct xen_platform_op {
344 uint32_t cmd;
345 uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
346 union {
347 struct xenpf_settime settime;
348 struct xenpf_add_memtype add_memtype;
349 struct xenpf_del_memtype del_memtype;
350 struct xenpf_read_memtype read_memtype;
351 struct xenpf_microcode_update microcode;
352 struct xenpf_platform_quirk platform_quirk;
353 struct xenpf_firmware_info firmware_info;
354 struct xenpf_enter_acpi_sleep enter_acpi_sleep;
355 struct xenpf_change_freq change_freq;
356 struct xenpf_getidletime getidletime;
357 struct xenpf_set_processor_pminfo set_pminfo;
358 struct xenpf_pcpuinfo pcpu_info;
359 struct xenpf_cpu_ol cpu_ol;
360 struct xenpf_core_parking core_parking;
344 uint8_t pad[128];
345 } u;
346};
347DEFINE_GUEST_HANDLE_STRUCT(xen_platform_op_t);
348
349#endif /* __XEN_PUBLIC_PLATFORM_H__ */
361 uint8_t pad[128];
362 } u;
363};
364DEFINE_GUEST_HANDLE_STRUCT(xen_platform_op_t);
365
366#endif /* __XEN_PUBLIC_PLATFORM_H__ */