History log of /freebsd/sys/arm64/include/vfp.h (Results 1 – 25 of 39)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 332c4263 27-Sep-2024 Andrew Turner <andrew@FreeBSD.org>

arm64: Initial SVE support

Add initial kernel support for SVE. This detects if SVE is present on
all CPUs, and if so allows for the use of SVE in the future.

As the SVE registers are a superset of

arm64: Initial SVE support

Add initial kernel support for SVE. This detects if SVE is present on
all CPUs, and if so allows for the use of SVE in the future.

As the SVE registers are a superset of the VFP registers we don't need
to restore the VFP registers when SVE is enabled.

Ths interface to enable SVE is provided, but not used until SVE is
supported in signals and with ptrace.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43306

show more ...


Revision tags: release/13.4.0
# a30149b2 12-Jun-2024 Andrew Turner <andrew@FreeBSD.org>

arm64: Create a version of vfp_save_state for cpu_switch

This will be used when we add SVE support to reduce the registers
needed to be saved on context switch.

Reviewed by: imp
Sponsored by: Arm L

arm64: Create a version of vfp_save_state for cpu_switch

This will be used when we add SVE support to reduce the registers
needed to be saved on context switch.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43305

show more ...


Revision tags: release/14.1.0, release/13.3.0
# 12257233 03-Jan-2024 Andrew Turner <andrew@FreeBSD.org>

arm64: Split out a savectx version of vfp_save_state

Rather than try to detect when vfp_save_state is called by savectx use
a separate function that sets up the pcb as needed.

Reviewed by: imp
Spon

arm64: Split out a savectx version of vfp_save_state

Rather than try to detect when vfp_save_state is called by savectx use
a separate function that sets up the pcb as needed.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43304

show more ...


Revision tags: release/14.0.0
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# d5d97bed 26-Jul-2023 Mike Karels <karels@FreeBSD.org>

arm64 lib32: prepare arm64 headers to redirect to arm

In order to compile lib32 libraries and other 32-bit code on arm64,
<machine/foo.h> needs to be redirected to an arm header rather
than arm64 wh

arm64 lib32: prepare arm64 headers to redirect to arm

In order to compile lib32 libraries and other 32-bit code on arm64,
<machine/foo.h> needs to be redirected to an arm header rather
than arm64 when building with -m32. Ifdef the arm64 headers that
are installed in /usr/include/machine and used by user-level software
(including references from /usr/include/*.h) so that if __arm__ is
defined when including the arm64 version, <arm/foo.h> is included
rather than using the rest of the file's contents. Some arm headers
had no arm64 equivalent; headers were added just to do the redirection.
These files use #error if __arm__ is not defined to guard against
confusion. Also add an include/arm Makefile, and modify Makefiles
as needed to install everything, including the arm files in
/usr/include/arm. fenv.h comes from lib/msun/arm/fenv.h.

The new arm64 headers are:
acle-compat.h
cpuinfo.h
sysreg.h

Reviewed by: jrtc27, imp
Differential Revision: https://reviews.freebsd.org/D40944

show more ...


# df0d0fc9 16-May-2023 Andrew Turner <andrew@FreeBSD.org>

Add helpers to allocate an arm64 VFP state struct

This will be used by bhyve and will allow the size to change, e.g. for SVE.

Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https:/

Add helpers to allocate an arm64 VFP state struct

This will be used by bhyve and will allow the size to change, e.g. for SVE.

Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D40131

show more ...


# 255adf35 16-May-2023 Andrew Turner <andrew@FreeBSD.org>

Export arm64 VFP handling functions

These will be used by bhyve to manage the host VFP registers, e.g.
saving the host state before entering a guest.

Reviewed by: markj
Sponsored by: Arm Ltd
Differ

Export arm64 VFP handling functions

These will be used by bhyve to manage the host VFP registers, e.g.
saving the host state before entering a guest.

Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D40130

show more ...


Revision tags: release/13.2.0, release/12.4.0
# baf8f20a 24-Jun-2022 Andrew Turner <andrew@FreeBSD.org>

Split out vfp_new_thread

To keep the vfp thread creation code in one place move into vfp.c. This
will also help with adding SVE support as it depends on VFP.

Reviewed by: markj
Sponsored by: The Fr

Split out vfp_new_thread

To keep the vfp thread creation code in one place move into vfp.c. This
will also help with adding SVE support as it depends on VFP.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35615

show more ...


Revision tags: release/13.1.0
# add00c38 23-Mar-2022 John Baldwin <jhb@FreeBSD.org>

Use a regset for NT_ARM_VFP.

This includes adding support for NT_ARM_VFP for 32-bit binaries
running under aarch64 kernels both for ptrace(), and coredumps via the
kernel and gcore.

Reviewed by: an

Use a regset for NT_ARM_VFP.

This includes adding support for NT_ARM_VFP for 32-bit binaries
running under aarch64 kernels both for ptrace(), and coredumps via the
kernel and gcore.

Reviewed by: andrew, markj
Sponsored by: University of Cambridge, Google, Inc.
Differential Revision: https://reviews.freebsd.org/D34448

show more ...


Revision tags: release/12.3.0
# fd860ace 25-Aug-2021 Andrew Turner <andrew@FreeBSD.org>

Remove the DN flag from the initial arm64 fpcr value

This fixes software that expects NaN values to propagate.

Sponsored by: The FreeBSD Foundation


# 9feff969 08-Aug-2021 Ed Maste <emaste@FreeBSD.org>

Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights

These ones were unambiguous cases where the Foundation was the only
listed copyright holder (in the associated license block).

S

Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights

These ones were unambiguous cases where the Foundation was the only
listed copyright holder (in the associated license block).

Sponsored by: The FreeBSD Foundation

show more ...


Revision tags: release/13.0.0
# df754977 23-Mar-2021 Andrew Turner <andrew@FreeBSD.org>

Replace the arm64 initial_fpcr with a macro

This value was never changed from its default value. Replace it with a
macro.

Sponsored by: Innovate UK


# 953a7d7c 09-Mar-2021 Alex Richardson <arichardson@FreeBSD.org>

Arch64: Clear VFP state on execve()

I noticed that many of the math-related tests were failing on AArch64.
After a lot of debugging, I noticed that the floating point exception flags
were not being

Arch64: Clear VFP state on execve()

I noticed that many of the math-related tests were failing on AArch64.
After a lot of debugging, I noticed that the floating point exception flags
were not being reset when starting a new process. This change resets the
VFP inside exec_setregs() to ensure no VFP register state is leaked from
parent processes to children.

This commit also moves the clearing of fpcr that was added in 65618fdda0f27
from fork() to execve() since that makes more sense: fork() can retain
current register values, but execve() should result in a well-defined
clean state.

Reviewed By: andrew
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D29060

show more ...


# 65618fdd 23-Jan-2021 Michal Meloun <mmel@FreeBSD.org>

arm64: Initialize VFP control register.

The RW fields in this register reset to architecturally unknown values,
so initialize these to the proper rounding and denormal mode.
MFC after: 1 week


Revision tags: release/12.2.0
# 50cedfed 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

arm64: clean up empty lines in .c and .h files


Revision tags: release/11.4.0
# 400c0119 12-Jun-2020 Andrew Turner <andrew@FreeBSD.org>

Teach the arm64 vfp.h about struct thread.

Ensure struct thread is defined in vfp.h. In some cases it is not and stops
the kernel from building.

Sponsored by: Innovate UK


Revision tags: release/12.1.0, release/11.3.0
# 8c9c3144 13-Jan-2019 Olivier Houchard <cognet@FreeBSD.org>

Impleent COMPAT_FREEBSD32 for arm64.
This is based on early work by andrew@.


Revision tags: release/12.0.0, release/11.2.0
# 849ce31a 23-Feb-2018 Conrad Meyer <cem@FreeBSD.org>

Remove unused error return from API that cannot fail

No implementation of fpu_kern_enter() can fail, and it was causing needless
error checking boilerplate and confusion. Change the return code to v

Remove unused error return from API that cannot fail

No implementation of fpu_kern_enter() can fail, and it was causing needless
error checking boilerplate and confusion. Change the return code to void to
match reality.

(This trivial change took nine days to land because of the commit hook on
sys/dev/random. Please consider removing the hook or otherwise lowering the
bar -- secteam never seems to have free time to review patches.)

Reported by: Lachlan McIlroy <Lachlan.McIlroy AT isilon.com>
Reviewed by: delphij
Approved by: secteam (delphij)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D14380

show more ...


Revision tags: release/10.4.0
# 531c2d7a 24-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r320180


# bca9d05f 23-Jul-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r319973 through 321382.


Revision tags: release/11.1.0
# 2fef18f8 19-Jul-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r320994 through r321238.


# a2d16bc5 18-Jul-2017 Andrew Turner <andrew@FreeBSD.org>

Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This
will be used to call into UEFI from the kernel.

Sponsored by: DARPA, AFRL


# 686fb94a 10-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r319548 through r319778.


# 52453d22 09-Jun-2017 Andrew Turner <andrew@FreeBSD.org>

Allow the arm64 machine/vfp.h to be included without first including
machine/pcb.h. It he latter is only needed for struct pcb.


# 5763f796 21-Oct-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r307383 through r307735.


12