Samy Al Bahra
554e2f0874
whitespace: Strictly conform to C namespacing rules.
10 years ago
Samy Al Bahra
0dfd145aa6
whitespace: Update Copyright messages.
10 years ago
Samy Al Bahra
ae3a579216
ppc*: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
c197b37df1
legal: Update Copyright statements.
11 years ago
Samy Al Bahra
661f3948ed
ck_pr: Add acquire and release fences.
11 years ago
Samy Al Bahra
5d8a273dbe
whitespace: Bulk whitespace changes.
12 years ago
Samy Al Bahra
adbdfe6633
ck_pr: Get rid of ck_pr_fence_X_X functions.
...
These add unnecessary complexity to the ck_pr_fence interface.
Instead, it can be safely assumed that developers will use
ck_pr_fence_X to enforce X -> X ordering.
12 years ago
Samy Al Bahra
214d7aed66
ck_pr: Implement ck_pr_fence_atomic in MD ck_pr.
12 years ago
Samy Al Bahra
d1dd6611ac
ck_pr: Add ck_pr_fence_atomic interface.
...
These operations serialize atomic-RMW operations with respect
to each other, loads and stores. In addition to this, the
load_depends implementations have been removed.
12 years ago
Samy Al Bahra
5506ad2744
ck_pr: Move ck_pr_barrier to compiler port.
12 years ago
Samy Al Bahra
8311e9fcb4
ck_pr: Update GCC port and change ck_pr dependency path.
...
The compiler-specific ck_pr is now unconditionally included.
It currently implements things like compiler barriers.
12 years ago
Samy Al Bahra
44b769963f
ck_pr: ck_pr_fence_X_Y interface has been added.
...
ck_pr_fence_{load_load,store_store,load_store,store_load} operations
have been added. In addition to this, it is no longer the responsibility
of architecture ports to determine when to emit a specific fence. Instead,
the underlying port will always emit the necessary instructions to
enforce strict ordering. The higher-level include/ck_pr implementation will
enforce whether or not a fence is necessary to be emitted according to
the memory model specified by ck_md (CK_MD_{TSO,RMO,PSO}).
In other words, only ck_pr_fence_strict_* is implemented by the MD-ck_pr
port.
12 years ago
Samy Al Bahra
33a9222923
legal: Update Copyright statements.
12 years ago
Samy Al Bahra
93684f77c1
ck_pr: Use CK_CC_INLINE instead of inline keyword for ck_pr_barrier.
12 years ago
Samy Al Bahra
12da4128ff
ck_pr: Adopt const qualifer for load/store.
...
We will adopt these semantics for the rest of _ptr
family at some point in the future as well.
12 years ago
Samy Al Bahra
e40521d1aa
ck_pr/ppc64: Switch to RMO model for atomic operations.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
13 years ago
Samy Al Bahra
3f217c9789
ck_pr: Fallback to RMO for PSO for this release.
...
Barriers can be rejiggered next release.
13 years ago
Samy Al Bahra
a1dc38f20e
build/ck_pr: Add configurable memory models.
13 years ago
Samy Al Bahra
8043f52130
ck_pr: Add ck_pr_barrier for compiler barrier.
...
CK_CC_BARRIER isn't idiomatic, roll this into PR memory model
instead.
13 years ago
Samy Al Bahra
3cf265cba0
all: Strip trailing whitespaces.
13 years ago
Samy Al Bahra
706fd07de7
legal: Update Copyright statements.
13 years ago
Samy Al Bahra
e8a96f4fb8
ck_pr: Add ck_pr_fas_double for {ppc,x86_}64 and ck_pr_cas_double{_2} for x86_64.
13 years ago
Samy Al Bahra
5e7adf5983
ck_pr: Add respective feature flags for ck_pr_load/store_double.
13 years ago
William Irwin
41ef93744a
ck_pr: Add ck_pr_load_double()/ck_pr_store_double() in case volatile loads and stores of floating point values are needed.
13 years ago
Samy Al Bahra
b882517d5e
PPC64: Complete port, add binary write-only operations.
14 years ago
Samy Al Bahra
25f1fde7fa
PPC64: Add fetch-and-add.
14 years ago
Samy Al Bahra
f48a0c2480
PPC64: Add unary operations.
14 years ago
Samy Al Bahra
90fee0d839
PPC64: Import minimal PPC64 port.
...
Must implement templates now for phi in LL-phi-SC
templates to allow for lower latency fetch-and-phi
operations.
14 years ago