[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |