svn commit: r298477 - in head/sys: conf riscv/riscv
Ruslan Bukin
br at FreeBSD.org
Fri Apr 22 16:16:00 UTC 2016
Author: br
Date: Fri Apr 22 16:15:58 2016
New Revision: 298477
URL: https://svnweb.freebsd.org/changeset/base/298477
Log:
Clear the DDR memory. This should be done by bootloaders,
but they have no such feature yet.
This fixes operation on Rocket Core and lowRISC.
Modified:
head/sys/conf/options.riscv
head/sys/riscv/riscv/locore.S
Modified: head/sys/conf/options.riscv
==============================================================================
--- head/sys/conf/options.riscv Fri Apr 22 15:12:05 2016 (r298476)
+++ head/sys/conf/options.riscv Fri Apr 22 16:15:58 2016 (r298477)
@@ -2,3 +2,4 @@
RISCV opt_global.h
VFP opt_global.h
+DDR_CLEAR_SIZE opt_global.h
Modified: head/sys/riscv/riscv/locore.S
==============================================================================
--- head/sys/riscv/riscv/locore.S Fri Apr 22 15:12:05 2016 (r298476)
+++ head/sys/riscv/riscv/locore.S Fri Apr 22 16:15:58 2016 (r298477)
@@ -126,6 +126,17 @@ _start:
csrr a0, mhartid
bnez a0, mpentry
+#if defined(DDR_CLEAR_SIZE)
+ /* Clear DDR memory */
+ la t0, _end
+ li t1, DDR_CLEAR_SIZE
+1:
+ sd zero, 0(t0)
+ addi t0, t0, 8
+ bltu t0, t1, 1b
+ /* End */
+#endif
+
/* Build event queue for current core */
build_ring
More information about the svn-src-head
mailing list