This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Issue with AAPCS (ie parameters passing to a function) for gcc 11

Refer the following disassembly :-

set_boot_mpumap(next_xen_mpumap_index, (uint32_t) boot_mpumap);
   a2c44: e30b2000        movw    r2, #45056      ; 0xb000
   a2c48: e3402008        movt    r2, #8
   a2c4c: e5940000        ldr     r0, [r4]
   a2c50: e3a01000        mov     r1, #0 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ---------------Problem
   a2c54: ebfedae2        bl      597e4 <set_boot_mpumap>
The address of boot_mpumap = 0x8b000 is being passed via r2 and r1 is 
set to 0.
This causes the issue as set_boot_mpumap() expects r1 to have the value of boot_mpumap.
I am using the below version of toolchain.
ayan@ayan-Lenovo-V15-IIL:~/xen_r52/r82_mpu_gitlab$ 
arm-none-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-linux-
gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/ayan/xen_r52/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/11.2.1/lto-wrapper
Target: arm-none-linux-gnueabihf
Configured with: 
/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure 
--target=arm-none-linux-gnueabihf --prefix= 
--with-sysroot=/arm-none-linux-gnueabihf/libc 
--with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc 
--disable-libssp --disable-libmudflap --enable-checking=release 
--enable-languages=c,c++,fortran 
--with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools 
--with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools 
--with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools 
--with-isl=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools 
--with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb 
--with-arch=armv7-a --with-pkgversion='GNU Toolchain for the Arm 
Architecture 11.2-2022.02 (arm-11.14)'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.1 20220111 (GNU Toolchain for the Arm Architecture 
11.2-2022.02 (arm-11.14))
Any hints ?