[Bug 198360] ARMv6 L1 table overflow @ locore-v6.S
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Mar 6 16:15:05 UTC 2015
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 at FreeBSD.org
Reporter: aoyama at 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.
More information about the freebsd-arm
mailing list