From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] openpgm: Blacklist Blackfin ADI 2014R1 toolchain
Date: Fri, 13 Mar 2015 07:25:24 +0100 [thread overview]
Message-ID: <20150313072524.4933137d@free-electrons.com> (raw)
In-Reply-To: <5502098A.6030909@openwide.fr>
Dear Romain Naour,
On Thu, 12 Mar 2015 22:47:54 +0100, Romain Naour wrote:
> Yann said in the commit log:
> "The fact that atomic operations are available is not really a
> specificity of the toolchain, but rather of the architecture."
That is correct, but you could imagine, on an architecture that does
have atomic operations, a compiler version that does not implement the
corresponding compiler intrinsics.
Back then, we decided to not support such situations, because it was
making the handling of this atomic operation support too complicated.
> >> config BR2_ARCH_HAS_ATOMICS
> >> # The following toolchains lack required compiler intrinsics
> >> depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1
> >> depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1
> >> depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
> >> default y
> >
> > Nope. We first need to find out whether the Blackfin architecture has
> > what's needed to provide atomic intrinsics. Depending on that, we'll
> > now if it's a toolchain limitation or not.
>
> I'm not sure but blackfin seems to have some (one?) atomic instruction(s):
>
> http://www.analog.com/media/en/dsp-documentation/processor-manuals/ADSP-BF539_HRM_rev03.pdf
> "The processor provides a single atomic operation: TESTSET"
>
> http://blackfin.uclinux.org/doku.php?id=toolchain:application_binary_interface
> "The Blackfin does not have an atomic 64 bit load/store instruction"
What we need to check is if more recent versions of gcc on Blackfin do
have the atomic intrinsics available. If not, when we can simply decide
to set BR2_ARCH_HAS_ATOMICS to false on Blackfin. If however some more
recent gcc versions for Blackfin do have those instructions, then we
will have to handle a toolchain-level criteria to decide whether atomic
operations are available or not.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
prev parent reply other threads:[~2015-03-13 6:25 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-07 18:51 [Buildroot] [PATCH] openpgm: Blacklist Blackfin ADI 2014R1 toolchain Romain Naour
2015-03-08 7:53 ` Thomas Petazzoni
2015-03-08 16:43 ` Romain Naour
2015-03-08 17:30 ` Thomas Petazzoni
2015-03-12 21:47 ` Romain Naour
2015-03-13 6:25 ` Thomas Petazzoni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150313072524.4933137d@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox