Page MenuHomeFreeBSD

Generalise the arm64 ASID allocator
ClosedPublic

Authored by andrew on Feb 25 2020, 12:04 PM.
Tags
None
Referenced Files
F108595058: D23831.id68800.diff
Sun, Jan 26, 6:23 PM
Unknown Object (File)
Sat, Jan 25, 8:04 PM
Unknown Object (File)
Fri, Jan 24, 6:56 PM
Unknown Object (File)
Sat, Jan 18, 5:09 PM
Unknown Object (File)
Thu, Jan 9, 1:43 AM
Unknown Object (File)
Nov 21 2024, 6:36 AM
Unknown Object (File)
Oct 2 2024, 12:08 PM
Unknown Object (File)
Sep 30 2024, 6:51 PM
Subscribers

Details

Summary

The requirements of an Address Space ID allocator and a Virtual Machine ID
allocator are similar. Generalise the former code so it can be used with
the latter.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 29612
Build 27473: arc lint + arc unit

Event Timeline

Remove an unused variable

Is your overall strategy to incrementally replace PMAP_ASSERT_STAGE1(pmap)'s by correct handling of stage 2 PTE?

sys/arm64/arm64/pmap.c
1001

I would suggest moving the second sentence inside pmap_init_asids() and change the wording to: "We may be too early in ..."

5885

if (pmap->pm_stage == PM_STAGE1) ... else ...?

This revision is now accepted and ready to land.Feb 25 2020, 4:50 PM
In D23831#523873, @alc wrote:

Is your overall strategy to incrementally replace PMAP_ASSERT_STAGE1(pmap)'s by correct handling of stage 2 PTE?

Yes. I'm currently working on pmap_enter and just need to implement cache and tlb handling for it.

sys/arm64/arm64/pmap.c
5885

I'll add PMAP_ASSERT_STAGE1(pmap); for now as the process for VMID reset looks like it will be more complex, e.g. may need to call into the hypervisor.

  • Move a comment to follow code into pmap_init_asids
  • Assert we have a Stage 1 pmap in pmap_reset_asid_set and remove extra whitespace
This revision now requires review to proceed.Feb 25 2020, 7:06 PM
This revision was not accepted when it landed; it landed in state Needs Review.Feb 26 2020, 11:50 AM
This revision was automatically updated to reflect the committed changes.