Changeset 7c3fb9b in mainline for kernel/arch/abs32le
- Timestamp:
- 2018-05-17T08:29:01Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6ff23ff
- Parents:
- fac0ac7
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-16 17:28:17)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-17 08:29:01)
- Location:
- kernel/arch/abs32le
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/abs32le/include/arch/asm.h
rfac0ac7 r7c3fb9b 46 46 NO_TRACE static inline __attribute__((noreturn)) void cpu_halt(void) 47 47 { 48 /* On real hardware this should stop processing further 49 instructions on the CPU (and possibly putting it into 50 low-power mode) without any possibility of exitting 51 this function. */ 48 /* 49 * On real hardware this should stop processing further 50 * instructions on the CPU (and possibly putting it into 51 * low-power mode) without any possibility of exitting 52 * this function. 53 */ 52 54 53 55 while (true) … … 57 59 NO_TRACE static inline void cpu_sleep(void) 58 60 { 59 /* On real hardware this should put the CPU into low-power 60 mode. However, the CPU is free to continue processing 61 futher instructions any time. The CPU also wakes up 62 upon an interrupt. */ 61 /* 62 * On real hardware this should put the CPU into low-power 63 * mode. However, the CPU is free to continue processing 64 * futher instructions any time. The CPU also wakes up 65 * upon an interrupt. 66 */ 63 67 } 64 68 -
kernel/arch/abs32le/include/arch/atomic.h
rfac0ac7 r7c3fb9b 47 47 REQUIRES(val->count < ATOMIC_COUNT_MAX) 48 48 { 49 /* On real hardware the increment has to be done 50 as an atomic action. */ 49 /* 50 * On real hardware the increment has to be done 51 * as an atomic action. 52 */ 51 53 52 54 val->count++; … … 58 60 REQUIRES(val->count > ATOMIC_COUNT_MIN) 59 61 { 60 /* On real hardware the decrement has to be done 61 as an atomic action. */ 62 /* 63 * On real hardware the decrement has to be done 64 * as an atomic action. 65 */ 62 66 63 67 val->count--; … … 69 73 REQUIRES(val->count < ATOMIC_COUNT_MAX) 70 74 { 71 /* On real hardware both the storing of the previous 72 value and the increment have to be done as a single 73 atomic action. */ 75 /* 76 * On real hardware both the storing of the previous 77 * value and the increment have to be done as a single 78 * atomic action. 79 */ 74 80 75 81 atomic_count_t prev = val->count; … … 84 90 REQUIRES(val->count > ATOMIC_COUNT_MIN) 85 91 { 86 /* On real hardware both the storing of the previous 87 value and the decrement have to be done as a single 88 atomic action. */ 92 /* 93 * On real hardware both the storing of the previous 94 * value and the decrement have to be done as a single 95 * atomic action. 96 */ 89 97 90 98 atomic_count_t prev = val->count; … … 101 109 REQUIRES_EXTENT_MUTABLE(val) 102 110 { 103 /* On real hardware the retrieving of the original 104 value and storing 1 have to be done as a single 105 atomic action. */ 111 /* 112 * On real hardware the retrieving of the original 113 * value and storing 1 have to be done as a single 114 * atomic action. 115 */ 106 116 107 117 atomic_count_t prev = val->count; -
kernel/arch/abs32le/include/arch/istate.h
rfac0ac7 r7c3fb9b 65 65 REQUIRES_EXTENT_MUTABLE(istate) 66 66 { 67 /* On real hardware this checks whether the interrupted 68 context originated from user space. */ 67 /* 68 * On real hardware this checks whether the interrupted 69 * context originated from user space. 70 */ 69 71 70 72 return !(istate->ip & UINT32_C(0x80000000)); -
kernel/arch/abs32le/src/userspace.c
rfac0ac7 r7c3fb9b 41 41 void userspace(uspace_arg_t *kernel_uarg) 42 42 { 43 /* On real hardware this switches the CPU to user 44 space mode and jumps to kernel_uarg->uspace_entry. */ 43 /* 44 * On real hardware this switches the CPU to user 45 * space mode and jumps to kernel_uarg->uspace_entry. 46 */ 45 47 46 48 while (true)
Note:
See TracChangeset
for help on using the changeset viewer.