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
F144351420: D38884.id118274.diff
Sun, Feb 8, 12:09 AM
F144348888: D38884.id118240.diff
Sat, Feb 7, 11:43 PM
Unknown Object (File)
Fri, Jan 30, 7:12 PM
Unknown Object (File)
Dec 7 2025, 6:06 PM
Unknown Object (File)
Nov 28 2025, 2:20 AM
Unknown Object (File)
Nov 25 2025, 3:45 AM
Unknown Object (File)
Nov 13 2025, 3:37 AM
Unknown Object (File)
Nov 11 2025, 3:31 PM
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 Not Applicable
Unit
Tests Not Applicable

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