Page MenuHomeFreeBSD

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

Authored by markj on Jan 17 2019, 2:52 AM.
Tags
None
Referenced Files
F103150180: D18864.id.diff
Thu, Nov 21, 3:45 PM
Unknown Object (File)
Wed, Nov 20, 12:13 AM
Unknown Object (File)
Tue, Nov 19, 9:36 PM
Unknown Object (File)
Sun, Nov 10, 11:29 PM
Unknown Object (File)
Thu, Nov 7, 9:20 AM
Unknown Object (File)
Tue, Nov 5, 11:11 AM
Unknown Object (File)
Oct 17 2024, 4:48 PM
Unknown Object (File)
Oct 17 2024, 11:33 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