8 Commits
Author SHA1 Message Date
borysp 3014a0dd1c Miscelaneous inline asm fixes
Mostly adds missing "memory" clobber which caused some nasty bugs - gcc
optimized those inline asms and assumed values returned by them never
change.
2020-11-05 13:48:41 +01:00
Michał Kowalczyk bdcf29ba33 [Pal] Simplify memset and clean up other string ops 2020-07-23 19:48:15 +02:00
Stefan Berger f3425120d3 [Pal] Fix non-x86 implementation of memcpy
This patch fixes the following compile error:

string/memcpy.c: In function \u2018memcpy\u2019:
string/memcpy.c:32:16: warning: dereferencing \u2018void *\u2019 pointer
         *d++ = *src++;
                ^~~~~~
string/memcpy.c:32:14: error: void value not ignored as it ought to be
         *d++ = *src++;
2020-07-06 20:26:31 +02:00
Dmitrii Kuvaiskii 57bbbe321a [Pal/lib] Replace old memory-handling functions with simpler versions
Graphene used its own implementations of memory-handling functions like
memcmp(), memcpy(), etc. These implementations were copied from Glibc
and contained complicated code from year 2004. Modern HW and compilers
do better job at optimizing simple C implementations of these functions.
Thus, this commit replaces old implementations with simple ones taken
from Musl libc and adapted to our code style.

One particular optimization is made to memcpy() on x86-64. memcpy() is
heavily used in Linux-SGX PAL to copy data in/out of SGX enclave.
Experiments with Redis 5.0 show perf improvement of using "rep movsb" at
3-5% for 4KB payloads over the previous implementation based on Glibc.
2020-07-02 16:38:31 +00:00
Michał Kowalczyk de42ebabe1 Reformat repository to our clang-format rules 2019-09-09 22:11:23 +02:00
Don Porter 8d99e037ea Replace rsa implementation, from wolfssl to mbedtls. (#76)
Switch the RSA implementation from wolfssl to mbedtls
2017-10-23 01:41:24 +01:00
Chia-Che Tsai 7f19f62f31 beta version 0.2
Plenty of bugfixes for Linux kernel later than 3.5 and Ubuntu later than 10.10.
More organized code to improve portability.
Regression tests for Pal to test completeness of implementation.
2015-05-20 14:15:52 -04:00
Chia-Che Tsai 10c06ad723 The first official release 2014-06-02 12:45:42 -04:00