Changeset cefb126 in mainline for kernel/generic/include
- Timestamp:
- 2010-07-02T14:19:30Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 89c57b6
- Parents:
- fe7abd0 (diff), e3ee9b9 (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. - Location:
- kernel/generic/include
- Files:
-
- 1 deleted
- 16 edited
- 2 moved
-
atomic.h (modified) (1 diff)
-
config.h (modified) (1 diff)
-
console/console.h (modified) (1 diff)
-
context.h (modified) (1 diff)
-
cpu.h (modified) (1 diff)
-
debug.h (modified) (4 diffs)
-
interrupt.h (modified) (1 diff)
-
macros.h (modified) (1 diff)
-
mm/tlb.h (modified) (2 diffs)
-
panic.h (modified) (2 diffs)
-
proc/task.h (modified) (1 diff)
-
proc/thread.h (modified) (3 diffs)
-
smp/ipi.h (modified) (1 diff)
-
sort.h (modified) (1 diff)
-
stdint.h (moved) (moved from uspace/lib/c/arch/mips32/include/limits.h ) (1 diff)
-
synch/rwlock.h (deleted)
-
sysinfo/abi.h (modified) (1 diff)
-
typedefs.h (modified) (1 diff)
-
verify.h (moved) (moved from uspace/lib/c/arch/abs32le/include/limits.h ) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/atomic.h
rfe7abd0 rcefb126 38 38 #include <typedefs.h> 39 39 #include <arch/atomic.h> 40 #include <verify.h> 40 41 41 static inline void atomic_set(atomic_t *val, atomic_count_t i) 42 ATOMIC static inline void atomic_set(atomic_t *val, atomic_count_t i) 43 WRITES(&val->count) 44 REQUIRES_EXTENT_MUTABLE(val) 42 45 { 43 46 val->count = i; 44 47 } 45 48 46 static inline atomic_count_t atomic_get(atomic_t *val) 49 ATOMIC static inline atomic_count_t atomic_get(atomic_t *val) 50 REQUIRES_EXTENT_MUTABLE(val) 47 51 { 48 52 return val->count; -
kernel/generic/include/config.h
rfe7abd0 rcefb126 70 70 71 71 uintptr_t base; 72 size_t kernel_size; /**< Size of memory in bytes taken by kernel and stack */72 size_t kernel_size; /**< Size of memory in bytes taken by kernel and stack */ 73 73 74 uintptr_t stack_base; /**< Base adddress of initial stack */75 size_t stack_size; /**< Size of initial stack */74 uintptr_t stack_base; /**< Base adddress of initial stack */ 75 size_t stack_size; /**< Size of initial stack */ 76 76 } config_t; 77 77 -
kernel/generic/include/console/console.h
rfe7abd0 rcefb126 56 56 extern outdev_t *stdout; 57 57 58 extern void early_putchar(wchar_t); 59 58 60 extern indev_t *stdin_wire(void); 59 61 extern void stdout_wire(outdev_t *outdev); -
kernel/generic/include/context.h
rfe7abd0 rcefb126 87 87 * 88 88 * @param ctx Context structure. 89 * 89 90 */ 90 static inline void context_restore(context_t *ctx) 91 static inline void __attribute__((no_instrument_function)) 92 context_restore(context_t *ctx) 91 93 { 92 94 context_restore_arch(ctx); -
kernel/generic/include/cpu.h
rfe7abd0 rcefb126 72 72 size_t missed_clock_ticks; 73 73 74 /** 75 * Processor cycle accounting. 76 */ 74 77 bool idle; 75 uint64_t idle_ticks; 76 uint64_t busy_ticks; 78 uint64_t last_cycle; 79 uint64_t idle_cycles; 80 uint64_t busy_cycles; 77 81 78 82 /** -
kernel/generic/include/debug.h
rfe7abd0 rcefb126 55 55 do { \ 56 56 if (!(expr)) \ 57 panic ("Assertion failed (%s)", #expr); \57 panic_assert("%s", #expr); \ 58 58 } while (0) 59 59 … … 72 72 do { \ 73 73 if (!(expr)) \ 74 panic ("Assertion failed (%s, %s)", #expr, msg); \74 panic_assert("%s, %s", #expr, msg); \ 75 75 } while (0) 76 76 … … 93 93 #define LOG(format, ...) \ 94 94 do { \ 95 printf("%s->%s() at %s:%u: " format "\n", symtab_fmt_name_lookup(CALLER), \ 96 __func__, __FILE__, __LINE__, ##__VA_ARGS__); \ 97 } while (0) 98 99 /** Extensive logging execute macro 100 * 101 * If CONFIG_LOG is set, the LOG_EXEC() macro 102 * will print an information about calling a given 103 * function and call it. 104 * 105 */ 106 #define LOG_EXEC(fnc) \ 107 do { \ 108 printf("%s->%s() at %s:%u: " #fnc "\n", symtab_fmt_name_lookup(CALLER), \ 109 __func__, __FILE__, __LINE__); \ 110 fnc; \ 95 printf("%s() from %s at %s:%u: " format "\n", __func__, \ 96 symtab_fmt_name_lookup(CALLER), __FILE__, __LINE__, \ 97 ##__VA_ARGS__); \ 111 98 } while (0) 112 99 … … 114 101 115 102 #define LOG(format, ...) 116 #define LOG_EXEC(fnc) fnc117 103 118 #endif /* CONFOG_LOG */ 104 #endif /* CONFIG_LOG */ 105 106 #ifdef CONFIG_TRACE 107 108 extern void __cyg_profile_func_enter(void *, void *); 109 extern void __cyg_profile_func_exit(void *, void *); 110 111 #endif /* CONFIG_TRACE */ 119 112 120 113 #endif -
kernel/generic/include/interrupt.h
rfe7abd0 rcefb126 64 64 extern void irq_initialize_arch(irq_t *); 65 65 66 extern void istate_decode(istate_t *); 67 66 68 #endif 67 69 -
kernel/generic/include/macros.h
rfe7abd0 rcefb126 47 47 * @param sz2 Size of the second interval. 48 48 */ 49 static inline int overlaps(uintptr_t s1, size_t sz1, uintptr_t s2, size_t sz2) 49 static inline int __attribute__((no_instrument_function)) 50 overlaps(uintptr_t s1, size_t sz1, uintptr_t s2, size_t sz2) 50 51 { 51 52 uintptr_t e1 = s1 + sz1; -
kernel/generic/include/mm/tlb.h
rfe7abd0 rcefb126 68 68 69 69 #ifdef CONFIG_SMP 70 extern void tlb_shootdown_start(tlb_invalidate_type_t type, asid_t asid,71 uintptr_t page, size_t count);72 extern void tlb_shootdown_finalize( void);70 extern ipl_t tlb_shootdown_start(tlb_invalidate_type_t, asid_t, uintptr_t, 71 size_t); 72 extern void tlb_shootdown_finalize(ipl_t); 73 73 extern void tlb_shootdown_ipi_recv(void); 74 74 #else 75 #define tlb_shootdown_start(w, x, y, z) 76 #define tlb_shootdown_finalize( )75 #define tlb_shootdown_start(w, x, y, z) (0) 76 #define tlb_shootdown_finalize(i) ((i) = (i)); 77 77 #define tlb_shootdown_ipi_recv() 78 78 #endif /* CONFIG_SMP */ … … 84 84 85 85 extern void tlb_invalidate_all(void); 86 extern void tlb_invalidate_asid(asid_t asid);87 extern void tlb_invalidate_pages(asid_t asid, uintptr_t page, size_t cnt);86 extern void tlb_invalidate_asid(asid_t); 87 extern void tlb_invalidate_pages(asid_t, uintptr_t, size_t); 88 88 #endif 89 89 -
kernel/generic/include/panic.h
rfe7abd0 rcefb126 1 1 /* 2 * Copyright (c) 20 01-2004Jakub Jermar2 * Copyright (c) 2010 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 37 37 38 38 #include <typedefs.h> 39 #include <stacktrace.h>40 #include <print.h>41 39 42 #ifdef CONFIG_DEBUG 40 #define panic(fmt, ...) \ 41 panic_common(PANIC_OTHER, NULL, 0, 0, fmt, ##__VA_ARGS__) 43 42 44 #define panic(format, ...) \ 45 do { \ 46 silent = false; \ 47 printf("Kernel panic in %s() at %s:%u\n", \ 48 __func__, __FILE__, __LINE__); \ 49 stack_trace(); \ 50 panic_printf("Panic message: " format "\n", \ 51 ##__VA_ARGS__);\ 52 } while (0) 43 #define panic_assert(fmt, ...) \ 44 panic_common(PANIC_ASSERT, NULL, 0, 0, fmt, ##__VA_ARGS__) 53 45 54 #else /* CONFIG_DEBUG */ 46 #define panic_badtrap(istate, n, fmt, ...) \ 47 panic_common(PANIC_BADTRAP, istate, 0, n, fmt, ##__VA_ARGS__) 55 48 56 #define panic(format, ...) \ 57 do { \ 58 silent = false; \ 59 panic_printf("Kernel panic: " format "\n", ##__VA_ARGS__); \ 60 stack_trace(); \ 61 } while (0) 49 #define panic_memtrap(istate, access, addr, fmt, ...) \ 50 panic_common(PANIC_MEMTRAP, istate, access, addr, fmt, ##__VA_ARGS__) 62 51 63 #endif /* CONFIG_DEBUG */ 52 typedef enum { 53 PANIC_OTHER, 54 PANIC_ASSERT, 55 PANIC_BADTRAP, 56 PANIC_MEMTRAP 57 } panic_category_t; 58 59 struct istate; 64 60 65 61 extern bool silent; 66 62 67 extern void panic_printf(const char *fmt, ...) __attribute__((noreturn)); 63 extern void panic_common(panic_category_t, struct istate *, int, 64 uintptr_t, const char *, ...) __attribute__ ((noreturn)); 68 65 69 66 #endif -
kernel/generic/include/proc/task.h
rfe7abd0 rcefb126 40 40 #include <synch/spinlock.h> 41 41 #include <synch/mutex.h> 42 #include <synch/rwlock.h>43 42 #include <synch/futex.h> 44 43 #include <adt/avl.h> -
kernel/generic/include/proc/thread.h
rfe7abd0 rcefb126 40 40 #include <time/timeout.h> 41 41 #include <cpu.h> 42 #include <synch/rwlock.h>43 42 #include <synch/spinlock.h> 44 43 #include <adt/avl.h> … … 155 154 int fpu_context_engaged; 156 155 157 rwlock_type_t rwlock_holder_type;158 159 /** Callback fired in scheduler before the thread is put asleep. */160 void (* call_me)(void *);161 /** Argument passed to call_me(). */162 void *call_me_with;163 164 156 /** Thread's state. */ 165 157 state_t state; … … 239 231 extern void thread_detach(thread_t *); 240 232 241 extern void thread_register_call_me(void (*)(void *), void *);242 233 extern void thread_print_list(bool); 243 234 extern void thread_destroy(thread_t *, bool); -
kernel/generic/include/smp/ipi.h
rfe7abd0 rcefb126 43 43 #else 44 44 45 #define ipi_broadcast(ipi)45 #define ipi_broadcast(ipi) 46 46 47 47 #endif /* CONFIG_SMP */ -
kernel/generic/include/sort.h
rfe7abd0 rcefb126 38 38 #include <typedefs.h> 39 39 40 /* 41 * sorting routines 42 */ 43 extern void bubblesort(void * data, size_t n, size_t e_size, int (* cmp) (void * a, void * b)); 44 extern void qsort(void * data, size_t n, size_t e_size, int (* cmp) (void * a, void * b)); 40 typedef int (* sort_cmp_t)(void *, void *, void *); 45 41 46 /* 47 * default sorting comparators 48 */ 49 extern int int_cmp(void * a, void * b); 50 extern int uint32_t_cmp(void * a, void * b); 51 extern int uint16_t_cmp(void * a, void * b); 52 extern int uint8_t_cmp(void * a, void * b); 42 extern bool gsort(void *, size_t, size_t, sort_cmp_t, void *); 43 extern bool qsort(void *, size_t, size_t, sort_cmp_t, void *); 53 44 54 45 #endif -
kernel/generic/include/stdint.h
rfe7abd0 rcefb126 27 27 */ 28 28 29 /** @addtogroup libcmips3229 /** @addtogroup generic 30 30 * @{ 31 31 */ 32 32 /** @file 33 * @ingroup libcmips32eb34 33 */ 35 34 36 #ifndef LIBC_mips32__LIMITS_H_37 #define LIBC_mips32__LIMITS_H_35 #ifndef KERN_STDINT_H_ 36 #define KERN_STDINT_H_ 38 37 39 #define LONG_MIN MIN_INT32 40 #define LONG_MAX MAX_INT32 41 #define ULONG_MIN MIN_UINT32 42 #define ULONG_MAX MAX_UINT32 38 #define INT8_MIN (0x80) 39 #define INT8_MAX (0x7F) 43 40 44 #define SIZE_MIN MIN_UINT32 45 #define SIZE_MAX MAX_UINT32 46 #define SSIZE_MIN MIN_INT32 47 #define SSIZE_MAX MAX_INT32 41 #define UINT8_MIN (0u) 42 #define UINT8_MAX (0xFFu) 43 44 #define INT16_MIN (0x8000) 45 #define INT16_MAX (0x7FFF) 46 47 #define UINT16_MIN (0u) 48 #define UINT16_MAX (0xFFFFu) 49 50 #define INT32_MIN (0x80000000l) 51 #define INT32_MAX (0x7FFFFFFFl) 52 53 #define UINT32_MIN (0ul) 54 #define UINT32_MAX (0xFFFFFFFFul) 55 56 #define INT64_MIN (0x8000000000000000ll) 57 #define INT64_MAX (0x7FFFFFFFFFFFFFFFll) 58 59 #define UINT64_MIN (0ull) 60 #define UINT64_MAX (0xFFFFFFFFFFFFFFFFull) 48 61 49 62 #endif -
kernel/generic/include/sysinfo/abi.h
rfe7abd0 rcefb126 69 69 bool active; /**< CPU is activate */ 70 70 uint16_t frequency_mhz; /**< Frequency in MHz */ 71 uint64_t idle_ ticks; /**< Number of idle kernel quanta*/72 uint64_t busy_ ticks; /**< Number of busy kernel quanta*/71 uint64_t idle_cycles; /**< Number of idle cycles */ 72 uint64_t busy_cycles; /**< Number of busy cycles */ 73 73 } stats_cpu_t; 74 74 -
kernel/generic/include/typedefs.h
rfe7abd0 rcefb126 36 36 #define KERN_TYPEDEFS_H_ 37 37 38 #include <stdint.h> 38 39 #include <arch/common.h> 39 40 #include <arch/types.h> -
kernel/generic/include/verify.h
rfe7abd0 rcefb126 27 27 */ 28 28 29 /** @addtogroup libcabs32le29 /** @addtogroup genericverify 30 30 * @{ 31 31 */ … … 33 33 */ 34 34 35 #ifndef LIBC_abs32le__LIMITS_H_36 #define LIBC_abs32le__LIMITS_H_35 #ifndef KERN_VERIFY_H_ 36 #define KERN_VERIFY_H_ 37 37 38 #define LONG_MIN MIN_INT3239 #define LONG_MAX MAX_INT3240 #define ULONG_MIN MIN_UINT3241 #define ULONG_MAX MAX_UINT3242 38 43 #define SIZE_MIN MIN_UINT32 44 #define SIZE_MAX MAX_UINT32 45 #define SSIZE_MIN MIN_INT32 46 #define SSIZE_MAX MAX_INT32 39 #ifdef CONFIG_VERIFY_VCC 40 41 #define ATOMIC __specification_attr("atomic_inline", "") 42 43 #define READS(ptr) __specification(reads(ptr)) 44 #define WRITES(ptr) __specification(writes(ptr)) 45 #define REQUIRES(...) __specification(requires __VA_ARGS__) 46 47 #define EXTENT(ptr) \extent(ptr) 48 #define ARRAY_RANGE(ptr, nmemb) \array_range(ptr, nmemb) 49 50 #define REQUIRES_EXTENT_MUTABLE(ptr) \ 51 REQUIRES(\extent_mutable(ptr)) 52 53 #define REQUIRES_ARRAY_MUTABLE(ptr, nmemb) \ 54 REQUIRES(\mutable_array(ptr, nmemb)) 55 56 #else /* CONFIG_VERIFY_VCC */ 57 58 #define ATOMIC 59 60 #define READS(ptr) 61 #define WRITES(ptr) 62 #define REQUIRES(...) 63 64 #define EXTENT(ptr) 65 #define ARRAY_RANGE(ptr, nmemb) 66 67 #define REQUIRES_EXTENT_MUTABLE(ptr) 68 #define REQUIRES_ARRAY_MUTABLE(ptr, nmemb) 69 70 #endif /* CONFIG_VERIFY_VCC */ 71 47 72 48 73 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
