History log of /seL4-test-master/projects/musllibc/arch/mips64/atomic_arch.h
Revision Date Author Comments
# 6d99ad91 03-Apr-2016 Rich Felker <dalias@aerifal.cx>

add support for mips and mips64 r6 isa

mips32r6 and mips64r6 are actually new isas at both the asm source and
opcode levels (pre-r6 code cannot run on r6) and thus need to be
treated as a new subarch. the following changes are made, some of
which yield code generation improvements for non-r6 targets too:

- add subarch logic in configure script and reloc.h files for dynamic
linker name.

- suppress use of .set mips2 asm directives (used to allow mips2
atomic instructions on baseline mips1 builds; the kernel has to
emulate them on mips1) except when actually needed. they cause wrong
instruction encodings on r6, and pessimize inlining on at least some
compilers.

- only hard-code sync instruction encoding on mips1.

- use "ZC" constraint instead of "m" constraint for llsc memory
operands on r6, where the ll/sc instructions no longer accept full
16-bit offsets.

- only hard-code rdhwr instruction encoding with .word on targets
(pre-r2) where it may need trap-and-emulate by the kernel.
otherwise, just use the instruction mnemonic, and allow an arbitrary
destination register to be used.


# de400b66 10-Mar-2016 Rich Felker <dalias@aerifal.cx>

correct pointer types for a_ll_p and a_sc_p primitives on mips64

these changes should not affect generated code, but they reflect that
the underlying objects operated on by a_cas_p are supposed to have
type volatile void *, not volatile long. in theory a compiler could
treat the effective type mismatch in the "m" memory operands as
undefined behavior.


# 27bf42cd 10-Mar-2016 Rich Felker <dalias@aerifal.cx>

make mips64 a_sc_p atomic primitive's asm constraints work with clang

apparently clang does not accept matching-register input and output
constraints that differ in size (32-bit vs 64-bit).

based on patch by Jaydeep Patil.


# 83933573 06-Mar-2016 Rich Felker <dalias@aerifal.cx>

add mips64 port

patch by Mahesh Bodapati and Jaydeep Patil of Imagination
Technologies.