PMM and liballoc port

This commit is contained in:
2025-12-17 22:42:48 +01:00
parent 13fee12f59
commit f60d8d6861
32 changed files with 1202 additions and 12 deletions

19
kernel/libk/bm.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef _KERNEL_LIBK_BM_H
#define _KERNEL_LIBK_BM_H
#include <libk/std.h>
struct bm {
uint8_t *base;
size_t nbits;
};
void bm_init(struct bm *bm, uint8_t *base, size_t nbits);
void bm_set(struct bm *bm, size_t k);
bool bm_set_region(struct bm *bm, size_t k, size_t m);
void bm_clear(struct bm *bm, size_t k);
void bm_clear_region(struct bm *bm, size_t k, size_t m);
bool bm_test(struct bm *bm, size_t k);
bool bm_test_region(struct bm *bm, size_t k, size_t m);
#endif // _KERNEL_LIBK_BM_H