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().

Jan

--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

--
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/c1ca3b69-9521-84d1-c37e-a83c085dd0a4%40siemens.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to