diff --git a/kernel/include/process.h b/kernel/include/process.h index 06a43b1c..28e9dc58 100644 --- a/kernel/include/process.h +++ b/kernel/include/process.h @@ -162,6 +162,8 @@ #define USER_STACK_NR_PAGES 8192 #define KERNEL_STACK_NR_PAGES 25 +#define NOPHYS ((uintptr_t)-1) + #include #include diff --git a/kernel/process.c b/kernel/process.c index 3a573c7c..1bd6fa3f 100644 --- a/kernel/process.c +++ b/kernel/process.c @@ -1023,7 +1023,14 @@ int add_process_memory_range(struct process_vm *vm, range->flag); } - if (flag & VR_REMOTE) { + rc = 0; + if (0) { + /* dummy */ + } + else if (phys == NOPHYS) { + /* nothing to map */ + } + else if (flag & VR_REMOTE) { rc = update_process_page_table(vm, range, phys, IHK_PTA_REMOTE); } else if (flag & VR_IO_NOCACHE) { rc = update_process_page_table(vm, range, phys, PTATTR_UNCACHABLE);