aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwdenk <wdenk>2002-11-19 23:01:07 +0000
committerwdenk <wdenk>2002-11-19 23:01:07 +0000
commitb2184c314de0af9788ce505b413030d2114cfa4a (patch)
treefd167faf0174a2e7ec1bb775b78952478fab391a
parent0ae1175bb2ee24cce54df634761993b363ce888f (diff)
downloadu-boot-linaro-natty-b2184c314de0af9788ce505b413030d2114cfa4a.tar.gz
* Patch by Daniel Engström, 18 Nov 2002:
Fixes for x86 port (mostly strings issues) * Patch by Ken Chou, 18 Nov 2002: Fix for natsemi NIC cards (DP83815) * Patch by Pierre Aubert, 19 Nov 2002: fix a bug for the MII configuration, and some warnings
-rw-r--r--CHANGELOG9
-rw-r--r--Makefile4
-rw-r--r--board/RPXClassic/RPXClassic.c23
-rw-r--r--board/trab/u-boot.lds1
-rw-r--r--drivers/natsemi.c4
-rw-r--r--include/asm-arm/string.h14
-rw-r--r--include/asm-i386/processor.h29
-rw-r--r--include/asm-i386/string.h14
-rw-r--r--lib_generic/string.c24
-rw-r--r--lib_i386/pci_type1.c1
10 files changed, 72 insertions, 51 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 5b26e95ab..9d11a0fb2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,15 @@
Changes since for U-Boot 0.1.0:
======================================================================
+* Patch by Daniel Engström, 18 Nov 2002:
+ Fixes for x86 port (mostly strings issues)
+
+* Patch by Ken Chou, 18 Nov 2002:
+ Fix for natsemi NIC cards (DP83815)
+
+* Patch by Pierre Aubert, 19 Nov 2002:
+ fix a bug for the MII configuration, and some warnings
+
* Patch by Thomas Frieden, 13 Nov 2002:
Add code for AmigaOne board
(preliminary merge to U-Boot, still WIP)
diff --git a/Makefile b/Makefile
index ec2140034..6c98c8493 100644
--- a/Makefile
+++ b/Makefile
@@ -142,7 +142,9 @@ u-boot.dis: u-boot
$(OBJDUMP) -d $< > $@
u-boot: depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
- $(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LIBS) -Map u-boot.map -o u-boot
+ $(LD) $(LDFLAGS) $(OBJS) \
+ --start-group $(LIBS) --end-group \
+ -Map u-boot.map -o u-boot
subdirs:
@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
diff --git a/board/RPXClassic/RPXClassic.c b/board/RPXClassic/RPXClassic.c
index 4d2100b4d..aed9479db 100644
--- a/board/RPXClassic/RPXClassic.c
+++ b/board/RPXClassic/RPXClassic.c
@@ -127,12 +127,12 @@ void board_get_enetaddr (uchar * enet)
}
}
/* Scan to the end of the record */
- while ((*cp != '\n') && (*cp != 0xff)) {
+ while ((*cp != '\n') && (*cp != (char)0xff)) {
cp++;
}
/* If the next character is a \n, 0 or ff, we are done. */
cp++;
- if ((*cp == '\n') || (*cp == 0) || (*cp == 0xff))
+ if ((*cp == '\n') || (*cp == 0) || (*cp == (char)0xff))
break;
}
@@ -140,12 +140,6 @@ void board_get_enetaddr (uchar * enet)
/* The MAC address is the same as normal ethernet except the 3rd byte */
/* (See the E.P. Planet Core Overview manual */
enet[3] |= 0x80;
-
- /* Validate the fast ethernet tranceiver */
- *((volatile uchar *) BCSR2) &= ~BCSR2_MIICTL;
- *((volatile uchar *) BCSR2) &= ~BCSR2_MIIPWRDWN;
- *((volatile uchar *) BCSR2) |= BCSR2_MIIRST;
- *((volatile uchar *) BCSR2) |= BCSR2_MIIPWRDWN;
#endif
printf ("MAC address = %02x:%02x:%02x:%02x:%02x:%02x\n",
@@ -158,6 +152,15 @@ void rpxclassic_init (void)
/* Enable NVRAM */
*((uchar *) BCSR0) |= BCSR0_ENNVRAM;
+#ifdef CONFIG_FEC_ENET
+
+ /* Validate the fast ethernet tranceiver */
+ *((volatile uchar *) BCSR2) &= ~BCSR2_MIICTL;
+ *((volatile uchar *) BCSR2) &= ~BCSR2_MIIPWRDWN;
+ *((volatile uchar *) BCSR2) |= BCSR2_MIIRST;
+ *((volatile uchar *) BCSR2) |= BCSR2_MIIPWRDWN;
+#endif
+
}
/* ------------------------------------------------------------------------- */
@@ -254,6 +257,10 @@ static long int dram_size (long int mamr_value, long int *base, long int maxsize
}
return (maxsize);
}
+/*-----------------------------------------------------------------------------
+ * aschex_to_byte --
+ *-----------------------------------------------------------------------------
+ */
static unsigned char aschex_to_byte (unsigned char *cp)
{
u_char byte, c;
diff --git a/board/trab/u-boot.lds b/board/trab/u-boot.lds
index 59834afb8..92a369f01 100644
--- a/board/trab/u-boot.lds
+++ b/board/trab/u-boot.lds
@@ -33,7 +33,6 @@ SECTIONS
.text :
{
cpu/arm920t/start.o (.text)
- lib_arm/_udivsi3.o (.text)
lib_arm/_umodsi3.o (.text)
lib_generic/zlib.o (.text)
lib_generic/crc32.o (.text)
diff --git a/drivers/natsemi.c b/drivers/natsemi.c
index 5a8c5b4ec..0bed04dbb 100644
--- a/drivers/natsemi.c
+++ b/drivers/natsemi.c
@@ -306,8 +306,8 @@ natsemi_initialize(bd_t * bis)
break;
}
- pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &iobase);
- iobase &= ~0x3; /* 1: unused and 0:I/O Space Indicator */
+ pci_read_config_dword(devno, PCI_BASE_ADDRESS_1, &iobase);
+ iobase &= ~0xF; /* Masked out the low bits that are addresses. */
pci_write_config_dword(devno, PCI_COMMAND,
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
diff --git a/include/asm-arm/string.h b/include/asm-arm/string.h
index b65a766e1..c3ea582ca 100644
--- a/include/asm-arm/string.h
+++ b/include/asm-arm/string.h
@@ -6,23 +6,23 @@
* optimised inline asm versions are not small.
*/
-#define __HAVE_ARCH_STRRCHR
+#undef __HAVE_ARCH_STRRCHR
extern char * strrchr(const char * s, int c);
-#define __HAVE_ARCH_STRCHR
+#undef __HAVE_ARCH_STRCHR
extern char * strchr(const char * s, int c);
-#define __HAVE_ARCH_MEMCPY
+#undef __HAVE_ARCH_MEMCPY
extern void * memcpy(void *, const void *, __kernel_size_t);
-#define __HAVE_ARCH_MEMMOVE
+#undef __HAVE_ARCH_MEMMOVE
extern void * memmove(void *, const void *, __kernel_size_t);
-#define __HAVE_ARCH_MEMCHR
+#undef __HAVE_ARCH_MEMCHR
extern void * memchr(const void *, int, __kernel_size_t);
-#define __HAVE_ARCH_MEMZERO
-#define __HAVE_ARCH_MEMSET
+#undef __HAVE_ARCH_MEMZERO
+#undef __HAVE_ARCH_MEMSET
extern void * memset(void *, int, __kernel_size_t);
#if 0
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
new file mode 100644
index 000000000..c17519331
--- /dev/null
+++ b/include/asm-i386/processor.h
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright 2002
+ * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __ASM_PROCESSOR_H_
+#define __ASM_PROCESSOR_H_ 1
+/* Currently this header is unused in the i386 port
+ * but some generic files #include <asm/processor.h>
+ * so this file is a placeholder. */
+#endif
diff --git a/include/asm-i386/string.h b/include/asm-i386/string.h
index c37822248..91a23f951 100644
--- a/include/asm-i386/string.h
+++ b/include/asm-i386/string.h
@@ -6,25 +6,25 @@
* optimised inline asm versions are not small.
*/
-#define __HAVE_ARCH_STRRCHR
+#undef __HAVE_ARCH_STRRCHR
extern char * strrchr(const char * s, int c);
-#define __HAVE_ARCH_STRCHR
+#undef __HAVE_ARCH_STRCHR
extern char * strchr(const char * s, int c);
-#define __HAVE_ARCH_MEMCPY
+#undef __HAVE_ARCH_MEMCPY
extern void * memcpy(void *, const void *, __kernel_size_t);
-#define __HAVE_ARCH_MEMMOVE
+#undef __HAVE_ARCH_MEMMOVE
extern void * memmove(void *, const void *, __kernel_size_t);
-#define __HAVE_ARCH_MEMCHR
+#undef __HAVE_ARCH_MEMCHR
extern void * memchr(const void *, int, __kernel_size_t);
-#define __HAVE_ARCH_MEMSET
+#undef __HAVE_ARCH_MEMSET
extern void * memset(void *, int, __kernel_size_t);
-#define __HAVE_ARCH_MEMZERO
+#undef __HAVE_ARCH_MEMZERO
extern void memzero(void *ptr, __kernel_size_t n);
#endif
diff --git a/lib_generic/string.c b/lib_generic/string.c
index 1e1e2e33f..f4d245725 100644
--- a/lib_generic/string.c
+++ b/lib_generic/string.c
@@ -20,30 +20,6 @@
#include <linux/ctype.h>
#include <malloc.h>
-#ifdef CONFIG_ARM
-#undef __HAVE_ARCH_MEMCMP
-#undef __HAVE_ARCH_MEMCPY
-#undef __HAVE_ARCH_MEMMOVE
-#undef __HAVE_ARCH_MEMSET
-#undef __HAVE_ARCH_BCOPY
-#undef __HAVE_ARCH_STRCAT
-#undef __HAVE_ARCH_STRCHR
-#undef __HAVE_ARCH_STRCMP
-#undef __HAVE_ARCH_STRCPY
-#undef __HAVE_ARCH_STRLEN
-#undef __HAVE_ARCH_STRNCPY
-#else
-#define __HAVE_ARCH_MEMCMP
-#define __HAVE_ARCH_MEMCPY
-#define __HAVE_ARCH_MEMMOVE
-#define __HAVE_ARCH_MEMSET
-#define __HAVE_ARCH_BCOPY
-#define __HAVE_ARCH_STRCAT
-#define __HAVE_ARCH_STRCMP
-#define __HAVE_ARCH_STRCPY
-#define __HAVE_ARCH_STRLEN
-#define __HAVE_ARCH_STRNCPY
-#endif
#ifndef __HAVE_ARCH_STRNICMP
/**
diff --git a/lib_i386/pci_type1.c b/lib_i386/pci_type1.c
index e5577e820..8d35716ee 100644
--- a/lib_i386/pci_type1.c
+++ b/lib_i386/pci_type1.c
@@ -14,7 +14,6 @@
#ifdef CONFIG_PCI
-#include <asm/processor.h>
#include <asm/io.h>
#include <pci.h>