[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 0/9] 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 have to modify the
build scripts which corresponding to this change at the same time.

Wei Chen (9):
  build: Adjust sed script to avoid treating arm64 as arm
  build: Introduce a new variable UK_FAMILY
  build: Move arm32 libraries to new family/architecture folder
  build: Move architecture headers to family/architecture folder
  build: Add a makefile rule to check valid gcc version
  build: Add arm64 architecture config to menuconfig
  build: Add a macro to check and add gcc flags for target CPU
  build: Add compiler and flags for arm64
  build: Check the minimum GCC version for arm32

 Makefile                              |  36 ++-
 arch/Arch.uk                          |   2 +
 arch/Config.uk                        |   7 +-
 arch/arm/Compiler.uk                  |   4 +
 arch/arm/Config.uk                    |  67 +++++-
 arch/arm/Makefile.uk                  |  83 ++++++-
 arch/arm/arm32/divsi3.S               | 404 ++++++++++++++++++++++++++++++++++
 arch/arm/arm32/ldivmod.S              |  68 ++++++
 arch/arm/arm32/ldivmod_helper.c       |  67 ++++++
 arch/arm/arm32/qdivrem.c              | 324 +++++++++++++++++++++++++++
 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                  |   6 +
 arch/x86/Config.uk                    |  89 ++++++++
 arch/x86/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/arm32/atomic.h    |  64 ++++++
 include/uk/arch/arm/arm32/intsizes.h  |  45 ++++
 include/uk/arch/arm/arm32/lcpu.h      |  59 +++++
 include/uk/arch/arm/arm32/limits.h    |  45 ++++
 include/uk/arch/arm/arm32/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          |   8 +
 45 files changed, 1698 insertions(+), 1537 deletions(-)
 create mode 100644 arch/arm/arm32/divsi3.S
 create mode 100644 arch/arm/arm32/ldivmod.S
 create mode 100644 arch/arm/arm32/ldivmod_helper.c
 create mode 100644 arch/arm/arm32/qdivrem.c
 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/Config.uk
 create mode 100644 arch/x86/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/arm32/atomic.h
 create mode 100644 include/uk/arch/arm/arm32/intsizes.h
 create mode 100644 include/uk/arch/arm/arm32/lcpu.h
 create mode 100644 include/uk/arch/arm/arm32/limits.h
 create mode 100644 include/uk/arch/arm/arm32/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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.