Sync the amd64 pmap with D51220. Primarily, avoid an unnecessary demotion.
Details
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
| sys/amd64/amd64/pmap.c | ||
|---|---|---|
| 7552 | I do not think so, pmap_alloc_pde() only returns non-NULL page table page for user mappings. | |
| sys/amd64/amd64/pmap.c | ||
|---|---|---|
| 7552 | Yes, pgpg is NULL for the kernel address space. | |
| sys/amd64/amd64/pmap.c | ||
|---|---|---|
| 7606 | In contrast to arm64, I am not clearing the PDE and issuing a TLB invalidation here for the kernel address space. The reason for that is derived from the following text from the AMD manual:
At this point either the invlpgs within pmap_remove_ptes() or the above | |
| sys/amd64/amd64/pmap.c | ||
|---|---|---|
| 7606 | I believe this is the arch behavior, guaranteed on both intel and amd, that invalid ptes are never cached, and cause tlb flush for the address. | |