| 6773 | } |
| 6774 | |
| 6775 | static void |
| 6776 | dump_link(pmap_t pmap, uint32_t pte1_idx, boolean_t invalid_ok) |
| 6777 | { |
| 6778 | uint32_t i; |
| 6779 | vm_offset_t va; |
| 6780 | pt2_entry_t *pte2p, pte2; |
| 6781 | vm_page_t m; |
| 6782 | |
| 6783 | va = pte1_idx << PTE1_SHIFT; |
| 6784 | pte2p = pmap_pte2_ddb(pmap, va); |
| 6785 | for (i = 0; i < NPTE2_IN_PT2; i++, pte2p++, va += PAGE_SIZE) { |
| 6786 | pte2 = pte2_load(pte2p); |
| 6787 | if (pte2 == 0) |
| 6788 | continue; |
| 6789 | if (!pte2_is_valid(pte2)) { |
| 6790 | printf(" 0x%08X: 0x%08X", va, pte2); |
| 6791 | if (!invalid_ok) |
| 6792 | printf(" - not valid !!!"); |
| 6793 | printf("\n"); |
| 6794 | continue; |
| 6795 | } |
| 6796 | m = PHYS_TO_VM_PAGE(pte2_pa(pte2)); |
| 6797 | printf(" 0x%08X: 0x%08X, TEX%d, s:%d, g:%d, m:%p", va , pte2, |
| 6798 | pte2_class(pte2), !!(pte2 & PTE2_S), !(pte2 & PTE2_NG), m); |
| 6799 | if (m != NULL) { |
| 6800 | printf(" v:%d w:%d f:0x%04X\n", m->valid, |
| 6801 | m->ref_count, m->flags); |
| 6802 | } else { |
| 6803 | printf("\n"); |
| 6804 | } |
| 6805 | } |
| 6806 | } |
| 6807 | |
| 6808 | static __inline boolean_t |
| 6809 | is_pv_chunk_space(vm_offset_t va) |
no test coverage detected