Page MenuHomeFreeBSD

RISC-V superpage support, part 2/6.
ClosedPublic

Authored by markj on Jan 17 2019, 2:52 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 9, 7:16 PM
Unknown Object (File)
Sun, Mar 31, 8:32 PM
Unknown Object (File)
Feb 8 2024, 10:30 AM
Unknown Object (File)
Jan 25 2024, 10:43 PM
Unknown Object (File)
Dec 20 2023, 1:12 AM
Unknown Object (File)
Dec 18 2023, 6:53 PM
Unknown Object (File)
Dec 12 2023, 12:26 AM
Unknown Object (File)
Nov 12 2023, 8:51 AM
Subscribers
None

Details

Summary

Superpage support for pmap_page_test_mappings(), pmap_protect(),
pmap_unwire().

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22096
Build 21320: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Jan 20 2019, 11:00 AM
sys/riscv/riscv/pmap.c
3673–3674

Does this comment still apply? I'm not sure what the difference is between dirty and modified is in this context, or where the read/write check is happening.

3683–3690

You may wish to convert this to bool as you did in pmap_unwire(), and same with the above signature. Not necessary as part of this patch however.

sys/riscv/riscv/pmap.c
2360

Should this be a pmap_invalidate_range() of the original sva and eva (you'd have to save the original sva somewhere)? Presumably at some point we could have pmap_invalidate_range() apply some logic to use pmap_invalidate_all() if there were too many pages? (Right now for bbl you might as well always use invalidate_all, but someday that might not be true.)

markj marked 2 inline comments as done.

Address Mitchell's comments.

This revision now requires review to proceed.Jan 23 2019, 9:16 PM
sys/riscv/riscv/pmap.c
2360

That's probably the right long-term direction, but I'd rather not do it in this change, as I'm just following amd64's example and I have no good way of testing the change (pmap_invalidate_range() just executes sfence.vma today).

3673–3674

Dirty and modified mean the same thing in this context, they're used interchangeably. (amd64 has a "modified" bit whereas riscv has a "dirty" bit.) Indeed, the comment should be removed, it was copied from arm64.

3683–3690

Thanks, might as well do it here.

sys/riscv/riscv/pmap.c
2360

(BTW, there was some discussion along these lines in D12725.)

Committed in r344106.

This revision is now accepted and ready to land.Feb 13 2019, 6:02 PM