Page MenuHomeFreeBSD

Implement pmap_change_attr and related APIs on MIPS
ClosedPublic

Authored by kan on Dec 23 2016, 7:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 1, 3:59 PM
Unknown Object (File)
Mon, Sep 22, 10:01 AM
Unknown Object (File)
Wed, Sep 17, 9:43 PM
Unknown Object (File)
Sep 3 2025, 12:45 AM
Unknown Object (File)
Aug 3 2025, 8:46 AM
Unknown Object (File)
Aug 2 2025, 7:40 AM
Unknown Object (File)
Jul 1 2025, 10:20 PM
Unknown Object (File)
Jun 30 2025, 2:09 PM
Subscribers
None

Details

Summary

On platforms that have uncached-accelerate cache attribute, map it
to VM_MEMATTR_WRITE_COMBINING.

Test Plan

Map JZ4780 framebuffer and fill it with zeroes in loops in different mode.
Observe write-combining outperform cached accesses by about ~2x and uncached
mapping by ~35x.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kan retitled this revision from to Implement pmap_change_attr and related APIs on MIPS.
kan updated this object.
kan edited the test plan for this revision. (Show Details)
kan added reviewers: adrian, imp, br, brooks, MIPS, jhb.
kan set the repository for this revision to rS FreeBSD src repository - subversion.
adrian edited edge metadata.

cool. mips24k/mips74k have this as well, it'd be interesting to try it out.

This revision is now accepted and ready to land.Dec 23 2016, 7:45 PM
sys/mips/include/pmap.h
78 ↗(On Diff #23221)

Typo in reformatting.

kan edited edge metadata.
kan removed rS FreeBSD src repository - subversion as the repository for this revision.
kan marked an inline comment as done.

Fix typo

This revision now requires review to proceed.Dec 23 2016, 10:18 PM
kan updated this object.
kan edited edge metadata.
kan set the repository for this revision to rS FreeBSD src repository - subversion.

Do dot define VM_MEMATTR_WRITE_COMBINING as uncached as the fallback option, some userland tools expect VM_MEMATTR_WRITE_COMBINING and VM_MEMATTR_UNCACHEABLE be numerically different.

This revision was automatically updated to reflect the committed changes.