]> git.dujemihanovic.xyz Git - u-boot.git/commit
Merge patch series "arm64: add a software pagetable walker"
authorTom Rini <trini@konsulko.com>
Tue, 25 Jun 2024 23:22:36 +0000 (17:22 -0600)
committerTom Rini <trini@konsulko.com>
Wed, 26 Jun 2024 13:36:55 +0000 (07:36 -0600)
commit42276c3658173287078cf95461778c6e11631d34
treeda83d91bf56c6aef8ba83edac47fb28b0fce80a9
parenta7eada24327a40f7ef6c55c220e119839c9d4227
parent9bd7fdd539e048925866cfc76e662c97f4dc802d
Merge patch series "arm64: add a software pagetable walker"

Caleb Connolly <caleb.connolly@linaro.org> says:

MMU issues are some of the most frustrating to debug. To make this
slightly less unbearable, introduce a software pagetable walker for
ARMv8. This can be called to dump a pagetable with the default
formatter, or a custom callback can be provided to implement more
complicated parsing.

This can also be useful to dump the pagetable used by a previous
bootloader stage (by reading out the ttbr register).

Here is an example of the output when walking U-Boot's own memory map
on a Qualcomm RB3 board:

Walking pagetable at 000000017df90000, va_bits: 36. Using 3 levels
[0x17df91000]                   |  Table |               |
  [0x17df92000]                 |  Table |               |
    [0x000001000 - 0x000200000] |  Pages | Device-nGnRnE | Non-shareable
  [0x000200000 - 0x040000000]   |  Block | Device-nGnRnE | Non-shareable
[0x040000000 - 0x080000000]     |  Block | Device-nGnRnE | Non-shareable
[0x080000000 - 0x140000000]     |  Block | Normal        | Inner-shareable
[0x17df93000]                   |  Table |               |
  [0x140000000 - 0x17de00000]   |  Block | Normal        | Inner-shareable
  [0x17df94000]                 |  Table |               |
    [0x17de00000 - 0x17dfa0000] |  Pages | Normal        | Inner-shareable
arch/arm/include/asm/armv8/mmu.h