Skip to content

AArch64 EL1 4KB paging#408

Open
YinhuaChen-vivo wants to merge 4 commits into
vivoblueos:mainfrom
YinhuaChen-vivo:feature-paging
Open

AArch64 EL1 4KB paging#408
YinhuaChen-vivo wants to merge 4 commits into
vivoblueos:mainfrom
YinhuaChen-vivo:feature-paging

Conversation

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor

@YinhuaChen-vivo YinhuaChen-vivo commented May 7, 2026

Summary

This PR adds initial AArch64 EL1 4KB paging support and validates it by creating a runtime linear map after heap initialization.

It extends the MMU implementation with L1/L2/L3 page-table traversal, 4KB page descriptors, runtime page-table allocation, range map/unmap helpers, and recursive page-table cleanup. The PR also switches TTBR1_EL1 to a runtime-built linear map and increases the QEMU virt64 AArch64 heap size to support additional page-table allocations.

Key Changes

  • Add AArch64 EL1 4KB page descriptor support.
  • Add runtime page-table allocation, mapping, unmapping, and cleanup helpers.
  • Add runtime linear-map initialization using 4KB pages.
  • Add shared TLB flush helper.
  • Increase QEMU virt64 AArch64 heap size from 8 MiB to 32 MiB.
  • Invoke runtime linear-map initialization after heap setup for validation.

Testing

  • Verified the runtime linear-map path on AArch64.
  • Confirmed that 4KB page-table based mapping works after heap initialization.

Notes

  • Current 4KB mapping support uses L3 page granularity.
  • The runtime linear-map initialization is currently used as a validation path and may be streamlined later.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25468593116.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25470261874.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

1 similar comment
@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25470894589.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25470517925.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

✅ All jobs completed successfully, see https://github.com/vivoblueos/kernel/actions/runs/25471952627.

@YinhuaChen-vivo YinhuaChen-vivo changed the title Feature EL1 4KB paging AArch64 EL1 4KB paging May 7, 2026
@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: check_format (failure), see https://github.com/vivoblueos/kernel/actions/runs/25479916950.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

✅ All jobs completed successfully, see https://github.com/vivoblueos/kernel/actions/runs/25480144882.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25483314978.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25483723613.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25484104085.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25484487181.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25485018030.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25485308264.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

❌ Job failed. Failed jobs: build_and_check_boards (failure), see https://github.com/vivoblueos/kernel/actions/runs/25485771020.

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

✅ All jobs completed successfully, see https://github.com/vivoblueos/kernel/actions/runs/25486321718.

@YinhuaChen-vivo YinhuaChen-vivo marked this pull request as draft May 11, 2026 12:46
1.add set_formal_linearmap
2.add flush_tlb_all()
3.clear pagetable memory after get a page from heap
4.Linearmap based on paging works fine, but needs to be streamlined
5.rename KERNEL_TCR_TSZ -> TCR_TSZ
6.Increase the heap_size to 32MB, accommodate the 4KB granularity paging mechanism.
7.add unmap_range_in_pgtbl & free_page_table
@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor Author

build_prs

@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

✅ All jobs completed successfully, see https://github.com/vivoblueos/kernel/actions/runs/25847593352.

@YinhuaChen-vivo YinhuaChen-vivo marked this pull request as ready for review May 14, 2026 07:38
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.

1 participant