Skip to content

Implement buddy system (still in draft)#420

Draft
YinhuaChen-vivo wants to merge 4 commits into
vivoblueos:mainfrom
YinhuaChen-vivo:feature-buddy
Draft

Implement buddy system (still in draft)#420
YinhuaChen-vivo wants to merge 4 commits into
vivoblueos:mainfrom
YinhuaChen-vivo:feature-buddy

Conversation

@YinhuaChen-vivo
Copy link
Copy Markdown
Contributor

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

Implement buddy system (still in draft)

@YinhuaChen-vivo YinhuaChen-vivo marked this pull request as draft May 28, 2026 09:52
@YinhuaChen-vivo YinhuaChen-vivo changed the title Implement buddy system (still in draft) Implement buddy system May 28, 2026
@YinhuaChen-vivo YinhuaChen-vivo changed the title Implement buddy system Implement buddy system (still in draft) May 28, 2026
runnable, with many logs, tests not checked yet

runnable platform:
1.qemu_virt64_aarch64

---

fix bugs:
1.multiple DRAM_BASE : kernel/src/boards/qemu_virt64_aarch64/mod.rs
2.multiple instances of BUDDY_ALLOC : kernel/src/allocator/mod.rs
3.use PHYS_DRAM_SIZE when link.x links all symbols with linearmap offset
4.buddy init code ignore kernel image part in memory layout
5.metadata_end's calculation should sub linearmap_offset first
6.buddy init code set zero [mem_start, page_array_size] directly, ignore
kernel image part

---

modified:
kernel/src/allocator/Kconfig
kernel/src/allocator/buddy/heap.rs
kernel/src/allocator/buddy/mod.rs
kernel/src/allocator/buddy/page.rs
kernel/src/allocator/buddy/tests.rs
kernel/src/allocator/mod.rs
kernel/src/boards/qemu_virt64_aarch64/config.rs : define DRAM_SIZE
kernel/src/boards/qemu_virt64_aarch64/link.x : LENGTH = 125.5M, increase linearmap region size from 32M to 125.5M
kernel/src/boards/qemu_virt64_aarch64/mod.rs : pub use DRAM_SIZE
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