From owner-freebsd-arm@FreeBSD.ORG Sun Jan 6 23:51:34 2008 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F15116A41A for ; Sun, 6 Jan 2008 23:51:34 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe15.swipnet.se [212.247.155.193]) by mx1.freebsd.org (Postfix) with ESMTP id B4D6113C45A for ; Sun, 6 Jan 2008 23:51:33 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [85.19.218.45] (account mc467741@c2i.net [85.19.218.45] verified) by mailfe15.swip.net (CommuniGate Pro SMTP 5.1.13) with ESMTPA id 21980001 for freebsd-arm@freebsd.org; Sun, 06 Jan 2008 23:51:30 +0100 From: Hans Petter Selasky To: freebsd-arm@freebsd.org Date: Sun, 6 Jan 2008 23:52:14 +0100 User-Agent: KMail/1.9.7 References: <200712290220.45527.hselasky@c2i.net> In-Reply-To: <200712290220.45527.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200801062352.15253.hselasky@c2i.net> Subject: Re: FYI: AT91 UDP is now fully supported (and tested) by the FreeBSD P4 USB project X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2008 23:51:34 -0000 Hi, I've fixed some issues regarding clear-stall. Latest code is in the FreeBSD P4 USB project. Here is "dmesg" from a KB9202B board using the newly designed 512x4 ethernet protocol and AT91 UDP driver. Bytes transferred = 12270210 (bb3a82 hex) ## Starting application at 0x200000E0 ... KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #377: Sun Jan 6 23:30:14 CET 2008 hans_other@server0.selasky.org:/usr/obj/arm/usr/7-current/src/sys/custom CPU: ARM920T rev 0 (ARM9TDMI core) DC enabled IC enabled WB enabled LABT 16KB/32B 64-way Instruction cache 16KB/32B 64-way write-back-locking-A Data cache real memory = 67108864 (64 MB) avail memory = 53207040 (50 MB) atmelarm0: on motherboard at91_st0: mem 0xdffffd00-0xdffffdff irq 1 on atmelarm0 at91_st0: watchdog registered, timeout intervall max. 64 sec at91_pio0: mem 0xdffff400-0xdffff5ff irq 1 on atmelarm0 at91_pio0: ABSR: 0x60 OSR: 0 PSR:0x3938001f ODSR: 0 at91_pio0: [FILTER] at91_pio1: mem 0xdffff600-0xdffff7ff irq 1 on atmelarm0 at91_pio1: ABSR: 0xff301 OSR: 0x2 PSR:0x3fc00cfe ODSR: 0 at91_pio1: [FILTER] at91_pio2: mem 0xdffff800-0xdffff9ff irq 1 on atmelarm0 at91_pio2: ABSR: 0 OSR: 0x1000000a PSR:0xffffc075 ODSR: 0x10000000 at91_pio2: [FILTER] at91_pio3: mem 0xdffffa00-0xdffffbff irq 1 on atmelarm0 at91_pio3: ABSR: 0 OSR: 0 PSR:0xfffffff ODSR: 0 at91_pio3: [FILTER] at91_pmc0: mem 0xdffffc00-0xdffffcff irq 1 on atmelarm0 at91_pmc0: Primary: 10000000 Hz PLLA: 180 MHz CPU: 180 MHz MCK: 60 MHz at91_udp0: mem 0xdffb0000-0xdffb3fff irq 11,3 on atmelarm0 at91_udp0: [ITHREAD] at91_udp0: [ITHREAD] usb0 on at91_udp0 at91_mci0: mem 0xdffb4000-0xdffb7fff irq 10 on atmelarm0 at91_mci0: [ITHREAD] mmc0: on at91_mci0 at91_twi0: mem 0xdffb8000-0xdffbbfff irq 12 on atmelarm0 at91_twi0: [ITHREAD] iicbus0: on at91_twi0 setting cwgr to 0x1a4a4 iicbus0: at addr 0 iic0: on iicbus0 icee0: at addr 0xa0 on iicbus0 ate0: mem 0xdffbc000-0xdffbffff irq 24 on atmelarm0 ate0: No MAC address setmiibus0: on ate0 ukphy0: on usb0 cdce0: Ethernet address: 2a:23:45:67:89:54 cdce0: at uhub0, port 1, addr 9 (disconnected) cdce0: detached cdce0: on usb0 cdce0: Ethernet address: 2a:23:45:67:89:54 # ifconfig cdce0 192.168.100.3 netmask 0xffffff00 up # Limiting icmp ping response from 269 to 200 packets/sec Limiting icmp ping response from 268 to 200 packets/sec Limiting icmp ping response from 268 to 200 packets/sec Limiting icmp ping response from 269 to 200 packets/sec Limiting icmp ping response from 268 to 200 packets/sec Limiting icmp ping response from 269 to 200 packets/sec Limiting icmp ping response from 268 to 200 packets/sec # ping -f 192.168.100.2 PING 192.168.100.2 (192.168.100.2): 56 data bytes .................................................................................................................^C --- 192.168.100.2 ping statistics --- 1215 packets transmitted, 1102 packets received, 9.3% packet loss round-trip min/avg/max/stddev = 1.251/1.753/3.784/0.186 ms --HPS From owner-freebsd-arm@FreeBSD.ORG Tue Jan 8 19:48:56 2008 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D1FA16A419 for ; Tue, 8 Jan 2008 19:48:56 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (casselton.net [63.165.140.2]) by mx1.freebsd.org (Postfix) with ESMTP id 1258A13C448 for ; Tue, 8 Jan 2008 19:48:55 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.13.8/8.13.8) with ESMTP id m08JmqZR006159; Tue, 8 Jan 2008 13:48:52 -0600 (CST) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1199821732; bh=lwIUTXnKD5hn+dUE4c/EUUeTKjGl0JbRcH6/FuE 06Lg=; h=Date:From:Message-Id:To:Subject; b=Z7laI0o7aSvCRjj1N/y4/Ci DMcDZJmjnUi0GsqfI4U/As/WvIeh7aTU6l7wEr05/T2tzn6NTobGP+Pn/9MzE/anL75 M/zV5YjnnZuQ0XhtATVRaBpNXjv6oD5IWzP2i2Qj8hoU8z8EXf82nw8uP74KaVQt+ZV m3Nej/I2FymDec= Received: (from tinguely@localhost) by casselton.net (8.13.8/8.13.8/Submit) id m08Jmpoa006156; Tue, 8 Jan 2008 13:48:51 -0600 (CST) (envelope-from tinguely) Date: Tue, 8 Jan 2008 13:48:51 -0600 (CST) From: Mark Tinguely Message-Id: <200801081948.m08Jmpoa006156@casselton.net> To: freebsd-arm@freebsd.org, mlfbsd@ci0.org Cc: Subject: ARM pmap cache flushed after PT modification. X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2008 19:48:56 -0000 Since caches for ARM processor before version 6 use virtually indexed, virtual tagged caches, the cache should be written back (flushed) before altering the page table. See between the VVVV and ^^^^ the order is clear page tables, then write back the caches. void pmap_remove_pages(pmap_t pmap) { struct pv_entry *pv, *npv; struct l2_bucket *l2b = NULL; vm_page_t m; pt_entry_t *pt; vm_page_lock_queues(); PMAP_LOCK(pmap); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { if (pv->pv_flags & PVF_WIRED) { /* The page is wired, cannot remove it now. */ npv = TAILQ_NEXT(pv, pv_plist); continue; } pmap->pm_stats.resident_count--; l2b = pmap_get_l2_bucket(pmap, pv->pv_va); KASSERT(l2b != NULL, ("No L2 bucket in pmap_remove_pages")); pt = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; m = PHYS_TO_VM_PAGE(*pt & L2_ADDR_MASK); #ifdef ARM_USE_SMALL_ALLOC KASSERT((vm_offset_t)m >= alloc_firstaddr, ("Trying to access non-existent page va %x pte %x", pv->pv_va, *pt)); #else KASSERT((vm_offset_t)m >= KERNBASE, ("Trying to access non-existent page va %x pte %x", pv->pv_va, *pt)); #endif VVVVVVVVVV page table cleared *pt = 0; ^^^^^^^^^^ page table cleared PTE_SYNC(pt); npv = TAILQ_NEXT(pv, pv_plist); pmap_nuke_pv(m, pmap, pv); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); pmap_free_pv_entry(pv); pmap_free_l2_bucket(pmap, l2b, 1); } vm_page_unlock_queues(); VVVVVVVVVVVVVVVVVVVVVVVV cache written back cpu_idcache_wbinv_all(); ^^^^^^^^^^^^^^^^^^^^^^^^ cache written back cpu_tlb_flushID(); cpu_cpwait(); PMAP_UNLOCK(pmap); } --Mark Tinguely. From owner-freebsd-arm@FreeBSD.ORG Tue Jan 8 23:15:56 2008 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C89BF16A418 for ; Tue, 8 Jan 2008 23:15:56 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 8B74913C457 for ; Tue, 8 Jan 2008 23:15:56 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.1/8.14.1) with ESMTP id m08NCrR3022876; Tue, 8 Jan 2008 16:12:53 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 08 Jan 2008 16:10:24 -0700 (MST) Message-Id: <20080108.161024.-1331210289.imp@bsdimp.com> To: raj@semihalf.com From: "M. Warner Losh" In-Reply-To: <4772E502.6090804@semihalf.com> References: <4772E502.6090804@semihalf.com> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-arm@FreeBSD.org Subject: Re: Clean up ARM_TP_ADDRESS and RAS location X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2008 23:15:56 -0000 In message: <4772E502.6090804@semihalf.com> Rafal Jaworowski writes: : The following patch de-hardcodes usage of ARM_TP_ADDRESS and RAS local : storage, it also moves this special purpose page to a more convenient place : i.e. after the vectors high page, more towards the end of address space. : Previous location (0xe000_0000) caused grief if KVA where to go beyond the : default limit. : : http://people.freebsd.org/~raj/patches/arm/cleanup_tp_ras.diff : : Let me hear your comments. I like these patches... Warner From owner-freebsd-arm@FreeBSD.ORG Wed Jan 9 18:58:09 2008 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E81916A417 for ; Wed, 9 Jan 2008 18:58:09 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id 57E6F13C442 for ; Wed, 9 Jan 2008 18:58:08 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id m09Iaiqk063119 for ; Wed, 9 Jan 2008 19:36:44 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [10.1.1.14]) by cicely5.cicely.de (8.13.4/8.13.4) with ESMTP id m09IaZZR001567 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 9 Jan 2008 19:36:36 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.13.4/8.13.3) with ESMTP id m09IaZoG084028; Wed, 9 Jan 2008 19:36:35 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.13.4/8.13.3/Submit) id m09IaZ6x084027; Wed, 9 Jan 2008 19:36:35 +0100 (CET) (envelope-from ticso) Date: Wed, 9 Jan 2008 19:36:35 +0100 From: Bernd Walter To: arm@freebsd.org Message-ID: <20080109183634.GC79270@cicely12.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Operating-System: FreeBSD cicely12.cicely.de 5.4-STABLE alpha User-Agent: Mutt/1.5.9i X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED=-1.8, BAYES_00=-2.599 autolearn=ham version=3.2.3 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on cicely12.cicely.de Cc: Bernd Walter Subject: make kernel.tramp broken at least in cross environments X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2008 18:58:09 -0000 buildhost is i386 few weeks old RELENG_7 Source to be compiled is a few days old RELENG_7 The ${KERNEL_KO}.tramp: target is missing -I../../.. in ${CC} calls and arm/arm/elf_trampoline.c was including stlib.h, which it didn't require - it's compiling -nostdlib anyway. Unless someone is complaining or come up with a better fix I will commit this change. [61]cicely7# make TARGET=arm TARGET_ARCH=arm buildenv Entering world for arm:arm # pwd /data/builder/arm-test-RELENG_7/src # cd sys/arm/compile/BWCT # make kernel.tramp echo "#define KERNNAME \"kernel.tmp\"" >opt_kernname.h sed s/0xc0000000/0x20000000/ ldscript.arm > ldscript.arm.tramp sed s/" + SIZEOF_HEADERS"// ldscript.arm.tramp > ldscript.arm.tramp.noheader echo "#include " >tmphack.S echo "ENTRY(_start)" >>tmphack.S echo "bl _startC" >>tmphack.S objcopy --strip-symbol '$d' --strip-symbol '$a' -g --strip-symbol '$t' kernel kernel.tmp eval $(stat -s kernel.tmp) && echo "#define KERNSIZE $st_size" >>opt_kernname.h cc -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.arm.tramp tmphack.S ../../../arm/arm/elf_trampoline.c ../../../arm/arm/inckern.S ../../../arm/arm/cpufunc_asm_arm7tdmi.S ../../../arm/arm/cpufunc_asm_arm8.S ../../../arm/arm/cpufunc_asm_arm9.S ../../../arm/arm/cpufunc_asm_sa1.S ../../../arm/arm/cpufunc_asm_arm10.S ../../../arm/arm/cpufunc_asm_xscale.S ../../../arm/arm/cpufunc_asm.S ../../../arm/arm/cpufunc_asm_xscale_c3.S -o kernel.tramp In file included from tmphack.S:1: ./machine/asm.h:41:23: error: sys/cdefs.h: No such file or directory ../../../arm/arm/elf_trampoline.c:25:23: error: sys/cdefs.h: No such file or directory ../../../arm/arm/elf_trampoline.c:26: error: expected declaration specifiers or '...' before string constant ../../../arm/arm/elf_trampoline.c:26: warning: data definition has no type or storage class ../../../arm/arm/elf_trampoline.c:28:23: error: sys/param.h: No such file or directory ../../../arm/arm/elf_trampoline.c:29:23: error: sys/elf32.h: No such file or directory ../../../arm/arm/elf_trampoline.c:30:25: error: sys/inflate.h: No such file or directory In file included from ../../../arm/arm/elf_trampoline.c:31: ./machine/elf.h:41:29: error: sys/elf_generic.h: No such file or directory In file included from ../../../arm/arm/elf_trampoline.c:31: ./machine/elf.h:52: warning: data definition has no type or storage class ./machine/elf.h:52: warning: parameter names (without types) in function declaration In file included from ../../../arm/arm/elf_trampoline.c:32: ./machine/pte.h:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pd_entry_t' ./machine/pte.h:46: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pt_entry_t' ../../../arm/arm/elf_trampoline.c:36:20: error: stdlib.h: No such file or directory ../../../arm/arm/elf_trampoline.c: In function 'memcpy': ../../../arm/arm/elf_trampoline.c:114: error: 'vm_offset_t' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:114: error: (Each undeclared identifier is reported only once ../../../arm/arm/elf_trampoline.c:114: error: for each function it appears in.) ../../../arm/arm/elf_trampoline.c:114: error: expected ')' before 'd' ../../../arm/arm/elf_trampoline.c:115: error: expected ')' before 's' ../../../arm/arm/elf_trampoline.c:116: error: 'uint32_t' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:116: error: expected expression before ')' token ../../../arm/arm/elf_trampoline.c: In function 'bzero': ../../../arm/arm/elf_trampoline.c:134: error: 'vm_offset_t' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:134: error: expected ')' before 'tmp' ../../../arm/arm/elf_trampoline.c:135: error: 'uint32_t' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:135: error: expected expression before ')' token ../../../arm/arm/elf_trampoline.c: In function 'get_cachetype_cp15': ../../../arm/arm/elf_trampoline.c:226: error: 'u_int' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:226: error: expected ';' before 'ctype' ../../../arm/arm/elf_trampoline.c:227: error: expected ';' before 'multiplier' ../../../arm/arm/elf_trampoline.c:230: error: 'ctype' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:251: error: 'isize' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:252: error: 'multiplier' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:266: error: 'dsize' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:229: error: invalid lvalue in asm output 0 ../../../arm/arm/elf_trampoline.c: In function 'load_kernel': ../../../arm/arm/elf_trampoline.c:396: error: 'Elf32_Ehdr' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:396: error: 'eh' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:397: error: 'Elf32_Phdr' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:397: error: expected ';' before 'phdr' ../../../arm/arm/elf_trampoline.c:398: error: 'Elf32_Shdr' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:398: error: expected ';' before 'shdr' ../../../arm/arm/elf_trampoline.c:403: error: 'vm_offset_t' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:403: error: expected ';' before 'lastaddr' ../../../arm/arm/elf_trampoline.c:404: error: 'Elf_Addr' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:404: error: expected ';' before 'ssym' ../../../arm/arm/elf_trampoline.c:405: error: 'Elf_Dyn' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:405: error: 'dp' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:407: error: expected expression before ')' token ../../../arm/arm/elf_trampoline.c:408: error: 'ssym' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:408: error: 'esym' undeclared (first use in this function) ../../../arm/arm/elf_trampoline.c:410: error: 'phdr' undeclared (first use in this function) [...] -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de From owner-freebsd-arm@FreeBSD.ORG Thu Jan 10 00:31:25 2008 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 835A616A419 for ; Thu, 10 Jan 2008 00:31:25 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (casselton.net [63.165.140.2]) by mx1.freebsd.org (Postfix) with ESMTP id 2905713C45A for ; Thu, 10 Jan 2008 00:31:24 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.13.8/8.13.8) with ESMTP id m0A0VLpW015991; Wed, 9 Jan 2008 18:31:21 -0600 (CST) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1199925081; bh=h/D1KWSUqddLXiK8eeFjNMokBN2HhXD0WjHZOpw NLhQ=; h=Date:From:Message-Id:To:Subject:In-Reply-To; b=LPk+h3Uvnvp 9M/RIl8E1dpA5IbJEHMSpBDJVZNejw4rgH4KjGW+9Sq3s0kKybQhwYbiAcvU90B8xlA 5Z+J1vP/SQLnUn+EVxXDxr5sb8za7h1GlDLiE9dxgpcfUclUh0s+XYKm8Popc/LqM9l dXZZhFFSzJc5mvVh9EX/sbQMv0= Received: (from tinguely@localhost) by casselton.net (8.13.8/8.13.8/Submit) id m0A0VLgC015988; Wed, 9 Jan 2008 18:31:21 -0600 (CST) (envelope-from tinguely) Date: Wed, 9 Jan 2008 18:31:21 -0600 (CST) From: Mark Tinguely Message-Id: <200801100031.m0A0VLgC015988@casselton.net> To: freebsd-arm@freebsd.org, mlfbsd@ci0.org In-Reply-To: <200801081948.m08Jmpoa006156@casselton.net> Cc: Subject: Re: ARM pmap cache flushed after PT modification. X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2008 00:31:25 -0000 Using the same logic that the ARM ARM for pre-ARMv6 MMUs says the cache has to be written back and/or invalidated before making changes to page table entries; pmap_remove_all() also forces the page table entry to NULL and I believe needs to be invalidated. --Mark Tinguely.