dom0vp_expose_p2m() assumes that memory is populated non-sparsely.
However with dom0 builder modification this assumption is not always true.
Make dom0vp_expose_p2m() allow sparsely populated memory.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
for (i = 0; i < expose_num_pfn / PTRS_PER_PTE + 1; i++) {
assign_pte = lookup_noalloc_domain_pte(d, (assign_start_gpfn + i) <<
PAGE_SHIFT);
- BUG_ON(assign_pte == NULL);
- if (pte_present(*assign_pte)) {
+ if (assign_pte == NULL || pte_present(*assign_pte))
continue;
- }
+
if (expose_p2m_page(d, (assign_start_gpfn + i) << PAGE_SHIFT,
p2m_pte_zero_page) < 0) {
gdprintk(XENLOG_INFO, "%s failed to assign zero-pte page\n", __func__);