Date: Wed, 13 Feb 2008 11:15:48 -0800 From: Marcel Moolenaar <xcllnt@mac.com> To: ia64@freebsd.org Subject: FreeBSD on Montecito: solved... Message-ID: <6C851D25-4B3A-4563-8363-C1BD9A14C1AC@mac.com>
next in thread | raw e-mail | index | archive | help
--Apple-Mail-5--862834871 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit All, I recently found some time again to play around with Montecito and the good news is that I have FreeBSD up and running!!! The problem was the I-cache all along. My initial hacking to deal with the I-cache incoherency was flawed and it threw me off-track. The attached patch, which undoubtedly is a big kluge, works. I'll be working in the next couple of days/weeks to come up with a real solution... FYI, --Apple-Mail-5--862834871 Content-Disposition: attachment; filename=ia64.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="ia64.diff" Content-Transfer-Encoding: 7bit Index: pmap.c =================================================================== RCS file: /home/ncvs/src/sys/ia64/ia64/pmap.c,v retrieving revision 1.196 diff -u -r1.196 pmap.c --- pmap.c 3 Jan 2008 07:34:33 -0000 1.196 +++ pmap.c 13 Feb 2008 19:03:11 -0000 @@ -1183,6 +1183,7 @@ pmap_set_pte(struct ia64_lpte *pte, vm_offset_t va, vm_offset_t pa, boolean_t wired, boolean_t managed) { + vm_offset_t lim; pte->pte &= PTE_PROT_MASK | PTE_PL_MASK | PTE_AR_MASK | PTE_ED; pte->pte |= PTE_PRESENT | PTE_MA_WB; @@ -1193,6 +1194,12 @@ pte->itir = PAGE_SHIFT << 2; pte->tag = ia64_ttag(va); + + lim = va + PAGE_SIZE; + while (va < lim) { + __asm __volatile("fc.i %0" :: "r"(va)); + va += 32; + } } /* --Apple-Mail-5--862834871 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit -- Marcel Moolenaar xcllnt@mac.com --Apple-Mail-5--862834871--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6C851D25-4B3A-4563-8363-C1BD9A14C1AC>