In the long term we will want to get rid of allpmaps entirely, but this
change is needed until that happens.
Details
Diff Detail
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 21810 Build 21078: arc lint + arc unit
Event Timeline
I must admit that the use of allpmaps in riscv pmap is somewhat strange. Can we preallocate kernel l1 tables and do not touch them later at all, only copying the kernel part into each new user pmap ?
Regardless of that, why is pmap_distribute_l1() is called from pmap_unwire_l3() ? I do not think that we ever shrink the kernel page tables, this cannot work I believe.
I think so. I had this approach in mind but didn't implement it yet.
Regardless of that, why is pmap_distribute_l1() is called from pmap_unwire_l3() ? I do not think that we ever shrink the kernel page tables, this cannot work I believe.
One reason to avoid this is because page allocation may fail and we can't tolerate that; pmap_enter() simply panics in that case. Is there another reason?