Date: Fri, 06 Mar 2015 16:15:04 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-arm@FreeBSD.org Subject: [Bug 198360] ARMv6 L1 table overflow @ locore-v6.S Message-ID: <bug-198360-7@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198360 Bug ID: 198360 Summary: ARMv6 L1 table overflow @ locore-v6.S Product: Base System Version: 11.0-CURRENT Hardware: arm OS: Any Status: New Severity: Affects Some People Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: aoyama@peach.ne.jp Created attachment 153912 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=153912&action=edit locore-v6.diff If define SOCDEV_PA/SOCDEV_VA and VA is located at last 63pages, build_pagetables break after L1 table. As a result kernel symbol is broken, and the kernel will crash. L1 table is overflow by r3 is passed as fixed 64 pages. /usr/src/sys/arm/arm/locore-v6.S 128 /* Map 64MiB, preserved over calls to build_pagetables */ 129 mov r3, #64 137 #if defined(SOCDEV_PA) && defined(SOCDEV_VA) 138 /* Create the custom map used for early_printf(). */ 139 ldr r1, =SOCDEV_PA 140 ldr r2, =SOCDEV_VA 141 bl build_pagetables 142 #endif 342 build_pagetables: 356 mov r4, r3 357 1: 358 str r1, [r0, r2] 359 add r2, r2, #4 360 add r1, r1, #(PTE1_SIZE) 361 adds r4, r4, #-1 362 bhi 1b Attached patch stop at end of L1 table. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-198360-7>