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