add: if (virtualAddress != NULL) {      addr_t address = (addr_t)virtualAddress;   if (address < KERNEL_BASE || address + size >= KERNEL_BASE + 0x100000) return NULL;  for (uint32 i = 0; i < size; i++) { map_page(address, get_next_physical_page(), kDefaultPageFlags); address += B_PAGE_SIZE; }  return virtualAddress; }
context: mmu_allocate(void */*virtualAddress*/, size_t size){	size = (size + B_PAGE_SIZE - 1) / B_PAGE_SIZE;		// get number of pages to map	void *address = (void *)sNextVirtualAddress;	for (uint32 i = 0; i < size; i++) {		map_page(get_next_virtual_page(), get_next_physical_page(), kDefaultPageFlags);	}	return address;}