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.
Details
Details
- Reviewers
markj alc manu - Group Reviewers
arm64 - Commits
- rS358328: Generalise the arm64 ASID allocator.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Is your overall strategy to incrementally replace PMAP_ASSERT_STAGE1(pmap)'s by correct handling of stage 2 PTE?
sys/arm64/arm64/pmap.c | ||
---|---|---|
998 ↗ | (On Diff #68800) | I would suggest moving the second sentence inside pmap_init_asids() and change the wording to: "We may be too early in ..." |
5882 ↗ | (On Diff #68800) | if (pmap->pm_stage == PM_STAGE1) ... else ...? |
Comment Actions
Yes. I'm currently working on pmap_enter and just need to implement cache and tlb handling for it.
sys/arm64/arm64/pmap.c | ||
---|---|---|
5882 ↗ | (On Diff #68800) | 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. |
Comment Actions
- 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