summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-12-10 11:08:06 +0000
committerWolfgang Denk <wd@denx.de>2012-03-18 21:42:56 +0100
commit573f14fe4ed5b803207824be9e3147e894b68f8b (patch)
treebc6f50c9210dc98f8eceb90ced6b518864a6317b /net
parent3a608ca01d76e8cb90dcc8dc1a22cde98cdca3ab (diff)
downloadu-boot-imx-573f14fe4ed5b803207824be9e3147e894b68f8b.zip
u-boot-imx-573f14fe4ed5b803207824be9e3147e894b68f8b.tar.gz
u-boot-imx-573f14fe4ed5b803207824be9e3147e894b68f8b.tar.bz2
bootstage: Plumb in bootstage calls for basic operations
This inserts bootstage calls into tftp, usb start and bootm. We could go further, but this is a reasonable start to illustrate the concept. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'net')
-rw-r--r--net/bootp.c4
-rw-r--r--net/net.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/net/bootp.c b/net/bootp.c
index 34124b8..9e32476 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -322,6 +322,7 @@ BootpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,
BootpVendorProcess((uchar *)&bp->bp_vend[4], len);
NetSetTimeout(0, (thand_f *)0);
+ bootstage_mark_name(BOOTSTAGE_ID_BOOTP_STOP, "bootp_stop");
debug("Got good BOOTP\n");
@@ -589,6 +590,7 @@ BootpRequest (void)
Bootp_t *bp;
int ext_len, pktlen, iplen;
+ bootstage_mark_name(BOOTSTAGE_ID_BOOTP_START, "bootp_start");
#if defined(CONFIG_CMD_DHCP)
dhcp_state = INIT;
#endif
@@ -949,6 +951,8 @@ DhcpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,
BootpCopyNetParams(bp); /* Store net params from reply */
dhcp_state = BOUND;
printf ("DHCP client bound to address %pI4\n", &NetOurIP);
+ bootstage_mark_name(BOOTSTAGE_ID_BOOTP_STOP,
+ "bootp_stop");
net_auto_load();
return;
diff --git a/net/net.c b/net/net.c
index 045405b..c5acf8f 100644
--- a/net/net.c
+++ b/net/net.c
@@ -402,6 +402,7 @@ int NetLoop(enum proto_t protocol)
NetArpWaitTxPacketSize = 0;
}
+ bootstage_mark_name(BOOTSTAGE_ID_ETH_START, "eth_start");
eth_halt();
eth_set_current();
if (eth_init(bd) < 0) {