diff options
Diffstat (limited to 'src/vmem.c')
| -rw-r--r-- | src/vmem.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -12,6 +12,7 @@ #include <kmi/panic.h> #include <kmi/debug.h> #include <kmi/bits.h> +#include <kmi/dmem.h> #include <kmi/vmem.h> #include <arch/vmem.h> @@ -197,6 +198,14 @@ static void __free_mapping(struct tcb *t, struct mem_region *m) if (is_set(m->flags, MR_NONBACKED)) return; + if (is_set(m->flags, MR_DEV)) { + stat_t ret = free_known_devmem(t, m); + MAYBE_UNUSED(ret); + + assert(ret == OK); + return; + } + pm_t start = __addr(m->start); pm_t end = __addr(m->end); size_t size = end - start; |
