What I need to confirm is if the Linaro 5.3 would generate such code from a 
normal block of C without any kind of asm in it? Detecting the code is part of 
the kernel...I need to figure out where it was generated. Is Linaro 5.3 going 
to generate such code without explicitly writing it in?
 
----- Original Message -----From: Andrew Pinski <andrew.pin...@cavium.com>To: 
stim...@comcast.net, Linaro Toolchain Mailman List 
<linaro-toolchain@lists.linaro.org>Sent: Mon, 05 Sep 2016 17:21:24 -0000 
(UTC)Subject: RE: Question on "Using deprecated CP15 barrier instruction".


Simple answer is yes.  There are a lot of assembly out there and someone (seen 
it in the past) could have used this barrier method in their code and not 
really thought it was going to change in the future.
 
Thanks,
Andrew
 
From: linaro-toolchain [mailto:linaro-toolchain-boun...@lists.linaro.org]On 
Behalf Of stimits@comcast.netSent: Monday, September 5, 2016 8:10 AMTo: Linaro 
Toolchain Mailman List <linaro-toolchain@lists.linaro.org>Subject: Question on 
"Using deprecated CP15 barrier instruction".
 

Hi,


 


For reference, the following questions refer to a Linux 3.10 aarch64 kernel 
(ARMv8, ARMv8-A) compiled with Linaro5.3-2016.02 (5.3-2016.02 arm64 
CROSS_COMPILE and 5.3-2016.02 armhf CROSS32CC cross compiled from x86_64). This 
Linux kernel compile requires the full 64-bit tool chain plus the 32-bit gcc.


 


There is a Linux kernel file "arch/arm64/kernel/deprecated.c". Within that file 
is a block of code which is apparently designed to detect some sort of older 
obsolete 32-bit code. Specifically, the warning message is "Using deprecated 
CP15 barrier instruction". I wouldn't think that this kernel, when compiled 
with such a recent compiler, would ever introduce CP15 barrier code (from what 
I see barrier code was deprecated in ARMv7 and used to deal with obsolete ARMv6 
code). Is there any chance the 32-bit 5.3 gcc would still generate CP15 barrier 
code?


 


Although this kernel and "most" modules are built with Linaro 5.3 I'd like to 
be able to narrow the cause down to existing binary modules not compiled with 
the 5.3 Linaro. If I can guarantee 5.3 32-bit gcc does not produce the CP15 
barrier instruction then I'll know it is in pre-built binary modules. Can 
anyone tell me if C code compiled from Linaro version 5.3 32-bit gcc code would 
ever contain CP15 instructions?


 


Thanks!



_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to