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

Re: [Minios-devel] [UNIKRAFT PATCHv2 00/13] Prepare build scripts to support ARM64



Hey Wei,

if you want, you can start now rebasing your patch series so that we can start integrating them. We can finally move on with ARM64. ;-) We should have all changes in that affects your series and would have caused more problems if we would have done it the opposite way around. Please note that the names of parameters that you get set by KConfig have changed. They are prefixed with CONFIG_ for Makefiles and source files.

Thanks a lot,

Simon

On 16.04.2018 11:07, Wei Chen wrote:
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


_______________________________________________
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®.