20 Feb, 2014

1 commit

  • Now we are ready to switch over to real Kbuild.

    This commit disables temporary scripts:
    scripts/{Makefile.build.tmp, Makefile.host.tmp}
    and enables real Kbuild scripts:
    scripts/{Makefile.build,Makefile.host,Makefile.lib}.

    This switch is triggered by the line in scripts/Kbuild.include
    -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
    +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

    We need to adjust some build scripts for U-Boot.
    But smaller amount of modification is preferable.

    Additionally, we need to fix compiler flags which are
    locally added or removed.

    In Kbuild, it is not allowed to change CFLAGS locally.
    Instead, ccflags-y, asflags-y, cppflags-y,
    CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
    are prepared for that purpose.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     

07 Feb, 2014

1 commit

  • In "common/Makefile" "miiphyutil.o" gets built if any of the following
    items enabled:
    * CONFIG_PHYLIB
    * CONFIG_MII
    * CONFIG_CMD_MII

    So it's possible to not define CONFIG_MII or CONFIG_CMD_MII and still
    use functions like "miiphy_get_dev_by_name".

    In its turn "miiphy_get_dev_by_name" traverses "mii_devs" list which is
    not initialized because "miiphy_init" never got called.

    Cc: Rob Herring
    Cc: Simon Glass
    Cc: Wolfgang Denk
    Acked-by: Joe Hershberger
    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

23 Nov, 2013

2 commits

  • NetServerEther was not being cleared in the tftp server code, so the
    destination MAC address would be whatever the last destination MAC
    address was.

    Scenario:
    U-Boot:
    dhcp
    tftpsrv
    Host:
    Send device WRQ
    Device:
    Responds with ACK to dhcp server mac address with
    host ip address

    By clearing NetServerEther, we force a lookup of the host MAC address
    to go with the associated host IP.

    Signed-off-by: Andrew Ruder

    Andrew Ruder
     
  • When the block 0 store to the memory of client and timeout at this
    moment. Because of no ACK packet, the server will send block 0 again,
    if this client reconnect to the server at this time,
    TftpBlockWrapOffset will become larger than it should be.

    Signed-off-by: Rockly
    Patch: 264417

    rockly
     

01 Nov, 2013

1 commit


27 Aug, 2013

1 commit


24 Jul, 2013

1 commit


25 Jun, 2013

3 commits

  • Make the link-local code conform more completely with the RFC.

    This will prevent ARP queries for the target (such as while it is
    rebooting) from causing the device to choose a different link-local
    address, thinking that its address is in use by another machine.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • tftp.c:464:17: warning: cast to restricted __be16
    tftp.c:552:29: warning: cast to restricted __be16
    tftp.c:640:33: warning: cast to restricted __be16
    tftp.c:642:25: warning: cast to restricted __be16

    Signed-off-by: Kim Phillips
    Cc: Joe Hershberger

    Kim Phillips
     
  • This patch tackles the time out problem which leads to break the
    boot process, when loading file over nfs. The patch does two things.

    First of all, we just ignore messages that arrive with a rpc_id smaller
    then the client id. We just interpret this messages as answers to
    formaly timed out messages.

    Second, when a time out occurs we double the time to wait, so that we
    do not stress the server resending the last message.

    Signed-off-by: Matthias Brugger
    Tested-by: Enric Balletbo i Serra

    Matthias Brugger
     

19 Jun, 2013

1 commit

  • If we try to boot from NET device, NetInitLoop in net.c will be invoked.
    If NET device is not installed, eth_get_dev() function will return
    eth_current value, which is NULL.
    When NetInitLoop is called, "eth_get_dev->enetaddr" will access
    restricted memory area and therefore cause hanging.
    This issue is found on Tegra30 Cardhu platform after adding
    CONFIG_CMD_NET and CONFIG_CMD_DHCP in config header file.

    Signed-off-by: Jim Lin
    Tested-by: Stephen Warren

    Jim Lin
     

01 Mar, 2013

1 commit


16 Dec, 2012

2 commits

  • The ip is stored in network order, so we can't test it in host order.

    Signed-off-by: Joe Hershberger
    Reviewed-by: Kim Phillips

    Joe Hershberger
     
  • This prints a tftp speed indication after the download completes. This
    is the 3.6 MiB/s indicator below.

    Tegra2 (SeaBoard) # tftp ...
    Using asx0 device
    TFTP from server 172.22.72.144; our IP address is 172.22.73.81
    Filename '/tftpboot/uImage-user-seaboard-1'.
    Load address: 0x408000
    Loading: #################################################
    3.6 MiB/s
    done

    Signed-off-by: Simon Glass
    Acked-by: Igor Grinberg

    Simon Glass
     

14 Dec, 2012

2 commits


05 Nov, 2012

1 commit

  • bootp.c:44:14: warning: symbol 'dhcp_state' was not declared. Should it be static?
    bootp.c:45:15: warning: symbol 'dhcp_leasetime' was not declared. Should it be static?
    bootp.c:46:10: warning: symbol 'NetDHCPServerIP' was not declared. Should it be static?
    arp.c:30:17: warning: symbol 'NetArpWaitReplyIP' was not declared. Should it be static?
    arp.c:37:16: warning: symbol 'NetArpTxPacket' was not declared. Should it be static?
    arp.c:38:17: warning: symbol 'NetArpPacketBuf' was not declared. Should it be static?
    atheros.c:33:19: warning: symbol 'AR8021_driver' was not declared. Should it be static?
    net.c:183:7: warning: symbol 'PktBuf' was not declared. Should it be static?
    net.c:159:21: warning: symbol 'net_state' was not declared. Should it be static?
    ping.c:73:6: warning: symbol 'ping_start' was not declared. Should it be static?
    ping.c:82:13: warning: symbol 'ping_receive' was not declared. Should it be static?
    tftp.c:53:7: warning: symbol 'TftpRRQTimeoutMSecs' was not declared. Should it be static?
    tftp.c:54:5: warning: symbol 'TftpRRQTimeoutCountMax' was not declared. Should it be static?
    eth.c:125:19: warning: symbol 'eth_current' was not declared. Should it be static?

    Note: in the ping.c fix, commit a36b12f95a29647a06b5459198684fc142482020
    "net: Move PING out of net.c" mistakenly carried the ifdef CMD_PING
    clause from when it was necessary to avoid warnings when it was embedded
    in net.c.

    Signed-off-by: Kim Phillips

    Kim Phillips
     

05 Oct, 2012

1 commit


04 Oct, 2012

1 commit

  • Adjustment of Michael Walle's fix patch

    Commit 8a0eccb1056b313b45ab62e3aac400f339aa71b4 breaks netconsole. src_ip
    must not be converted to host byte order, because nc_ip is already stored
    in network byte order (see string_to_ip(), called by getenv_IPaddr()).

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     

02 Oct, 2012

2 commits

  • This patch adds support for networking in SPL. Some devices are
    capable of loading SPL via network so it makes sense to load the
    main U-Boot binary via network too. This patch tries to use
    existing network code as much as possible. Unfortunately, it depends
    on environment which in turn depends on other code so SPL size
    is increased significantly. No effort was done to decouple network
    code and environment so far.

    Signed-off-by: Ilya Yanok
    Acked-by: Joe Hershberger
    Signed-off-by: Tom Rini

    Ilya Yanok
     
  • Vendor Class Identifier option is common to BOOTP and DHCP and
    can be useful without PXE. So send VCI in both BOOTP and DHCP
    requests if CONFIG_BOOTP_VCI_STRING is defined.

    Signed-off-by: Ilya Yanok
    Signed-off-by: Tom Rini

    Ilya Yanok
     

28 Sep, 2012

2 commits

  • Some DHCP servers (notably dnsmasq) always transmit DHCP Option 28,
    Broadcast Address as specified in RFC 2132. Without this patch u-boot
    displays the warning:
    *** Unhandled DHCP Option in OFFER/ACK: 28

    The patch suppresses the warning and ignores DHCP Option 28. There is
    no environment variable to set the broadcast address into and if for
    some reason u-boot needs the broadcast it can be calculated from
    ipaddr and netmask.

    Signed-off-by: Brian Rzycki

    Brian Rzycki
     
  • If dev->enetaddr was supposed to be set with dev->write_hwaddr() but the MAC
    address was not valid, return an error.

    Signed-off-by: Benoît Thébaudeau
    Cc: Joe Hershberger
    Acked-by: Mike Frysinger

    Benoît Thébaudeau
     

25 Sep, 2012

4 commits

  • Check the incoming packets' source IP address... if ncip isn't set to a
    broadcast address, only listen to the client at ncip.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • Previously u-boot would initialize the network interface for every
    network operation and then shut it down again. This makes sense for
    most operations where the network in not known to be needed soon after
    the operation is complete. In the case of netconsole, it will use the
    network for every interaction with the shell or every printf. This
    means that the network is being reinitialized very often. On many
    devices, this intialization is very slow.

    This patch checks for consecutive netconsole actions and leaves the
    ethernet hardware initialized between them. It will still behave the
    same old way for all other network operations and any time another
    network operation happens between netconsole operations.

    Signed-off-by: Joe Hershberger
    Cc: Stefano Babic
    Acked-by: Stefano Babic

    Joe Hershberger
     
  • NetSetTimeout sets incorrect value to timeDelta when CONFIG_SYS_HZ != 1000.

    Signed-off-by: Tetsuyuki Kobayashi

    Tetsuyuki Kobayashi
     
  • If the requested length is too small to hold the received packet,
    eth_receive() will return -1 and will leave the packet in the receive
    buffers. Instead of returning an error in this case, we return the first
    portion of the received packet and remove it from the receive buffers.

    This fixes FreeBSD's ubldr. Without this patch it will just stop receiving
    packets if the NIC receives more than PKTBUFSRX too large packets.

    Signed-off-by: Michael Walle
    Cc: Joe Hershberger
    Cc: Rafal Jaworowski
    Cc: Piotr Kruszynski

    Michael Walle
     

31 Jul, 2012

1 commit

  • * 'next' of git://git.denx.de/u-boot:
    MPC8xx: Fixup warning in arch/powerpc/cpu/mpc8xx/cpu.c
    doc: cleanup - move board READMEs into respective board directories
    net: sh_eth: add support for SH7757's GETHER
    net: sh_eth: modify the definitions of regsiter
    net: sh_eth: add SH_ETH_TYPE_ condition
    net: sh_eth: clean up for the SH7757's code
    net: fec_mxc: Fix MDC for xMII
    net: fec_mxc: Fix setting of RCR for xMII
    net: nfs: make NFS_TIMEOUT configurable
    net: Inline the new eth_setenv_enetaddr_by_index function
    net: allow setting env enetaddr from net device setting
    net/designware: Consecutive writes to the same register to be avoided
    CACHE: net: asix: Fix asix driver to work with data cache on
    net: phy: micrel: make ksz9021 phy accessible
    net: abort network initialization if the PHY driver fails
    phylib: phy_startup() should return an error code on failure
    net: tftp: fix type of block arg to store_block

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

25 Jul, 2012

1 commit

  • NetConsole may call NetSendUDPPacket before NetLoop is called. This
    will cause the source MAC address (NetOurEther) to be wrong. Instead
    of only changing it in NetLoop, move it to NetLoopInit so that it is
    also updated when net_init() is called (especially by nc_start()).

    Signed-off-by: Joe Hershberger
    Reported-by: Michael Walle
    Acked-by: Michael Walle

    Joe Hershberger
     

20 Jul, 2012

2 commits


13 Jul, 2012

1 commit


12 Jul, 2012

4 commits

  • * 'next' of git://git.denx.de/u-boot-net:
    net: Inline the new eth_setenv_enetaddr_by_index function
    net: allow setting env enetaddr from net device setting
    net/designware: Consecutive writes to the same register to be avoided
    CACHE: net: asix: Fix asix driver to work with data cache on
    net: phy: micrel: make ksz9021 phy accessible
    net: abort network initialization if the PHY driver fails
    phylib: phy_startup() should return an error code on failure
    net: tftp: fix type of block arg to store_block

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • This function is currently only used in one case. Inline for now.

    Signed-off-by: Joe Hershberger

    Joe Hershberger
     
  • If the net driver has setup a valid ethernet address and an ethernet
    address is not set in the environment already, then set the environment
    variables from the net driver setting.

    This enables pxe booting on boards which don't set ethaddr env variable.

    Signed-off-by: Rob Herring

    Rob Herring
     
  • The block argument for store_block can be -1 when the tftp sequence
    number rolls over (i.e TftpBlock == 0), so the first argument to
    store_block has to be of type 'int' instead of 'unsigned'.

    In our environment (gcc 4.4.5 mips toolchain), this causes incorrect
    'offset' to be generated for storing the block, and the tftp block
    with number 0 will be written elsewhere, resulting in a bad block in
    the downloaded file and a memory corruption.

    Signed-off-by: Jayachandran Chandrasekharan Nair

    Jayachandran Chandrasekharan Nair
     

10 Jul, 2012

2 commits


09 Jul, 2012

1 commit

  • commit "net: use common rand()/srand() functions" introduced the following
    build warning on the current u-boot-arm tree:

    $ ./MAKEALL MPC8313ERDB_66
    Configuring for MPC8313ERDB_66 - Board: MPC8313ERDB, Options: SYS_66MHZ
    text data bss dec hex filename
    271988 13976 41768 327732 50034 ./u-boot
    In file included from bootp.c:15:0:
    net_rand.h: In function 'srand_mac':
    net_rand.h:40:2: warning: implicit declaration of function 'srand' [-Wimplicit-function-declaration]

    adding this dependency fixes it.

    Cc: Michael Walle
    Cc: Joe Hershberger
    Signed-off-by: Kim Phillips
    Acked-by: Michael Walle

    Kim Phillips
     

07 Jul, 2012

1 commit