Page MenuHomeFreeBSD

Preserve the inherited value of the status register in cpu_set_upcall().
ClosedPublic

Authored by jhb on Jan 6 2020, 8:48 PM.

Details

Summary

Instead of re-deriving the value of SR using logic similar to
exec_set_regs(), just inherit the value from the existing thread
similar to fork().

Test Plan
  • tested mips64 under cheribsd

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jhb created this revision.Jan 6 2020, 8:48 PM
jhb added a comment.Jan 6 2020, 8:49 PM

This probably fixes O32 binaries that use threads when run under an N64 kernel since the new threads would end up with UX set incorrectly today, but I didn't test that.

brooks accepted this revision.Jan 14 2020, 4:28 AM

This seems sensible.

This revision is now accepted and ready to land.Jan 14 2020, 4:28 AM