Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2016 16:15:59 +0000 (UTC)
From:      Ruslan Bukin <br@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298477 - in head/sys: conf riscv/riscv
Message-ID:  <201604221615.u3MGFxCM088374@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604221615.u3MGFxCM088374>