|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH] build: choose arch-includes at makefile level
Instead of adding multiple ifdefs in the headers in order to choose a
header specific to current architecture, include
<uk/asm/arch_specific_header.h>. This will automatically resolve to
the correct header, via -I flags provided to compiler.
This also moves the arch headers in
arch/<arch_family>/<arch_name>/uk/asm
Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
---
arch/arm/arm/Makefile.uk | 4 +++
.../arm/arm/include/uk/asm}/atomic.h | 0
.../arm/arm/include/uk/asm}/intsizes.h | 0
.../arm/arm/include/uk/asm}/lcpu.h | 0
.../arm/arm/include/uk/asm}/limits.h | 0
.../arm/arm/include/uk/asm}/types.h | 0
arch/arm/arm64/Makefile.uk | 4 +++
.../arm/arm64/include/uk/asm}/atomic.h | 0
.../arm/arm64/include/uk/asm}/intsizes.h | 0
.../arm/arm64/include/uk/asm}/lcpu.h | 0
.../arm/arm64/include/uk/asm}/limits.h | 0
.../arm/arm64/include/uk/asm}/types.h | 0
arch/x86/x86_64/Makefile.uk | 5 ++++
.../x86/x86_64/include/uk/asm}/atomic.h | 0
.../x86/x86_64/include/uk/asm}/intsizes.h | 0
.../x86/x86_64/include/uk/asm}/lcpu.h | 0
.../x86/x86_64/include/uk/asm}/limits.h | 0
.../x86/x86_64/include/uk/asm}/types.h | 0
include/uk/arch/atomic.h | 13 +---------
include/uk/arch/lcpu.h | 13 +---------
include/uk/arch/limits.h | 26 ++-----------------
include/uk/arch/types.h | 18 ++-----------
22 files changed, 19 insertions(+), 64 deletions(-)
rename {include/uk/arch/arm/arm => arch/arm/arm/include/uk/asm}/atomic.h (100%)
rename {include/uk/arch/arm/arm => arch/arm/arm/include/uk/asm}/intsizes.h
(100%)
rename {include/uk/arch/arm/arm => arch/arm/arm/include/uk/asm}/lcpu.h (100%)
rename {include/uk/arch/arm/arm => arch/arm/arm/include/uk/asm}/limits.h (100%)
rename {include/uk/arch/arm/arm => arch/arm/arm/include/uk/asm}/types.h (100%)
rename {include/uk/arch/arm/arm64 => arch/arm/arm64/include/uk/asm}/atomic.h
(100%)
rename {include/uk/arch/arm/arm64 => arch/arm/arm64/include/uk/asm}/intsizes.h
(100%)
rename {include/uk/arch/arm/arm64 => arch/arm/arm64/include/uk/asm}/lcpu.h
(100%)
rename {include/uk/arch/arm/arm64 => arch/arm/arm64/include/uk/asm}/limits.h
(100%)
rename {include/uk/arch/arm/arm64 => arch/arm/arm64/include/uk/asm}/types.h
(100%)
rename {include/uk/arch/x86/x86_64 => arch/x86/x86_64/include/uk/asm}/atomic.h
(100%)
rename {include/uk/arch/x86/x86_64 =>
arch/x86/x86_64/include/uk/asm}/intsizes.h (100%)
rename {include/uk/arch/x86/x86_64 => arch/x86/x86_64/include/uk/asm}/lcpu.h
(100%)
rename {include/uk/arch/x86/x86_64 => arch/x86/x86_64/include/uk/asm}/limits.h
(100%)
rename {include/uk/arch/x86/x86_64 => arch/x86/x86_64/include/uk/asm}/types.h
(100%)
diff --git a/arch/arm/arm/Makefile.uk b/arch/arm/arm/Makefile.uk
index 9aef849..3c5dd1f 100644
--- a/arch/arm/arm/Makefile.uk
+++ b/arch/arm/arm/Makefile.uk
@@ -5,6 +5,10 @@ CFLAGS += -marm -fms-extensions
CXXFLAGS += -D__ARM_32__
CXXFLAGS += -marm -fms-extensions
+CINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm/include
+ASINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm/include
+CXXINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm/include
+
# Set GCC flags for MARCH_ARM32_GENERICV7. GCC supports -mtune=generic-armv7-a
from 4.7
ifeq ($(CONFIG_MARCH_ARM32_GENERICV7),y)
$(call error_if_gcc_version_lt,4,7)
diff --git a/include/uk/arch/arm/arm/atomic.h
b/arch/arm/arm/include/uk/asm/atomic.h
similarity index 100%
rename from include/uk/arch/arm/arm/atomic.h
rename to arch/arm/arm/include/uk/asm/atomic.h
diff --git a/include/uk/arch/arm/arm/intsizes.h
b/arch/arm/arm/include/uk/asm/intsizes.h
similarity index 100%
rename from include/uk/arch/arm/arm/intsizes.h
rename to arch/arm/arm/include/uk/asm/intsizes.h
diff --git a/include/uk/arch/arm/arm/lcpu.h b/arch/arm/arm/include/uk/asm/lcpu.h
similarity index 100%
rename from include/uk/arch/arm/arm/lcpu.h
rename to arch/arm/arm/include/uk/asm/lcpu.h
diff --git a/include/uk/arch/arm/arm/limits.h
b/arch/arm/arm/include/uk/asm/limits.h
similarity index 100%
rename from include/uk/arch/arm/arm/limits.h
rename to arch/arm/arm/include/uk/asm/limits.h
diff --git a/include/uk/arch/arm/arm/types.h
b/arch/arm/arm/include/uk/asm/types.h
similarity index 100%
rename from include/uk/arch/arm/arm/types.h
rename to arch/arm/arm/include/uk/asm/types.h
diff --git a/arch/arm/arm64/Makefile.uk b/arch/arm/arm64/Makefile.uk
index 54b1b01..eb73cac 100644
--- a/arch/arm/arm64/Makefile.uk
+++ b/arch/arm/arm64/Makefile.uk
@@ -7,6 +7,10 @@ ASFLAGS += -D__ARM_64__ -mgeneral-regs-only
CFLAGS += -D__ARM_64__ -fms-extensions -mgeneral-regs-only
CXXFLAGS += -D__ARM_64__ -fms-extensions -mgeneral-regs-only
+CINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm64/include
+ASINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm64/include
+CXXINCLUDES += -I$(CONFIG_UK_BASE)/arch/arm/arm64/include
+
# GCC support -mcpu=native for arm64 from 6.0
ifeq ($(CONFIG_MARCH_ARM64_NATIVE),y)
$(call error_if_gcc_version_lt,6,0)
diff --git a/include/uk/arch/arm/arm64/atomic.h
b/arch/arm/arm64/include/uk/asm/atomic.h
similarity index 100%
rename from include/uk/arch/arm/arm64/atomic.h
rename to arch/arm/arm64/include/uk/asm/atomic.h
diff --git a/include/uk/arch/arm/arm64/intsizes.h
b/arch/arm/arm64/include/uk/asm/intsizes.h
similarity index 100%
rename from include/uk/arch/arm/arm64/intsizes.h
rename to arch/arm/arm64/include/uk/asm/intsizes.h
diff --git a/include/uk/arch/arm/arm64/lcpu.h
b/arch/arm/arm64/include/uk/asm/lcpu.h
similarity index 100%
rename from include/uk/arch/arm/arm64/lcpu.h
rename to arch/arm/arm64/include/uk/asm/lcpu.h
diff --git a/include/uk/arch/arm/arm64/limits.h
b/arch/arm/arm64/include/uk/asm/limits.h
similarity index 100%
rename from include/uk/arch/arm/arm64/limits.h
rename to arch/arm/arm64/include/uk/asm/limits.h
diff --git a/include/uk/arch/arm/arm64/types.h
b/arch/arm/arm64/include/uk/asm/types.h
similarity index 100%
rename from include/uk/arch/arm/arm64/types.h
rename to arch/arm/arm64/include/uk/asm/types.h
diff --git a/arch/x86/x86_64/Makefile.uk b/arch/x86/x86_64/Makefile.uk
index 6b03f7a..9d540c0 100644
--- a/arch/x86/x86_64/Makefile.uk
+++ b/arch/x86/x86_64/Makefile.uk
@@ -5,6 +5,11 @@ CFLAGS += -m64 -mno-red-zone -fno-reorder-blocks
-fno-asynchronous-unwind-tabl
CXXFLAGS += -D__X86_64__
CXXFLAGS += -m64 -mno-red-zone -fno-reorder-blocks
-fno-asynchronous-unwind-tables
+CINCLUDES += -I$(CONFIG_UK_BASE)/arch/x86/x86_64/include
+ASINCLUDES += -I$(CONFIG_UK_BASE)/arch/x86/x86_64/include
+CXXINCLUDES += -I$(CONFIG_UK_BASE)/arch/x86/x86_64/include
+
+
CFLAGS-$(CONFIG_MARCH_X86_64_GENERIC) += -mtune=generic
CXXFLAGS-$(CONFIG_MARCH_X86_64_GENERIC) += -mtune=generic
CFLAGS-$(CONFIG_MARCH_X86_64_NOCONA) += -march=nocona
diff --git a/include/uk/arch/x86/x86_64/atomic.h
b/arch/x86/x86_64/include/uk/asm/atomic.h
similarity index 100%
rename from include/uk/arch/x86/x86_64/atomic.h
rename to arch/x86/x86_64/include/uk/asm/atomic.h
diff --git a/include/uk/arch/x86/x86_64/intsizes.h
b/arch/x86/x86_64/include/uk/asm/intsizes.h
similarity index 100%
rename from include/uk/arch/x86/x86_64/intsizes.h
rename to arch/x86/x86_64/include/uk/asm/intsizes.h
diff --git a/include/uk/arch/x86/x86_64/lcpu.h
b/arch/x86/x86_64/include/uk/asm/lcpu.h
similarity index 100%
rename from include/uk/arch/x86/x86_64/lcpu.h
rename to arch/x86/x86_64/include/uk/asm/lcpu.h
diff --git a/include/uk/arch/x86/x86_64/limits.h
b/arch/x86/x86_64/include/uk/asm/limits.h
similarity index 100%
rename from include/uk/arch/x86/x86_64/limits.h
rename to arch/x86/x86_64/include/uk/asm/limits.h
diff --git a/include/uk/arch/x86/x86_64/types.h
b/arch/x86/x86_64/include/uk/asm/types.h
similarity index 100%
rename from include/uk/arch/x86/x86_64/types.h
rename to arch/x86/x86_64/include/uk/asm/types.h
diff --git a/include/uk/arch/atomic.h b/include/uk/arch/atomic.h
index 7cd34b8..d4abeb7 100644
--- a/include/uk/arch/atomic.h
+++ b/include/uk/arch/atomic.h
@@ -36,18 +36,7 @@
extern "C" {
#endif
-#ifdef __X86_32__
-#include <uk/arch/x86/x86/atomic.h>
-#endif
-#ifdef __X86_64__
-#include <uk/arch/x86/x86_64/atomic.h>
-#endif
-#ifdef __ARM_32__
-#include <uk/arch/arm/arm/atomic.h>
-#endif
-#ifdef __ARM_64__
-#include <uk/arch/arm/arm64/atomic.h>
-#endif
+#include <uk/asm/atomic.h>
/**
* Perform a atomic load operation.
diff --git a/include/uk/arch/lcpu.h b/include/uk/arch/lcpu.h
index a9e10d2..83ea6ec 100644
--- a/include/uk/arch/lcpu.h
+++ b/include/uk/arch/lcpu.h
@@ -42,18 +42,7 @@
extern "C" {
#endif
-#ifdef __X86_32__
-#include <uk/arch/x86/x86/lcpu.h>
-#endif
-#ifdef __X86_64__
-#include <uk/arch/x86/x86_64/lcpu.h>
-#endif
-#ifdef __ARM_32__
-#include <uk/arch/arm/arm/lcpu.h>
-#endif
-#ifdef __ARM_64__
-#include <uk/arch/arm/arm64/lcpu.h>
-#endif
+#include <uk/asm/lcpu.h>
#ifndef likely
#define likely(x) (__builtin_expect((!!(x)), 1))
diff --git a/include/uk/arch/limits.h b/include/uk/arch/limits.h
index a0683ad..f1b5831 100644
--- a/include/uk/arch/limits.h
+++ b/include/uk/arch/limits.h
@@ -36,33 +36,11 @@
#ifndef __UKARCH_LIMITS_H__
#define __UKARCH_LIMITS_H__
-#ifdef __X86_32__
-#include <uk/arch/x86/x86/limits.h>
-#endif
-#ifdef __X86_64__
-#include <uk/arch/x86/x86_64/limits.h>
-#endif
-#ifdef __ARM_32__
-#include <uk/arch/arm/arm/limits.h>
-#endif
-#ifdef __ARM_64__
-#include <uk/arch/arm/arm64/limits.h>
-#endif
+#include <uk/asm/limits.h>
#ifndef __ASSEMBLY__
-#ifdef __X86_32__
-#include <uk/arch/x86/x86/intsizes.h>
-#endif
-#ifdef __X86_64__
-#include <uk/arch/x86/x86_64/intsizes.h>
-#endif
-#ifdef __ARM_32__
-#include <uk/arch/arm/arm/intsizes.h>
-#endif
-#ifdef __ARM_64__
-#include <uk/arch/arm/arm64/intsizes.h>
-#endif
+#include <uk/asm/intsizes.h>
#if (defined __C_IS_8)
#define __C_MAX (127)
diff --git a/include/uk/arch/types.h b/include/uk/arch/types.h
index 8b97baf..af6c3e3 100644
--- a/include/uk/arch/types.h
+++ b/include/uk/arch/types.h
@@ -40,22 +40,8 @@
extern "C" {
#endif
-#ifdef __X86_32__
-#include <uk/arch/x86/x86/intsizes.h>
-#include <uk/arch/x86/x86/types.h>
-#endif
-#ifdef __X86_64__
-#include <uk/arch/x86/x86_64/intsizes.h>
-#include <uk/arch/x86/x86_64/types.h>
-#endif
-#ifdef __ARM_32__
-#include <uk/arch/arm/arm/intsizes.h>
-#include <uk/arch/arm/arm/types.h>
-#endif
-#ifdef __ARM_64__
-#include <uk/arch/arm/arm64/intsizes.h>
-#include <uk/arch/arm/arm64/types.h>
-#endif
+#include <uk/asm/intsizes.h>
+#include <uk/asm/types.h>
#ifndef __ASSEMBLY__
--
2.18.0
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |