[PATCH 0/8] AARCH64 SVE: Initial SVE support

Alan Hayward alan.hayward@arm.com
Mon Dec 5 12:25:00 GMT 2016


I'd like to submit GDB and gdbserver support for ARM's Scalable Vector
Extension (SVE).

For more details about the extension itself, please see Nigel's blog post


Francesco has also written a white paper about programming for SVE,
with some worked examples:


In order to support SVE, GDB needs to be able to handle registers which may
change size at any time whilst the debugged program is running. The target
architecture descriptions (patch 5) contain a minimum size for each
register. GDB (patch 7) and gdbserver (patch 8) must then scale these
using the current VG for the target (obtained using ptrace).
This also requires increasing the maximum register size to 256 bytes
(patch 1).

For these sets of patches to work, Linux Kernel support also needs adding,
which is currently under review here:
Without kernel support, the code will safely fall back to non-SVE Aarch64.

These patches assume the vector length the same across a process, which is
consistant with the current Kernel implementation. Once support is added to
the kernel for independent vector lengths per thread, then further patches
will be required to allow a different target descriptor for each thread.

Alan Hayward.

More information about the Gdb-patches mailing list