Changeset 7f1c620 in mainline for generic/src/console/cmd.c
- Timestamp:
- 2006-07-04T17:17:56Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0ffa3ef5
- Parents:
- 991779c5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/console/cmd.c
r991779c5 r7f1c620 480 480 int cmd_call0(cmd_arg_t *argv) 481 481 { 482 __addresssymaddr;482 uintptr_t symaddr; 483 483 char *symbol; 484 __native(*f)(void);484 unative_t (*f)(void); 485 485 #ifdef ia64 486 486 struct { 487 __nativef;488 __nativegp;487 unative_t f; 488 unative_t gp; 489 489 }fptr; 490 490 #endif … … 493 493 if (!symaddr) 494 494 printf("Symbol %s not found.\n", argv->buffer); 495 else if (symaddr == ( __address) -1) {495 else if (symaddr == (uintptr_t) -1) { 496 496 symtab_print_search(argv->buffer); 497 497 printf("Duplicate symbol, be more specific.\n"); 498 498 } else { 499 499 symbol = get_symtab_entry(symaddr); 500 printf("Calling f(): %.*p: %s\n", sizeof( __address) * 2, symaddr, symbol);500 printf("Calling f(): %.*p: %s\n", sizeof(uintptr_t) * 2, symaddr, symbol); 501 501 #ifdef ia64 502 502 fptr.f = symaddr; 503 fptr.gp = (( __native*)cmd_call2)[1];504 f = ( __native(*)(void)) &fptr;503 fptr.gp = ((unative_t *)cmd_call2)[1]; 504 f = (unative_t (*)(void)) &fptr; 505 505 #else 506 f = ( __native(*)(void)) symaddr;506 f = (unative_t (*)(void)) symaddr; 507 507 #endif 508 508 printf("Result: %#zx\n", f()); … … 515 515 int cmd_call1(cmd_arg_t *argv) 516 516 { 517 __addresssymaddr;517 uintptr_t symaddr; 518 518 char *symbol; 519 __native (*f)(__native,...);520 __nativearg1 = argv[1].intval;519 unative_t (*f)(unative_t,...); 520 unative_t arg1 = argv[1].intval; 521 521 #ifdef ia64 522 522 struct { 523 __nativef;524 __nativegp;523 unative_t f; 524 unative_t gp; 525 525 }fptr; 526 526 #endif … … 529 529 if (!symaddr) 530 530 printf("Symbol %s not found.\n", argv->buffer); 531 else if (symaddr == ( __address) -1) {531 else if (symaddr == (uintptr_t) -1) { 532 532 symtab_print_search(argv->buffer); 533 533 printf("Duplicate symbol, be more specific.\n"); … … 535 535 symbol = get_symtab_entry(symaddr); 536 536 537 printf("Calling f(%#zx): %.*p: %s\n", arg1, sizeof( __address) * 2, symaddr, symbol);537 printf("Calling f(%#zx): %.*p: %s\n", arg1, sizeof(uintptr_t) * 2, symaddr, symbol); 538 538 #ifdef ia64 539 539 fptr.f = symaddr; 540 fptr.gp = (( __native*)cmd_call2)[1];541 f = ( __native (*)(__native,...)) &fptr;540 fptr.gp = ((unative_t *)cmd_call2)[1]; 541 f = (unative_t (*)(unative_t,...)) &fptr; 542 542 #else 543 f = ( __native (*)(__native,...)) symaddr;543 f = (unative_t (*)(unative_t,...)) symaddr; 544 544 #endif 545 545 printf("Result: %#zx\n", f(arg1)); … … 552 552 int cmd_call2(cmd_arg_t *argv) 553 553 { 554 __addresssymaddr;554 uintptr_t symaddr; 555 555 char *symbol; 556 __native (*f)(__native,__native,...);557 __nativearg1 = argv[1].intval;558 __nativearg2 = argv[2].intval;556 unative_t (*f)(unative_t,unative_t,...); 557 unative_t arg1 = argv[1].intval; 558 unative_t arg2 = argv[2].intval; 559 559 #ifdef ia64 560 560 struct { 561 __nativef;562 __nativegp;561 unative_t f; 562 unative_t gp; 563 563 }fptr; 564 564 #endif … … 567 567 if (!symaddr) 568 568 printf("Symbol %s not found.\n", argv->buffer); 569 else if (symaddr == ( __address) -1) {569 else if (symaddr == (uintptr_t) -1) { 570 570 symtab_print_search(argv->buffer); 571 571 printf("Duplicate symbol, be more specific.\n"); … … 573 573 symbol = get_symtab_entry(symaddr); 574 574 printf("Calling f(0x%zx,0x%zx): %.*p: %s\n", 575 arg1, arg2, sizeof( __address) * 2, symaddr, symbol);575 arg1, arg2, sizeof(uintptr_t) * 2, symaddr, symbol); 576 576 #ifdef ia64 577 577 fptr.f = symaddr; 578 fptr.gp = (( __native*)cmd_call2)[1];579 f = ( __native (*)(__native,__native,...)) &fptr;578 fptr.gp = ((unative_t *)cmd_call2)[1]; 579 f = (unative_t (*)(unative_t,unative_t,...)) &fptr; 580 580 #else 581 f = ( __native (*)(__native,__native,...)) symaddr;581 f = (unative_t (*)(unative_t,unative_t,...)) symaddr; 582 582 #endif 583 583 printf("Result: %#zx\n", f(arg1, arg2)); … … 590 590 int cmd_call3(cmd_arg_t *argv) 591 591 { 592 __addresssymaddr;592 uintptr_t symaddr; 593 593 char *symbol; 594 __native (*f)(__native,__native,__native,...);595 __nativearg1 = argv[1].intval;596 __nativearg2 = argv[2].intval;597 __nativearg3 = argv[3].intval;594 unative_t (*f)(unative_t,unative_t,unative_t,...); 595 unative_t arg1 = argv[1].intval; 596 unative_t arg2 = argv[2].intval; 597 unative_t arg3 = argv[3].intval; 598 598 #ifdef ia64 599 599 struct { 600 __nativef;601 __nativegp;600 unative_t f; 601 unative_t gp; 602 602 }fptr; 603 603 #endif … … 606 606 if (!symaddr) 607 607 printf("Symbol %s not found.\n", argv->buffer); 608 else if (symaddr == ( __address) -1) {608 else if (symaddr == (uintptr_t) -1) { 609 609 symtab_print_search(argv->buffer); 610 610 printf("Duplicate symbol, be more specific.\n"); … … 612 612 symbol = get_symtab_entry(symaddr); 613 613 printf("Calling f(0x%zx,0x%zx, 0x%zx): %.*p: %s\n", 614 arg1, arg2, arg3, sizeof( __address) * 2, symaddr, symbol);614 arg1, arg2, arg3, sizeof(uintptr_t) * 2, symaddr, symbol); 615 615 #ifdef ia64 616 616 fptr.f = symaddr; 617 fptr.gp = (( __native*)cmd_call2)[1];618 f = ( __native (*)(__native,__native,__native,...)) &fptr;617 fptr.gp = ((unative_t *)cmd_call2)[1]; 618 f = (unative_t (*)(unative_t,unative_t,unative_t,...)) &fptr; 619 619 #else 620 f = ( __native (*)(__native,__native,__native,...)) symaddr;620 f = (unative_t (*)(unative_t,unative_t,unative_t,...)) symaddr; 621 621 #endif 622 622 printf("Result: %#zx\n", f(arg1, arg2, arg3)); … … 660 660 int cmd_set4(cmd_arg_t *argv) 661 661 { 662 __u32*addr ;663 __u32arg1 = argv[1].intval;662 uint32_t *addr ; 663 uint32_t arg1 = argv[1].intval; 664 664 bool pointer = false; 665 665 666 666 if (((char *)argv->buffer)[0] == '*') { 667 addr = ( __u32*) get_symbol_addr(argv->buffer+1);667 addr = (uint32_t *) get_symbol_addr(argv->buffer+1); 668 668 pointer = true; 669 669 } else if (((char *)argv->buffer)[0] >= '0' && 670 670 ((char *)argv->buffer)[0] <= '9') 671 addr = ( __u32*)atoi((char *)argv->buffer);671 addr = (uint32_t *)atoi((char *)argv->buffer); 672 672 else 673 addr = ( __u32*)get_symbol_addr(argv->buffer);673 addr = (uint32_t *)get_symbol_addr(argv->buffer); 674 674 675 675 if (!addr) 676 676 printf("Symbol %s not found.\n", argv->buffer); 677 else if (addr == ( __u32*) -1) {677 else if (addr == (uint32_t *) -1) { 678 678 symtab_print_search(argv->buffer); 679 679 printf("Duplicate symbol, be more specific.\n"); 680 680 } else { 681 681 if (pointer) 682 addr = ( __u32 *)(*(__native*)addr);683 printf("Writing 0x%x -> %.*p\n", arg1, sizeof( __address) * 2, addr);682 addr = (uint32_t *)(*(unative_t *)addr); 683 printf("Writing 0x%x -> %.*p\n", arg1, sizeof(uintptr_t) * 2, addr); 684 684 *addr = arg1; 685 685
Note:
See TracChangeset
for help on using the changeset viewer.