Changeset 7bdcc45 in mainline for kernel/generic/src/console


Ignore:
Timestamp:
2010-12-16T16:38:49Z (15 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.

Location:
kernel/generic/src/console
Files:
3 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
  • kernel/generic/src/console/console.c

    r8e58f94 r7bdcc45  
    162162        ddi_parea_register(&klog_parea);
    163163       
    164         sysinfo_set_item_val("klog.faddr", NULL, (unative_t) faddr);
     164        sysinfo_set_item_val("klog.faddr", NULL, (sysarg_t) faddr);
    165165        sysinfo_set_item_val("klog.pages", NULL, KLOG_PAGES);
    166166       
     
    193193
    194194/** Tell kernel to get keyboard/console access again */
    195 unative_t sys_debug_enable_console(void)
     195sysarg_t sys_debug_enable_console(void)
    196196{
    197197#ifdef CONFIG_KCONSOLE
     
    204204
    205205/** Tell kernel to relinquish keyboard/console access */
    206 unative_t sys_debug_disable_console(void)
     206sysarg_t sys_debug_disable_console(void)
    207207{
    208208        release_console();
     
    333333 *
    334334 */
    335 unative_t sys_klog(int fd, const void *buf, size_t size)
     335sysarg_t sys_klog(int fd, const void *buf, size_t size)
    336336{
    337337        char *data;
     
    339339       
    340340        if (size > PAGE_SIZE)
    341                 return (unative_t) ELIMIT;
     341                return (sysarg_t) ELIMIT;
    342342       
    343343        if (size > 0) {
    344344                data = (char *) malloc(size + 1, 0);
    345345                if (!data)
    346                         return (unative_t) ENOMEM;
     346                        return (sysarg_t) ENOMEM;
    347347               
    348348                rc = copy_from_uspace(data, buf, size);
    349349                if (rc) {
    350350                        free(data);
    351                         return (unative_t) rc;
     351                        return (sysarg_t) rc;
    352352                }
    353353                data[size] = 0;
  • kernel/generic/src/console/kconsole.c

    r8e58f94 r7bdcc45  
    426426
    427427NO_TRACE static bool parse_int_arg(const char *text, size_t len,
    428     unative_t *result)
     428    sysarg_t *result)
    429429{
    430430        bool isaddr = false;
     
    461461                case EOK:
    462462                        if (isaddr)
    463                                 *result = (unative_t) symaddr;
     463                                *result = (sysarg_t) symaddr;
    464464                        else if (isptr)
    465                                 *result = **((unative_t **) symaddr);
     465                                *result = **((sysarg_t **) symaddr);
    466466                        else
    467                                 *result = *((unative_t *) symaddr);
     467                                *result = *((sysarg_t *) symaddr);
    468468                        break;
    469469                default:
     
    483483                        return false;
    484484                case EOK:
    485                         *result = (unative_t) value;
     485                        *result = (sysarg_t) value;
    486486                        if (isptr)
    487                                 *result = *((unative_t *) *result);
     487                                *result = *((sysarg_t *) *result);
    488488                        break;
    489489                default:
     
    629629                                            cmdline + start + 1,
    630630                                            (end - start) - 1);
    631                                         cmd->argv[i].intval = (unative_t) buf;
     631                                        cmd->argv[i].intval = (sysarg_t) buf;
    632632                                        cmd->argv[i].vartype = ARG_TYPE_STRING;
    633633                                } else {
Note: See TracChangeset for help on using the changeset viewer.