Page MenuHomeFreeBSD

arm64: Have a common call to userret
AcceptedPublic

Authored by andrew on Wed, Feb 11, 6:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Feb 12, 9:36 PM
Unknown Object (File)
Thu, Feb 12, 3:43 PM
Unknown Object (File)
Thu, Feb 12, 9:22 AM
Unknown Object (File)
Thu, Feb 12, 6:02 AM
Unknown Object (File)
Wed, Feb 11, 6:51 PM
Subscribers

Details

Reviewers
kib
manu
Group Reviewers
arm64
Summary

Rather than each exception calling userret use a common copy. As
syscallret already calls userret we need to skip it in that case.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 70624
Build 67507: arc lint + arc unit

Event Timeline

IMHO the control flow could be made less confusing. Right now it is 'break' -> userret, and in one place it is goto no_userret. I suggest to add a control variable like 'use_userret', set to true, assigned from svc_handler() return value. Then instead of goto no userret. check the value of use_userret around userret() call. Hope it is understandable.

This revision is now accepted and ready to land.Thu, Feb 12, 6:37 AM