coreboot/src/arch/arm64
Jacob Garber 0c4ed4bd7e arch, include, soc: Use common stdint.h
There are only minimal differences between the architecture specific
stdint.h implementations, so let's tidy them up and merge them together
into a single file. In particular,

- Use 'unsigned long' for uintptr_t. This was already the case for x86
  and riscv, while arm and mips used 'unsigned int', and arm64 and ppc64
  used 'unsigned long long'. This change allows using a single integer
  type for uintptr_t across all architectures, and brings it into
  consistency with the rest of the code base, which generally uses
  'unsigned long' for memory addresses anyway. This change required
  fixing several assumptions about integer types in the arm code.
- Use _Bool as the boolean type. This is a specialized boolean type that
  was introduced in C99, and is preferrable over hacking booleans
  using integers. romcc sadly does not support _Bool, so for that we
  stick with the old uint8_t.
- Drop the least and fast integer types. They aren't used
  anywhere in the code base and are an unnecessary maintenance burden.
  Using the standard fixed width types is essentially always better anyway.
- Drop the UINT64_C() macro. It also isn't used anywhere and doesn't
  provide anything that a (uint64_t) cast doesn't.
- Implement the rest of the MIN and MAX numerical limits.
- Use static assertions to check that the integer widths are correct.

Change-Id: I6b52f37793151041b7bdee9ec3708bfad69617b2
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34075
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2019-07-12 17:40:24 +00:00
..
armv8 arm64: make comment match code 2019-06-17 20:04:31 +00:00
include arch, include, soc: Use common stdint.h 2019-07-12 17:40:24 +00:00
arch_timer.c
arm_tf.c src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
boot.c src/arch/arm64: Remove variable set but not used 2019-05-21 09:30:00 +00:00
div0.c
eabi_compat.c src: Remove unneeded include <console/console.h> 2018-11-16 09:50:29 +00:00
fit_payload.c arch: Add missing #include <commonlib/helpers.h> 2019-06-21 16:04:06 +00:00
id.S
Kconfig arch/arm64: Add Kconfig to include BL31 as blob 2018-07-26 00:44:33 +00:00
Makefile.inc arm64: Factor out common parts of romstage execution flow 2018-08-17 21:29:46 +00:00
memcpy.S
memmove.S
memset.S
romstage.c arm64: Factor out common parts of romstage execution flow 2018-08-17 21:29:46 +00:00
tables.c coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
transition.c src: Remove unneeded include <console/console.h> 2018-11-16 09:50:29 +00:00
transition_asm.S arm64: Drop checks for current exception level, hardcode EL3 assumption 2018-08-10 04:16:25 +00:00