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.