MFC after: 1 week
Sponsored by: Ampere Computing, Inc.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
I augmented vm_phys_seg with a void *md_first field that is used for the pointer to the starting entry in pv_table. Is void * alright, or should I be making some new md_something type for the field?
I think void * is ok for now.
I do wonder if it'd be a bit nicer to have external arrays of size VM_PHYSSEG_MAX for the pv_table and vm_reserv arrays, instead of embedding external data in the vm_phys segment array. I don't have a strong preference either way.
sys/arm64/arm64/pmap.c | ||
---|---|---|
203 | VM_PAGE_TO_PHYS(m) instead of m->phys_addr |
sys/arm64/arm64/pmap.c | ||
---|---|---|
182–183 | I don't see any calls to this function. |
sys/arm64/arm64/pmap.c | ||
---|---|---|
182–183 | Some callers of pa_to_pvh() do remain, but the call sites aren't modified in this change so you'll need to go into the context lines to see them. | |
1124–1128 | That was choice was based on this comment in vm_reserv.c line 216:
So I didn't add in extra code to ensure the same "invalid" sentinel entry was used. I could see that possibly being surprising to someone in the future though, so I can make the same adjustment there if you'd like. I wasn't sure what the result would be if partial pages were represented by different entries in this code, but it seemed that they are more than just sentinel values, so I added in this logic. |