diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-03-21 22:26:48 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-03-21 22:37:27 +0000 |
| commit | 1ba29614c4ce5e261ade0bd7def94079b7b9647a (patch) | |
| tree | 653c21967c0fc32a696dcc1a2fec029269f0be92 /contrib/llvm-project/llvm/lib/TargetParser | |
| parent | 1d18872c2519d7ca726ddc49735180ab1d8916e0 (diff) | |
Trying to use the grown struct trapframe for IDT case broke in cases
where code supposed that hardware consumed sizeof(struct trapframe) of
the stack space when delivering interrupt or exception. In particular,
this was broken for #NM/#DB/#MC. Naive attempt of using IDT-trapframe
size for stack consumption caused later problems with larger C type.
Instead of pretending that IDT event delivery pushed two never-accessed
doubleword to the stack, keep it honest and provide separate type for
the FRED interrupt frame, i.e. struct trapframe_fred.
Convert between trapframe_fred and trapframe can be done by trivial pointer
arithmetic.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Diffstat (limited to 'contrib/llvm-project/llvm/lib/TargetParser')
0 files changed, 0 insertions, 0 deletions
