changeset 186:d60da272beeb

Merge from eCos master repository on 2001-10-05-06:43:03-BST
author jlarmour
date Fri, 05 Oct 2001 15:31:48 +0000
parents 298031b410a6
children 977a23cdabeb
files packages/NEWS packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/include/hal_arch.h packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl packages/hal/arm/edb7xxx/current/include/hal_platform_ints.h packages/hal/arm/edb7xxx/current/include/hal_platform_setup.h packages/hal/arm/edb7xxx/current/src/edb7xxx_misc.c packages/hal/arm/edb7xxx/current/support/io.c packages/hal/arm/iq80310/current/ChangeLog packages/hal/arm/iq80310/current/src/diag/io_utils.c packages/hal/arm/iq80310/current/src/diag/iq80310.h packages/hal/arm/iq80310/current/src/diag/memtest.c packages/hal/arm/sa11x0/flexanet/current/ChangeLog packages/hal/arm/sa11x0/flexanet/current/include/hal_platform_setup.h packages/hal/common/current/ChangeLog packages/hal/common/current/include/hal_endian.h packages/hal/common/current/include/hal_tables.h packages/hal/i386/arch/current/ChangeLog packages/hal/i386/arch/current/src/vectors.S packages/hal/i386/pcmb/current/ChangeLog packages/hal/i386/pcmb/current/include/pcmb_io.h packages/net/tcpip/current/ChangeLog packages/net/tcpip/current/cdl/net.cdl packages/net/tcpip/current/src/lib/dhcp_support.c packages/net/tcpip/current/tests/multi_lo_select.c packages/net/tcpip/current/tests/ping_lo_test.c packages/net/tcpip/current/tests/tcp_lo_select.c packages/net/tcpip/current/tests/tcp_lo_test.c packages/net/tcpip/current/tests/udp_lo_test.c packages/redboot/current/ChangeLog packages/redboot/current/cdl/redboot.cdl packages/redboot/current/src/fs/disk.c packages/redboot/current/src/main.c
diffstat 33 files changed, 266 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/packages/NEWS
+++ b/packages/NEWS
@@ -1,3 +1,4 @@
+* Flash driver added for the SH EDK7708 platform.
 * Added rudimentary ELF loader, including support for dynamic objects under
   services/loader.
 * Dallas wallclock driver implemented for x86 PC.
--- a/packages/hal/arm/arch/current/ChangeLog
+++ b/packages/hal/arm/arch/current/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-02  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/hal_arch.h: Remove CYG_HAL_TABLE_BEGIN and CYG_HAL_TABLE_END
+	as the common versions are acceptable.
+
 2001-10-01  Jonathan Larmour  <jlarmour@redhat.com>
 
 	* src/arm.ld: Make separate section for GOT and .eh_frame.
--- a/packages/hal/arm/arch/current/include/hal_arch.h
+++ b/packages/hal/arm/arch/current/include/hal_arch.h
@@ -288,35 +288,6 @@ externC void hal_idle_thread_action(cyg_
 #define HAL_IDLE_THREAD_ACTION(_count_) hal_idle_thread_action(_count_)
 
 //---------------------------------------------------------------------------
-// Table definition macros.
-// The ARM assembler has a slightly different syntax for some of this, so
-// we have to define alternatives here.
-// Note that the __string() and __xstring() macros used here are defined in
-// hal_tables.h.
-
-#ifndef CYG_HAL_TABLE_BEGIN
-#define CYG_HAL_TABLE_BEGIN( _label, _name )                                    \
-__asm__(".section \"" __string(.ecos.table.##_name##.begin) "\",\"aw\"\n"       \
-	".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                        \
-	".type    " __xstring(CYG_LABEL_DEFN(_label)) ",object\n"               \
-	".p2align 2\n"                                                          \
-__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                         \
-	".previous\n"                                                           \
-       )
-#endif
-
-#ifndef CYG_HAL_TABLE_END
-#define CYG_HAL_TABLE_END( _label, _name )                                      \
-__asm__(".section \"" __string(.ecos.table.##_name##.finish) "\",\"aw\"\n"      \
-	".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                        \
-	".type    " __xstring(CYG_LABEL_DEFN(_label)) ",object\n"               \
-	".p2align 2\n"                                                          \
-__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                         \
-	".previous\n"                                                           \
-       )
-#endif
-
-//---------------------------------------------------------------------------
 
 // Minimal and sensible stack sizes: the intention is that applications
 // will use these to provide a stack size in the first instance prior to
--- a/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl
+++ b/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl
@@ -301,7 +301,7 @@ cdl_package CYGPKG_HAL_ARM_EDB7XXX {
         cdl_option CYGBLD_BUILD_GDB_STUBS {
             display "Build GDB stub ROM image"
             default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
+            requires { (CYG_HAL_STARTUP == "ROM") || (CYG_HAL_STARTUP == "ROMRAM") }
             requires CYGSEM_HAL_ROM_MONITOR
             requires CYGBLD_BUILD_COMMON_GDB_STUBS
             requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
@@ -520,7 +520,7 @@ cdl_package CYGPKG_HAL_ARM_EDB7XXX {
         flavor        bool
         default_value 0
         parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
+        requires      { (CYG_HAL_STARTUP == "ROM") || (CYG_HAL_STARTUP == "ROMRAM") }
         description   "
             Enable this option if this program is to be used as a ROM monitor,
             i.e. applications will be loaded into RAM on the board, and this
--- a/packages/hal/arm/edb7xxx/current/include/hal_platform_ints.h
+++ b/packages/hal/arm/edb7xxx/current/include/hal_platform_ints.h
@@ -75,28 +75,3 @@
 #if defined(__EDB7209)
 #define CYGNUM_HAL_INTERRUPT_I2SINT     22
 #endif
-
-#define CYGNUM_HAL_ISR_MIN              0
-#if defined(__CL7111)
-#define CYGNUM_HAL_ISR_MAX              21
-#else
-#define CYGNUM_HAL_ISR_MAX              22
-#endif
-#define CYGNUM_HAL_ISR_COUNT            (CYGNUM_HAL_ISR_MAX+1)
-
-// The vector used by the Real time clock
-#define CYGNUM_HAL_INTERRUPT_RTC        CYGNUM_HAL_INTERRUPT_TC2OI
-
-
-
-//----------------------------------------------------------------------------
-// Reset.
-
-// Try and force the board into a reset state.  Since this hardware requires
-// a "wakeup" signal, we can't just use a watchdog/reset approach.
-externC void reset_platform(void);
-#define HAL_PLATFORM_RESET() reset_platform()
-
-#define HAL_PLATFORM_RESET_ENTRY 0xe0000000
-
-#endif // CYGONCE_HAL_PLATFORM_INTS_H
--- a/packages/hal/arm/edb7xxx/current/include/hal_platform_setup.h
+++ b/packages/hal/arm/edb7xxx/current/include/hal_platform_setup.h
@@ -145,8 +145,8 @@ 10:
 	mcr	MMU_CP,0,r1,MMU_FlushIDC,c0,0 /* Invalidate Caches */   
 	ldr	r1,=0xFFFFFFFF                                          
 	mcr	MMU_CP,0,r1,MMU_DomainAccess,c0                         
-	ldr	r2,=10f       
-#ifdef CYG_HAL_STARTUP_ROM                                                  
+	ldr	r2,=10f      
+#ifdef CYG_HAL_STARTUP_ROMRAM
 	ldr     r3,=__exception_handlers                                
 	sub     r2,r2,r3                                                
 	ldr     r3,=ROM0_LA_START                                       
@@ -162,7 +162,7 @@ 10:
         .endm
 #endif // EP7xxx,720T processor
 
-#ifdef CYG_HAL_STARTUP_ROM                                                  
+#ifdef CYG_HAL_STARTUP_ROMRAM                                                  
         .macro  RELOCATE_TEXT_SEGMENT
         ldr     r2,=__exception_handlers
         ldr     r3,=ROM0_LA_START       
@@ -173,7 +173,12 @@ 15:
         ldr     r0,[r3],#4              
         str     r0,[r2],#4              
         cmp     r2,r4                   
-        bne     15b                     
+        bne     15b            
+	ldr	r2,=20f      
+	mov	pc,r2    /* Change address spaces */                    
+	nop                                                             
+ 	nop                                                             
+	nop                                                             
 20:
         .endm        
 #endif
@@ -500,7 +505,7 @@ 20:	str	r5,[r1],#4
 /* Now initialize the MMU to use this new page table */
 	ldr	r1,=MMU_BASE
         MMU_INITIALIZE
-#ifdef CYG_HAL_STARTUP_ROM                                                  
+#ifdef CYG_HAL_STARTUP_ROMRAM                                                  
         RELOCATE_TEXT_SEGMENT
 #endif // CYG_HAL_STARTUP_ROM                                                          
         .endm
--- a/packages/hal/arm/edb7xxx/current/src/edb7xxx_misc.c
+++ b/packages/hal/arm/edb7xxx/current/src/edb7xxx_misc.c
@@ -319,7 +319,7 @@ void hal_hardware_init(void)
 {
     volatile cyg_uint32 *icr;
     int vector;
-
+    
     // Clear and initialize instruction cache
     HAL_ICACHE_INVALIDATE_ALL();
     HAL_ICACHE_ENABLE();
--- a/packages/hal/arm/edb7xxx/current/support/io.c
+++ b/packages/hal/arm/edb7xxx/current/support/io.c
@@ -45,6 +45,7 @@
 #include <sys/ioctl.h>
 #include <fcntl.h>
 #include <termios.h>
+#include <errno.h>
 
 char _ReceiveChar(long port)
 {
@@ -142,6 +143,10 @@ int _CharReady(long port)
 #else
     int n, res;
     res = ioctl(port, FIONREAD, &n);
+    if (res < 0) {
+        fprintf(stderr, "I/O error: %s\n", strerror(errno));
+        exit(1);
+    }
     return n;  // Non-zero if characters ready to read
 #endif
 }
--- a/packages/hal/arm/iq80310/current/ChangeLog
+++ b/packages/hal/arm/iq80310/current/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-03  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* src/diag/io_utils.c: Switch to diag_printf from printf.
+	* src/diag/iq80310.h: Ditto.
+	* src/diag/memtest.c: Ditto, and don't define printf prototype.
+
 2001-08-27  Mark Salter  <msalter@redhat.com>
 
 	* cdl/hal_arm_iq80310.cdl (CYGSEM_HAL_ARM_IQ80310_BTB): New option.
--- a/packages/hal/arm/iq80310/current/src/diag/io_utils.c
+++ b/packages/hal/arm/iq80310/current/src/diag/io_utils.c
@@ -45,6 +45,9 @@
  * Version: @(#)test_io.c	1.2 8/26/93
  */
 #include <redboot.h>
+#include <cyg/infra/diag.h>
+#define printf diag_printf
+
 
 #define TRUE	1
 #define FALSE	0
--- a/packages/hal/arm/iq80310/current/src/diag/iq80310.h
+++ b/packages/hal/arm/iq80310/current/src/diag/iq80310.h
@@ -69,6 +69,9 @@
 #define FALSE 0
 #endif
 
+#include <cyg/infra/diag.h>
+#define printf diag_printf
+
 #define RAM_FUNC_SECT
 
 /* 02/09/01 jwf */
--- a/packages/hal/arm/iq80310/current/src/diag/memtest.c
+++ b/packages/hal/arm/iq80310/current/src/diag/memtest.c
@@ -49,6 +49,9 @@
 *  02feb01 jwf for snc
 */
 
+#include <cyg/infra/diag.h>
+#define printf diag_printf
+
 #include "7_segment_displays.h"
 
 #if 0
@@ -58,7 +61,9 @@ extern int quadtest(long startaddr);
 #endif
 
 extern void hex32out (unsigned int num);
+#if 0
 extern int printf(char*,...);
+#endif
 extern load_runtime_reg();
 extern store_runtime_reg();
 
--- a/packages/hal/arm/sa11x0/flexanet/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/flexanet/current/ChangeLog
@@ -1,3 +1,7 @@
+2001-10-04  Jordi Colomer <jco@ict.es>
+
+	* include/hal_platform_setup.h: Add sleep/resume support.
+
 2001-07-27  Jordi Colomer  <jco@ict.es>
 	
 	* Initial version of support for BSE Flexanet/SA1110 handheld board.
--- a/packages/hal/arm/sa11x0/flexanet/current/include/hal_platform_setup.h
+++ b/packages/hal/arm/sa11x0/flexanet/current/include/hal_platform_setup.h
@@ -268,6 +268,18 @@ 19:
         ldr     r2,=SA11X0_PERIPHERAL_CONTROL_HOLD
         str     r2,[r1]
 
+        // If waking up from sleep, jump to the resume function
+        // pointed by the scratchpad register.
+        ldr     r1,=SA11X0_RESET_STATUS
+        ldr     r2,[r1]
+        cmp     r2,#SA11X0_SLEEP_MODE_RESET
+        bne     20f
+        ldr     r1,=SA11X0_PWR_MGR_SCRATCHPAD
+        ldr     r1,[r1]
+        mov     pc,r1
+        nop
+20:     nop        
+
         // Set up a stack [for calling C code]
         ldr     r1,=__startup_stack
         ldr     r2,=SA11X0_RAM_BANK0_BASE
--- a/packages/hal/common/current/ChangeLog
+++ b/packages/hal/common/current/ChangeLog
@@ -1,3 +1,21 @@
+2001-10-04  Jesper Skov  <jskov@redhat.com>
+
+	* include/hal_endian.h: Added.
+	Fix typo.
+
+2001-10-03  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/hal_tables.h (CYG_HAL_TABLE_BEGIN): Use plain "object"
+	because	some (only some though) MIPS tools complain with %object.
+	(CYG_HAL_TABLE_END): Ditto.
+
+2001-10-02  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/hal_tables.h (CYG_HAL_TABLE_BEGIN): Use %object syntax
+	rather than @object since @ is a comment character on ARM. gas
+	accepts either syntax.
+	(CYG_HAL_TABLE_END): Ditto.
+
 2001-10-01  Gary Thomas  <gthomas@redhat.com>
 
 	* src/generic-stub.c (getpacket): Send back error response (E01) if
new file mode 100644
--- /dev/null
+++ b/packages/hal/common/current/include/hal_endian.h
@@ -0,0 +1,101 @@
+#ifndef CYGONCE_HAL_HAL_ENDIAN_H
+#define CYGONCE_HAL_HAL_ENDIAN_H
+
+//=============================================================================
+//
+//      hal_endian.h
+//
+//      Endian conversion macros
+//
+//=============================================================================
+//####COPYRIGHTBEGIN####
+//                                                                          
+// -------------------------------------------                              
+// The contents of this file are subject to the Red Hat eCos Public License 
+// Version 1.1 (the "License"); you may not use this file except in         
+// compliance with the License.  You may obtain a copy of the License at    
+// http://www.redhat.com/                                                   
+//                                                                          
+// Software distributed under the License is distributed on an "AS IS"      
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
+// License for the specific language governing rights and limitations under 
+// the License.                                                             
+//                                                                          
+// The Original Code is eCos - Embedded Configurable Operating System,      
+// released September 30, 1998.                                             
+//                                                                          
+// The Initial Developer of the Original Code is Red Hat.                   
+// Portions created by Red Hat are                                          
+// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
+// All Rights Reserved.                                                     
+// -------------------------------------------                              
+//                                                                          
+//####COPYRIGHTEND####
+//=============================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):   jskov
+// Contributors:jskov
+// Date:        2001-10-04
+// Purpose:     Endian conversion macros
+// Usage:       #include <cyg/hal/hal_endian.h>
+//                           
+//####DESCRIPTIONEND####
+//
+//=============================================================================
+
+#include <pkgconf/hal.h>                // CYGBLD_HAL_ENDIAN_H
+#include <cyg/infra/cyg_type.h>         // endian setting
+
+// Allow HALs to override the generic implementation of swap macros
+#ifdef CYGBLD_HAL_ENDIAN_H
+# include CYGBLD_HAL_ENDIAN_H
+#endif
+
+#ifndef CYG_SWAP16
+# define CYG_SWAP16(_x_)                                        \
+    ({ cyg_uint16 _x = (_x_); ((_x << 8) | (_x >> 8)); })
+#endif
+
+#ifndef CYG_SWAP32
+# define CYG_SWAP32(_x_)                        \
+    ({ cyg_uint32 _x = (_x_);                   \
+       ((_x << 24) |                            \
+       ((0x0000FF00UL & _x) <<  8) |            \
+       ((0x00FF0000UL & _x) >>  8) |            \
+       (_x  >> 24)); })
+#endif
+
+
+#if (CYG_BYTEORDER == CYG_LSBFIRST)
+# define CYG_CPU_TO_BE16(_x_) CYG_SWAP16((_x_))
+# define CYG_CPU_TO_BE32(_x_) CYG_SWAP32((_x_))
+# define CYG_BE16_TO_CPU(_x_) CYG_SWAP16((_x_))
+# define CYG_BE32_TO_CPU(_x_) CYG_SWAP32((_x_))
+
+# define CYG_CPU_TO_LE16(_x_) (_x_)
+# define CYG_CPU_TO_LE32(_x_) (_x_)
+# define CYG_LE16_TO_CPU(_x_) (_x_)
+# define CYG_LE32_TO_CPU(_x_) (_x_)
+
+#elif (CYG_BYTEORDER == CYG_MSBFIRST)
+
+# define CYG_CPU_TO_BE16(_x_) (_x_)
+# define CYG_CPU_TO_BE32(_x_) (_x_)
+# define CYG_BE16_TO_CPU(_x_) (_x_)
+# define CYG_BE32_TO_CPU(_x_) (_x_)
+
+# define CYG_CPU_TO_LE16(_x_) CYG_SWAP16((_x_))
+# define CYG_CPU_TO_LE32(_x_) CYG_SWAP32((_x_))
+# define CYG_LE16_TO_CPU(_x_) CYG_SWAP16((_x_))
+# define CYG_LE32_TO_CPU(_x_) CYG_SWAP32((_x_))
+
+#else
+
+# error "Endian mode not selected"
+
+#endif
+
+//-----------------------------------------------------------------------------
+#endif // CYGONCE_HAL_HAL_ENDIAN_H
+// End of hal_endian.h
--- a/packages/hal/common/current/include/hal_tables.h
+++ b/packages/hal/common/current/include/hal_tables.h
@@ -58,24 +58,24 @@
 #define __xstring(_x) __string(_x)
 
 #ifndef CYG_HAL_TABLE_BEGIN
-#define CYG_HAL_TABLE_BEGIN( _label, _name )                                  \
-__asm__(".section \".ecos.table." __xstring(_name) ".begin\",\"aw\"\n"        \
-	".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                      \
-	".type    " __xstring(CYG_LABEL_DEFN(_label)) ",@object\n"            \
-	".p2align " __xstring(CYGARC_P2ALIGNMENT) "\n"                        \
-__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                       \
-	".previous\n"                                                         \
+#define CYG_HAL_TABLE_BEGIN( _label, _name )                                 \
+__asm__(".section \".ecos.table." __xstring(_name) ".begin\",\"aw\"\n"       \
+    ".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                         \
+    ".type    " __xstring(CYG_LABEL_DEFN(_label)) ",object\n"                \
+    ".p2align " __xstring(CYGARC_P2ALIGNMENT) "\n"                           \
+__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                      \
+    ".previous\n"                                                            \
        )
 #endif
 
 #ifndef CYG_HAL_TABLE_END
-#define CYG_HAL_TABLE_END( _label, _name )                                    \
-__asm__(".section \".ecos.table." __xstring(_name) ".finish\",\"aw\"\n"       \
-	".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                      \
-	".type    " __xstring(CYG_LABEL_DEFN(_label)) ",@object\n"            \
-	".p2align " __xstring(CYGARC_P2ALIGNMENT) "\n"                        \
-__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                       \
-	".previous\n"                                                         \
+#define CYG_HAL_TABLE_END( _label, _name )                                   \
+__asm__(".section \".ecos.table." __xstring(_name) ".finish\",\"aw\"\n"      \
+    ".globl " __xstring(CYG_LABEL_DEFN(_label)) "\n"                         \
+    ".type    " __xstring(CYG_LABEL_DEFN(_label)) ",object\n"                \
+    ".p2align " __xstring(CYGARC_P2ALIGNMENT) "\n"                           \
+__xstring(CYG_LABEL_DEFN(_label)) ":\n"                                      \
+    ".previous\n"                                                            \
        )
 #endif
 
--- a/packages/hal/i386/arch/current/ChangeLog
+++ b/packages/hal/i386/arch/current/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-01  Ian Campbell  <icampbell@arcom.co.uk>
+
+	* src/vectors.S: include CYGBLD_HAL_PLATFORM_H rather than
+	<pkgconf/hal_i386_pc.h>
+
 2001-09-05  Jonathan Larmour  <jlarmour@redhat.com>
 
 	* src/vectors.S (__default_interrupt_vsr): Adjust saved stack pointer
--- a/packages/hal/i386/arch/current/src/vectors.S
+++ b/packages/hal/i386/arch/current/src/vectors.S
@@ -47,7 +47,7 @@
 
 #include <pkgconf/system.h>
 #include <pkgconf/hal.h>
-#include <pkgconf/hal_i386_pc.h>
+#include CYGBLD_HAL_PLATFORM_H
 
 #ifdef CYGPKG_KERNEL
 #include <pkgconf/kernel.h>
--- a/packages/hal/i386/pcmb/current/ChangeLog
+++ b/packages/hal/i386/pcmb/current/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-01  Ian Campbell  <icampbell@arcom.co.uk>
+
+	* include/pcmb_io.h: Include CYGBLD_HAL_PLATFORM_H rather than
+	<pkgconf/hal_i386_pc.h>. Also include <pkgconf/system.h> so the
+	define is available.
+
 2001-09-14  Mark Salter  <msalter@redhat.com>
 
 	* include/pcmb_io.h (HAL_IDE_READ_ALTSTATUS): Add 2 for correct offset.
--- a/packages/hal/i386/pcmb/current/include/pcmb_io.h
+++ b/packages/hal/i386/pcmb/current/include/pcmb_io.h
@@ -45,7 +45,8 @@
 //
 //==========================================================================
 
-#include <pkgconf/hal_i386_pc.h>
+#include <pkgconf/system.h>
+#include CYGBLD_HAL_PLATFORM_H
 
 #include <cyg/hal/pcmb_io.h>
 
--- a/packages/net/tcpip/current/ChangeLog
+++ b/packages/net/tcpip/current/ChangeLog
@@ -1,3 +1,24 @@
+2001-10-04  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* cdl/net.cdl (CYGHWR_NET_DRIVER_ETH0): Make flavor bool so it isn't
+	defined when 0.
+	(CYGHWR_NET_DRIVER_ETH0): Ditto.
+
+2001-10-04  Hugo Tyson  <hmt@redhat.com>
+
+	* src/lib/dhcp_support.c: Some conditional compilation tags were
+	wrong vis a vis ETH1 versus ETH0.  Thanks to "Simon"
+	<simoncc@ms46.url.com.tw> for spotting it.
+
+2001-10-04  Jesper Skov  <jskov@redhat.com>
+
+	* tests/multi_lo_select.c (cyg_user_start): Added CYG_TEST_INIT
+	call.
+	* tests/ping_lo_test.c (cyg_start): Same.
+	* tests/tcp_lo_test.c (cyg_start): Same.
+	* tests/udp_lo_test.c (cyg_start): Same.
+	* tests/tcp_lo_select.c (cyg_start): Same.
+
 2001-09-28  Jonathan Larmour  <jlarmour@redhat.com>
 
 	* cdl/net.cdl: Tell isoinfra we support getproto* and getserv*
--- a/packages/net/tcpip/current/cdl/net.cdl
+++ b/packages/net/tcpip/current/cdl/net.cdl
@@ -529,7 +529,8 @@ cdl_package CYGPKG_NET {
 
     cdl_interface CYGHWR_NET_DRIVER_ETH0 {
         display "Does the hardware provide an 'eth0' device?"
-	requires { CYGHWR_NET_DRIVER_ETH0 <= 1 }
+        requires { CYGHWR_NET_DRIVER_ETH0 <= 1 }
+        flavor   bool
     }
 
     cdl_component CYGHWR_NET_DRIVER_ETH0_SETUP_OPTIONS {
@@ -641,7 +642,8 @@ cdl_package CYGPKG_NET {
 
     cdl_interface CYGHWR_NET_DRIVER_ETH1 {
         display "Does the hardware provide an 'eth1' device?"
-	requires { CYGHWR_NET_DRIVER_ETH1 <= 1 }
+        requires { CYGHWR_NET_DRIVER_ETH1 <= 1 }
+        flavor   bool
     }
 
     cdl_component CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS {
--- a/packages/net/tcpip/current/src/lib/dhcp_support.c
+++ b/packages/net/tcpip/current/src/lib/dhcp_support.c
@@ -107,7 +107,7 @@ int dhcp_bind( void )
         && DHCPSTATE_FAILED != eth0_dhcpstate )
             eth0_up = do_dhcp(eth0_name, &eth0_bootp_data, &eth0_dhcpstate, &eth0_lease);
 #endif            
-#ifdef CYGHWR_NET_DRIVER_ETH0
+#ifdef CYGHWR_NET_DRIVER_ETH1
     if (eth1_up
         && DHCPSTATE_FAILED != eth1_dhcpstate )
             eth1_up = do_dhcp(eth1_name, &eth1_bootp_data, &eth1_dhcpstate, &eth1_lease);
@@ -139,7 +139,7 @@ int dhcp_bind( void )
          eth0_dhcpstate == DHCPSTATE_NOTBOUND )
         return 0; // a lease timed out; we became unbound
 #endif
-#ifdef CYGHWR_NET_DRIVER_ETH0
+#ifdef CYGHWR_NET_DRIVER_ETH1
     if ( old_eth1_dhcpstate == DHCPSTATE_BOUND &&
          eth1_dhcpstate == DHCPSTATE_NOTBOUND )
         return 0; // a lease timed out; we became unbound
--- a/packages/net/tcpip/current/tests/multi_lo_select.c
+++ b/packages/net/tcpip/current/tests/multi_lo_select.c
@@ -451,6 +451,8 @@ master(cyg_addrword_t param)
 void
 cyg_user_start(void)
 {
+    CYG_TEST_INIT();
+
     cyg_thread_create(PRIO_MASTERHIGH,            // Priority
                       master,                     // entry
                       0,                          // entry parameter
--- a/packages/net/tcpip/current/tests/ping_lo_test.c
+++ b/packages/net/tcpip/current/tests/ping_lo_test.c
@@ -247,6 +247,8 @@ net_test(cyg_addrword_t p)
 void
 cyg_start(void)
 {
+    CYG_TEST_INIT();
+
     // Create a main thread, so we can run the scheduler and have time 'pass'
     cyg_thread_create(CYGPKG_NET_THREAD_PRIORITY-4,// Priority - just a number
                       net_test,                 // entry
--- a/packages/net/tcpip/current/tests/tcp_lo_select.c
+++ b/packages/net/tcpip/current/tests/tcp_lo_select.c
@@ -272,6 +272,8 @@ tcp_client_2(cyg_addrword_t param)
 void
 cyg_start(void)
 {
+    CYG_TEST_INIT();
+
     cyg_thread_create(MAIN_THREAD_PRIORITY,     // Priority
                       tcp_server,               // entry
                       0,                        // entry parameter
--- a/packages/net/tcpip/current/tests/tcp_lo_test.c
+++ b/packages/net/tcpip/current/tests/tcp_lo_test.c
@@ -186,6 +186,8 @@ tcp_client(cyg_addrword_t param)
 void
 cyg_start(void)
 {
+    CYG_TEST_INIT();
+
     cyg_thread_create(MAIN_THREAD_PRIORITY,     // Priority
                       tcp_server,               // entry
                       0,                        // entry parameter
--- a/packages/net/tcpip/current/tests/udp_lo_test.c
+++ b/packages/net/tcpip/current/tests/udp_lo_test.c
@@ -163,6 +163,8 @@ udp_client(cyg_addrword_t param)
 void
 cyg_start(void)
 {
+    CYG_TEST_INIT();
+
     cyg_thread_create(MAIN_THREAD_PRIORITY,     // Priority
                       udp_server,               // entry
                       0,                        // entry parameter
--- a/packages/redboot/current/ChangeLog
+++ b/packages/redboot/current/ChangeLog
@@ -1,3 +1,11 @@
+2001-10-04  Jesper Skov  <jskov@redhat.com>
+
+	* src/fs/disk.c: Fix ISO9660 build error.
+
+	* src/main.c: Added x as an alias for the dump command.
+
+	* src/net/dns.c: Fixed some messages (DNS -> DNS server).
+
 2001-10-02  Gary Thomas  <gthomas@redhat.com>
 
 	* src/xyzModem.h: 
--- a/packages/redboot/current/cdl/redboot.cdl
+++ b/packages/redboot/current/cdl/redboot.cdl
@@ -183,6 +183,7 @@ cdl_package CYGPKG_REDBOOT {
                about 1514 bytes.  Note: there is little need to make this larger
                than the default."
         }
+
     }
 
     cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
--- a/packages/redboot/current/src/fs/disk.c
+++ b/packages/redboot/current/src/fs/disk.c
@@ -166,15 +166,17 @@ find_partitions(disk_t *d)
 
 
     if (d->kind == DISK_IDE_CDROM) {
+#ifdef CYGSEM_REDBOOT_DISK_ISO9660
 	// no partition table, so fake it
 	p = d->partitions;
 	p->disk = d;
 	p->start_sector = 0;
 	p->nr_sectors = d->nr_sectors;
-#ifdef CYGSEM_REDBOOT_DISK_ISO9660
 	p->funs = &redboot_iso9660fs_funs;
+	return 1;
+#else
+        return 0;
 #endif
-	return 1;
     }
 
     // read Master Boot Record
--- a/packages/redboot/current/src/main.c
+++ b/packages/redboot/current/src/main.c
@@ -90,6 +90,11 @@ RedBoot_cmd("dump",
             "-b <location> [-l <length>]",
             do_dump 
     );
+RedBoot_cmd("x", 
+            "Display (hex dump) a range of memory", 
+            "-b <location> [-l <length>]",
+            do_x 
+    );
 RedBoot_cmd("cksum", 
             "Compute a 32bit checksum [POSIX algorithm] for a range of memory", 
             "-b <location> -l <length>",
@@ -430,6 +435,13 @@ do_dump(int argc, char *argv[])
     _len = len;
 }
 
+// Simple alias for the dump command
+void
+do_x(int argc, char *argv[])
+{
+    do_dump(argc, argv);
+}
+
 void
 do_cksum(int argc, char *argv[])
 {