Kernel/riscv64: Specify correct alignment for FPUState struct

The signal handling code (and possibly other code as well) expects this
struct to have an alignment of 16 bytes, as it pushes this struct on the
stack.
This commit is contained in:
Sönke Holz 2023-12-16 17:22:28 +01:00 committed by Andreas Kling
parent 7d757fefeb
commit ac79ab0b45
Notes: sideshowbarker 2024-07-17 17:40:13 +09:00

View file

@ -13,7 +13,9 @@ VALIDATE_IS_RISCV64()
namespace Kernel {
struct FPUState {
// This struct will get pushed on the stack by the signal handling code.
// Therefore, it has to be aligned to a 16-byte boundary.
struct [[gnu::aligned(16)]] FPUState {
u64 f[32];
u64 fcsr;
};