21 Oct, 2015

2 commits

  • E820 is critical to the kernel as it provides system memory map
    information. Pass it to an x86 VxWorks kernel.

    Signed-off-by: Bin Meng
    Acked-by: Simon Glass
    Reviewed-by: Tom Rini
    Tested-by: Jian Luo

    Bin Meng
     
  • So far VxWorks bootline can be contructed from various environment
    variables, but when these variables do not exist we get these from
    corresponding config macros. This is not helpful as it requires
    rebuilding U-Boot, and to make sure these config macros take effect
    we should not have these environment variables. This is a little
    bit complex and confusing.

    Now we change the logic to always contruct the bootline from
    environments (the only single source), by adding two new variables
    "bootdev" and "othbootargs", and adding some comments about network
    related settings mentioning they are optional. The doc about the
    bootline handling is also updated.

    Signed-off-by: Bin Meng
    Reviewed-by: Tom Rini
    Tested-by: Hannes Schmelzer

    Bin Meng
     

16 Dec, 2013

1 commit

  • The next version VxWorks adopts device tree (for PowerPC and ARM) as its hardware
    description mechanism. For PowerPC, the boot interface conforms to
    the ePAPR standard, which is:

    void (*kernel_entry)(ulong fdt_addr,
    ulong r4 /* 0 */,
    ulong r5 /* 0 */,
    ulong r6 /* EPAPR_MAGIC */, ulong r7 /* IMA size */,
    ulong r8 /* 0 */, ulong r9 /* 0 */)

    For ARM, the boot interface is:

    void (*kernel_entry)(void *fdt_addr)

    Signed-off-by: Miao Yan
    [trini: Fix build error when !CONFIG_OF_FDT is set, typo on PowerPC,
    missing extern ft_fixup_num_cores]
    Signed-off-by: Tom Rini

    Miao Yan
     

24 Jul, 2013

1 commit


16 Oct, 2012

1 commit

  • Since the IOP480 (PPC401/3 variant from PLX) is only used on 2
    boards that are not actively maintained, lets remove support
    for it completely. This way the ppc4xx code will get a bit cleaner.

    Signed-off-by: Stefan Roese
    Acked-by: Matthias Fuchs
    Acked-by: Marek Vasut

    Stefan Roese
     

05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

09 Dec, 2008

1 commit


07 Dec, 2008

1 commit