From owner-freebsd-arm@FreeBSD.ORG Thu May 28 23:20:10 2009 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 6BE24106564A for ; Thu, 28 May 2009 23:20:10 +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 F27EE8FC0A for ; Thu, 28 May 2009 23:20:09 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.14.3/8.14.3) with ESMTP id n4SNK8Sx043402 for ; Thu, 28 May 2009 18:20:08 -0500 (CDT) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1243552808; bh=JN6OEX02TJvqJRbvHXuZo8oPKImHTqdnatjCw6K2LJc=; h=Date:From:Message-Id:To:Subject; b=KQD7LVFas3OOiKcM8roivVbNMlmNN4NDjWjScgZ/IQwPqulFghkYdUc5cRSzuKXsA 5eCmDJnrgNgupNzAFrXFoJh1XK9gImC7iDmNeII/wk3JOt+3Lk7fcuPJRhqqADP/SQ EahlgtN74fgXBE1wxu9xDXc0xgNBWR93s811cLLE= Received: (from tinguely@localhost) by casselton.net (8.14.3/8.14.2/Submit) id n4SNK87M043401 for freebsd-arm@freebsd.org; Thu, 28 May 2009 18:20:08 -0500 (CDT) (envelope-from tinguely) Date: Thu, 28 May 2009 18:20:08 -0500 (CDT) From: Mark Tinguely Message-Id: <200905282320.n4SNK87M043401@casselton.net> To: freebsd-arm@freebsd.org X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.3.2 (casselton.net [127.0.0.1]); Thu, 28 May 2009 18:20:08 -0500 (CDT) Subject: cache corruption patch 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, 28 May 2009 23:20:10 -0000 There has been several occurrences of memory corruption in ARM due to caching issues. A couple recent examples are problems with the SATA drive and new USB code. This patch tracks kernel mapped pages and detects when they are shared with existing user mapped pages and other kernel mapped pages. This patch has gone through some refinement in the last couple days with feed back from testers and is getting ready for being committed before the FreeBSD 8.0 freeze. This patch should allow the removal of added cache invalidation commands to the dma. The patch is located at: http://www.casselton.net/~tinguely/arm_pmap_unmanaged.diff For those interested, I can give a long explanation of the patch. --Mark Tinguely