HomeFreeBSD

Enable 64-bit operations for threads as well. There are a multitude of sins
rS205247Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Enable 64-bit operations for threads as well. There are a multitude of sins
surrounding this that are not yet fixed, including:
o) The multiple copies of status register and other coprocessor-related bits.
o) The fact that all of these bits are spelled out here at all rather than

included in some KERNEL_STATUS and USER_STATUS definitions.

o) The fact that these things are under "TARGET_OCTEON" rather than something

related to ABI, since the only thing that should restrict whether user
programs can use 64-bit instructions is whether the kernel can save and
restore 64-bit registers.

o) The fact that many things here enable 64-bit virtual addresses for

supervisor mode, which FreeBSD has never used (although we can and should
consider repurposing those address spaces when the time is right.)

o) All of the duplication of logic wrt setting up PCBs and trapframes in

this file.  (To say nothing of the varying styles that makes it easy to
miss these differences.)

o) The lack of any assertions about the state of the status register for user

threads with INVARIANTS on.

Sponsored by: Packet Forensics

Details

Provenance
jmallettAuthored on
Parents
rS205246: MFC r205145:
Branches
Unknown
Tags
Unknown

Event Timeline