x86_64: pmap: implement pmap_add()
This commit is contained in:
@@ -285,7 +285,12 @@ void pmap_destroy(pmap_t pmap)
|
|||||||
|
|
||||||
kern_status_t pmap_add(pmap_t pmap, void *p, pfn_t pfn, enum vm_prot prot, enum pmap_flags flags)
|
kern_status_t pmap_add(pmap_t pmap, void *p, pfn_t pfn, enum vm_prot prot, enum pmap_flags flags)
|
||||||
{
|
{
|
||||||
return KERN_OK;
|
enum page_size ps = PS_4K;
|
||||||
|
if (flags & PMAP_HUGEPAGE) {
|
||||||
|
ps = PS_2M;
|
||||||
|
}
|
||||||
|
|
||||||
|
return do_pmap_add(pmap, p, pfn, prot, ps);
|
||||||
}
|
}
|
||||||
|
|
||||||
kern_status_t pmap_add_block(pmap_t pmap, void *p, pfn_t pfn, size_t len, enum vm_prot prot, enum pmap_flags flags)
|
kern_status_t pmap_add_block(pmap_t pmap, void *p, pfn_t pfn, size_t len, enum vm_prot prot, enum pmap_flags flags)
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ typedef ml_pmap_t pmap_t;
|
|||||||
typedef ml_pfn_t pfn_t;
|
typedef ml_pfn_t pfn_t;
|
||||||
|
|
||||||
enum pmap_flags {
|
enum pmap_flags {
|
||||||
|
PMAP_NORMAL = 0x00u,
|
||||||
PMAP_HUGEPAGE = 0x01u,
|
PMAP_HUGEPAGE = 0x01u,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user