On Fri, 2015-06-26 at 16:43 +0800, Chao Peng wrote: > Chao Peng (13): > x86: add socket_cpumask > x86: detect and initialize Intel CAT feature > x86: maintain COS to CBM mapping for each socket > x86: add COS information for each domain > x86: expose CBM length and COS number information > x86: dynamically get/set CBM for a domain > x86: add scheduling support for Intel CAT > xsm: add CAT related xsm policies
Jan applied to here. So I was going to apply these 5: > tools/libxl: minor name changes for CMT commands > tools/libxl: add command to show PSR hardware info > tools/libxl: introduce some socket helpers > tools: add tools support for Intel CAT > docs: add xl-psr.markdown But, on i686 I see: xl_cmdimpl.c: In function ‘psr_cat_hwinfo’: xl_cmdimpl.c:8390:16: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=] (1ul << info->cbm_len) - 1); ^ xl_cmdimpl.c: In function ‘psr_cat_print_socket’: xl_cmdimpl.c:8450:5: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=] printf("%-16s: %#"PRIx64"\n", "Default CBM", (1ul << info->cbm_len) - 1); ^ cc1: all warnings being treated as errors It seems there is some mismatch between your types and the printf formats used. The appropriate format specifier for an unsigned long (which you have from the "ul" in the constant) is %#lx and not "%#"PRIxXX which is associated with uintXX_t types. If you need a 64 bit type then you might have meant instead to use "ull" in which case you want "%#llx" as the format specifier. If you really want/need an exactly 64 bit type then you'll have to do some nasty casting, something like "((uint64_t)1) << info->cbm_len) - 1" or something, that's pretty ugly though. If you have to go this route then please test both builds, in case I've gotten my ()'s wrong. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel