Page MenuHomeFreeBSD

ARM64 TCR register update
ClosedPublic

Authored by wma_semihalf.com on Jul 15 2015, 6:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 26, 6:38 AM
Unknown Object (File)
Fri, Apr 26, 6:23 AM
Unknown Object (File)
Mar 7 2024, 12:34 AM
Unknown Object (File)
Feb 9 2024, 7:16 PM
Unknown Object (File)
Feb 2 2024, 3:47 AM
Unknown Object (File)
Jan 25 2024, 3:27 AM
Unknown Object (File)
Jan 3 2024, 11:25 PM
Unknown Object (File)
Dec 29 2023, 4:41 PM

Details

Summary
This commit adds proper cache and shareability attributes to
the TCR registers.
Set memory attributes to Normal, outer and inner cacheable WBWA.
Set shareability to inner and outer shareable when SMP is enabled.

Diff Detail

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

Event Timeline

wma_semihalf.com retitled this revision from to ARMv8 locore.S cleanup and TCR register update.
wma_semihalf.com updated this object.
wma_semihalf.com edited the test plan for this revision. (Show Details)
wma_semihalf.com added reviewers: zbb, emaste, andrew.
wma_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
wma_semihalf.com added a subscriber: freebsd-arm-list.

Why do you need to pass in the shareability attribute? It's needed for notmal memory, and ignored in device memory so we can add it unconditionally.

sys/arm64/arm64/locore.S
48–52 ↗(On Diff #6962)

Is this still needed?

191 ↗(On Diff #6962)

This looks to be unrelated to the rest of the change.

sys/arm64/arm64/locore.S
48–52 ↗(On Diff #6962)

You're right, I'll remove it prior submitting.

191 ↗(On Diff #6962)

It's the part of locore fixes described in the patch summary

  • secondary stack calculation is modified to provide stack_top = secondary_stacks + (cpu_id)*PAGE_SIZE*KSTACK_PAGES because on ARMv8 the stack grows into lower memory addresses

Please let me know if I should split this patch into two (include+stack and TCR reg) or leave as a one.

wma_semihalf.com retitled this revision from ARMv8 locore.S cleanup and TCR register update to ARM64 TCR register update.
wma_semihalf.com updated this object.
andrew edited edge metadata.
This revision is now accepted and ready to land.Jul 16 2015, 9:08 AM
This revision was automatically updated to reflect the committed changes.