From 5c93a9f2145d55b217956a569e9778eae5cebaad Mon Sep 17 00:00:00 2001 From: Minos Galanakis Date: Wed, 8 Dec 2021 17:38:07 +0000 Subject: [PATCH] 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 --- ChangeLog.d/twos_complement_representation.txt | 3 +++ README.md | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 ChangeLog.d/twos_complement_representation.txt diff --git a/ChangeLog.d/twos_complement_representation.txt b/ChangeLog.d/twos_complement_representation.txt new file mode 100644 index 000000000..fa49859ab --- /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 4d50a6176..eb3829cd8 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 --------------------