This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
init one device only
- From: Mark Salter <msalter at redhat dot com>
- To: ecos-patches at sources dot redhat dot com
- Date: Sun, 19 Sep 2004 13:55:10 -0400 (EDT)
- Subject: init one device only
This adds option for RedBoot to only init one net device.
And enables that option for the ixp4xx boards.
--Mark
Index: packages/redboot/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v
retrieving revision 1.207
diff -u -p -5 -r1.207 ChangeLog
--- packages/redboot/current/ChangeLog 19 Sep 2004 13:01:54 -0000 1.207
+++ packages/redboot/current/ChangeLog 19 Sep 2004 17:29:49 -0000
@@ -1,5 +1,11 @@
+2004-09-19 Mark Salter <msalter@redhat.com>
+
+ * cdl/redboot.cdl: Add CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
+ * src/net/net_io.c (net_init): Initialize only one network
+ device if CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE defined.
+
2004-09-19 Andrew Lunn <andrew.lunn@ascom.ch>
* src/load.c (do_load): Removed compiler warning when building
reboot without networking.
Index: packages/redboot/current/cdl/redboot.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/cdl/redboot.cdl,v
retrieving revision 1.66
diff -u -p -5 -r1.66 redboot.cdl
--- packages/redboot/current/cdl/redboot.cdl 1 Sep 2004 21:21:30 -0000 1.66
+++ packages/redboot/current/cdl/redboot.cdl 19 Sep 2004 17:29:49 -0000
@@ -481,10 +481,22 @@ cdl_package CYGPKG_REDBOOT {
default_value 0
description "
This is the index of the first network device driver that
RedBoot will try to initialize."
}
+
+ cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ display "Initialize only one net device"
+ flavor bool
+ active_if { CYGHWR_NET_DRIVERS > 1 }
+ default_value 0
+ description "
+ This option tells RedBoot to stop initializing network
+ devices when it finds the first device which is
+ successfully initialized. The default behavior causes
+ all network devices to be initialized."
+ }
}
cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
display "Allow RedBoot to use any I/O channel for its console."
flavor bool
Index: packages/redboot/current/src/net/net_io.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/src/net/net_io.c,v
retrieving revision 1.40
diff -u -p -5 -r1.40 net_io.c
--- packages/redboot/current/src/net/net_io.c 21 Aug 2004 12:43:32 -0000 1.40
+++ packages/redboot/current/src/net/net_io.c 19 Sep 2004 17:29:49 -0000
@@ -6,11 +6,11 @@
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
// Copyright (C) 2002, 2003, 2004 Gary Thomas
//
// eCos 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 or (at your option) any later version.
@@ -722,12 +722,22 @@ net_init(void)
// Initialize network device(s).
#if defined(CYGHWR_NET_DRIVERS) && (CYGHWR_NET_DRIVERS > 1)
default_index = net_devindex(default_devname);
if (default_index < 0)
default_index = 0;
+#ifdef CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
+ if ((t = net_devtab_entry(default_index)) != NULL && t->init(t)) {
+ t->status = CYG_NETDEVTAB_STATUS_AVAIL;
+ primary_net = __local_enet_sc;
+ } else
+#endif
#endif
for (index = 0; (t = net_devtab_entry(index)) != NULL; index++) {
+#ifdef CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
+ if (index == default_index)
+ continue;
+#endif
if (t->init(t)) {
t->status = CYG_NETDEVTAB_STATUS_AVAIL;
if (primary_net == (struct eth_drv_sc *)0) {
primary_net = __local_enet_sc;
}
Index: packages/hal/arm/xscale/grg/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/grg/current/ChangeLog,v
retrieving revision 1.5
diff -u -p -5 -r1.5 ChangeLog
--- packages/hal/arm/xscale/grg/current/ChangeLog 2 Sep 2004 20:17:43 -0000 1.5
+++ packages/hal/arm/xscale/grg/current/ChangeLog 19 Sep 2004 17:29:44 -0000
@@ -1,5 +1,12 @@
+2004-09-19 Mark Salter <msalter@redhat.com>
+
+ * misc/redboot_ROM.ecm: Add CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE.
+ * misc/redboot_RAM.ecm: Ditto.
+ * misc/redboot_ROMLE.ecm: Ditto.
+ * misc/redboot_RAMLE.ecm: Ditto.
+
2004-09-02 Mark Salter <msalter@redhat.com>
* include/hal_platform_extras.h: Removed.
* misc/redboot_ROMLE.ecm: New file.
* misc/redboot_RAMLE.ecm: New file.
Index: packages/hal/arm/xscale/grg/current/misc/redboot_RAM.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/grg/current/misc/redboot_RAM.ecm,v
retrieving revision 1.3
diff -u -p -5 -r1.3 redboot_RAM.ecm
--- packages/hal/arm/xscale/grg/current/misc/redboot_RAM.ecm 2 Sep 2004 20:17:44 -0000 1.3
+++ packages/hal/arm/xscale/grg/current/misc/redboot_RAM.ecm 19 Sep 2004 17:29:44 -0000
@@ -117,9 +117,13 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 1
};
Index: packages/hal/arm/xscale/grg/current/misc/redboot_RAMLE.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/grg/current/misc/redboot_RAMLE.ecm,v
retrieving revision 1.1
diff -u -p -5 -r1.1 redboot_RAMLE.ecm
--- packages/hal/arm/xscale/grg/current/misc/redboot_RAMLE.ecm 2 Sep 2004 20:17:44 -0000 1.1
+++ packages/hal/arm/xscale/grg/current/misc/redboot_RAMLE.ecm 19 Sep 2004 17:29:44 -0000
@@ -117,10 +117,14 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 0
};
cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
Index: packages/hal/arm/xscale/grg/current/misc/redboot_ROM.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/grg/current/misc/redboot_ROM.ecm,v
retrieving revision 1.3
diff -u -p -5 -r1.3 redboot_ROM.ecm
--- packages/hal/arm/xscale/grg/current/misc/redboot_ROM.ecm 2 Sep 2004 20:17:44 -0000 1.3
+++ packages/hal/arm/xscale/grg/current/misc/redboot_ROM.ecm 19 Sep 2004 17:29:44 -0000
@@ -125,9 +125,13 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 1
};
Index: packages/hal/arm/xscale/grg/current/misc/redboot_ROMLE.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/grg/current/misc/redboot_ROMLE.ecm,v
retrieving revision 1.1
diff -u -p -5 -r1.1 redboot_ROMLE.ecm
--- packages/hal/arm/xscale/grg/current/misc/redboot_ROMLE.ecm 2 Sep 2004 20:17:44 -0000 1.1
+++ packages/hal/arm/xscale/grg/current/misc/redboot_ROMLE.ecm 19 Sep 2004 17:29:44 -0000
@@ -129,8 +129,12 @@ cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_S
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 0
};
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
user_value MSBFIRST
}
Index: packages/hal/arm/xscale/ixdp425/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/ChangeLog,v
retrieving revision 1.8
diff -u -p -5 -r1.8 ChangeLog
--- packages/hal/arm/xscale/ixdp425/current/ChangeLog 7 Sep 2004 14:59:15 -0000 1.8
+++ packages/hal/arm/xscale/ixdp425/current/ChangeLog 19 Sep 2004 17:29:44 -0000
@@ -1,5 +1,14 @@
+2004-09-19 Mark Salter <msalter@redhat.com>
+
+ * misc/redboot_ROM.ecm: Add CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE.
+ * misc/redboot_RAM.ecm: Ditto.
+ * misc/redboot_ROMRAM.ecm: Ditto.
+ * misc/redboot_ROMLE.ecm: Ditto.
+ * misc/redboot_RAMLE.ecm: Ditto.
+ * misc/redboot_ROMRAMLE.ecm: Ditto.
+
2004-09-07 Mark Salter <msalter@redhat.com>
* misc/redboot_ROM.ecm (CYGBLD_REDBOOT_MIN_IMAGE_SIZE): Set to 0x80000.
* misc/redboot_RAM.ecm: Ditto.
* misc/redboot_ROMLE.ecm: Ditto.
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAM.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAM.ecm,v
retrieving revision 1.4
diff -u -p -5 -r1.4 redboot_RAM.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAM.ecm 7 Sep 2004 14:59:16 -0000 1.4
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAM.ecm 19 Sep 2004 17:29:44 -0000
@@ -117,9 +117,13 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 1
};
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAMLE.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAMLE.ecm,v
retrieving revision 1.2
diff -u -p -5 -r1.2 redboot_RAMLE.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAMLE.ecm 7 Sep 2004 14:59:16 -0000 1.2
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_RAMLE.ecm 19 Sep 2004 17:29:44 -0000
@@ -117,10 +117,14 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 0
};
cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROM.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROM.ecm,v
retrieving revision 1.4
diff -u -p -5 -r1.4 redboot_ROM.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROM.ecm 7 Sep 2004 14:59:16 -0000 1.4
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROM.ecm 19 Sep 2004 17:29:44 -0000
@@ -125,10 +125,14 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 1
};
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMLE.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMLE.ecm,v
retrieving revision 1.2
diff -u -p -5 -r1.2 redboot_ROMLE.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMLE.ecm 7 Sep 2004 14:59:17 -0000 1.2
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMLE.ecm 19 Sep 2004 17:29:44 -0000
@@ -125,10 +125,14 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 0
};
cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAM.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAM.ecm,v
retrieving revision 1.1
diff -u -p -5 -r1.1 redboot_ROMRAM.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAM.ecm 7 Sep 2004 14:59:17 -0000 1.1
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAM.ecm 19 Sep 2004 17:29:44 -0000
@@ -125,9 +125,13 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 1
};
Index: packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAMLE.ecm
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAMLE.ecm,v
retrieving revision 1.1
diff -u -p -5 -r1.1 redboot_ROMRAMLE.ecm
--- packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAMLE.ecm 7 Sep 2004 14:59:17 -0000 1.1
+++ packages/hal/arm/xscale/ixdp425/current/misc/redboot_ROMRAMLE.ecm 19 Sep 2004 17:29:44 -0000
@@ -125,10 +125,14 @@ cdl_option CYGPKG_HAL_GDB_FILEIO {
cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
user_value 1
}
+cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
+ user_value 1
+};
+
cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
user_value 0
};
cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {