summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/pmap.c
diff options
context:
space:
mode:
authorLuiz Souza <luiz@netgate.com>2018-05-08 12:22:58 -0300
committerLuiz Souza <luiz@netgate.com>2018-05-08 12:22:58 -0300
commit77c0e2e68638110a69edb20c8beaf1f288912b09 (patch)
tree3e8b780ae0b551c955bb8e9b0296d5a93f3513fb /sys/amd64/amd64/pmap.c
parent2d610b9dd3fbae01c76c63d1ff563db29b0e79a3 (diff)
parentc0eaeb9c07bf0a6724d7ebb3ed64b4e3dfcd4d16 (diff)
downloadFreeBSD-src-77c0e2e68638110a69edb20c8beaf1f288912b09.zip
FreeBSD-src-77c0e2e68638110a69edb20c8beaf1f288912b09.tar.gz
Merge remote-tracking branch 'origin/releng/11.1' into RELENG_2_4
Diffstat (limited to 'sys/amd64/amd64/pmap.c')
-rw-r--r--sys/amd64/amd64/pmap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index b1c7d84..64abe9b 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -2593,8 +2593,10 @@ pmap_pinit_type(pmap_t pmap, enum pmap_type pm_type, int flags)
pmap->pm_cr3 = pml4phys;
pmap_pinit_pml4(pml4pg);
if (pti) {
- pml4pgu = vm_page_alloc(NULL, 0, VM_ALLOC_NORMAL |
- VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | VM_ALLOC_WAITOK);
+ while ((pml4pgu = vm_page_alloc(NULL, 0,
+ VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED))
+ == NULL)
+ VM_WAIT;
pmap->pm_pml4u = (pml4_entry_t *)PHYS_TO_DMAP(
VM_PAGE_TO_PHYS(pml4pgu));
pmap_pinit_pml4_pti(pml4pgu);
OpenPOWER on IntegriCloud