Page MenuHomeFreeBSD

arm64/vmm: Support tlbi from VHE
ClosedPublic

Authored by andrew on Jul 23 2024, 11:20 AM.
Tags
None
Referenced Files
F109391415: D46080.diff
Tue, Feb 4, 11:18 AM
Unknown Object (File)
Wed, Jan 29, 4:07 PM
Unknown Object (File)
Mon, Jan 27, 4:48 PM
Unknown Object (File)
Mon, Jan 27, 1:47 PM
Unknown Object (File)
Sun, Jan 26, 6:08 PM
Unknown Object (File)
Tue, Jan 7, 9:06 PM
Unknown Object (File)
Dec 27 2024, 4:21 PM
Unknown Object (File)
Dec 1 2024, 10:06 PM
Subscribers

Details

Summary

When invalidating the stage 2 TLB we need to ensure page tables updates
have completed and for tlbi vmalle1is the HCR_EL2 TGE flag needs to be
clear.

To fix the former add a data barrier before the tlbi instructions. On
non-VHE this will happen as part of the exception entry, so is only
needed for VHE.

The tlbi vmalle1is instruction operates on the EL2 & 0 regime when
HCR_EL2 E2H and TGE flags are both set. By clearing the TGE flag it
will stop this and operate on the EL1 & 0 regime we are expecting.

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Aug 20 2024, 9:03 AM
This revision was automatically updated to reflect the committed changes.