25 Jan, 2014

2 commits

  • When CONFIG_SYS_VSNPRINTF is enabled, it protects print operations
    such as sprintf, snprintf, vsnprintf, etc., from buffer overflows.
    But vsnprintf_internal includes the terminating NULL character in
    the calculation of number of characters written. This affects sprintf
    and snprintf return values. Fix this issue by setting pointer 'str'
    back to the location of the '\0'.

    Signed-off-by: Darwin Rambo
    Reviewed-by: Steve Rae

    Darwin Rambo
     
  • If timer_init() is made a weak stub function, then it allows us to
    remove several empty timer_init functions for those boards that
    already have a timer initialized when u-boot starts. Architectures
    that use the timer framework may also remove the need for timer.c.

    Signed-off-by: Darwin Rambo
    Reviewed-by: Tim Kryger

    Darwin Rambo
     

14 Jan, 2014

1 commit

  • Variable uncompressedSize references the space available, while outSizeFull is
    the actual expected uncompressed size. Using the wrong value causes LzmaDecode
    to return SZ_ERROR_INPUT_EOF. Problem was introduced in commit afca294. While
    at it add additional debug message.

    Signed-off-by: Antonios Vamporakis
    CC: Kees Cook
    CC: Simon Glass
    CC: Daniel Schwierzeck
    CC: Luka Perkov

    Antonios Vamporakis
     

09 Jan, 2014

1 commit

  • Add an implementation of the CRC8 algorithm. This is required by the TPM
    emulation, but is probably useful to U-Boot in general.

    Signed-off-by: Simon Glass

    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass

    Simon Glass
     

13 Dec, 2013

1 commit

  • Commit 8dfafdde88eb ("Introduce common timer functions") created a
    common definition of usec_to_tick() which had a couple problems:

    static unsigned long long usec_to_tick(unsigned long usec)
    {
    uint64_t tick = usec * get_tbclk();

    That likely overflows.

    usec *= get_tbclk();

    That was an attempt to fix it by performing the multiply after the
    promotion of usec to 64-bit, but was applied to the wrong variable,
    which was never used.

    This patch fixes these issues. A user-visible symptom of the problem was
    the e.g. "dhcp zImage" using an ASIX USB Ethernet dongle would print:

    Waiting for Ethernet connection... unable to connect.

    ... with no delay before "unable to connect". There are likely other
    symptoms.

    Signed-off-by: Stephen Warren
    Acked-by: Rob Herring

    Stephen Warren
     

25 Nov, 2013

2 commits


22 Nov, 2013

1 commit


18 Nov, 2013

1 commit


11 Nov, 2013

1 commit

  • Commit 8dfafdde88eb3e71d5569846396ae67a91017232 introduced
    new gcc warnings on MIPS64:

    time.c: In function 'tick_to_time':
    time.c:59:2: warning: comparison of distinct pointer types lacks a cast [enabled by default]
    time.c:59:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
    In file included from time.c:10:0:
    ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *'
    time.c: In function 'usec_to_tick':
    time.c:76:2: warning: comparison of distinct pointer types lacks a cast [enabled by default]
    time.c:76:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
    In file included from time.c:10:0:
    ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *'

    Signed-off-by: Daniel Schwierzeck

    Daniel Schwierzeck
     

09 Nov, 2013

2 commits


05 Nov, 2013

2 commits

  • Many platforms duplicate pretty much the same timer code yet they all have
    a 32-bit freerunning counter register. Create a common implementation that
    minimally requires 2 or 3 defines to add timer support:

    CONFIG_SYS_TIMER_RATE - Clock rate of the timer counter
    CONFIG_SYS_TIMER_COUNTER - Address of 32-bit counter
    CONFIG_SYS_TIMER_COUNTS_DOWN - Define if counter counts down

    All functions are weak or ifdef'ed so they can still be overriden by any
    platform.

    Signed-off-by: Rob Herring

    Rob Herring
     
  • According to the README, CONFIG_SYS_HZ must be 1000 and most platforms
    follow that. In preparation to remove CONFIG_SYS_HZ from all these
    platforms, provide a common definition. The platforms which use a value
    other than 1000 will get build warning now. These configs are:

    include/configs/M5271EVB.h:#define CONFIG_SYS_HZ 1000000
    include/configs/balloon3.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */
    include/configs/idmr.h:#define CONFIG_SYS_HZ (50000000 / 64)
    include/configs/mini2440.h:#define CONFIG_SYS_HZ 1562500
    include/configs/mx1ads.h:#define CONFIG_SYS_HZ 3686400
    include/configs/omap3_zoom2.h:#define CONFIG_SYS_HZ ((V_SCLK) / (2 << CONFIG_SYS_PTV))
    include/configs/omap730p2.h:#define CONFIG_SYS_HZ ((CONFIG_SYS_CLK_FREQ)/(2 << CONFIG_SYS_PTV))
    include/configs/palmld.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */
    include/configs/palmtc.h:#define CONFIG_SYS_HZ 3686400 /* Timer @ 3686400 Hz */
    include/configs/rsk7203.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER)
    include/configs/rsk7264.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER)
    include/configs/rsk7269.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER)
    include/configs/scb9328.h:#define CONFIG_SYS_HZ 3686400 /* incrementer freq: 3.6864 MHz */
    include/configs/versatile.h:#define CONFIG_SYS_HZ (1000000 / 256)
    include/configs/zipitz2.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */

    Signed-off-by: Rob Herring

    Rob Herring
     

01 Nov, 2013

1 commit


21 Oct, 2013

1 commit


15 Oct, 2013

2 commits


20 Sep, 2013

1 commit


04 Sep, 2013

3 commits


10 Aug, 2013

1 commit


24 Jul, 2013

5 commits


23 Jul, 2013

1 commit


17 Jul, 2013

1 commit

  • Extend the tpm library with support for single authorized (AUTH1) commands
    as specified in the TCG Main Specification 1.2. (The internally used helper
    functions are implemented in a way that they could also be used for double
    authorized commands if someone needs it.)

    Provide enums with the return codes from the TCG Main specification.

    For now only a single OIAP session is supported.

    OIAP authorized version of the commands TPM_LoadKey2 and TPM_GetPubKey are
    provided. Both features are available using the 'tpm' command, too.

    Authorized commands are enabled with CONFIG_TPM_AUTH_SESSIONS. (Note that
    this also requires CONFIG_SHA1 to be enabled.)

    Signed-off-by: Reinhard Pfau
    Signed-off-by: Dirk Eibach
    Acked-by: Che-Liang Chiou
    Signed-off-by: Andy Fleming

    Reinhard Pfau
     

12 Jul, 2013

2 commits


03 Jul, 2013

1 commit


26 Jun, 2013

6 commits

  • Add a function to find regions in device tree given a list of nodes to
    include and properties to exclude.

    See the header file for full documentation.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • RSA provides a public key encryption facility which is ideal for image
    signing and verification.

    Images are signed using a private key by mkimage. Then at run-time, the
    images are verified using a private key.

    This implementation uses openssl for the host part (mkimage). To avoid
    bringing large libraries into the U-Boot binary, the RSA public key
    is encoded using a simple numeric representation in the device tree.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a library which supports tracing of execution using built-in gcc
    features and a microsecond timer. This can be used to record a list of
    function which are executed, along with a timestamp for each. Later
    this information can be sent to the host for processing.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Move bootstage's numbering printing code into a generic place so that it can
    be used by tracing also.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This patch adds the driver for keyboard that's controlled by ChromeOS EC.

    Signed-off-by: Randall Spangler
    Signed-off-by: Simon Glass
    Signed-off-by: Vincent Palatin
    Signed-off-by: Hung-ying Tyan
    Acked-by: Simon Glass

    Hung-ying Tyan
     
  • This patch adds the cros_ec driver that implements the protocol for
    communicating with Google's ChromeOS embedded controller.

    Signed-off-by: Bernie Thompson
    Signed-off-by: Bill Richardson
    Signed-off-by: Che-Liang Chiou
    Signed-off-by: Doug Anderson
    Signed-off-by: Gabe Black
    Signed-off-by: Hung-ying Tyan
    Signed-off-by: Louis Yung-Chieh Lo
    Signed-off-by: Randall Spangler
    Signed-off-by: Sean Paul
    Signed-off-by: Simon Glass
    Signed-off-by: Vincent Palatin
    Acked-by: Simon Glass
    Tested-by: Simon Glass

    Hung-ying Tyan
     

24 Jun, 2013

1 commit