From owner-svn-src-projects@FreeBSD.ORG Mon Feb 24 09:30:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A7088A43; Mon, 24 Feb 2014 09:30:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8F3531C0D; Mon, 24 Feb 2014 09:30:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1O9UpZg032748; Mon, 24 Feb 2014 09:30:51 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1O9UpUl032746; Mon, 24 Feb 2014 09:30:51 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201402240930.s1O9UpUl032746@svn.freebsd.org> From: Andrew Turner Date: Mon, 24 Feb 2014 09:30:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r262437 - in projects/arm64/sys: arm64/arm64 conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Feb 2014 09:30:51 -0000 Author: andrew Date: Mon Feb 24 09:30:50 2014 New Revision: 262437 URL: http://svnweb.freebsd.org/changeset/base/262437 Log: Zero the bss before entering initarm Modified: projects/arm64/sys/arm64/arm64/locore.S projects/arm64/sys/conf/ldscript.arm64 Modified: projects/arm64/sys/arm64/arm64/locore.S ============================================================================== --- projects/arm64/sys/arm64/arm64/locore.S Mon Feb 24 08:50:06 2014 (r262436) +++ projects/arm64/sys/arm64/arm64/locore.S Mon Feb 24 09:30:50 2014 (r262437) @@ -77,14 +77,28 @@ virtdone: adr x29, initstack mov sp, x29 + /* Zero the BSS */ + ldr x29, .Lbss + ldr x28, .Lend + b 2f +1: + str xzr, [x29], #8 + cmp x29, x28 + b.lo 1b +2: + /* Branch to C code */ bl initarm -1: b 1b +3: b 3b .align 3 .Lvirtdone: .quad virtdone +.Lbss: + .quad __bss_start +.Lend: + .quad _end /* * If we are started in EL2, configure the required hypervisor Modified: projects/arm64/sys/conf/ldscript.arm64 ============================================================================== --- projects/arm64/sys/conf/ldscript.arm64 Mon Feb 24 08:50:06 2014 (r262436) +++ projects/arm64/sys/conf/ldscript.arm64 Mon Feb 24 09:30:50 2014 (r262437) @@ -97,6 +97,7 @@ SECTIONS /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size. */ + . = ALIGN(8); .sdata : { *(.sdata) } _edata = .; PROVIDE (edata = .); @@ -108,7 +109,7 @@ SECTIONS *(.bss) *(COMMON) } - . = ALIGN(32 / 8); + . = ALIGN(8); _end = . ; PROVIDE (end = .); /* Stabs debugging sections. */