From owner-svn-src-all@FreeBSD.ORG Mon Apr 28 23:46:05 2014 Return-Path: Delivered-To: svn-src-all@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 6A52836D; Mon, 28 Apr 2014 23:46:05 +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)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3BD87113F; Mon, 28 Apr 2014 23:46:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s3SNk5WY007508; Mon, 28 Apr 2014 23:46:05 GMT (envelope-from ian@svn.freebsd.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s3SNk4t1007506; Mon, 28 Apr 2014 23:46:04 GMT (envelope-from ian@svn.freebsd.org) Message-Id: <201404282346.s3SNk4t1007506@svn.freebsd.org> From: Ian Lepore Date: Mon, 28 Apr 2014 23:46:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r265064 - stable/10/sys/boot/arm/uboot X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Apr 2014 23:46:05 -0000 Author: ian Date: Mon Apr 28 23:46:04 2014 New Revision: 265064 URL: http://svnweb.freebsd.org/changeset/base/265064 Log: MFC r257210, r258527: No hardfloat in ubldr, save/restore r9 for api calls. Modified: stable/10/sys/boot/arm/uboot/Makefile stable/10/sys/boot/arm/uboot/start.S Modified: stable/10/sys/boot/arm/uboot/Makefile ============================================================================== --- stable/10/sys/boot/arm/uboot/Makefile Mon Apr 28 23:16:46 2014 (r265063) +++ stable/10/sys/boot/arm/uboot/Makefile Mon Apr 28 23:46:04 2014 (r265064) @@ -90,7 +90,7 @@ CFLAGS+= -I. CLEANFILES+= vers.c loader.help -CFLAGS+= -ffreestanding +CFLAGS+= -ffreestanding -msoft-float LDFLAGS= -nostdlib -static LDFLAGS+= -T ldscript.generated Modified: stable/10/sys/boot/arm/uboot/start.S ============================================================================== --- stable/10/sys/boot/arm/uboot/start.S Mon Apr 28 23:16:46 2014 (r265063) +++ stable/10/sys/boot/arm/uboot/start.S Mon Apr 28 23:46:04 2014 (r265064) @@ -39,9 +39,10 @@ _start: ldr ip, =uboot_address str sp, [ip] - /* Save U-Boot's r8 */ + /* Save U-Boot's r8 and r9 */ ldr ip, =saved_regs str r8, [ip, #0] + str r9, [ip, #4] #ifdef _ARM_ARCH_6 mrc p15, 0, r2, c1, c0, 0 @@ -57,21 +58,24 @@ _start: * syscall() */ ENTRY(syscall) - /* Save caller's lr and r8 */ + /* Save caller's lr, r8 and r9 */ ldr ip, =saved_regs - str lr, [ip, #4] str r8, [ip, #8] - /* Restore U-Boot's r8 */ + str r9, [ip, #12] + str lr, [ip, #16] + /* Restore U-Boot's r8 and r9 */ ldr r8, [ip, #0] + ldr r9, [ip, #4] /* Call into U-Boot */ ldr lr, =return_from_syscall ldr ip, =syscall_ptr ldr pc, [ip] return_from_syscall: - /* Restore loader's r8 and lr */ + /* Restore loader's r8, r9 and lr */ ldr ip, =saved_regs + ldr lr, [ip, #16] + ldr r9, [ip, #12] ldr r8, [ip, #8] - ldr lr, [ip, #4] /* Return to caller */ mov pc, lr @@ -90,5 +94,7 @@ uboot_address: saved_regs: .long 0 /* U-Boot's r8 */ + .long 0 /* U-Boot's r9 */ .long 0 /* Loader's r8 */ + .long 0 /* Loader's r9 */ .long 0 /* Loader's lr */