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

[UNIKRAFT PATCH v5 0/7] Support float point on arm64 kvm plat



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

-- 
2.17.1




 


Rackspace

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