Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM32 MMU support #244

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

ARM32 MMU support #244

wants to merge 1 commit into from

Conversation

Tim---
Copy link
Contributor

@Tim--- Tim--- commented Jan 23, 2023

As noted, this is only valid for ARM32 processors without LPAE. Until recently I thought LPAE was the same as Aarch64 but it turns out that no... For these, I think the MMU should be identical or similar to aarch64 but I did not look into it.

I took the liberty of unrolling the loops because it's a 2-level MMU with different page handling. Also it allowed me to keep my sanity :).

Add pgtable_iterator support for ARM32. This only supports page types
used by the kernel on processors without LPAE.

Signed-off-by: Timothée Cocault <timothee.cocault@gmail.com>
@osandov
Copy link
Owner

osandov commented Feb 15, 2023

Just wanted to let you know that I haven't forgotten about this. I'm currently working on making drgn's testing setup support other architectures including ARM so that I can properly test this out and review it. I'm going to try patching drgn's test kernels to support /proc/kcore on ARM.

osandov added a commit that referenced this pull request Feb 22, 2023
tests.linux_kernel.helpers.test_mm.TestMm.test_read_physical() fails on
Arm when the user page is mapped from high memory. Replace it with a
test case that uses the test physical address from the test kernel
module and asserts the expected PRNG data. (We will probably run into
more tests that fail with high memory once #244 is merged.)

Signed-off-by: Omar Sandoval <osandov@osandov.com>
osandov added a commit that referenced this pull request Feb 22, 2023
tests.linux_kernel.helpers.test_mm.TestMm.test_read_physical() fails on
Arm when the user page is mapped from high memory. Replace it with a
test case that uses the test physical address from the test kernel
module and asserts the expected PRNG data. (We will probably run into
more tests that fail with high memory once #244 is merged.)

Signed-off-by: Omar Sandoval <osandov@osandov.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants