@@ -2210,7 +2210,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
* and the length in 'nr'.
*/
int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
- int *nr, unsigned int lvl);
+ unsigned int *nr, unsigned int lvl);
int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
int *nr);
void libxl_psr_cat_info_list_free(libxl_psr_cat_info *list, int nr);
@@ -362,7 +362,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
}
int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
- int *nr, unsigned int lvl)
+ unsigned int *nr, unsigned int lvl)
{
GC_INIT(ctx);
int rc;
@@ -410,8 +410,10 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
int *nr)
{
int rc;
+ unsigned int num;
- rc = libxl_psr_cat_get_info(ctx, info, nr, 3);
+ rc = libxl_psr_cat_get_info(ctx, info, &num, 3);
+ *nr = num;
return rc;
}
@@ -294,8 +294,8 @@ int main_psr_cmt_show(int argc, char **argv)
static int psr_l3_cat_hwinfo(void)
{
- int rc, nr;
- unsigned int i;
+ int rc;
+ unsigned int i, nr;
uint32_t l3_cache_size;
libxl_psr_cat_info *info;
@@ -424,7 +424,7 @@ static int psr_cat_print_socket(uint32_t domid, libxl_psr_cat_info *info,
static int psr_cat_show(uint32_t domid, unsigned int lvl)
{
- int i, nr;
+ unsigned int i, nr;
int rc;
libxl_psr_cat_info *info;
@@ -453,8 +453,7 @@ out:
static int psr_l2_cat_hwinfo(void)
{
int rc;
- unsigned int i;
- int nr;
+ unsigned int i, nr;
libxl_psr_cat_info *info;
rc = libxl_psr_cat_get_info(ctx, &info, &nr, 2);
Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes. Suggested-by: Roger Pau Monné <roger.pau@citrix.com> Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> --- - This patch depends on patch 'tools: remove unnecessary PSR macros'. --- tools/libxl/libxl.h | 2 +- tools/libxl/libxl_psr.c | 6 ++++-- tools/xl/xl_psr.c | 9 ++++----- 3 files changed, 9 insertions(+), 8 deletions(-)