ソースを参照

* Patch by Daniel Engstrm, 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

wdenk 22 年 前
コミット
b2184c314d

+ 9 - 0
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)

+ 3 - 1
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

+ 15 - 8
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;

+ 0 - 1
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)

+ 2 - 2
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);

+ 7 - 7
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

+ 29 - 0
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

+ 7 - 7
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

+ 0 - 24
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
 /**

+ 0 - 1
lib_i386/pci_type1.c

@@ -14,7 +14,6 @@
 
 #ifdef CONFIG_PCI
 
-#include <asm/processor.h>
 #include <asm/io.h>
 #include <pci.h>