Hi, On Tue, 19 Apr 2022, 17:09 Paran Lee, <p4ran...@gmail.com> wrote:
> Debugging with GDB from head.S with QEMU runtime was very convenient for > analysis(linux). so I have trying it in Xen. As I built it. > I don't understand how this is related to adding extra cflags. Can you clarify it? > Wouldn't it be helpful if I fixed the code little by little? I am all to make Xen more robust. However, you are now implicitly casting a signed int to unsigned int. I am not convinced this is a good move. I think it would be better to fix the other side of the equation or properly modify the function return. Cheers, > 2022-04-20 오전 1:31에 Paran Lee 이(가) 쓴 글: > > Hi, Julien Grall. > > > > Thank you for checking it out. I'm sorry I forgot to attach the make log > > as well. > > > > My build configuration (include CFLGAS) > > > > export ARCH=arm64 > > export XEN_TARGET_ARCH=arm64 > > export $(dpkg-architecture -aarm64); > > export CROSS_COMPILE=aarch64-linux-gnu- > > export CFLAGS="-g -Wall -Wextra -Wno-unused-parameter" > > > > And i did make dist-xen > > > > my arm64 compiler information are here. > > gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) > > > > ~/xen$ aarch64-linux-gnu-gcc -v > > Using built-in specs. > > COLLECT_GCC=aarch64-linux-gnu-gcc > > COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/9/lto-wrapper > > Target: aarch64-linux-gnu > > Configured with: ../src/configure -v --with-pkgversion='Ubuntu > > 9.4.0-1ubuntu1~20.04.1' > > --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs > > --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr > > --with-gcc-major-version-only --program-suffix=-9 --enable-shared > > --enable-linker-build-id --libexecdir=/usr/lib > > --without-included-gettext --enable-threads=posix --libdir=/usr/lib > > --enable-nls --with-sysroot=/ --enable-clocale=gnu > > --enable-libstdcxx-debug --enable-libstdcxx-time=yes > > --with-default-libstdcxx-abi=new --enable-gnu-unique-object > > --disable-libquadmath --disable-libquadmath-support --enable-plugin > > --enable-default-pie --with-system-zlib --without-target-system-zlib > > --enable-libpth-m2 --enable-multiarch --enable-fix-cortex-a53-843419 > > --disable-werror --enable-checking=release --build=x86_64-linux-gnu > > --host=x86_64-linux-gnu --target=aarch64-linux-gnu > > --program-prefix=aarch64-linux-gnu- > > --includedir=/usr/aarch64-linux-gnu/include > > Thread model: posix > > gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) > > > > In arch/arm/gic-v3.c files. > > > > arch/arm/gic-v3.c: In function ‘gicv3_compute_target_list’: > > arch/arm/gic-v3.c:926:17: error: comparison of integer expressions of > > different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] > > 926 | while ( cpu < nr_cpu_ids ) > > | ^ > > arch/arm/gic-v3.c:936:18: error: comparison of integer expressions of > > different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] > > 936 | if ( cpu == nr_cpu_ids ) > > | ^~ ^ > > > > In arch/arm/setup.c files. > > > > arch/arm/setup.c: In function ‘start_xen’: > > ./include/xen/cpumask.h:374:13: error: comparison of integer expressions > > of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] > > 374 | (cpu) < nr_cpu_ids; \ > > | ^ > > ./include/xen/cpumask.h:459:36: note: in expansion of macro > ‘for_each_cpu’ > > 459 | #define for_each_present_cpu(cpu) for_each_cpu(cpu, > > &cpu_present_map) > > | ^~~~~~~~~~~~ > > arch/arm/setup.c:989:5: note: in expansion of macro > ‘for_each_present_cpu’ > > 989 | for_each_present_cpu ( i ) > > | ^~~~~~~~~~~~~~~~~~~~ ^ > > > > Thank you! > > > > 2022-04-20 오전 12:50에 Julien Grall 이(가) 쓴 글: > >> Hi, > >> > >> On Tue, 19 Apr 2022, 15:41 Paran Lee, <p4ran...@gmail.com> wrote: > >> > >>> GCC with "-g -Wall -Wextra" option throws warning message as below: > >> > >> > >> Which version of the compiler? Also you specify the exact cflags, did > you > >> tweak Xen? > >> > >> > >>> error: comparison of integer expressions of different signedness: > >>> ‘int’ and ‘unsigned int’ [-Werror=sign-compare] > >>> > >> > >> GCC should give you a line/file. Can you provide it? > >> > >> Cheers, > >> > >> > >>> Silence the warning by correcting the integer type. > >>> > >>> Signed-off-by: Paran Lee <p4ran...@gmail.com> > >>> --- > >>> xen/arch/arm/gic-v3.c | 5 +++-- > >>> xen/arch/arm/setup.c | 2 +- > >>> 2 files changed, 4 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c > >>> index 3c472ed768..81ac25f528 100644 > >>> --- a/xen/arch/arm/gic-v3.c > >>> +++ b/xen/arch/arm/gic-v3.c > >>> @@ -916,7 +916,8 @@ static void gicv3_hyp_disable(void) > >>> isb(); > >>> } > >>> > >>> -static u16 gicv3_compute_target_list(int *base_cpu, const struct > cpumask > >>> *mask, > >>> +static u16 gicv3_compute_target_list(unsigned int *base_cpu, > >>> + const struct cpumask *mask, > >>> uint64_t cluster_id) > >>> { > >>> int cpu = *base_cpu; > >>> @@ -953,7 +954,7 @@ out: > >>> > >>> static void gicv3_send_sgi_list(enum gic_sgi sgi, const cpumask_t > >>> *cpumask) > >>> { > >>> - int cpu = 0; > >>> + unsigned int cpu = 0; > >>> uint64_t val; > >>> > >>> for_each_cpu(cpu, cpumask) > >>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c > >>> index d5d0792ed4..5ab2aaecaf 100644 > >>> --- a/xen/arch/arm/setup.c > >>> +++ b/xen/arch/arm/setup.c > >>> @@ -862,7 +862,7 @@ void __init start_xen(unsigned long > boot_phys_offset, > >>> unsigned long fdt_paddr) > >>> { > >>> size_t fdt_size; > >>> - int cpus, i; > >>> + unsigned int cpus, i; > >>> const char *cmdline; > >>> struct bootmodule *xen_bootmodule; > >>> struct domain *d; > >>> -- > >>> 2.25.1 > >>> > >>> > >> >