* Patch by Steven Scholz, 25 Feb 2004:
  - Timeouts in FPGA code should be based on CFG_HZ
  - Minor cleanup in code for Altera FPGA ACEX1K

* Patch by Steven Scholz, 25 Feb 2004:
  Changed "Directory Hierarchy" section in README

* Patch by Masami Komiya, 25 Feb 2004:
  Reduce copy count in nfs_read_reply() of NFS code
diff --git a/CHANGELOG b/CHANGELOG
index 64277b1..7ca03e2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,16 @@
 Changes for U-Boot 1.0.2:
 ======================================================================
 
+* Patch by Steven Scholz, 25 Feb 2004:
+  - Timeouts in FPGA code should be based on CFG_HZ
+  - Minor cleanup in code for Altera FPGA ACEX1K
+
+* Patch by Steven Scholz, 25 Feb 2004:
+  Changed "Directory Hierarchy" section in README
+
+* Patch by Masami Komiya, 25 Feb 2004:
+  Reduce copy count in nfs_read_reply() of NFS code
+
 * Patch by Markus Pietrek, 24 Feb 2004:
   NS9750 DevBoard added
 
diff --git a/README b/README
index b5a287c..dc9d975 100644
--- a/README
+++ b/README
@@ -122,135 +122,45 @@
 - board		Board dependent files
 - common	Misc architecture independent functions
 - cpu		CPU specific files
+  - 74xx_7xx	Files specific to Motorola MPC74xx and 7xx CPUs
+  - arm720t	Files specific to ARM 720 CPUs
+  - arm920t	Files specific to ARM 920 CPUs
+  - arm925t	Files specific to ARM 925 CPUs
+  - arm926ejs	Files specific to ARM 926 CPUs
+  - at91rm9200	Files specific to Atmel AT91RM9200 CPUs
+  - i386	Files specific to i386 CPUs
+  - ixp		Files specific to Intel XScale IXP CPUs
+  - mcf52x2	Files specific to Motorola ColdFire MCF52x2 CPUs
+  - mips	Files specific to MIPS CPUs
+  - mpc5xx	Files specific to Motorola MPC5xx  CPUs
+  - mpc5xxx	Files specific to Motorola MPC5xxx CPUs
+  - mpc8xx	Files specific to Motorola MPC8xx  CPUs
+  - mpc824x	Files specific to Motorola MPC824x CPUs
+  - mpc8260	Files specific to Motorola MPC8260 CPUs
+  - mpc85xx	Files specific to Motorola MPC85xx CPUs
+  - nios	Files specific to Altera NIOS CPUs
+  - ppc4xx	Files specific to IBM PowerPC 4xx CPUs
+  - pxa		Files specific to Intel XScale PXA CPUs
+  - s3c44b0	Files specific to Samsung S3C44B0 CPUs
+  - sa1100	Files specific to Intel StrongARM SA1100 CPUs
 - disk		Code for disk drive partition handling
 - doc		Documentation (don't expect too much)
 - drivers	Commonly used device drivers
 - dtt		Digital Thermometer and Thermostat drivers
 - examples	Example code for standalone applications, etc.
 - include	Header Files
-- disk		Harddisk interface code
+- lib_arm	Files generic to ARM	 architecture
+- lib_generic	Files generic to all	 architectures
+- lib_i386	Files generic to i386	 architecture
+- lib_m68k	Files generic to m68k	 architecture
+- lib_mips	Files generic to MIPS	 architecture
+- lib_nios	Files generic to NIOS	 architecture
+- lib_ppc	Files generic to PowerPC architecture
 - net		Networking code
-- ppc		Files generic to PowerPC architecture
 - post		Power On Self Test
-- post/arch		Symlink to architecture specific Power On Self Test
-- post/arch-ppc		PowerPC architecture specific Power On Self Test
-- post/cpu/mpc8260	MPC8260 CPU specific Power On Self Test
-- post/cpu/mpc8xx	MPC8xx CPU specific Power On Self Test
 - rtc		Real Time Clock drivers
 - tools		Tools to build S-Record or U-Boot images, etc.
 
-- cpu/74xx_7xx	Files specific to Motorola MPC74xx and 7xx CPUs
-- cpu/arm925t	Files specific to ARM	   925	   CPUs
-- cpu/arm926ejs Files specific to ARM	926	CPUs
-- cpu/mpc5xx	Files specific to Motorola MPC5xx  CPUs
-- cpu/mpc8xx	Files specific to Motorola MPC8xx  CPUs
-- cpu/mpc824x	Files specific to Motorola MPC824x CPUs
-- cpu/mpc8260	Files specific to Motorola MPC8260 CPU
-- cpu/mpc85xx	Files specific to Motorola MPC85xx CPUs
-- cpu/ppc4xx	Files specific to IBM	   4xx	   CPUs
-
-
-- board/LEOX/	Files specific to boards manufactured by The LEOX team
-- board/LEOX/elpt860	Files specific to ELPT860 boards
-- board/RPXClassic
-		Files specific to RPXClassic boards
-- board/RPXlite Files specific to RPXlite    boards
-- board/at91rm9200dk Files specific to AT91RM9200DK boards
-- board/c2mon	Files specific to c2mon	     boards
-- board/cmi	Files specific to cmi	     boards
-- board/cogent	Files specific to Cogent     boards
-		(need further configuration)
-		Files specific to CPCIISER4  boards
-- board/cpu86	Files specific to CPU86	     boards
-- board/cray/	Files specific to boards manufactured by Cray
-- board/cray/L1		Files specific to L1	     boards
-- board/cu824	Files specific to CU824	     boards
-- board/ebony	Files specific to IBM Ebony board
-- board/eric	Files specific to ERIC	     boards
-- board/esd/	Files specific to boards manufactured by ESD
-- board/esd/adciop	Files specific to ADCIOP     boards
-- board/esd/ar405	Files specific to AR405	     boards
-- board/esd/canbt	Files specific to CANBT	     boards
-- board/esd/cpci405	Files specific to CPCI405    boards
-- board/esd/cpciiser4	Files specific to CPCIISER4  boards
-- board/esd/common	Common files for ESD boards
-- board/esd/dasa_sim	Files specific to DASA_SIM   boards
-- board/esd/du405	Files specific to DU405	     boards
-- board/esd/ocrtc	Files specific to OCRTC	     boards
-- board/esd/pci405	Files specific to PCI405     boards
-- board/esteem192e
-		Files specific to ESTEEM192E boards
-- board/etx094	Files specific to ETX_094    boards
-- board/evb64260
-		Files specific to EVB64260   boards
-- board/fads	Files specific to FADS	     boards
-- board/flagadm Files specific to FLAGADM    boards
-- board/gen860t Files specific to GEN860T and GEN860T_SC    boards
-- board/genietv Files specific to GENIETV    boards
-- board/gth	Files specific to GTH	     boards
-- board/hermes	Files specific to HERMES     boards
-- board/hymod	Files specific to HYMOD	     boards
-- board/icu862	Files specific to ICU862     boards
-- board/ip860	Files specific to IP860	     boards
-- board/iphase4539
-		Files specific to Interphase4539 boards
-- board/ivm	Files specific to IVMS8/IVML24 boards
-- board/lantec	Files specific to LANTEC     boards
-- board/lwmon	Files specific to LWMON	     boards
-- board/Marvell Files specific to Marvell development boards
-- board/Marvell/db64360 Files specific to db64360 board
-- board/Marvell/db64460 Files specific to db64460 board
-- board/mbx8xx	Files specific to MBX	     boards
-- board/mpc8260ads
-		Files specific to MPC826xADS and PQ2FADS-ZU/VR boards
-- board/mpc8540ads
-		Files specific to MPC8540ADS boards
-- board/mpc8560ads
-		Files specific to MPC8560ADS boards
-- board/mpl/	Files specific to boards manufactured by MPL
-- board/mpl/common	Common files for MPL boards
-- board/mpl/pip405	Files specific to PIP405     boards
-- board/mpl/mip405	Files specific to MIP405     boards
-- board/mpl/vcma9	Files specific to VCMA9	     boards
-- board/musenki Files specific to MUSEKNI    boards
-- board/mvs1	Files specific to MVS1	     boards
-- board/nx823	Files specific to NX823	     boards
-- board/oxc	Files specific to OXC	     boards
-- board/omap1510inn
-		Files specific to OMAP 1510 Innovator boards
-- board/omap1610inn
-		Files specific to OMAP 1610 Innovator and H2 boards
-- board/pcippc2 Files specific to PCIPPC2/PCIPPC6 boards
-- board/pm826	Files specific to PM826	     boards
-- board/ppmc8260
-		Files specific to PPMC8260   boards
-- board/snmc/qs850	Files specific to QS850/823  boards
-- board/snmc/qs860t	Files specific to QS860T     boards
-- board/rpxsuper
-		Files specific to RPXsuper   boards
-- board/rsdproto
-		Files specific to RSDproto   boards
-- board/sandpoint
-		Files specific to Sandpoint  boards
-- board/sbc8260 Files specific to SBC8260    boards
-- board/sacsng	Files specific to SACSng     boards
-- board/siemens Files specific to boards manufactured by Siemens AG
-- board/siemens/CCM	Files specific to CCM	     boards
-- board/siemens/IAD210	Files specific to IAD210     boards
-- board/siemens/SCM	Files specific to SCM	     boards
-- board/siemens/pcu_e	Files specific to PCU_E	     boards
-- board/sixnet	Files specific to SIXNET     boards
-- board/spd8xx	Files specific to SPD8xxTS   boards
-- board/tqm8260 Files specific to TQM8260    boards
-- board/tqm8xx	Files specific to TQM8xxL    boards
-- board/w7o	Files specific to W7O	     boards
-- board/walnut405
-		Files specific to Walnut405  boards
-- board/westel/ Files specific to boards manufactured by Westel Wireless
-- board/westel/amx860	Files specific to AMX860     boards
-- board/utx8245 Files specific to UTX8245   boards
-- board/zpc1900 Files specific to Zephyr Engineering ZPC.1900 board
-
 Software Configuration:
 =======================
 
@@ -1412,9 +1322,9 @@
    14	common/cmd_bootm.c	No initial ramdisk, no multifile, continue.
    15	common/cmd_bootm.c	All preparation done, transferring control to OS
 
-  -30   lib_ppc/board.c	        Fatal error, hang the system
-  -31   post/post.c	        POST test failed, detected by post_output_backlog()
-  -32   post/post.c	        POST test failed, detected by post_run_single()
+  -30	lib_ppc/board.c		Fatal error, hang the system
+  -31	post/post.c		POST test failed, detected by post_output_backlog()
+  -32	post/post.c		POST test failed, detected by post_run_single()
 
    -1	common/cmd_doc.c	Bad usage of "doc" command
    -1	common/cmd_doc.c	No boot device
diff --git a/common/ACEX1K.c b/common/ACEX1K.c
index 53b2f50..2a421e2 100644
--- a/common/ACEX1K.c
+++ b/common/ACEX1K.c
@@ -31,17 +31,12 @@
 #if (CONFIG_FPGA & (CFG_ALTERA | CFG_ACEX1K))
 
 /* Define FPGA_DEBUG to get debug printf's */
-/* #define FPGA_DEBUG */
-
 #ifdef	FPGA_DEBUG
 #define PRINTF(fmt,args...)	printf (fmt ,##args)
 #else
 #define PRINTF(fmt,args...)
 #endif
 
-#undef CFG_FPGA_CHECK_BUSY
-#define CFG_FPGA_PROG_FEEDBACK
-
 /* Note: The assumption is that we cannot possibly run fast enough to
  * overrun the device (the Slave Parallel mode can free run at 50MHz).
  * If there is a need to operate slower, define CONFIG_FPGA_DELAY in
@@ -52,7 +47,7 @@
 #endif
 
 #ifndef CFG_FPGA_WAIT
-#define CFG_FPGA_WAIT 100
+#define CFG_FPGA_WAIT CFG_HZ/10		/* 100 ms */
 #endif
 
 static int ACEX1K_ps_load( Altera_desc *desc, void *buf, size_t bsize );
@@ -162,7 +157,7 @@
 				__FUNCTION__, &fn, fn, fn->config, fn->status,
 				fn->clk, fn->data, fn->done);
 #ifdef CFG_FPGA_PROG_FEEDBACK
-		printf ("Loading FPGA Device %d (@ %ld)...\n", cookie, ts);
+		printf ("Loading FPGA Device %d...", cookie);
 #endif
 
 		/*
@@ -246,7 +241,7 @@
 		CONFIG_FPGA_DELAY ();
 
 #ifdef CFG_FPGA_PROG_FEEDBACK
-		putc ('\n');			/* terminate the dotted line */
+		putc (' ');			/* terminate the dotted line */
 #endif
 
 	/*
diff --git a/common/spartan2.c b/common/spartan2.c
index 279a426..0fb23b6 100644
--- a/common/spartan2.c
+++ b/common/spartan2.c
@@ -47,7 +47,7 @@
 #endif
 
 #ifndef CFG_FPGA_WAIT
-#define CFG_FPGA_WAIT 10
+#define CFG_FPGA_WAIT CFG_HZ/100	/* 10 ms */
 #endif
 
 static int Spartan2_sp_load( Xilinx_desc *desc, void *buf, size_t bsize );
diff --git a/common/virtex2.c b/common/virtex2.c
index b519be9..bb44eaa 100644
--- a/common/virtex2.c
+++ b/common/virtex2.c
@@ -80,7 +80,7 @@
  * an XC2V1000, if anyone can ever get ahold of one.
  */
 #ifndef CFG_FPGA_WAIT_INIT
-#define CFG_FPGA_WAIT_INIT 	500	/* time in milliseconds */
+#define CFG_FPGA_WAIT_INIT 	CFG_HZ/2	/* 500 ms */
 #endif
 
 /*
@@ -89,14 +89,14 @@
  * clock frequencies (i.e. 66 MHz or less), BUSY monitoring is unnecessary.
  */
 #ifndef CFG_FPGA_WAIT_BUSY
-#define CFG_FPGA_WAIT_BUSY	5	/* time in milliseconds */
+#define CFG_FPGA_WAIT_BUSY	CFG_HZ/200	/* 5 ms*/
 #endif
 
 /* Default timeout for waiting for FPGA to enter operational mode after
  * configuration data has been written.
  */
 #ifndef	CFG_FPGA_WAIT_CONFIG
-#define CFG_FPGA_WAIT_CONFIG	200	/* time in milliseconds */
+#define CFG_FPGA_WAIT_CONFIG	CFG_HZ/5	/* 200 ms */
 #endif
 
 static int Virtex2_ssm_load (Xilinx_desc * desc, void *buf, size_t bsize);
diff --git a/net/nfs.c b/net/nfs.c
index 069f072..2363d61 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -542,7 +542,7 @@
 	printf ("%s\n", __FUNCTION__);
 #endif
 
-	memcpy ((uchar *)&rpc_pkt, pkt, len);
+	memcpy ((uchar *)&rpc_pkt, pkt, sizeof(rpc_pkt.u.reply));
 
 	if (rpc_pkt.u.reply.rstatus  ||
 	    rpc_pkt.u.reply.verifier ||
@@ -565,7 +565,7 @@
 	}
 
 	rlen = ntohl(rpc_pkt.u.reply.data[18]);
-	store_block ((uchar *)&(rpc_pkt.u.reply.data[19]), nfs_offset, rlen);
+	store_block ((uchar *)pkt+sizeof(rpc_pkt.u.reply), nfs_offset, rlen);
 
 	return rlen;
 }
diff --git a/net/nfs.h b/net/nfs.h
index ebd4266..712afa0 100644
--- a/net/nfs.h
+++ b/net/nfs.h
@@ -62,7 +62,7 @@
 			uint32_t verifier;
 			uint32_t v2;
 			uint32_t astatus;
-			uint32_t data[1];
+			uint32_t data[19];
 		} reply;
 	} u;
 };