Changeset da52547 in mainline for kernel/generic/include


Ignore:
Timestamp:
2010-07-02T10:16:38Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b5382d4f
Parents:
ad8f03d2
Message:

add early_putchar() which can be used to do early kernel console output for debugging purposes
(the availability of this feature depends on each platform and specific configuration, currently it works only on ia32/amd64 with EGA and no framebuffer)
instrument more kernel functions
mark some functions as no_instrument (context_restore(), overlaps(), main_bsp())

Location:
kernel/generic/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/console/console.h

    rad8f03d2 rda52547  
    5656extern outdev_t *stdout;
    5757
     58extern void early_putchar(wchar_t);
     59
    5860extern indev_t *stdin_wire(void);
    5961extern void stdout_wire(outdev_t *outdev);
  • kernel/generic/include/context.h

    rad8f03d2 rda52547  
    8787 *
    8888 * @param ctx Context structure.
     89 *
    8990 */
    90 static inline void context_restore(context_t *ctx)
     91static inline void __attribute__((no_instrument_function))
     92    context_restore(context_t *ctx)
    9193{
    9294        context_restore_arch(ctx);
  • kernel/generic/include/debug.h

    rad8f03d2 rda52547  
    9898        } while (0)
    9999
    100 extern void __cyg_profile_func_enter(void *, void *);
    101 extern void __cyg_profile_func_exit(void *, void *);
    102 
    103100#else /* CONFIG_LOG */
    104101
     
    107104#endif /* CONFIG_LOG */
    108105
     106#ifdef CONFIG_TRACE
     107
     108extern void __cyg_profile_func_enter(void *, void *);
     109extern void __cyg_profile_func_exit(void *, void *);
     110
     111#endif /* CONFIG_TRACE */
     112
    109113#endif
    110114
  • kernel/generic/include/macros.h

    rad8f03d2 rda52547  
    4747 * @param sz2 Size of the second interval.
    4848 */
    49 static inline int overlaps(uintptr_t s1, size_t sz1, uintptr_t s2, size_t sz2)
     49static inline int __attribute__((no_instrument_function))
     50    overlaps(uintptr_t s1, size_t sz1, uintptr_t s2, size_t sz2)
    5051{
    5152        uintptr_t e1 = s1 + sz1;
Note: See TracChangeset for help on using the changeset viewer.