diff -u -r arcboot-0.3.8.2/common/subarch.h arcboot-0.3.8.3/common/subarch.h --- arcboot-0.3.8.2/common/subarch.h 2004-03-01 11:31:15.000000000 +0000 +++ arcboot-0.3.8.3/common/subarch.h 2004-08-16 09:46:01.000000000 +0000 @@ -33,7 +33,7 @@ .reserved = 0x800000, }, { /* IP32 */ - .base = 0x80004000, + .base = 0x80002000, .reserved = 0x800000, }, }; diff -u -r arcboot-0.3.8.2/common/version.h arcboot-0.3.8.3/common/version.h --- arcboot-0.3.8.2/common/version.h 2004-03-01 13:01:26.000000000 +0000 +++ arcboot-0.3.8.3/common/version.h 2004-08-16 10:06:49.000000000 +0000 @@ -1 +1 @@ -#define __ARCSBOOT_VERSION__ "0.3.8" +#define __ARCSBOOT_VERSION__ "0.3.8.3" diff -u -r arcboot-0.3.8.2/e2fslib/et/Makefile arcboot-0.3.8.3/e2fslib/et/Makefile --- arcboot-0.3.8.2/e2fslib/et/Makefile 2002-02-03 22:53:44.000000000 +0000 +++ arcboot-0.3.8.3/e2fslib/et/Makefile 2004-08-14 06:24:59.000000000 +0000 @@ -44,7 +44,7 @@ CC = cc BUILD_CC = cc DEFS = -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\" -DVERSION=\"1.25\" -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETCWD=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_STPCPY=1 -DHAVE_STPCPY=1 -DHAVE_LC_MESSAGES=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DHAVE_LSEEK64_PROTOTYPE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWORDS_BIGENDIAN=1 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_LSEEK64=1 -DHAVE_OPEN64=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_FDATASYNC=1 -DHAVE_STRNLEN=1 -DHAVE_EXT2_IOCTLS=1 -CFLAGS = -g -O2 +CFLAGS = -O2 CPPFLAGS = ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \ -I$(top_builddir)/lib -I$(top_srcdir)/lib \ diff -u -r arcboot-0.3.8.2/e2fslib/fileio.c arcboot-0.3.8.3/e2fslib/fileio.c --- arcboot-0.3.8.2/e2fslib/fileio.c 2002-02-03 22:53:42.000000000 +0000 +++ arcboot-0.3.8.3/e2fslib/fileio.c 2004-08-16 10:52:33.000000000 +0000 @@ -226,7 +226,14 @@ ptr += c; count += c; wanted -= c; + + /* Show only if we load more than a couple of blocks */ + if (wanted>4*fs->blocksize) { + printf("0x%lx\r", count); + } + } + printf("\n\r"); fail: if (got) diff -u -r arcboot-0.3.8.2/e2fslib/Makefile arcboot-0.3.8.3/e2fslib/Makefile --- arcboot-0.3.8.2/e2fslib/Makefile 2002-02-03 22:53:42.000000000 +0000 +++ arcboot-0.3.8.3/e2fslib/Makefile 2004-08-14 06:24:59.000000000 +0000 @@ -38,7 +38,7 @@ CC = cc BUILD_CC = cc DEFS = -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\" -DVERSION=\"1.25\" -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETCWD=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_STPCPY=1 -DHAVE_STPCPY=1 -DHAVE_LC_MESSAGES=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DHAVE_LSEEK64_PROTOTYPE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWORDS_BIGENDIAN=1 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_LSEEK64=1 -DHAVE_OPEN64=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_FDATASYNC=1 -DHAVE_STRNLEN=1 -DHAVE_EXT2_IOCTLS=1 -CFLAGS = -g -O -G 0 -fno-pic -mno-abicalls +CFLAGS = -O -G 0 -fno-pic -mno-abicalls CPPFLAGS = ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \ -I. $(LINUX_INCLUDE) diff -u -r arcboot-0.3.8.2/e2fslib/MCONFIG arcboot-0.3.8.3/e2fslib/MCONFIG --- arcboot-0.3.8.2/e2fslib/MCONFIG 2002-02-03 22:53:42.000000000 +0000 +++ arcboot-0.3.8.3/e2fslib/MCONFIG 2004-08-14 06:24:59.000000000 +0000 @@ -30,7 +30,7 @@ CC = cc BUILD_CC = cc DEFS = -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\" -DVERSION=\"1.25\" -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETCWD=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_STPCPY=1 -DHAVE_STPCPY=1 -DHAVE_LC_MESSAGES=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DHAVE_LSEEK64_PROTOTYPE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWORDS_BIGENDIAN=1 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_LSEEK64=1 -DHAVE_OPEN64=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_FDATASYNC=1 -DHAVE_STRNLEN=1 -DHAVE_EXT2_IOCTLS=1 -CFLAGS = -g -O2 +CFLAGS = -O2 CPPFLAGS = ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \ -I$(top_builddir)/lib -I$(top_srcdir)/lib \ diff -u -r arcboot-0.3.8.2/e2fslib/util/Makefile arcboot-0.3.8.3/e2fslib/util/Makefile --- arcboot-0.3.8.2/e2fslib/util/Makefile 2002-02-03 22:53:44.000000000 +0000 +++ arcboot-0.3.8.3/e2fslib/util/Makefile 2004-08-14 06:24:59.000000000 +0000 @@ -44,7 +44,7 @@ CC = cc BUILD_CC = cc DEFS = -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\" -DVERSION=\"1.25\" -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETCWD=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_STPCPY=1 -DHAVE_STPCPY=1 -DHAVE_LC_MESSAGES=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DHAVE_LSEEK64_PROTOTYPE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWORDS_BIGENDIAN=1 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_LSEEK64=1 -DHAVE_OPEN64=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_FDATASYNC=1 -DHAVE_STRNLEN=1 -DHAVE_EXT2_IOCTLS=1 -CFLAGS = -g -O2 +CFLAGS = -O2 CPPFLAGS = ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \ -I$(top_builddir)/lib -I$(top_srcdir)/lib \ diff -u -r arcboot-0.3.8.2/ext2load/ld.script.in arcboot-0.3.8.3/ext2load/ld.script.in --- arcboot-0.3.8.2/ext2load/ld.script.in 2003-04-26 14:37:20.000000000 +0000 +++ arcboot-0.3.8.3/ext2load/ld.script.in 2004-08-14 06:24:59.000000000 +0000 @@ -9,7 +9,7 @@ .text : { _ftext = . ; - *(.rodata) + *(.rodata*) *(.text) } =0 _etext = .; diff -u -r arcboot-0.3.8.2/ext2load/loader.c arcboot-0.3.8.3/ext2load/loader.c --- arcboot-0.3.8.2/ext2load/loader.c 2004-03-01 11:31:15.000000000 +0000 +++ arcboot-0.3.8.3/ext2load/loader.c 2004-08-16 09:14:40.000000000 +0000 @@ -193,6 +193,11 @@ size = (size_t) (header->header64.e_phentsize * header->header64.e_phnum); + if (header->e_ident[EI_CLASS] == ELFCLASS32) + printf("Header says 32-bit\n\r"); + else + printf("Header says 64-bit\n\r"); + if (size <= 0) Fatal("No program segments\n\r"); @@ -250,6 +255,11 @@ } size = segment->p_memsz - segment->p_filesz; + +#ifdef DEBUG + Wait("\n\r--- Waiting... ---"); +#endif + if (size > 0) { printf ("Zeroing memory at 0x%x, size = 0x%x\n\r", @@ -261,6 +271,9 @@ } loaded = True; +#ifdef DEBUG + Wait("\n\r--- Waiting... ---"); +#endif } segment = Only in arcboot-0.3.8.3/ext2load: loader.c.save diff -u -r arcboot-0.3.8.2/ext2load/Makefile arcboot-0.3.8.3/ext2load/Makefile --- arcboot-0.3.8.2/ext2load/Makefile 2004-03-01 11:31:15.000000000 +0000 +++ arcboot-0.3.8.3/ext2load/Makefile 2004-08-16 10:10:47.000000000 +0000 @@ -25,16 +25,21 @@ #CFLAGS+=-DDEBUG LD = ld -LDFLAGS = -N --oformat ecoff-bigmips -T ld.script +LDFLAGS = -N --oformat elf32-tradbigmips -T ld.script TARGETS = ext2load all: $(TARGETS) -ext2load: $(EXT2_OBJS) $(ARCLIB) ld.script +ext2load: $(EXT2_OBJS) $(ARCLIB) ld.script $(EXT2LIB) headers rm -f $@ $(LD) $(LDFLAGS) -o $@ $(EXT2_OBJS) $(EXT2LIB) $(ARCLIB) +loader.o: headers + +.PHONY: headers +headers: ../common/subarch.h ../common/version.h + ld.script: ld.script.in ../common/print_loadaddr LOADADDR=$$(../common/print_loadaddr); \ sed -e "s/@@LOADADDR@@/$$LOADADDR/" <$< >$@ diff -u -r arcboot-0.3.8.2/Makefile arcboot-0.3.8.3/Makefile --- arcboot-0.3.8.2/Makefile 2004-03-01 12:51:34.000000000 +0000 +++ arcboot-0.3.8.3/Makefile 2004-08-14 06:30:53.000000000 +0000 @@ -4,7 +4,7 @@ # # default subarch -SUBARCH=IP22 +SUBARCH=IP32 SUBARCH_INDEP_DIRS=\ arclib \