HomeFreeBSD

powerpc: Fix alignment of initial PCB on kstack

Description

powerpc: Fix alignment of initial PCB on kstack

Commit cc81c44dd806737f98b4fd4094674dd71c8749f3 aimed to consolidate
duplicated code between the Book-E and AIM backends. For
cpu_thread_alloc cpu_thread_alloc and cpu_fork it used the AIM
functions which used a bogus alignment mask (~0x2f). The Book-E
functions used a proper alignment mask (~0x3f). The AIM functions
appear to have been busted since they were first imported in commit
919cb3362fded33aca682a6ac57777f8fff86e36.

To fix, use the Book-E mask which requests 64 byte alignment.
Probably this was harmless in practice since td_kstack is page aligned
and struct pcb is probably a multiple of 32 bytes in size, so the 0x10
bit should have been clear anyway.

Reviewed by: fuz, jhibbits
Fixes: cc81c44dd806 ("Unify ABI-related bits of the Book-E and AIM...")
Effort: CHERI upstreaming
Sponsored by: AFRL, DARPA
Differential Revision: https://reviews.freebsd.org/D54839
(cherry picked from commit 9272b780626640ce9b9ac378fbdd2783aaa33625)

Details

Provenance
jhbAuthored on Jan 27 2026, 6:30 PM
Reviewer
fuz
Differential Revision
D54839: powerpc: Fix alignment of initial PCB on kstack
Parents
rG251267aa38af: arm: Make init_proc0 static
Branches
Unknown
Tags
Unknown