#include "pmm.h"
#include <stdint.h>
#define MAX_PAGES 128
static uint8_t bm[MAX_PAGES];
extern uint8_t __end;
void* pmm_alloc_page(void){
    for(int i=0;i<MAX_PAGES;i++) if(!bm[i]){
        bm[i]=1; return &__end + (i<<12);
    }
    return 0;
}
void pmm_free_page(void* pa){
    uintptr_t idx=((uintptr_t)pa-(uintptr_t)&__end)>>12;
    if(idx<MAX_PAGES) bm[idx]=0;
}
void* pmm_alloc() {
    return pmm_alloc_page();  // sau o variantă proprie dacă ai un allocator diferit
}
