sandbox: vm: temporary implementation of vm_page_get_vaddr()
This commit is contained in:
@@ -41,6 +41,8 @@ static struct mem_map_region mem_map[] = {
|
|||||||
{ .base = 0x00800000, .limit = MB_TO_BYTES(MEMORY_SIZE_MB) - 1, .status = REGION_FREE },
|
{ .base = 0x00800000, .limit = MB_TO_BYTES(MEMORY_SIZE_MB) - 1, .status = REGION_FREE },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern void tmp_set_vaddr_base(void *);
|
||||||
|
|
||||||
/* virtual address of where system memory is mapped */
|
/* virtual address of where system memory is mapped */
|
||||||
static void *system_memory = NULL;
|
static void *system_memory = NULL;
|
||||||
|
|
||||||
@@ -108,6 +110,7 @@ int memory_test(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp_set_vaddr_base(system_memory);
|
||||||
memblock_add(pmem_base, pmem_limit + 1);
|
memblock_add(pmem_base, pmem_limit + 1);
|
||||||
|
|
||||||
for (size_t i = 0; i < nr_mem_map_entries; i++) {
|
for (size_t i = 0; i < nr_mem_map_entries; i++) {
|
||||||
|
|||||||
@@ -39,6 +39,13 @@ static size_t page_order_bytes[] = {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* temporary */
|
||||||
|
static void *tmp_vaddr_base = NULL;
|
||||||
|
void tmp_set_vaddr_base(void *p)
|
||||||
|
{
|
||||||
|
tmp_vaddr_base = p;
|
||||||
|
}
|
||||||
|
|
||||||
void vm_page_init_array()
|
void vm_page_init_array()
|
||||||
{
|
{
|
||||||
size_t pmem_size = 0;
|
size_t pmem_size = 0;
|
||||||
@@ -90,8 +97,7 @@ phys_addr_t vm_page_get_paddr(vm_page_t *pg)
|
|||||||
|
|
||||||
void *vm_page_get_vaddr(vm_page_t *pg)
|
void *vm_page_get_vaddr(vm_page_t *pg)
|
||||||
{
|
{
|
||||||
/* TODO */
|
return (void *)((char *)tmp_vaddr_base + (vm_page_get_pfn(pg) * VM_PAGE_SIZE));
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t vm_page_get_pfn(vm_page_t *pg)
|
size_t vm_page_get_pfn(vm_page_t *pg)
|
||||||
|
|||||||
Reference in New Issue
Block a user