HiĀ Varun,

The least significant 128 bits of SVE vector registers are physically the same registers as those used by FP/NEON. Also that saving and restoring just the FP/NEON without also saving and restoring SVE predicate registers might corrupt predicate registers. Other than that, the maximum size of SVE vector registers (2048 bits) is too large to reasonably fit in cpu_context_t. One way to work around this size problem would be to have the platform implementation supply memory buffer used to save and restore SVE registers.

Other implication of large size of these registers is that unconditionally saving and restoring will take more time at each world switch. However, most edge CPU cores (Cortex-X2,
Cortex-X3, Cortex-A510, Cortex-A710, Cortex-A715, Hayes, Hunter and Hunter ELPĀ ) have SVE vector length of 128 bits. So on those cores the overhead of world switch won't be much different from the overhead of FP regs during world switch.

Thanks,
Okash

On Tue, Nov 15, 2022 at 4:21 PM Varun Wadekar <vwadekar@nvidia.com> wrote:
Hi,

Are there Arm architecture limitations guiding the current design?

-Varun

-----Original Message-----
From: Okash Khawaja via TF-A <tf-a@lists.trustedfirmware.org>
Sent: Friday, 11 November 2022 3:34 PM
To: tf-a@lists.trustedfirmware.org
Subject: [TF-A] Support for SVE + FP in TF-A

External email: Use caution opening links or attachments


Hi,

Currently TF-A doesn't support enabling both SVE and FP for both worlds. What can we do to support both SVE and FP in either world?

Thanks,
Okash
--
TF-A mailing list -- tf-a@lists.trustedfirmware.org To unsubscribe send an email to tf-a-leave@lists.trustedfirmware.org