Skip to content

Commit a9f9cb9

Browse files
committed
feat(axalloc): introduce a global memory allocator with buddy system
- Added `axalloc` crate with a global allocator implementation. - Implemented `GlobalAllocator` using a buddy system allocator. - Provided functions for memory initialization, allocation, and deallocation. - Added `GlobalPage` struct for managing contiguous memory pages. feat(axvm-types): define address types and device access structures - Introduced `GuestVirtAddr` and `GuestPhysAddr` types for guest memory addressing. - Created traits for device address handling and defined `DeviceAddr` and `DeviceAddrRange`. - Implemented `Port` and `SysRegAddr` types for I/O operations and system registers. fix(vmm): update VM reference handling - Changed `push_vm` function to accept `axvm::Vm` directly and return an `Arc<axvm::Vm>`. - Updated global VM list management to use `Arc` for thread-safe reference counting. chore: update submodules and dependencies - Updated submodules for `arm_vcpu`, `axvm`, and `axvmconfig`. - Added `memory_addr` dependency to `axruntime` and `axvm-types`. - Updated `Cargo.toml` files to reflect new dependencies and features.
1 parent 9a26cbb commit a9f9cb9

File tree

37 files changed

+1332
-2294
lines changed

37 files changed

+1332
-2294
lines changed

.cargo/config.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ axdevice = { path = "modules/axdevice/" }
3939
[patch."https://github.com/arceos-hypervisor/axvcpu"]
4040
axvcpu = { path = "modules/axvcpu/" }
4141

42-
[patch."https://github.com/arceos-hypervisor/axvm"]
43-
axvm = { path = "modules/axvm/" }
44-
4542
[patch."https://github.com/arceos-hypervisor/axvmconfig"]
4643
axvmconfig = { path = "modules/axvmconfig/" }
4744

.rustfmt.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
force_explicit_abi = false
1+
# force_explicit_abi = false

0 commit comments

Comments
 (0)