void print_pte()

in sun3/mmu_emu.c [70:114]


void print_pte (pte_t pte)
{
#if 0
	/* Verbose version. */
	unsigned long val = pte_val (pte);
	pr_cont(" pte=%lx [addr=%lx",
		val, (val & SUN3_PAGE_PGNUM_MASK) << PAGE_SHIFT);
	if (val & SUN3_PAGE_VALID)	pr_cont(" valid");
	if (val & SUN3_PAGE_WRITEABLE)	pr_cont(" write");
	if (val & SUN3_PAGE_SYSTEM)	pr_cont(" sys");
	if (val & SUN3_PAGE_NOCACHE)	pr_cont(" nocache");
	if (val & SUN3_PAGE_ACCESSED)	pr_cont(" accessed");
	if (val & SUN3_PAGE_MODIFIED)	pr_cont(" modified");
	switch (val & SUN3_PAGE_TYPE_MASK) {
		case SUN3_PAGE_TYPE_MEMORY: pr_cont(" memory"); break;
		case SUN3_PAGE_TYPE_IO:     pr_cont(" io");     break;
		case SUN3_PAGE_TYPE_VME16:  pr_cont(" vme16");  break;
		case SUN3_PAGE_TYPE_VME32:  pr_cont(" vme32");  break;
	}
	pr_cont("]\n");
#else
	/* Terse version. More likely to fit on a line. */
	unsigned long val = pte_val (pte);
	char flags[7], *type;

	flags[0] = (val & SUN3_PAGE_VALID)     ? 'v' : '-';
	flags[1] = (val & SUN3_PAGE_WRITEABLE) ? 'w' : '-';
	flags[2] = (val & SUN3_PAGE_SYSTEM)    ? 's' : '-';
	flags[3] = (val & SUN3_PAGE_NOCACHE)   ? 'x' : '-';
	flags[4] = (val & SUN3_PAGE_ACCESSED)  ? 'a' : '-';
	flags[5] = (val & SUN3_PAGE_MODIFIED)  ? 'm' : '-';
	flags[6] = '\0';

	switch (val & SUN3_PAGE_TYPE_MASK) {
		case SUN3_PAGE_TYPE_MEMORY: type = "memory"; break;
		case SUN3_PAGE_TYPE_IO:     type = "io"    ; break;
		case SUN3_PAGE_TYPE_VME16:  type = "vme16" ; break;
		case SUN3_PAGE_TYPE_VME32:  type = "vme32" ; break;
		default: type = "unknown?"; break;
	}

	pr_cont(" pte=%08lx [%07lx %s %s]\n",
		val, (val & SUN3_PAGE_PGNUM_MASK) << PAGE_SHIFT, flags, type);
#endif
}