aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinos Galanakis <minos.galanakis@arm.com>2021-12-08 17:38:07 +0000
committerMinos Galanakis <minos.galanakis@arm.com>2021-12-10 15:57:54 +0000
commit5c93a9f2145d55b217956a569e9778eae5cebaad (patch)
treef34fd1b3cb0904368b0de2c8cdfa6cebd051a0b2
parent582f2398d44bc36ce49adb592f808cccfb1b548f (diff)
downloadmbedtls-5c93a9f2145d55b217956a569e9778eae5cebaad.zip
mbedtls-5c93a9f2145d55b217956a569e9778eae5cebaad.tar.gz
mbedtls-5c93a9f2145d55b217956a569e9778eae5cebaad.tar.bz2
Update changelog & readme
This patch adds explicit wording to state that Two's complement is the official supported signed integer representation. Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
-rw-r--r--ChangeLog.d/twos_complement_representation.txt3
-rw-r--r--README.md8
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog.d/twos_complement_representation.txt b/ChangeLog.d/twos_complement_representation.txt
new file mode 100644
index 0000000..fa49859
--- /dev/null
+++ b/ChangeLog.d/twos_complement_representation.txt
@@ -0,0 +1,3 @@
+Requirement changes
+ * Sign-magnitude and one's complement representations for signed integers are
+ not supported. Two's complement is the only supported representation.
diff --git a/README.md b/README.md
index 4d50a61..eb3829c 100644
--- a/README.md
+++ b/README.md
@@ -197,6 +197,14 @@ Mbed TLS can be ported to many different architectures, OS's and platforms. Befo
- [What external dependencies does Mbed TLS rely on?](https://tls.mbed.org/kb/development/what-external-dependencies-does-mbedtls-rely-on)
- [How do I configure Mbed TLS](https://tls.mbed.org/kb/compiling-and-building/how-do-i-configure-mbedtls)
+Mbed TLS is mostly written in portable C99; however, it has a few platform requirements that go beyond the standard, but are met by most modern architectures:
+
+- Bytes must be 8 bits.
+- All-bits-zero must be a valid representation of a null pointer.
+- Signed integers must be represented using two's complement.
+- `int` and `size_t` must be at least 32 bits wide.
+- The types `uint8_t`, `uint16_t`, `uint32_t` and their signed equivalents must be available.
+
PSA cryptography API
--------------------