Index: sys/arm64/arm64/machdep.c =================================================================== --- sys/arm64/arm64/machdep.c +++ sys/arm64/arm64/machdep.c @@ -429,6 +429,7 @@ mcp->mc_gpregs.gp_sp = tf->tf_sp; mcp->mc_gpregs.gp_lr = tf->tf_lr; mcp->mc_gpregs.gp_elr = tf->tf_elr; + mcp->mc_gpregs.gp_esr = tf->tf_esr; return (0); } @@ -449,6 +450,7 @@ tf->tf_sp = mcp->mc_gpregs.gp_sp; tf->tf_lr = mcp->mc_gpregs.gp_lr; tf->tf_elr = mcp->mc_gpregs.gp_elr; + tf->tf_esr = mcp->mc_gpregs.gp_esr; tf->tf_spsr = mcp->mc_gpregs.gp_spsr; return (0); Index: sys/arm64/include/ucontext.h =================================================================== --- sys/arm64/include/ucontext.h +++ sys/arm64/include/ucontext.h @@ -39,6 +39,7 @@ __register_t gp_sp; __register_t gp_elr; __uint32_t gp_spsr; + __register_t gp_esr; int gp_pad; };