From owner-p4-projects@FreeBSD.ORG Thu Apr 20 17:44:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29B2816A405; Thu, 20 Apr 2006 17:44:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7B87B16A400 for ; Thu, 20 Apr 2006 17:44:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFC1F43D46 for ; Thu, 20 Apr 2006 17:44:42 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3KHigba074065 for ; Thu, 20 Apr 2006 17:44:42 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3KHigCA074062 for perforce@freebsd.org; Thu, 20 Apr 2006 17:44:42 GMT (envelope-from imp@freebsd.org) Date: Thu, 20 Apr 2006 17:44:42 GMT Message-Id: <200604201744.k3KHigCA074062@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 95700 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Apr 2006 17:44:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=95700 Change 95700 by imp@imp_hammer on 2006/04/20 17:44:12 No need to read in the rest of the eeprom into memory. We're now < 8k again: 7821 bytes. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/Makefile#2 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#7 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/main.c#7 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#2 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#2 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/arm_init.s#4 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/main.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= libat91 boot0 bootiic bootspi +SUBDIR= libat91 boot0 boot0iic boot0spi bootiic bootspi .include ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#7 (text) ==== @@ -2,7 +2,7 @@ P=boot0 FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.s main.c doit.c NO_MAN= LDFLAGS=-e 0 -T linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0/main.c#7 (text) ==== @@ -28,16 +28,15 @@ #include "lib.h" #include "at91rm9200_lowlevel.h" -typedef void fn_t(void); +extern void doit(void *); int main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - fn_t *fn = (fn_t *)(SDRAM_BASE + (1 << 20)); /* Load to base + 1MB */ while (xmodem_rx(addr) == -1) continue; - fn(); + doit(addr); return (1); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#2 (text) ==== @@ -1,10 +1,12 @@ # $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.3 2006/04/19 17:16:48 imp Exp $ -P=boot0 +.PATH: ${.CURDIR}/../boot0 + +P=boot0iic FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.s main.c doit.c NO_MAN= -LDFLAGS=-e 0 -T linker.cfg +LDFLAGS=-e 0 -T ${.CURDIR}/../boot0/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#2 (text) ==== @@ -1,10 +1,12 @@ # $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.3 2006/04/19 17:16:48 imp Exp $ -P=boot0 +.PATH: ${.CURDIR}/../boot0 + +P=boot0spi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.s main.c doit.c NO_MAN= -LDFLAGS=-e 0 -T linker.cfg +LDFLAGS=-e 0 -T ${.CURDIR}/../boot0/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include ==== //depot/projects/arm/src/sys/boot/arm/at91/bootiic/arm_init.s#4 (text+ko) ==== @@ -83,18 +83,6 @@ ldr r1, = SVC_STACK_USE mov sp, r1 @ ; Move the stack to SDRAM -/* Copy the rest of the load image from EEPROM */ - .extern InitEEPROM - - bl InitEEPROM - - .extern ReadEEPROM - - mov r0, #8192 - mov r1, #8192 - mov r2, #8192 - bl ReadEEPROM - /* Start execution at main */ .extern main ==== //depot/projects/arm/src/sys/boot/arm/at91/bootiic/main.c#6 (text+ko) ==== @@ -25,6 +25,7 @@ #include "loader_prompt.h" #include "emac.h" #include "lib.h" +#include "eeprom.h" /* * .KB_C_FN_DEFINITION_START @@ -39,16 +40,12 @@ int main(void) { - + InitEEPROM(); EMAC_Init(); - LoadBootCommands(); - printf("\n\rKB9202(www.kwikbyte.com)\n\rAuto boot..\n\r"); - if (getc(1) == -1) ExecuteEnvironmentFunctions(); - Bootloader(0); return (1);