Changes in / [054476d:dc0d8b52] in mainline
- Files:
-
- 4 added
- 4 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
abi/include/abi/asmtool.h
r054476d rdc0d8b52 45 45 46 46 #define OBJECT_BEGIN(obj) \ 47 .type obj STT_OBJECT; \47 .type obj, @object; \ 48 48 SYMBOL_BEGIN(obj) 49 49 #define OBJECT_END(obj) \ … … 51 51 52 52 #define FUNCTION_BEGIN(func) \ 53 .type func STT_FUNC; \53 .type func, @function; \ 54 54 SYMBOL_BEGIN(func) 55 55 #define FUNCTION_END(func) \ -
boot/Makefile.build
r054476d rdc0d8b52 31 31 include Makefile.common 32 32 33 INCLUDES = -Igeneric/include -I$(ROOT_PATH)/abi/include33 INCLUDES = generic/include 34 34 OPTIMIZATION = 3 35 35 … … 38 38 LFLAGS = --fatal-warnings 39 39 40 GCC_CFLAGS = $(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \40 GCC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 41 41 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 42 42 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ … … 45 45 -pipe 46 46 47 ICC_CFLAGS = $(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \47 ICC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 48 48 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wmissing-prototypes \ 49 49 -Werror-implicit-function-declaration -wd170 50 50 51 CLANG_CFLAGS = $(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \51 CLANG_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 52 52 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 53 53 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ -
boot/arch/arm32/src/asm.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 29 #include <arch/arch.h> 31 30 32 31 .section BOOTSTRAP 33 32 34 SYMBOL(start) 33 .global start 34 .global boot_pt 35 .global boot_stack 36 .global halt 37 .global jump_to_kernel 38 39 start: 35 40 ldr sp, =boot_stack 36 41 b bootstrap 37 42 38 43 .section BOOTPT 39 SYMBOL(boot_pt) 44 boot_pt: 40 45 .space PTL0_ENTRIES * PTL0_ENTRY_SIZE 41 46 42 47 .section BOOTSTACK 43 48 .space 4096 44 SYMBOL(boot_stack) 49 boot_stack: 45 50 46 51 .text 47 52 48 FUNCTION_BEGIN(halt) 53 halt: 49 54 b halt 50 FUNCTION_END(halt)51 55 52 FUNCTION_BEGIN(jump_to_kernel) 56 jump_to_kernel: 53 57 # 54 58 # Make sure that the I-cache, D-cache and memory are mutually coherent … … 104 108 #endif 105 109 mov pc, r0 106 FUNCTION_END(jump_to_kernel)107 -
boot/arch/arm32/src/eabi.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(__aeabi_idiv) 31 .global __aeabi_idiv 32 .global __aeabi_uidiv 33 34 .global __aeabi_idivmod 35 .global __aeabi_uidivmod 36 37 .global __aeabi_ldivmod 38 .global __aeabi_uldivmod 39 40 __aeabi_idiv: 34 41 push {lr} 35 42 bl __divsi3 36 43 pop {lr} 37 44 mov pc, lr 38 FUNCTION_END(__aeabi_idiv)39 45 40 FUNCTION_BEGIN(__aeabi_uidiv) 46 __aeabi_uidiv: 41 47 push {lr} 42 48 bl __udivsi3 43 49 pop {lr} 44 50 mov pc, lr 45 FUNCTION_END(__aeabi_uidiv)46 51 47 FUNCTION_BEGIN(__aeabi_idivmod) 52 __aeabi_idivmod: 48 53 push {lr} 49 54 sub sp, sp, #12 … … 54 59 pop {lr} 55 60 mov pc, lr 56 FUNCTION_END(__aeabi_idivmod)57 61 58 FUNCTION_BEGIN(__aeabi_uidivmod) 62 __aeabi_uidivmod: 59 63 push {lr} 60 64 sub sp, sp, #12 … … 65 69 pop {lr} 66 70 mov pc, lr 67 FUNCTION_END(__aeabi_uidivmod)68 71 69 FUNCTION_BEGIN(__aeabi_ldivmod) 72 __aeabi_ldivmod: 70 73 push {lr} 71 74 sub sp, sp, #24 … … 77 80 pop {lr} 78 81 mov pc, lr 79 FUNCTION_END(__aeabi_ldivmod)80 82 81 FUNCTION_BEGIN(__aeabi_uldivmod) 83 __aeabi_uldivmod: 82 84 push {lr} 83 85 sub sp, sp, #24 … … 89 91 pop {lr} 90 92 mov pc, lr 91 FUNCTION_END(__aeabi_uldivmod)92 -
kernel/arch/arm32/Makefile.inc
r054476d rdc0d8b52 33 33 ATSIGN = % 34 34 35 GCC_CFLAGS += -fno-omit-frame-pointer -mapcs-frame -march=$(subst _,-,$(PROCESSOR_ARCH)) -mno-unaligned-access -mfpu=vfpv335 GCC_CFLAGS += -fno-omit-frame-pointer -mapcs-frame -march=$(subst _,-,$(PROCESSOR_ARCH)) -mno-unaligned-access 36 36 37 37 ifeq ($(CONFIG_FPU),y) … … 70 70 ifeq ($(CONFIG_FPU),y) 71 71 ARCH_SOURCES += arch/$(KARCH)/src/fpu_context.c 72 ARCH_SOURCES += arch/$(KARCH)/src/fpu. S72 ARCH_SOURCES += arch/$(KARCH)/src/fpu.s 73 73 endif 74 74 -
kernel/arch/arm32/src/asm.S
r054476d rdc0d8b52 27 27 */ 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(memcpy_from_uspace) 34 FUNCTION_BEGIN(memcpy_to_uspace) 31 .global memcpy_from_uspace 32 .global memcpy_to_uspace 33 .global memcpy_from_uspace_failover_address 34 .global memcpy_to_uspace_failover_address 35 .global early_putchar 36 37 memcpy_from_uspace: 38 memcpy_to_uspace: 35 39 add r3, r1, #3 36 40 bic r3, r3, #3 … … 90 94 bne 7b 91 95 b 3b 92 FUNCTION_END(memcpy_from_uspace)93 FUNCTION_END(memcpy_to_uspace)94 96 95 SYMBOL(memcpy_from_uspace_failover_address) 96 SYMBOL(memcpy_to_uspace_failover_address) 97 memcpy_from_uspace_failover_address: 98 memcpy_to_uspace_failover_address: 97 99 mov r0, #0 98 100 ldmia sp!, {r4, r5, pc} 99 101 100 FUNCTION_BEGIN(early_putchar) 102 early_putchar: 101 103 mov pc, lr 102 FUNCTION_END(early_putchar)103 -
kernel/arch/arm32/src/context.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(context_save_arch) 31 .global context_save_arch 32 .global context_restore_arch 33 34 context_save_arch: 34 35 stmfd sp!, {r1} 35 36 mrs r1, cpsr … … 43 44 mov r0, #1 44 45 mov pc, lr 45 FUNCTION_END(context_save_arch)46 46 47 FUNCTION_BEGIN(context_restore_arch) 47 48 context_restore_arch: 48 49 ldmia r0!, {r4} 49 50 mrs r5, cpsr … … 57 58 mov r0, #0 58 59 mov pc, lr 59 FUNCTION_END(context_restore_arch)60 -
kernel/arch/arm32/src/debug/stacktrace_asm.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(frame_pointer_get) 31 .global frame_pointer_get 32 .global program_counter_get 33 34 frame_pointer_get: 34 35 mov r0, fp 35 36 mov pc, lr 36 FUNCTION_END(frame_pointer_get)37 37 38 FUNCTION_BEGIN(program_counter_get) 38 program_counter_get: 39 39 mov r0, lr 40 40 mov pc, lr 41 FUNCTION_END(program_counter_get)42 -
kernel/arch/arm32/src/dummy.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(calibrate_delay_loop) 31 .global calibrate_delay_loop 32 .global asm_delay_loop 33 34 .global sys_tls_set 35 .global dummy 36 37 calibrate_delay_loop: 34 38 mov pc, lr 35 FUNCTION_END(calibrate_delay_loop)36 39 37 FUNCTION_BEGIN(asm_delay_loop) 40 asm_delay_loop: 38 41 mov pc, lr 39 FUNCTION_END(asm_delay_loop)40 42 41 43 # not used on ARM 42 FUNCTION_BEGIN(sys_tls_set) 43 FUNCTION_BEGIN(dummy) 44 sys_tls_set: 45 46 dummy: 44 47 mov pc, lr 45 FUNCTION_END(dummy)46 FUNCTION_END(sys_tls_set)47 -
kernel/arch/arm32/src/eabi.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(__aeabi_idiv) 31 .global __aeabi_idiv 32 .global __aeabi_uidiv 33 34 .global __aeabi_idivmod 35 .global __aeabi_uidivmod 36 37 .global __aeabi_ldivmod 38 .global __aeabi_uldivmod 39 40 __aeabi_idiv: 34 41 push {lr} 35 42 bl __divsi3 36 43 pop {lr} 37 44 mov pc, lr 38 FUNCTION_END(__aeabi_idiv)39 45 40 FUNCTION_BEGIN(__aeabi_uidiv) 46 __aeabi_uidiv: 41 47 push {lr} 42 48 bl __udivsi3 43 49 pop {lr} 44 50 mov pc, lr 45 FUNCTION_END(__aeabi_uidiv)46 51 47 FUNCTION_BEGIN(__aeabi_idivmod) 52 __aeabi_idivmod: 48 53 push {lr} 49 54 sub sp, sp, #12 … … 54 59 pop {lr} 55 60 mov pc, lr 56 FUNCTION_END(__aeabi_idivmod)57 61 58 FUNCTION_BEGIN(__aeabi_uidivmod) 62 __aeabi_uidivmod: 59 63 push {lr} 60 64 sub sp, sp, #12 … … 65 69 pop {lr} 66 70 mov pc, lr 67 FUNCTION_END(__aeabi_uidivmod)68 71 69 FUNCTION_BEGIN(__aeabi_ldivmod) 72 __aeabi_ldivmod: 70 73 push {lr} 71 74 sub sp, sp, #24 … … 77 80 pop {lr} 78 81 mov pc, lr 79 FUNCTION_END(__aeabi_ldivmod)80 82 81 FUNCTION_BEGIN(__aeabi_uldivmod) 83 __aeabi_uldivmod: 82 84 push {lr} 83 85 sub sp, sp, #24 … … 89 91 pop {lr} 90 92 mov pc, lr 91 FUNCTION_END(__aeabi_uldivmod)92 -
kernel/arch/arm32/src/exc_handler.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 30 31 .global irq_exception_entry 32 .global fiq_exception_entry 33 .global data_abort_exception_entry 34 .global prefetch_abort_exception_entry 35 .global undef_instr_exception_entry 36 .global swi_exception_entry 37 .global reset_exception_entry 38 32 39 33 40 # Switches to kernel stack and saves all registers there. … … 149 156 .endm 150 157 151 SYMBOL(reset_exception_entry) 158 reset_exception_entry: 152 159 SAVE_REGS_TO_STACK 153 160 mov r0, #0 … … 156 163 LOAD_REGS_FROM_STACK 157 164 158 SYMBOL(irq_exception_entry) 165 irq_exception_entry: 159 166 sub lr, lr, #4 160 167 SAVE_REGS_TO_STACK … … 164 171 LOAD_REGS_FROM_STACK 165 172 166 SYMBOL(fiq_exception_entry) 173 fiq_exception_entry: 167 174 sub lr, lr, #4 168 175 SAVE_REGS_TO_STACK … … 172 179 LOAD_REGS_FROM_STACK 173 180 174 SYMBOL(undef_instr_exception_entry) 181 undef_instr_exception_entry: 175 182 SAVE_REGS_TO_STACK 176 183 mov r0, #1 … … 179 186 LOAD_REGS_FROM_STACK 180 187 181 SYMBOL(prefetch_abort_exception_entry) 188 prefetch_abort_exception_entry: 182 189 sub lr, lr, #4 183 190 SAVE_REGS_TO_STACK … … 187 194 LOAD_REGS_FROM_STACK 188 195 189 SYMBOL(data_abort_exception_entry) 196 data_abort_exception_entry: 190 197 sub lr, lr, #8 191 198 SAVE_REGS_TO_STACK … … 195 202 LOAD_REGS_FROM_STACK 196 203 197 SYMBOL(swi_exception_entry) 204 swi_exception_entry: 198 205 ldr r13, =exc_stack 199 206 SAVE_REGS_TO_STACK -
kernel/arch/arm32/src/start.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 29 #include <arch/asm/boot.h> 31 30 32 31 .text 33 32 34 SYMBOL(kernel_image_start) 33 .global kernel_image_start 34 .global exc_stack 35 .global supervisor_sp 36 37 kernel_image_start: 38 35 39 # initialize Stack pointer for exception modes 36 40 mrs r4, cpsr … … 79 83 80 84 .space 1024 81 SYMBOL(exc_stack) 85 exc_stack: 82 86 83 SYMBOL(supervisor_sp) 87 supervisor_sp: 84 88 .space 4 -
uspace/lib/c/arch/arm32/Makefile.inc
r054476d rdc0d8b52 29 29 30 30 ARCH_SOURCES = \ 31 arch/$(UARCH)/src/entry. S\32 arch/$(UARCH)/src/entryjmp. S\33 arch/$(UARCH)/src/thread_entry. S\31 arch/$(UARCH)/src/entry.s \ 32 arch/$(UARCH)/src/entryjmp.s \ 33 arch/$(UARCH)/src/thread_entry.s \ 34 34 arch/$(UARCH)/src/syscall.c \ 35 35 arch/$(UARCH)/src/fibril.S \ -
uspace/lib/c/arch/arm32/src/eabi.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(__aeabi_read_tp) 31 .global __aeabi_read_tp 32 33 .global __aeabi_idiv 34 .global __aeabi_uidiv 35 36 .global __aeabi_idivmod 37 .global __aeabi_uidivmod 38 39 .global __aeabi_ldivmod 40 .global __aeabi_uldivmod 41 42 __aeabi_read_tp: 34 43 mov r0, r9 35 44 mov pc, lr 36 FUNCTION_END(__aeabi_read_tp)37 45 38 FUNCTION_BEGIN(__aeabi_idiv) 46 __aeabi_idiv: 39 47 push {lr} 40 48 bl __divsi3 41 49 pop {lr} 42 50 mov pc, lr 43 FUNCTION_END(__aeabi_idiv)44 51 45 FUNCTION_BEGIN(__aeabi_uidiv) 52 __aeabi_uidiv: 46 53 push {lr} 47 54 bl __udivsi3 48 55 pop {lr} 49 56 mov pc, lr 50 FUNCTION_END(__aeabi_uidiv)51 57 52 FUNCTION_BEGIN(__aeabi_idivmod) 58 __aeabi_idivmod: 53 59 push {lr} 54 60 sub sp, sp, #12 … … 59 65 pop {lr} 60 66 mov pc, lr 61 FUNCTION_END(__aeabi_idivmod)62 67 63 FUNCTION_BEGIN(__aeabi_uidivmod) 68 __aeabi_uidivmod: 64 69 push {lr} 65 70 sub sp, sp, #12 … … 70 75 pop {lr} 71 76 mov pc, lr 72 FUNCTION_END(__aeabi_uidivmod)73 77 74 FUNCTION_BEGIN(__aeabi_ldivmod) 78 __aeabi_ldivmod: 75 79 push {lr} 76 80 sub sp, sp, #24 … … 82 86 pop {lr} 83 87 mov pc, lr 84 FUNCTION_END(__aeabi_ldivmod)85 88 86 FUNCTION_BEGIN(__aeabi_uldivmod) 89 __aeabi_uldivmod: 87 90 push {lr} 88 91 sub sp, sp, #24 … … 94 97 pop {lr} 95 98 mov pc, lr 96 FUNCTION_END(__aeabi_uldivmod)97 -
uspace/lib/c/arch/arm32/src/fibril.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(context_save) 31 .global context_save 32 .global context_restore 33 34 context_save: 34 35 stmia r0!, {sp, lr} 35 36 stmia r0!, {r4-r11} … … 38 39 mov r0, #1 39 40 mov pc, lr 40 FUNCTION_END(context_save)41 41 42 FUNCTION_BEGIN(context_restore) 42 context_restore: 43 43 ldmia r0!, {sp, lr} 44 44 ldmia r0!, {r4-r11} … … 47 47 mov r0, #0 48 48 mov pc, lr 49 FUNCTION_END(context_restore)50 49 -
uspace/lib/c/arch/arm32/src/stacktrace_asm.S
r054476d rdc0d8b52 27 27 # 28 28 29 #include <abi/asmtool.h>30 31 29 .text 32 30 33 FUNCTION_BEGIN(stacktrace_prepare) 31 .global stacktrace_prepare 32 .global stacktrace_fp_get 33 .global stacktrace_pc_get 34 35 stacktrace_prepare: 34 36 mov pc, lr 35 FUNCTION_END(stacktrace_prepare)36 37 37 FUNCTION_BEGIN(stacktrace_fp_get) 38 stacktrace_fp_get: 38 39 mov r0, fp 39 40 mov pc, lr 40 FUNCTION_END(stacktrace_fp_get)41 41 42 FUNCTION_BEGIN(stacktrace_pc_get) 42 stacktrace_pc_get: 43 43 mov r0, lr 44 44 mov pc, lr 45 FUNCTION_END(stacktrace_pc_get)46
Note:
See TracChangeset
for help on using the changeset viewer.