If unsure, stay with the default.
+config X86_PSR
+ bool "Platform Shared Resource support" if EXPERT
+ default INTEL
+ help
+ Support of Platform Shared Resource technology, which is basis for
+ monitoring and control of resources like cache and memory bandwidth.
+ See xl-psr documentation for details.
+
+ If unsure, stay with the default.
+
choice
prompt "Alignment of Xen image"
default XEN_ALIGN_2M if PV_SHIM_EXCLUSIVE
obj-y += percpu.o
obj-y += physdev.o
obj-$(CONFIG_COMPAT) += x86_64/physdev.o
-obj-y += psr.o
+obj-$(CONFIG_X86_PSR) += psr.o
obj-y += setup.o
obj-y += shutdown.o
obj-y += smp.o
case XEN_DOMCTL_psr_alloc:
switch ( domctl->u.psr_alloc.cmd )
{
+#ifdef CONFIG_X86_PSR
case XEN_DOMCTL_PSR_SET_L3_CBM:
ret = psr_set_val(d, domctl->u.psr_alloc.target,
domctl->u.psr_alloc.data,
#undef domctl_psr_get_val
+#endif /* CONFIG_X86_PSR */
+
default:
ret = -EOPNOTSUPP;
break;
static inline bool psr_cmt_enabled(void)
{
- return !!psr_cmt;
+ return IS_ENABLED(CONFIG_X86_PSR) && psr_cmt;
}
int psr_alloc_rmid(struct domain *d);
void psr_free_rmid(struct domain *d);
-void psr_ctxt_switch_to(struct domain *d);
int psr_get_info(unsigned int socket, enum psr_type type,
uint32_t data[], unsigned int array_len);
int psr_set_val(struct domain *d, unsigned int socket,
uint64_t new_val, enum psr_type type);
+#ifdef CONFIG_X86_PSR
+void psr_ctxt_switch_to(struct domain *d);
void psr_domain_init(struct domain *d);
void psr_domain_free(struct domain *d);
+#else
+static inline void psr_ctxt_switch_to(struct domain *d) {}
+static inline void psr_domain_init(struct domain *d) {}
+static inline void psr_domain_free(struct domain *d) {}
+#endif
#endif /* __ASM_PSR_H__ */
case XEN_SYSCTL_psr_alloc:
{
- uint32_t data[PSR_INFO_ARRAY_SIZE] = { };
+ uint32_t __maybe_unused data[PSR_INFO_ARRAY_SIZE] = { };
switch ( sysctl->u.psr_alloc.cmd )
{
+#ifdef CONFIG_X86_PSR
case XEN_SYSCTL_PSR_get_l3_info:
ret = psr_get_info(sysctl->u.psr_alloc.target,
PSR_TYPE_L3_CBM, data, ARRAY_SIZE(data));
if ( __copy_field_to_guest(u_sysctl, sysctl, u.psr_alloc) )
ret = -EFAULT;
break;
+#endif /* CONFIG_X86_PSR */
default:
ret = -EOPNOTSUPP;