@@ -521,9 +521,19 @@ static bool l3_cdp_get_feat_info(const struct feat_node *feat,
return true;
}
+static void l3_cdp_get_val(const struct feat_node *feat, unsigned int cos,
+ enum cbm_type type, uint32_t *val)
+{
+ if ( type == PSR_CBM_TYPE_L3_DATA )
+ *val = get_cdp_data(feat, cos);
+ else
+ *val = get_cdp_code(feat, cos);
+}
+
struct feat_ops l3_cdp_ops = {
.get_cos_max = cat_get_cos_max,
.get_feat_info = l3_cdp_get_feat_info,
+ .get_val = l3_cdp_get_val,
};
static void __init parse_psr_bool(char *s, char *value, char *feature,
This patch implements L3 CDP get value callback function. With this patch, 'psr-cat-show' can work for L3 CDP. Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> --- v9: - modify the type of 'l3_cdp_get_val' to 'void'. - cos checking has been done in common function so remove related codes in CDP callback function. (suggested by Jan Beulich) - changes about 'uint64_t' to 'uint32_t'. (suggested by Jan Beulich) v5: - remove type check in callback function. (suggested by Jan Beulich) v4: - create this patch to make codes easier to understand. (suggested by Jan Beulich) --- xen/arch/x86/psr.c | 10 ++++++++++ 1 file changed, 10 insertions(+)