Date: Sun, 17 Nov 2002 19:43:35 -0800 (PST) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 21206 for review Message-ID: <200211180343.gAI3hZb2049245@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=21206 Change 21206 by marcel@marcel_nfs on 2002/11/17 19:43:18 Handle multiple gateway pages. Not really important, but less limited. Affected files ... .. //depot/projects/ia64/sys/ia64/ia64/pmap.c#47 edit .. //depot/projects/ia64/sys/ia64/ia64/trap.c#38 edit .. //depot/projects/ia64/sys/ia64/include/pmap.h#8 edit Differences ... ==== //depot/projects/ia64/sys/ia64/ia64/pmap.c#47 (text+ko) ==== @@ -1779,15 +1779,17 @@ } int -pmap_wire_syscall_page(pmap) +pmap_wire_syscall_page(pmap, va) pmap_t pmap; + vm_offset_t va; { + vm_offset_t d, pa; struct ia64_lpte *pte; - pte = pmap_find_pte(VM_MAX_ADDRESS); - pmap_set_pte(pte, VM_MAX_ADDRESS, - IA64_RR_MASK((u_int64_t)ia64_syscall_page), PTE_IG_MANAGED, - PTE_PL_KERN, PTE_AR_X_RX); + d = va - VM_MAX_ADDRESS; + pa = IA64_RR_MASK((u_int64_t)ia64_syscall_page) + d; + pte = pmap_find_pte(va); + pmap_set_pte(pte, va, pa, PTE_IG_MANAGED, PTE_PL_KERN, PTE_AR_X_RX); return (0); } ==== //depot/projects/ia64/sys/ia64/ia64/trap.c#38 (text+ko) ==== @@ -562,8 +562,8 @@ vm = (p != NULL) ? p->p_vmspace : NULL; if (vm == NULL) goto no_fault_in; - if (va == VM_MAX_ADDRESS) { - if (!pmap_wire_syscall_page(&vm->vm_pmap)) + if (va >= VM_MAX_ADDRESS) { + if (!pmap_wire_syscall_page(&vm->vm_pmap, va)) goto out; } map = &vm->vm_map; ==== //depot/projects/ia64/sys/ia64/include/pmap.h#8 (text+ko) ==== @@ -137,7 +137,7 @@ void pmap_set_opt (unsigned *); void pmap_set_opt_bsp (void); struct pmap *pmap_install(struct pmap *pmap); -int pmap_wire_syscall_page(struct pmap *pmap); +int pmap_wire_syscall_page(struct pmap *pmap, vm_offset_t); #endif /* _KERNEL */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211180343.gAI3hZb2049245>