Changeset 06e1e95 in mainline for kernel/generic/src
- Timestamp:
- 2006-09-14T17:09:21Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1d1f5d3
- Parents:
- e5ecc02
- Location:
- kernel/generic/src
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/chardev.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericconsole 30 30 * @{ 31 31 */ … … 75 75 } 76 76 77 77 /** @} 78 78 */ 79 -
kernel/generic/src/console/cmd.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericconsole 30 30 * @{ 31 31 */ … … 807 807 } 808 808 809 /** @} 810 */ 811 809 /** @} 810 */ -
kernel/generic/src/console/console.c
re5ecc02 r06e1e95 28 28 */ 29 29 30 30 /** @addtogroup genericconsole 31 31 * @{ 32 32 */ … … 166 166 } 167 167 168 168 /** @} 169 169 */ 170 -
kernel/generic/src/console/kconsole.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericconsole 30 30 * @{ 31 31 */ … … 627 627 } 628 628 629 /** @} 630 */ 631 629 /** @} 630 */ -
kernel/generic/src/console/klog.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericklog 30 30 * @{ 31 31 */ … … 106 106 } 107 107 108 108 /** @} 109 109 */ 110 -
kernel/generic/src/ddi/ddi.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericddi 30 30 * @{ 31 31 */ … … 206 206 } 207 207 208 /** @} 209 */ 210 208 /** @} 209 */ -
kernel/generic/src/debug/symtab.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup genericdebug 30 30 * @{ 31 31 */ … … 198 198 } 199 199 200 /** @} 201 */ 202 200 /** @} 201 */ -
kernel/generic/src/ipc/ipcrsc.c
re5ecc02 r06e1e95 97 97 * to the calling task. All new calls through this phone 98 98 * get a EHUNGUP error code, the task is expected to 99 * send an sys_ipc_hangup after cleaning up it 's internal structures.99 * send an sys_ipc_hangup after cleaning up its internal structures. 100 100 * 101 101 * Call forwarding -
kernel/generic/src/printf/printf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 49 49 } 50 50 51 52 /** @} 51 /** @} 53 52 */ 54 -
kernel/generic/src/printf/printf_core.c
re5ecc02 r06e1e95 28 28 */ 29 29 30 30 /** @addtogroup generic 31 31 * @{ 32 32 */ … … 497 497 ++i; 498 498 switch (c = fmt[i]) { 499 500 501 502 503 504 499 case '#': flags |= __PRINTF_FLAG_PREFIX; break; 500 case '-': flags |= __PRINTF_FLAG_LEFTALIGNED; break; 501 case '+': flags |= __PRINTF_FLAG_SHOWPLUS; break; 502 case ' ': flags |= __PRINTF_FLAG_SPACESIGN; break; 503 case '0': flags |= __PRINTF_FLAG_ZEROPADDED; break; 504 default: end = 1; 505 505 }; 506 506 … … 546 546 547 547 switch (fmt[i++]) { 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 548 /** TODO: unimplemented qualifiers: 549 * t ptrdiff_t - ISO C 99 550 */ 551 case 'h': /* char or short */ 552 qualifier = PrintfQualifierShort; 553 if (fmt[i] == 'h') { 554 i++; 555 qualifier = PrintfQualifierByte; 556 } 557 break; 558 case 'l': /* long or long long*/ 559 qualifier = PrintfQualifierLong; 560 if (fmt[i] == 'l') { 561 i++; 562 qualifier = PrintfQualifierLongLong; 563 } 564 break; 565 case 'z': /* unative_t */ 566 qualifier = PrintfQualifierNative; 567 break; 568 default: 569 qualifier = PrintfQualifierInt; /* default type */ 570 --i; 571 571 } 572 572 … … 575 575 switch (c = fmt[i]) { 576 576 577 /* 578 * String and character conversions. 579 */ 580 case 's': 581 if ((retval = print_string(va_arg(ap, char*), width, precision, flags, ps)) < 0) { 582 counter = -counter; 583 goto out; 584 }; 577 /* 578 * String and character conversions. 579 */ 580 case 's': 581 if ((retval = print_string(va_arg(ap, char*), width, precision, flags, ps)) < 0) { 582 counter = -counter; 583 goto out; 584 }; 585 586 counter += retval; 587 j = i + 1; 588 goto next_char; 589 case 'c': 590 c = va_arg(ap, unsigned int); 591 if ((retval = print_char(c, width, flags, ps)) < 0) { 592 counter = -counter; 593 goto out; 594 }; 585 595 586 counter += retval; 587 j = i + 1; 588 goto next_char; 589 case 'c': 590 c = va_arg(ap, unsigned int); 591 if ((retval = print_char(c, width, flags, ps)) < 0) { 592 counter = -counter; 593 goto out; 594 }; 595 596 counter += retval; 597 j = i + 1; 598 goto next_char; 599 600 /* 601 * Integer values 602 */ 603 case 'P': /* pointer */ 604 flags |= __PRINTF_FLAG_BIGCHARS; 605 case 'p': 606 flags |= __PRINTF_FLAG_PREFIX; 607 base = 16; 608 qualifier = PrintfQualifierPointer; 609 break; 610 case 'b': 611 base = 2; 612 break; 613 case 'o': 614 base = 8; 615 break; 616 case 'd': 617 case 'i': 618 flags |= __PRINTF_FLAG_SIGNED; 619 case 'u': 620 break; 621 case 'X': 622 flags |= __PRINTF_FLAG_BIGCHARS; 623 case 'x': 624 base = 16; 625 break; 626 /* percentile itself */ 627 case '%': 628 j = i; 629 goto next_char; 630 /* 631 * Bad formatting. 632 */ 633 default: 634 /* Unknown format 635 * now, the j is index of '%' so we will 636 * print whole bad format sequence 637 */ 638 goto next_char; 596 counter += retval; 597 j = i + 1; 598 goto next_char; 599 600 /* 601 * Integer values 602 */ 603 case 'P': /* pointer */ 604 flags |= __PRINTF_FLAG_BIGCHARS; 605 case 'p': 606 flags |= __PRINTF_FLAG_PREFIX; 607 base = 16; 608 qualifier = PrintfQualifierPointer; 609 break; 610 case 'b': 611 base = 2; 612 break; 613 case 'o': 614 base = 8; 615 break; 616 case 'd': 617 case 'i': 618 flags |= __PRINTF_FLAG_SIGNED; 619 case 'u': 620 break; 621 case 'X': 622 flags |= __PRINTF_FLAG_BIGCHARS; 623 case 'x': 624 base = 16; 625 break; 626 /* percentile itself */ 627 case '%': 628 j = i; 629 goto next_char; 630 /* 631 * Bad formatting. 632 */ 633 default: 634 /* Unknown format 635 * now, j is index of '%' so we will 636 * print whole bad format sequence 637 */ 638 goto next_char; 639 639 } 640 640 … … 643 643 /* print number */ 644 644 switch (qualifier) { 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 645 case PrintfQualifierByte: 646 size = sizeof(unsigned char); 647 number = (uint64_t)va_arg(ap, unsigned int); 648 break; 649 case PrintfQualifierShort: 650 size = sizeof(unsigned short); 651 number = (uint64_t)va_arg(ap, unsigned int); 652 break; 653 case PrintfQualifierInt: 654 size = sizeof(unsigned int); 655 number = (uint64_t)va_arg(ap, unsigned int); 656 break; 657 case PrintfQualifierLong: 658 size = sizeof(unsigned long); 659 number = (uint64_t)va_arg(ap, unsigned long); 660 break; 661 case PrintfQualifierLongLong: 662 size = sizeof(unsigned long long); 663 number = (uint64_t)va_arg(ap, unsigned long long); 664 break; 665 case PrintfQualifierPointer: 666 size = sizeof(void *); 667 number = (uint64_t)(unsigned long)va_arg(ap, void *); 668 break; 669 case PrintfQualifierNative: 670 size = sizeof(unative_t); 671 number = (uint64_t)va_arg(ap, unative_t); 672 break; 673 default: /* Unknown qualifier */ 674 counter = -counter; 675 goto out; 676 676 } 677 677 … … 719 719 } 720 720 721 722 /** @} 723 */ 724 721 /** @} 722 */ -
kernel/generic/src/printf/snprintf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 49 49 } 50 50 51 51 /** @} 52 52 */ 53 53 -
kernel/generic/src/printf/sprintf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 48 48 } 49 49 50 50 /** @} 51 51 */ 52 -
kernel/generic/src/printf/vprintf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 54 54 } 55 55 56 57 58 /** @} 56 /** @} 59 57 */ 60 -
kernel/generic/src/printf/vsnprintf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 101 101 } 102 102 103 103 /** @} 104 104 */ 105 -
kernel/generic/src/printf/vsprintf.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 40 40 } 41 41 42 43 /** @} 42 /** @} 44 43 */ 45 -
kernel/generic/src/proc/scheduler.c
re5ecc02 r06e1e95 375 375 376 376 switch (THREAD->state) { 377 377 case Running: 378 378 spinlock_unlock(&THREAD->lock); 379 379 thread_ready(THREAD); 380 380 break; 381 381 382 382 case Exiting: 383 383 repeat: 384 384 if (THREAD->detached) { … … 406 406 break; 407 407 408 408 case Sleeping: 409 409 /* 410 410 * Prefer the thread after it's woken up. … … 431 431 break; 432 432 433 433 default: 434 434 /* 435 435 * Entering state is unexpected. -
kernel/generic/src/security/cap.c
re5ecc02 r06e1e95 27 27 */ 28 28 29 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 178 178 } 179 179 180 180 /** @} 181 181 */ 182 182 -
kernel/generic/src/synch/rwlock.c
re5ecc02 r06e1e95 207 207 rc = _mutex_lock_timeout(&rwl->exclusive, usec, flags); 208 208 switch (rc) { 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 209 case ESYNCH_WOULD_BLOCK: 210 /* 211 * release_spinlock() wasn't called 212 */ 213 thread_register_call_me(NULL, NULL); 214 spinlock_unlock(&rwl->lock); 215 case ESYNCH_TIMEOUT: 216 case ESYNCH_INTERRUPTED: 217 /* 218 * The sleep timed out. 219 * We just restore interrupt priority level. 220 */ 221 case ESYNCH_OK_BLOCKED: 222 /* 223 * We were woken with rwl->readers_in already incremented. 224 * Note that this arrangement avoids race condition between 225 * two concurrent readers. (Race is avoided if 'exclusive' is 226 * locked at the same time as 'readers_in' is incremented. 227 * Same time means both events happen atomically when 228 * rwl->lock is held.) 229 */ 230 interrupts_restore(ipl); 231 break; 232 case ESYNCH_OK_ATOMIC: 233 panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC\n"); 234 break; 235 default: 236 panic("invalid ESYNCH\n"); 237 break; 238 238 } 239 239 return rc; -
kernel/generic/src/syscall/copy.c
re5ecc02 r06e1e95 106 106 107 107 ASSERT(THREAD); 108 ASSERT(!THREAD->in_copy_ from_uspace);108 ASSERT(!THREAD->in_copy_to_uspace); 109 109 110 110 if (!KERNEL_ADDRESS_SPACE_SHADOWED) { … … 119 119 120 120 ipl = interrupts_disable(); 121 THREAD->in_copy_ from_uspace = true;121 THREAD->in_copy_to_uspace = true; 122 122 123 123 rc = memcpy_to_uspace(uspace_dst, src, size); 124 124 125 THREAD->in_copy_ from_uspace = false;125 THREAD->in_copy_to_uspace = false; 126 126 127 127 interrupts_restore(ipl);
Note:
See TracChangeset
for help on using the changeset viewer.