On 06/28/2019 10:07 AM, Jan Kiszka wrote:
On 28.06.19 15:50, Vitaly Andrianov wrote:
Jan,
I was able to get almost everything working on AM572 IDK, but had to move to a 
new compiler:

arm-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Now I'm getting errors:

   CC 
/home/<username>/GIT_REPS/jailhouse/hypervisor/arch/arm/../arm-common/setup.o
   CC 
/home/<username>/GIT_REPS/jailhouse/hypervisor/arch/arm/../arm-common/smccc.o
/tmp/ccm9f2Kw.s: Assembler messages:
/tmp/ccm9f2Kw.s:52: Error: selected processor does not support `smc #0' in ARM 
mode
/tmp/ccm9f2Kw.s:82: Error: selected processor does not support `smc #0' in ARM 
mode
/tmp/ccm9f2Kw.s:109: Error: selected processor does not support `smc #0' in ARM 
mode
/tmp/ccm9f2Kw.s:140: Error: selected processor does not support `smc #0' in ARM 
mode
/tmp/ccm9f2Kw.s:170: Error: selected processor does not support `smc #0' in ARM 
mode
scripts/Makefile.build:303: recipe for target '/home/a0794637/GIT_REPS/jailhouse/hypervisor/arch/arm/../arm-common/smccc.o' failed
make[4]: *** 
[/home/<username>/GIT_REPS/jailhouse/hypervisor/arch/arm/../arm-common/smccc.o] 
Error 1
scripts/Makefile.build:544: recipe for target '/home/<username>/GIT_REPS/jailhouse/hypervisor/arch/arm' failed

I guess the new toolchain requires to pass additional "arch_extension" options 
to assembler.
If I add asm(".arch_extension sec\n"); before each asm line in the smccc.c that works, but I'm getting errors at other places missing "virt" extension.

I don't believe I need to edit each source file, It must be a way to add the required options to makefiles.
Do you know how to fix that issue?


The original idea was to have that extension enabled by just including hypervisor/arch/arm/include/asm/smc.h which contains that statement. Seems we lose that with this compiler version. Or we rather need it in the asm blocks that define smc() and smc_arg1().

Yes adding the extension to each block helped. After that we have errors for 
each macro in the sysregs.h

-Vitaly


Jan


--
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/b98a12f8-f526-15d0-ff5f-8b3e9058a9e0%40ti.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to