- Add Intel Hardware P-States (HWP) cpufreq driver.
- On Arm, experimental support for dynamic addition/removal of Xen device tree
nodes using a device tree overlay binary (.dtbo).
+ - Introduce two new hypercalls to map the vCPU runstate and time areas by
+ physical rather than linear/virtual addresses.
### Removed
- On x86, the "pku" command line option has been removed. It has never
{
struct vcpu_register_time_memory_area area;
+ rc = -ENOSYS;
+ if ( 0 /* TODO: Dom's XENFEAT_vcpu_time_phys_area setting */ )
+ break;
+
rc = -EFAULT;
if ( copy_from_guest(&area.addr.p, arg, 1) )
break;
{
struct vcpu_register_runstate_memory_area area;
+ rc = -ENOSYS;
+ if ( 0 /* TODO: Dom's XENFEAT_runstate_phys_area setting */ )
+ break;
+
rc = -EFAULT;
if ( copy_from_guest(&area.addr.p, arg, 1) )
break;
switch ( fi.submap_idx )
{
case 0:
- fi.submap = (1U << XENFEAT_memory_op_vnode_supported);
+ fi.submap = (1U << XENFEAT_memory_op_vnode_supported) |
+#ifdef CONFIG_X86
+ (1U << XENFEAT_vcpu_time_phys_area) |
+#endif
+ (1U << XENFEAT_runstate_phys_area);
if ( VM_ASSIST(d, pae_extended_cr3) )
fi.submap |= (1U << XENFEAT_pae_pgdir_above_4gb);
if ( paging_mode_translate(d) )
#define XENFEAT_not_direct_mapped 16
#define XENFEAT_direct_mapped 17
+/*
+ * Signal whether the domain is able to use the following hypercalls:
+ *
+ * VCPUOP_register_runstate_phys_area
+ * VCPUOP_register_vcpu_time_phys_area
+ */
+#define XENFEAT_runstate_phys_area 18
+#define XENFEAT_vcpu_time_phys_area 19
+
#define XENFEAT_NR_SUBMAPS 1
#endif /* __XEN_PUBLIC_FEATURES_H__ */
* Note that the area registered via VCPUOP_register_runstate_memory_area will
* be updated in the same manner as the one registered via virtual address PLUS
* VMASST_TYPE_runstate_update_flag engaged by the domain.
+ *
+ * XENFEAT_{runstate,vcpu_time}_phys_area feature bits signal the availability
+ * of these ops.
*/
#define VCPUOP_register_runstate_phys_area 14
#define VCPUOP_register_vcpu_time_phys_area 15