Received: by mail.netbsd.org (Postfix, from userid 605) id 1C23614A1B4; Wed, 12 Jun 2013 17:13:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id C47C914A1B3 for ; Wed, 12 Jun 2013 17:13:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at NetBSD.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.NetBSD.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 2FDtPYfMUO92 for ; Wed, 12 Jun 2013 17:13:05 +0000 (UTC) Received: from cvs.netbsd.org (cvs.NetBSD.org [IPv6:2001:4f8:3:7:2e0:81ff:fe30:95bd]) by mail.netbsd.org (Postfix) with ESMTP id BD78314A180 for ; Wed, 12 Jun 2013 17:13:05 +0000 (UTC) Received: by cvs.netbsd.org (Postfix, from userid 500) id ABC4996; Wed, 12 Jun 2013 17:13:05 +0000 (UTC) Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" MIME-Version: 1.0 Date: Wed, 12 Jun 2013 17:13:05 +0000 From: "Matt Thomas" Subject: CVS commit: src/sys/arch/arm/arm32 To: source-changes@NetBSD.org X-Mailer: log_accum Message-Id: <20130612171305.ABC4996@cvs.netbsd.org> Sender: source-changes-owner@NetBSD.org List-Id: source-changes.NetBSD.org Precedence: bulk Reply-To: source-changes-d@NetBSD.org Mail-Reply-To: "Matt Thomas" Mail-Followup-To: source-changes-d@NetBSD.org Module Name: src Committed By: matt Date: Wed Jun 12 17:13:05 UTC 2013 Modified Files: src/sys/arch/arm/arm32: arm32_kvminit.c arm32_machdep.c Log Message: Add support for the VBAR (vector base address register) to remap the vectors into the kernel text segment. This register is available on arm1176 and all cortex processors since they all have the arm security (trustzone) extension. We avoid having to specially map either vector page (0x00000000 or 0xffff0000) and use VBAR to both to page0rel in the text segment. These vector group differs from the normal page0, that since it's in the kernel, it can branch directly to the exception routine, instead of loading the address into the PC. This should result in a tiny improvement in speed since we eliminate a TLB mapping the vector page and a load on every exception. XXX Add __HAVE_ARM_TRUSTZONE cpp define and use that to eliminate all code have to do with manipulating the vector page. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/arm32/arm32_kvminit.c cvs rdiff -u -r1.92 -r1.93 src/sys/arch/arm/arm32/arm32_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.