Changes in / [a7a0417:40cb845e] in mainline


Ignore:
Location:
uspace/lib/libc/arch/arm32
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/arch/arm32/Makefile.inc

    ra7a0417 r40cb845e  
    4040        arch/$(UARCH)/src/stacktrace.S
    4141
    42 GCC_CFLAGS += -ffixed-r9 -mtp=soft -mapcs-frame -fno-omit-frame-pointer
     42GCC_CFLAGS += -ffixed-r9 -mtp=soft
    4343LFLAGS += -N $(SOFTINT_PREFIX)/libsoftint.a
    4444
  • uspace/lib/libc/arch/arm32/include/fibril.h

    ra7a0417 r40cb845e  
    5858 *  @param ptls  Pointer to the TCB.
    5959 */
    60 #define context_set(c, _pc, stack, size, ptls) \
    61         do { \
    62                 (c)->pc = (sysarg_t) (_pc); \
    63                 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \
    64                 (c)->tls = ((sysarg_t)(ptls)) + sizeof(tcb_t) + ARM_TP_OFFSET; \
    65                 (c)->fp = 0; \
    66         } while (0)
     60#define context_set(c, _pc, stack, size, ptls)                  \
     61        (c)->pc = (sysarg_t) (_pc);                             \
     62        (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA;     \
     63        (c)->tls = ((sysarg_t)(ptls)) + sizeof(tcb_t) + ARM_TP_OFFSET;
     64
    6765
    6866/** Fibril context.
     
    8179        uint32_t r7;
    8280        uint32_t r8;
    83         uint32_t tls;   /* r9 */
     81        uint32_t tls;
    8482        uint32_t r10;
    85         uint32_t fp;    /* r11 */
     83        uint32_t r11;
    8684} context_t;
    8785
  • uspace/lib/libc/arch/arm32/src/entry.s

    ra7a0417 r40cb845e  
    4343        str r2, [r0]
    4444
    45         #
    46         # Create the first stack frame.
    47         #
    48         mov fp, #0
    49         mov ip, sp
    50         push {fp, ip, lr, pc}
    51         sub fp, ip, #4
    52 
    5345        # Pass pcb_ptr to __main as the first argument (in r0)
    5446        mov r0, r1
  • uspace/lib/libc/arch/arm32/src/stacktrace.S

    ra7a0417 r40cb845e  
    3636
    3737frame_pointer_get:
    38         mov r0, fp
     38frame_pointer_prev:
     39frame_pointer_validate:
     40return_address_get:
     41program_counter_get:
     42        mov r0, #0
    3943        mov pc, lr
    4044
    41 frame_pointer_prev:
    42         ldr r0, [r0, #-12]
    43         mov pc, lr
    44 
    45 frame_pointer_validate:
    46         mov pc, lr
    47 
    48 return_address_get:
    49         ldr r0, [r0, #-4]
    50         mov pc, lr
    51 
    52 program_counter_get:
    53         mov r0, lr
    54         mov pc, lr
    55 
  • uspace/lib/libc/arch/arm32/src/thread_entry.s

    ra7a0417 r40cb845e  
    3535#
    3636__thread_entry:
    37         #
    38         # Create the first stack frame.
    39         #
    40         mov fp, #0
    41         mov ip, sp
    42         push {fp, ip, lr, pc}
    43         sub fp, ip, #4
    44 
    4537        b __thread_main
Note: See TracChangeset for help on using the changeset viewer.