sdt_entry_t *sdt;
pt_entry_t p;  p = (prot & VM_PROT_WRITE) ? PG_RW : PG_RO;  #ifdef M88110 if (cputyp == CPU_88110) { p |= PG_U;  if (map == kernel_pmap) { if (p & PG_PROT) p |= PG_M; } } #endif return (p); }    void flush_atc_entry(users, va, kernel) long users; vaddr_t va; boolean_t kernel; { int	cpu; long	tusers = users;  #ifdef DIAGNOSTIC if ((tusers != 0) && (ff1(tusers) >= MAX_CPUS)) { printf("ff1 users = %d!\n", ff1(tusers)); panic("bogus amount of users!!!"); } #endif while ((cpu = ff1(tusers)) != 32) { if (cpu_sets[cpu]) {  cmmu_flush_remote_tlb(cpu, kernel, va, PAGE_SIZE); } tusers &= ~(1 << cpu); } }   pt_entry_t * pmap_pte(map, virt) pmap_t map; vaddr_t virt; { sdt_entry_t	*sdt;
pmap_pte(pmap_t map, vm_offset_t virt){	sdt_entry_t *sdt;#ifdef DIAGNOSTIC	/*XXX will this change if physical memory is not contiguous? */	/* take a look at PDTIDX XXXnivas */	if (map == PMAP_NULL)		panic("pmap_pte: pmap is NULL");#endif	sdt = SDTENT(map,virt);	/*	 * Check whether page table is exist or not.	 */	if (!SDT_VALID(sdt))		return (PT_ENTRY_NULL);	else		return ((pt_entry_t *)(((sdt + SDT_ENTRIES)->table_addr)<<PDT_SHIFT) +			PDTIDX(virt));} /* pmap_pte */