Commit 74f49b3
authored
feat: add ARMv7-A support with page table structures and tests (#31)
* feat: add ARMv7-A support with page table structures and tests
* feat: add contiguous frame allocation and deallocation methods to PagingHandler
* feat: remove unused feature flag for stmt_expr_attributes
* feat: refactor ARMv7-A descriptor checks and add virtual address index extraction functions
* format code
* Re-exports architecture-specific items for easier access
Unifies the public API by re-exporting architecture-specific definitions,
making them accessible to downstream users without direct module imports.
Improves usability and reduces friction for multi-arch consumers.
* feat: add inline annotations to descriptor attribute functions for optimization
* code fmt
* refactor: consolidate common flag logic in descriptor attribute functions
* refactor: remove unused bits32 module for 32-bit architecture
* refactor: simplify address validation and improve table access methods
* docs: update README to include ARM (32-bit) and correct links for page table structures
* refactor: update TLB flush implementation to use a zero variable
* refactor: enhance descriptor attribute handling for L2 Small Page and improve common flag logic
* refactor: improve code formatting and readability in DescriptorAttr and GenericPTE implementations
* test: add configuration for 32-bit pointer width in ARM32 deallocation test
* test: add conditional compilation for 32-bit pointer width in run_test_for_32bit function
* fix: ensure PageTable32 is imported in 32-bit test function
* code fmt
* fix: update conditional compilation for 32-bit and 64-bit modules
* fix: remove unused bits32 module and clean up imports in lib.rs
* code fmt
* fix: update version and rust-version in Cargo.toml; enhance ARM page table structures
* fix: update conditional compilation for 32-bit and 64-bit modules to include documentation support
* fix: rename allocation functions for clarity and consistency
* fix: implement frame allocation in PagingHandler and remove duplicate function
* fix: add inline attribute to common_flags function in DescriptorAttr
* Rename parameter 'align_pow2' to 'align' in alloc_frames
* feat: add borrowed_entries to PageTable32 for tracking borrowed frames
* feat: add TlbFlusher enum and SMALL_FLUSH_THRESHOLD constant for page table management1 parent df2f8a7 commit 74f49b3
11 files changed
+1218
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
16 | 17 | | |
17 | | - | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | | - | |
23 | | - | |
24 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
0 commit comments