Changeset 7bdcc45 in mainline for kernel/generic/src/console/cmd.c


Ignore:
Timestamp:
2010-12-16T16:38:49Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7837101
Parents:
8e58f94 (diff), eb221e5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/console/cmd.c

    r8e58f94 r7bdcc45  
    554554        }
    555555       
     556        unsigned int _len = (unsigned int) len;
     557        if ((_len != len) || (((int) _len) < 0)) {
     558                printf("Command length overflow\n");
     559                return 1;
     560        }
     561       
    556562        for (cur = cmd_head.next; cur != &cmd_head; cur = cur->next) {
    557563                cmd_info_t *hlp;
     
    559565               
    560566                spinlock_lock(&hlp->lock);
    561                 printf("%-*s %s\n", len, hlp->name, hlp->description);
     567                printf("%-*s %s\n", _len, hlp->name, hlp->description);
    562568                spinlock_unlock(&hlp->lock);
    563569        }
     
    595601       
    596602        /* This doesn't have to be very accurate */
    597         unative_t sec = uptime->seconds1;
     603        sysarg_t sec = uptime->seconds1;
    598604       
    599605        printf("Up %" PRIun " days, %" PRIun " hours, %" PRIun " minutes, %" PRIun " seconds\n",
     
    650656        uintptr_t symaddr;
    651657        char *symbol;
    652         unative_t (*fnc)(void);
     658        sysarg_t (*fnc)(void);
    653659        fncptr_t fptr;
    654660        int rc;
     
    666672
    667673                ipl = interrupts_disable();
    668                 fnc = (unative_t (*)(void)) arch_construct_function(&fptr,
     674                fnc = (sysarg_t (*)(void)) arch_construct_function(&fptr,
    669675                    (void *) symaddr, (void *) cmd_call0);
    670                 printf("Calling %s() (%p)\n", symbol, symaddr);
     676                printf("Calling %s() (%p)\n", symbol, (void *) symaddr);
    671677                printf("Result: %#" PRIxn "\n", fnc());
    672678                interrupts_restore(ipl);
     
    685691         */
    686692       
    687         size_t i;
     693        unsigned int i;
    688694        for (i = 0; i < config.cpu_count; i++) {
    689695                if (!cpus[i].active)
     
    697703                        irq_spinlock_unlock(&thread->lock, true);
    698704                       
    699                         printf("cpu%" PRIs ": ", i);
     705                        printf("cpu%u: ", i);
    700706                       
    701707                        thread_ready(thread);
     
    703709                        thread_detach(thread);
    704710                } else
    705                         printf("Unable to create thread for cpu%" PRIs "\n", i);
     711                        printf("Unable to create thread for cpu%u\n", i);
    706712        }
    707713       
     
    714720        uintptr_t symaddr;
    715721        char *symbol;
    716         unative_t (*fnc)(unative_t, ...);
    717         unative_t arg1 = argv[1].intval;
     722        sysarg_t (*fnc)(sysarg_t, ...);
     723        sysarg_t arg1 = argv[1].intval;
    718724        fncptr_t fptr;
    719725        int rc;
     
    731737
    732738                ipl = interrupts_disable();
    733                 fnc = (unative_t (*)(unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call1);
    734                 printf("Calling f(%#" PRIxn "): %p: %s\n", arg1, symaddr, symbol);
     739                fnc = (sysarg_t (*)(sysarg_t, ...))
     740                    arch_construct_function(&fptr, (void *) symaddr,
     741                    (void *) cmd_call1);
     742                printf("Calling f(%#" PRIxn "): %p: %s\n", arg1,
     743                    (void *) symaddr, symbol);
    735744                printf("Result: %#" PRIxn "\n", fnc(arg1));
    736745                interrupts_restore(ipl);
     
    747756        uintptr_t symaddr;
    748757        char *symbol;
    749         unative_t (*fnc)(unative_t, unative_t, ...);
    750         unative_t arg1 = argv[1].intval;
    751         unative_t arg2 = argv[2].intval;
     758        sysarg_t (*fnc)(sysarg_t, sysarg_t, ...);
     759        sysarg_t arg1 = argv[1].intval;
     760        sysarg_t arg2 = argv[2].intval;
    752761        fncptr_t fptr;
    753762        int rc;
     
    765774
    766775                ipl = interrupts_disable();
    767                 fnc = (unative_t (*)(unative_t, unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call2);
     776                fnc = (sysarg_t (*)(sysarg_t, sysarg_t, ...))
     777                    arch_construct_function(&fptr, (void *) symaddr,
     778                    (void *) cmd_call2);
    768779                printf("Calling f(%#" PRIxn ", %#" PRIxn "): %p: %s\n",
    769                        arg1, arg2, symaddr, symbol);
     780                       arg1, arg2, (void *) symaddr, symbol);
    770781                printf("Result: %#" PRIxn "\n", fnc(arg1, arg2));
    771782                interrupts_restore(ipl);
     
    781792        uintptr_t symaddr;
    782793        char *symbol;
    783         unative_t (*fnc)(unative_t, unative_t, unative_t, ...);
    784         unative_t arg1 = argv[1].intval;
    785         unative_t arg2 = argv[2].intval;
    786         unative_t arg3 = argv[3].intval;
     794        sysarg_t (*fnc)(sysarg_t, sysarg_t, sysarg_t, ...);
     795        sysarg_t arg1 = argv[1].intval;
     796        sysarg_t arg2 = argv[2].intval;
     797        sysarg_t arg3 = argv[3].intval;
    787798        fncptr_t fptr;
    788799        int rc;
     
    800811
    801812                ipl = interrupts_disable();
    802                 fnc = (unative_t (*)(unative_t, unative_t, unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call3);
    803                 printf("Calling f(%#" PRIxn ",%#" PRIxn ", %#" PRIxn "): %p: %s\n",
    804                        arg1, arg2, arg3, symaddr, symbol);
     813                fnc = (sysarg_t (*)(sysarg_t, sysarg_t, sysarg_t, ...))
     814                    arch_construct_function(&fptr, (void *) symaddr,
     815                    (void *) cmd_call3);
     816                printf("Calling f(%#" PRIxn ",%#" PRIxn ", %#" PRIxn "): %p: %s\n",
     817                       arg1, arg2, arg3, (void *) symaddr, symbol);
    805818                printf("Result: %#" PRIxn "\n", fnc(arg1, arg2, arg3));
    806819                interrupts_restore(ipl);
     
    875888       
    876889        if (rc == ENOENT)
    877                 printf("Symbol %s not found.\n", argv->buffer);
     890                printf("Symbol %s not found.\n", (char *) argv->buffer);
    878891        else if (rc == EINVAL)
    879892                printf("Invalid address.\n");
     
    884897                if (pointer)
    885898                        addr = *(uintptr_t *) addr;
    886                 printf("Writing %#" PRIx64 " -> %p\n", arg1, addr);
     899                printf("Writing %#" PRIx32" -> %p\n", arg1, (void *) addr);
    887900                *(uint32_t *) addr = arg1;
    888901        } else
     
    11721185        }
    11731186       
     1187        unsigned int _len = (unsigned int) len;
     1188        if ((_len != len) || (((int) _len) < 0)) {
     1189                printf("Command length overflow\n");
     1190                return;
     1191        }
     1192       
    11741193        for (test = tests; test->name != NULL; test++)
    1175                 printf("%-*s %s%s\n", len, test->name, test->desc, (test->safe ? "" : " (unsafe)"));
    1176        
    1177         printf("%-*s Run all safe tests\n", len, "*");
     1194                printf("%-*s %s%s\n", _len, test->name, test->desc,
     1195                    (test->safe ? "" : " (unsafe)"));
     1196       
     1197        printf("%-*s Run all safe tests\n", _len, "*");
    11781198}
    11791199
Note: See TracChangeset for help on using the changeset viewer.