With the advent of pmap locking it makes sense for pmap_copy() to be less
forgiving about inconsistencies in the source pmap. Also, remove a new- line character terminating a nearby panic string.
This commit is contained in:
parent
47a86e3cd4
commit
a9cb79ba4e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=133292
@ -2267,7 +2267,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
pd_entry_t srcptepaddr, *pde;
|
||||
|
||||
if (addr >= UPT_MIN_ADDRESS)
|
||||
panic("pmap_copy: invalid to pmap_copy page tables\n");
|
||||
panic("pmap_copy: invalid to pmap_copy page tables");
|
||||
|
||||
/*
|
||||
* Don't let optional prefaulting of pages make us go
|
||||
@ -2318,8 +2318,8 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
}
|
||||
|
||||
srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME);
|
||||
if (srcmpte->hold_count == 0 || (srcmpte->flags & PG_BUSY))
|
||||
continue;
|
||||
if (srcmpte->hold_count == 0)
|
||||
panic("pmap_copy: source page table page is unused");
|
||||
|
||||
if (va_next > end_addr)
|
||||
va_next = end_addr;
|
||||
|
@ -2318,7 +2318,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
unsigned ptepindex;
|
||||
|
||||
if (addr >= UPT_MIN_ADDRESS)
|
||||
panic("pmap_copy: invalid to pmap_copy page tables\n");
|
||||
panic("pmap_copy: invalid to pmap_copy page tables");
|
||||
|
||||
/*
|
||||
* Don't let optional prefaulting of pages make us go
|
||||
@ -2346,8 +2346,8 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
}
|
||||
|
||||
srcmpte = PHYS_TO_VM_PAGE(srcptepaddr);
|
||||
if (srcmpte->hold_count == 0 || (srcmpte->flags & PG_BUSY))
|
||||
continue;
|
||||
if (srcmpte->hold_count == 0)
|
||||
panic("pmap_copy: source page table page is unused");
|
||||
|
||||
if (pdnxt > end_addr)
|
||||
pdnxt = end_addr;
|
||||
|
Loading…
Reference in New Issue
Block a user