public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <david.gilbert@linaro.org>
To: gcc-patches@gcc.gnu.org
Cc: ramana.radhakrishnan@linaro.org, rth@redhat.com,
	joseph@codesourcery.com, patches@linaro.org
Subject: [Patch 0/4] ARM 64 bit sync atomic operations [V2]
Date: Tue, 26 Jul 2011 09:14:00 -0000	[thread overview]
Message-ID: <20110726085910.GA6925@davesworkthinkpad> (raw)
In-Reply-To: <CACUk7=XU8JS+NmcCeKMWQX=WfUeJ4Yn3J+sSk_jOEjOk10EcVg@mail.gmail.com>

Hi,
  This is V2 of a series of 4 patches relating to ARM atomic operations;
they incorporate most of the feedback from V1 - thanks Ramana, Richard and
Joseph for comments.

  1) Provide 64 bit atomic operations using the new ldrexd/strexd in ARMv6k 
     and above.
  2) Provide fallbacks so that when compiled for earlier CPUs a Linux kernel
     asssist is called (as per 32bit and smaller ops)
  3) Fix pr48126 which is a misplaced barrier in the atomic generation
  4) Correct the definition of TARGET_HAVE_DMB_MCR so that it doesn't
     produce the mcr instruction in Thumb1 (and enable on ARMv6 not just 6k
     as per the docs).

Relative to v1:
  Split the DMB_MCR patch out
  Provide complete changelogs
  Don't emit IT instruction except in Thumb2 mode
  Move iterators to iterators.md (didn't move the table since it was specific
    to sync.md)
  Remove sync_atleastsi
  Use sync_predtab in as many places as possible
  Avoid headers in libgcc
  Made various libgcc routines I added static
  used __write instead of write
  Comment the barrier move to explain it more

  Note that the kernel interface has remained the same for the helper, and as
such I've not changed the way the helper calling in patch 2 is structured.

This code was tested with a full bootstrap on ARM; make check results
are the same as without the patches except for extra passes due to the new
tests.

This work is part of Linaro blueprint:
https://blueprints.launchpad.net/linaro-toolchain-misc/+spec/64-bit-sync-primitives

Dave

  reply	other threads:[~2011-07-26  8:59 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-01 15:53 [Patch 0/3] ARM 64 bit atomic operations Dr. David Alan Gilbert
2011-07-01 15:55 ` [Patch 1/3] " Dr. David Alan Gilbert
2011-07-12 21:24   ` Ramana Radhakrishnan
2011-07-13  9:18     ` David Gilbert
2011-07-01 15:56 ` [Patch 2/3] " Dr. David Alan Gilbert
2011-07-01 16:03   ` Richard Henderson
2011-07-01 17:08     ` David Gilbert
2011-07-01 19:38   ` Joseph S. Myers
2011-07-04 22:27     ` David Gilbert
2011-07-01 15:57 ` [Patch 3/3] " Dr. David Alan Gilbert
2011-07-12 15:31   ` Ramana Radhakrishnan
2011-07-12 12:55 ` [Patch 0/3] " Ramana Radhakrishnan
2011-07-26  9:14   ` Dr. David Alan Gilbert [this message]
2011-07-26  9:16     ` [Patch 1/4] ARM 64 bit sync atomic operations [V2] Dr. David Alan Gilbert
2011-07-26  9:18       ` [Patch 2/4] " Dr. David Alan Gilbert
2011-07-26  9:23         ` [Patch 3/4] " Dr. David Alan Gilbert
2011-07-26  9:24           ` [Patch 4/4] " Dr. David Alan Gilbert
2011-08-01 15:43             ` Ramana Radhakrishnan
2011-08-17 13:07           ` [Patch 3/4] " Ramana Radhakrishnan
2011-09-30 18:04         ` [Patch 2/4] " Ramana Radhakrishnan
2011-09-30 18:29           ` H.J. Lu
2011-10-03 13:22             ` David Gilbert
2011-09-30 20:51           ` Joseph S. Myers
2011-10-03  8:35             ` Andrew Haley
2011-10-03 14:04               ` David Gilbert
2011-10-03 15:56               ` Joseph S. Myers
2011-10-03 16:07                 ` Jakub Jelinek
2011-09-30 14:25       ` [Patch 1/4] " Ramana Radhakrishnan
2011-10-03 12:53         ` David Gilbert
2011-10-03 15:18           ` David Gilbert
2011-10-06 17:52             ` [Patch 0/5] ARM 64 bit sync atomic operations [V3] Dr. David Alan Gilbert
2011-10-06 17:53               ` [Patch 1/5] " Dr. David Alan Gilbert
2011-10-06 17:54                 ` [Patch 2/5] " Dr. David Alan Gilbert
2011-10-06 17:55                   ` [Patch 3/5] " Dr. David Alan Gilbert
2011-10-06 18:03                     ` [Patch 4/5] " Dr. David Alan Gilbert
2011-10-06 18:03                       ` [Patch 5/5] " Dr. David Alan Gilbert
2011-10-12  4:51                         ` Ramana Radhakrishnan
2011-10-12  5:06                         ` Mike Stump
2011-10-12  0:53                       ` [Patch 4/5] " Ramana Radhakrishnan
2011-10-12  2:35                     ` [Patch 3/5] " Ramana Radhakrishnan
2011-10-12  0:52                   ` [Patch 2/5] " Ramana Radhakrishnan
2011-10-12  1:45                   ` Ramana Radhakrishnan
2011-10-12  0:51                 ` [Patch 1/5] " Ramana Radhakrishnan

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=20110726085910.GA6925@davesworkthinkpad \
    --to=david.gilbert@linaro.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    --cc=patches@linaro.org \
    --cc=ramana.radhakrishnan@linaro.org \
    --cc=rth@redhat.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).