instead of the frame itself. It is some stretch of the amd64 ABI, and is not easily fullfilled when handlers are called from C and not asm.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Drat. Phabricator flagged me due to the Xen changes, but I didn't look too closely since it seemed neutral.
I've gotten the impression trap frames are being passed around too much. I think curthread should be updated rather closer to the handler and not at intr_event_execute_handlers(). Updating at intr_event_execute_handlers() causes problems for cascading PICs since they go through the function twice. This isn't too much of a problem on x86 since only Xen uses the functionality (a proper driver for Hyper-V likely would too, Bhyve may want in the future). For other architectures it is a real problem.
Notice Github #1748 (this was proposed a while back, I'm unsure of the last 2 commits and the clock path needs checking).