HomeFreeBSD

Consistently use 16-byte alignment for MIPS N32 and N64.

Description

Consistently use 16-byte alignment for MIPS N32 and N64.

  • Add a new <machine/abi.h> header to hold constants shared between C and assembly such as CALLFRAME_SZ.
  • Add a new STACK_ALIGN constant to <machine/abi.h> and use it to replace hardcoded constants in the kernel and makecontext(). As a result of this, ensure the stack pointer on N32 and N64 is 16-byte aligned for N32 and N64 after exec(), after pthread_create(), and when sending signals rather than 8-byte aligned.

Reviewed by: jmallett
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D13875

Details