On 28.06.19 16:37, Vitaly Andrianov wrote:
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


OK, this doesn't scale. I guess we need to study how the kernel does that...

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/0dd9d362-e37e-ddca-b687-8e529dec5cac%40siemens.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to