Page MenuHomeFreeBSD

arm64: disable the physical timer for now if HCR_EL2.E2H is set
ClosedPublic

Authored by kevans on Mar 3 2023, 7:28 AM.
Tags
None
Referenced Files
F161374096: D38884.id.diff
Fri, Jul 3, 6:04 AM
F161346647: D38884.id118240.diff
Fri, Jul 3, 1:03 AM
Unknown Object (File)
Tue, Jun 30, 7:38 PM
Unknown Object (File)
Mon, Jun 8, 1:36 AM
Unknown Object (File)
Sun, Jun 7, 7:10 PM
Unknown Object (File)
May 18 2026, 5:47 AM
Unknown Object (File)
May 18 2026, 5:47 AM
Unknown Object (File)
Apr 30 2026, 3:17 AM
Subscribers

Details

Summary

On some hardware, we can't clear HCR_EL2.E2H so accesses to the physical
timer hopelessly trap to EL2. Stash off the value of HCR_EL2 and use it
in has_hyp() to avoid this.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 50125
Build 47017: arc lint + arc unit

Event Timeline

kevans requested review of this revision.Mar 3 2023, 7:28 AM

Will also work with bhyve where we don't currently work with HCR_E2H on.

This revision is now accepted and ready to land.Mar 3 2023, 2:03 PM