[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



Hi Simon,

> -----Original Message-----
> From: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
> Sent: 2018年6月15日 5:23
> To: Wei Chen <Wei.Chen@xxxxxxx>; minios-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Shijie Huang <Shijie.Huang@xxxxxxx>; Kaly Xin <Kaly.Xin@xxxxxxx>; nd
> <nd@xxxxxxx>
> Subject: Re: [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.
> 

Aha, finally, I don't need to hold patches in my hands :)
I will send two patch series in these days: one is build scripts' changes,
another is Arm64 KVM enablement code. Of course, they will address your
comments at the same time.

Thanks,
Wei Chen

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