Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
cd97f78
feat: add ARMv7-A support with page table structures and tests
luodeb Dec 6, 2025
7d015f7
feat: add contiguous frame allocation and deallocation methods to Pag…
luodeb Dec 9, 2025
9372270
feat: remove unused feature flag for stmt_expr_attributes
luodeb Dec 9, 2025
6ab155e
feat: refactor ARMv7-A descriptor checks and add virtual address inde…
luodeb Dec 25, 2025
bf25669
format code
luodeb Dec 25, 2025
60f8588
Re-exports architecture-specific items for easier access
luodeb Dec 25, 2025
56cc649
feat: add inline annotations to descriptor attribute functions for op…
luodeb Jan 13, 2026
8d1633b
code fmt
luodeb Jan 16, 2026
b3ff506
refactor: consolidate common flag logic in descriptor attribute funct…
luodeb Jan 16, 2026
8876ff2
refactor: remove unused bits32 module for 32-bit architecture
luodeb Jan 16, 2026
ad8635b
refactor: simplify address validation and improve table access methods
luodeb Jan 16, 2026
6eb7207
docs: update README to include ARM (32-bit) and correct links for pag…
luodeb Jan 16, 2026
fb9713e
refactor: update TLB flush implementation to use a zero variable
luodeb Jan 16, 2026
24b9af2
refactor: enhance descriptor attribute handling for L2 Small Page and…
luodeb Jan 16, 2026
1345be0
refactor: improve code formatting and readability in DescriptorAttr a…
luodeb Jan 16, 2026
63130a8
test: add configuration for 32-bit pointer width in ARM32 deallocatio…
luodeb Jan 16, 2026
fba05ba
test: add conditional compilation for 32-bit pointer width in run_tes…
luodeb Jan 16, 2026
74598be
fix: ensure PageTable32 is imported in 32-bit test function
luodeb Jan 16, 2026
8628c48
code fmt
luodeb Jan 16, 2026
4abc66e
fix: update conditional compilation for 32-bit and 64-bit modules
luodeb Jan 16, 2026
a103a38
fix: remove unused bits32 module and clean up imports in lib.rs
luodeb Jan 19, 2026
06407cf
code fmt
luodeb Jan 19, 2026
27e1644
fix: update version and rust-version in Cargo.toml; enhance ARM page …
luodeb Jan 19, 2026
b50f478
fix: update conditional compilation for 32-bit and 64-bit modules to …
luodeb Jan 19, 2026
5cafbc2
fix: rename allocation functions for clarity and consistency
luodeb Jan 19, 2026
fcc428e
fix: implement frame allocation in PagingHandler and remove duplicate…
luodeb Jan 19, 2026
2638009
fix: add inline attribute to common_flags function in DescriptorAttr
luodeb Jan 19, 2026
5424b10
Rename parameter 'align_pow2' to 'align' in alloc_frames
luodeb Jan 19, 2026
23975cd
feat: add borrowed_entries to PageTable32 for tracking borrowed frames
luodeb Jan 23, 2026
b77b47c
feat: add TlbFlusher enum and SMALL_FLUSH_THRESHOLD constant for page…
luodeb Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
fail-fast: false
matrix:
rust-toolchain: [nightly]
targets: [x86_64-unknown-linux-gnu, x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none-softfloat, loongarch64-unknown-none-softfloat]
targets: [x86_64-unknown-linux-gnu, x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none-softfloat, loongarch64-unknown-none-softfloat, armv7a-none-eabi]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
Expand Down
14 changes: 8 additions & 6 deletions page_table_entry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,19 @@ Currently supported architectures and page table entry types:

- x86: [`x86_64::X64PTE`][1]
- ARM: [`aarch64::A64PTE`][2]
- RISC-V: [`riscv::Rv64PTE`][3]
- LoongArch: [`loongarch64::LA64PTE`][4]
- ARM (32-bit): [`arm::A32PTE`][3]
- RISC-V: [`riscv::Rv64PTE`][4]
- LoongArch: [`loongarch64::LA64PTE`][5]

All these types implement the [`GenericPTE`][5] trait, which provides unified
All these types implement the [`GenericPTE`][6] trait, which provides unified
methods for manipulating various page table entries.

[1]: https://docs.rs/page_table_entry/latest/page_table_entry/x86_64/struct.X64PTE.html
[2]: https://docs.rs/page_table_entry/latest/page_table_entry/aarch64/struct.A64PTE.html
[3]: https://docs.rs/page_table_entry/latest/page_table_entry/riscv/struct.Rv64PTE.html
[4]: https://docs.rs/page_table_entry/latest/page_table_entry/loongarch64/struct.LA64PTE.html
[5]: https://docs.rs/page_table_entry/latest/page_table_entry/trait.GenericPTE.html
[3]: https://docs.rs/page_table_entry/latest/page_table_entry/arm/struct.A32PTE.html
[4]: https://docs.rs/page_table_entry/latest/page_table_entry/riscv/struct.Rv64PTE.html
[5]: https://docs.rs/page_table_entry/latest/page_table_entry/loongarch64/struct.LA64PTE.html
[6]: https://docs.rs/page_table_entry/latest/page_table_entry/trait.GenericPTE.html

## Examples (x86_64)

Expand Down
Loading