as provided by the Intel document 346446-009 AKA FRED 8.0 and SDM v90, February 2026. Note that the layout of the struct trapframe does not change with FRED. The differences are in addition of two fields at the end of the structure. Other members are carved from existing tf_cs and tf_ss by limiting hw-written segments to 16 bits officially, and reusing rest from the doubleword for the new data.
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
| sys/amd64/amd64/trap.c | ||
|---|---|---|
| 944 | No need anymore for the mask of tf_cs. | |
| sys/x86/include/frame.h | ||
| 148 | The field prefix should be tf_. | |
| 152–157 | Should we apply some explicit masking in places where tf_ss is assigned by software? e.g. in set_mcontext(), we have tp->tf_ss = mcp->mc_ss, so there is implicit truncation. | |
| 154 | The numbering of the evinfo fields is a bit weird. I see why you did it this way, it follows the order that the fields are described in the FRED documentation. Probably not worth changing. | |
| sys/x86/include/frame.h | ||
|---|---|---|
| 152–157 | I do not object, but I do not see a purpose for explicit cast or masking. | |
| sys/x86/include/frame.h | ||
|---|---|---|
| 152–157 | Some checks would be good. I'm not sure if there is any chance that they would break compatibility somehow. | |
FYI, kgdb will have to know about the change in layout to trapframe I think, so bump __FreeBSD_version when you land this just to be on the safe side please?
The trapframe layout does not change with FRED. The differences are in addition of two fields at the end of the structure. Other members are carved from existing tf_cs and tf_ss by limiting hw-written segments to 16 bits officially, and reusing rest from the doubleword for the new data.
| sys/x86/include/frame.h | ||
|---|---|---|
| 152–157 | ||
I can't recall if kgdb has to know the size of struct trapframe is my only concern. I think we already only use the 16 bits for cs/ss today.
Ok, I will bump the version.
Is there the same concern for struct pcb? I need to add FRED MSRs to it.