|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCHv2 00/13] Prepare build scripts to support ARM64
Currently, Unikraft only supports arm32 and x86_64. The folder layout
is not very convenient to add arm64 or x86_32 support to it. In this
case we will modify the folder layout to support common code for the
architectures of the same CPU families. We also would modify the build
scripts which corresponding to this change at the same time.
---
v1 -> v2:
1. Usecheckpatch to check the code-style.
2. Remove a blank EOF warning of patch#3.
3. Select closer subject prefix for each patch.
4. Fix typos in serval patches' commit messages.
5. Update serval patches descriptions.
6. Address Florian's comment in patch#1.
7. Simplify the patch#2. Only introduces UK_FAMILY.
8. Move reorganization work from patch#2 to patch#3.
9. Add a common GCC version test function in Makefile.rules
10. Add a common GCC version warning function in Makefile.rules
11. Add a function to check condition and set GCC flags
12. Place individual arch's Config/Makefile/Compiler files to
its subfolder.
13. Rename MARCH_* of x86_64 to MARCH_X86_64_* to avoid conflict
14. Rename MARCH_* of arm32 to MARCH_ARM32_* to avoid conflict
15. Use common function to check and set processor optimization
GCC flags for arm32/arm64
16. Add more arm32 CPU models to processor optimization list
17. Use generic-armv7-a as arm32's default processor
Wei Chen (13):
build: Adjust sed script to avoid treating arm64 as arm
build: Introduce a new variable UK_FAMILY
arch: Reorganize arch folder to reflect the CPU family schema
include: Reorganize base include folder to reflect CPU family schema
build: Add a makefile function to check GCC version
build: Add a makefile function to warn user when GCC is too old
build: Add a makefile function to check and set flags for valid gcc
arch: Add arm64 architecture config to menuconfig
arch/x86: Rename MARCH_* of x86_64 to MARCH_X86_64_*
arch/arm: Rename MARCH_* of arm32 to MARCH_ARM32_*
arch/arm64: Add processor optimization GCC flags for arm64
arch/arm: Check gcc version and set processor flags for arm32
arch/arm: Add more CPU models to processor optimization list
Config.uk | 2 +-
Makefile | 34 ++-
arch/Arch.uk | 2 +
arch/Config.uk | 10 +-
arch/arm/Compiler.uk | 7 +-
arch/arm/Config.uk | 18 --
arch/arm/Makefile.uk | 23 +-
arch/arm/arm/Compiler.uk | 6 +
arch/arm/arm/Config.uk | 71 ++++++
arch/arm/arm/Makefile.uk | 48 ++++
arch/arm/arm/divsi3.S | 403 +++++++++++++++++++++++++++++++++
arch/arm/arm/ldivmod.S | 68 ++++++
arch/arm/arm/ldivmod_helper.c | 67 ++++++
arch/arm/arm/qdivrem.c | 324 +++++++++++++++++++++++++++
arch/arm/arm64/Compiler.uk | 6 +
arch/arm/arm64/Config.uk | 60 +++++
arch/arm/arm64/Makefile.uk | 27 +++
arch/arm/divsi3.S | 404 ----------------------------------
arch/arm/ldivmod.S | 68 ------
arch/arm/ldivmod_helper.c | 67 ------
arch/arm/qdivrem.c | 324 ---------------------------
arch/x86/Compiler.uk | 4 +
arch/x86/Makefile.uk | 4 +
arch/x86/x86_64/Compiler.uk | 6 +
arch/x86/x86_64/Config.uk | 89 ++++++++
arch/x86/x86_64/Makefile.uk | 37 ++++
arch/x86_64/Compiler.uk | 6 -
arch/x86_64/Config.uk | 89 --------
arch/x86_64/Makefile.uk | 37 ----
include/uk/arch/arm/arm/atomic.h | 64 ++++++
include/uk/arch/arm/arm/intsizes.h | 45 ++++
include/uk/arch/arm/arm/lcpu.h | 59 +++++
include/uk/arch/arm/arm/limits.h | 45 ++++
include/uk/arch/arm/arm/types.h | 35 +++
include/uk/arch/arm/atomic.h | 64 ------
include/uk/arch/arm/intsizes.h | 45 ----
include/uk/arch/arm/lcpu.h | 59 -----
include/uk/arch/arm/limits.h | 45 ----
include/uk/arch/arm/types.h | 35 ---
include/uk/arch/atomic.h | 8 +-
include/uk/arch/lcpu.h | 8 +-
include/uk/arch/limits.h | 16 +-
include/uk/arch/types.h | 16 +-
include/uk/arch/x86/x86_64/atomic.h | 45 ++++
include/uk/arch/x86/x86_64/intsizes.h | 45 ++++
include/uk/arch/x86/x86_64/lcpu.h | 73 ++++++
include/uk/arch/x86/x86_64/limits.h | 46 ++++
include/uk/arch/x86/x86_64/types.h | 38 ++++
include/uk/arch/x86_64/atomic.h | 45 ----
include/uk/arch/x86_64/intsizes.h | 45 ----
include/uk/arch/x86_64/lcpu.h | 73 ------
include/uk/arch/x86_64/limits.h | 46 ----
include/uk/arch/x86_64/types.h | 38 ----
support/build/Makefile.rules | 21 ++
54 files changed, 1800 insertions(+), 1570 deletions(-)
delete mode 100644 arch/arm/Config.uk
create mode 100644 arch/arm/arm/Compiler.uk
create mode 100644 arch/arm/arm/Config.uk
create mode 100644 arch/arm/arm/Makefile.uk
create mode 100644 arch/arm/arm/divsi3.S
create mode 100644 arch/arm/arm/ldivmod.S
create mode 100644 arch/arm/arm/ldivmod_helper.c
create mode 100644 arch/arm/arm/qdivrem.c
create mode 100644 arch/arm/arm64/Compiler.uk
create mode 100644 arch/arm/arm64/Config.uk
create mode 100644 arch/arm/arm64/Makefile.uk
delete mode 100644 arch/arm/divsi3.S
delete mode 100644 arch/arm/ldivmod.S
delete mode 100644 arch/arm/ldivmod_helper.c
delete mode 100644 arch/arm/qdivrem.c
create mode 100644 arch/x86/Compiler.uk
create mode 100644 arch/x86/Makefile.uk
create mode 100644 arch/x86/x86_64/Compiler.uk
create mode 100644 arch/x86/x86_64/Config.uk
create mode 100644 arch/x86/x86_64/Makefile.uk
delete mode 100644 arch/x86_64/Compiler.uk
delete mode 100644 arch/x86_64/Config.uk
delete mode 100644 arch/x86_64/Makefile.uk
create mode 100644 include/uk/arch/arm/arm/atomic.h
create mode 100644 include/uk/arch/arm/arm/intsizes.h
create mode 100644 include/uk/arch/arm/arm/lcpu.h
create mode 100644 include/uk/arch/arm/arm/limits.h
create mode 100644 include/uk/arch/arm/arm/types.h
delete mode 100644 include/uk/arch/arm/atomic.h
delete mode 100644 include/uk/arch/arm/intsizes.h
delete mode 100644 include/uk/arch/arm/lcpu.h
delete mode 100644 include/uk/arch/arm/limits.h
delete mode 100644 include/uk/arch/arm/types.h
create mode 100644 include/uk/arch/x86/x86_64/atomic.h
create mode 100644 include/uk/arch/x86/x86_64/intsizes.h
create mode 100644 include/uk/arch/x86/x86_64/lcpu.h
create mode 100644 include/uk/arch/x86/x86_64/limits.h
create mode 100644 include/uk/arch/x86/x86_64/types.h
delete mode 100644 include/uk/arch/x86_64/atomic.h
delete mode 100644 include/uk/arch/x86_64/intsizes.h
delete mode 100644 include/uk/arch/x86_64/lcpu.h
delete mode 100644 include/uk/arch/x86_64/limits.h
delete mode 100644 include/uk/arch/x86_64/types.h
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |