[boot-wrapper PATCH v2 2/9] Add standard headers

Andre Przywara andre.przywara at arm.com
Wed Dec 22 10:16:00 PST 2021


So far we were relying on some standard C headers to be provided by the
toolchain. This applies for instance to stddef.h and stdint.h.
As a "bare-metal" application, we should not rely on external headers,
or even on a toolchain providing them in the first place.

Define our own version of stddef.h and stdint.h, containing just the
types that we actually need.

Signed-off-by: Andre Przywara <andre.przywara at arm.com>
---
 arch/aarch32/include/stdint.h | 19 +++++++++++++++++++
 arch/aarch64/include/stdint.h | 19 +++++++++++++++++++
 include/stddef.h              | 15 +++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/aarch32/include/stdint.h
 create mode 100644 arch/aarch64/include/stdint.h
 create mode 100644 include/stddef.h

diff --git a/arch/aarch32/include/stdint.h b/arch/aarch32/include/stdint.h
new file mode 100644
index 0000000..77546f0
--- /dev/null
+++ b/arch/aarch32/include/stdint.h
@@ -0,0 +1,19 @@
+/*
+ * arch/aarch32/include/stdint.h
+ *
+ * Copyright (C) 2021 ARM Limited. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE.txt file.
+ */
+#ifndef STDINT_H__
+#define STDINT_H__
+
+typedef unsigned char		uint8_t;
+typedef unsigned short int	uint16_t;
+typedef unsigned int		uint32_t;
+typedef unsigned long long int	uint64_t;
+
+typedef unsigned int		uintptr_t;
+
+#endif
diff --git a/arch/aarch64/include/stdint.h b/arch/aarch64/include/stdint.h
new file mode 100644
index 0000000..92c2603
--- /dev/null
+++ b/arch/aarch64/include/stdint.h
@@ -0,0 +1,19 @@
+/*
+ * arch/aarch64/include/stdint.h
+ *
+ * Copyright (C) 2021 ARM Limited. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE.txt file.
+ */
+#ifndef STDINT_H__
+#define STDINT_H__
+
+typedef unsigned char		uint8_t;
+typedef unsigned short int	uint16_t;
+typedef unsigned int		uint32_t;
+typedef unsigned long int	uint64_t;
+
+typedef unsigned long int	uintptr_t;
+
+#endif
diff --git a/include/stddef.h b/include/stddef.h
new file mode 100644
index 0000000..3208b10
--- /dev/null
+++ b/include/stddef.h
@@ -0,0 +1,15 @@
+/*
+ * include/stddef.h - standard data type definitions
+ *
+ * Copyright (C) 2021 ARM Limited. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE.txt file.
+ */
+#ifndef STDDEF_H__
+#define STDDEF_H__
+
+typedef unsigned long int	size_t;
+typedef signed long int		ssize_t;
+
+#endif
-- 
2.25.1




More information about the linux-arm-kernel mailing list