[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [UNIKRAFT PATCH v5 0/7] Support float point on arm64 kvm plat
Hello Justin,
Thank you for the work and I have upstreamed the patch series.
Thanks & regards
Sharan
On 4/9/20 4:19 AM, Jia He wrote:
This series is to enable the fpsimd support on arm64 kvm plat.
The key points are in the patch 3 and 4
Tested on a ThundX2 qemu "-machine virt" guest machine.
qemu command line:/usr/local/bin/qemu-system-aarch64 \
-machine virt,gic-version=2 -m 1024 -cpu max -no-acpi -smp 1 \
-display none -nographic -nodefaults -serial stdio \
-kernel build/helloworld_kvm-arm64
I created a simple app with 2 threads, and then print their local
double/float variables. Results Look fine to me.
Changes:
v5:
- add r-b for patch 1,3, and only patch 2,4 have no r-b tag.
- correct the header file, and clean codes in patch 4 (by Sharan)
v4: address most of the comments from Sharan
- change the fp_save/restore_store as per freebsd way
- refine the help msg in patch 1
- add r-b for patch 5,6,7
- s/CONFIG_FLOAT_POINT/CONFIG_FPSIMD/g
v3: rebase to latest staging branch
v2: remove RFC tag.
- utilize 'isr' variant feature introduced by Simon, this addresses the
mgeneral-regs-only issue in v1.
- refactor the save/restore codes due to license issue.
Jia He (7):
plat: build: Add a config option to enable fp on arm64
build: Link libgcc at the end of the link options list
plat/kvm: arm64: Enable the fp/simd at the starting point
plat/arm: Support fp/simd save/restore during context switch
arch/arm64: Don't pass -mgeneral-regs-only when CONFIG_FPSIMD is y
arch/arm64: Fix -mfpu=none when not supporting fpsimd
build: Add 'isr' variant for arm64 kvm plat source files called within
irq context
arch/arm/arm64/Makefile.uk | 7 ++-
plat/Config.uk | 7 +++
plat/common/arm/fp_arm64.c | 80 +++++++++++++++++++++++++++++
plat/common/include/arm/arm64/cpu.h | 46 ++++++++++++++++-
plat/kvm/Linker.uk | 2 +
plat/kvm/Makefile.uk | 11 ++--
plat/kvm/arm/entry64.S | 8 +++
7 files changed, 152 insertions(+), 9 deletions(-)
create mode 100644 plat/common/arm/fp_arm64.c
|