Changeset c6994af in rtems


Ignore:
Timestamp:
Jul 31, 2017, 1:10:33 PM (2 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
43cc2b4
Parents:
0e26c19a
git-author:
Sebastian Huber <sebastian.huber@…> (07/31/17 13:10:33)
git-committer:
Sebastian Huber <sebastian.huber@…> (08/22/17 14:27:02)
Message:

bsp/qoriq: Use LA to load an address

Add 64-bit support for LA.

Update #3082.

Location:
c/src/lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/qoriq/start/start.S

    r0e26c19a rc6994af  
    5555
    5656        /* Get start stack */
    57         LWI     START_STACK, start_stack_end
     57        LA      START_STACK, start_stack_end
    5858
    5959        bl      .Linitmore
    6060
    6161        /* Copy fast text */
    62         LWI     r3, bsp_section_fast_text_begin
    63         LWI     r4, bsp_section_fast_text_load_begin
    64         LWI     r5, bsp_section_fast_text_size
     62        LA      r3, bsp_section_fast_text_begin
     63        LA      r4, bsp_section_fast_text_load_begin
     64        LA      r5, bsp_section_fast_text_size
    6565        bl      .Lcopy
    66         LWI     r3, bsp_section_fast_text_begin
    67         LWI     r4, bsp_section_fast_text_size
     66        LA      r3, bsp_section_fast_text_begin
     67        LA      r4, bsp_section_fast_text_size
    6868        bl      rtems_cache_flush_multiple_data_lines
    6969
    7070        /* Copy read-only data */
    71         LWI     r3, bsp_section_rodata_begin
    72         LWI     r4, bsp_section_rodata_load_begin
    73         LWI     r5, bsp_section_rodata_size
     71        LA      r3, bsp_section_rodata_begin
     72        LA      r4, bsp_section_rodata_load_begin
     73        LA      r5, bsp_section_rodata_size
    7474        bl      .Lcopy
    75         LWI     r3, bsp_section_rodata_begin
    76         LWI     r4, bsp_section_rodata_size
     75        LA      r3, bsp_section_rodata_begin
     76        LA      r4, bsp_section_rodata_size
    7777        bl      rtems_cache_flush_multiple_data_lines
    7878
    7979        /* Copy fast data */
    80         LWI     r3, bsp_section_fast_data_begin
    81         LWI     r4, bsp_section_fast_data_load_begin
    82         LWI     r5, bsp_section_fast_data_size
     80        LA      r3, bsp_section_fast_data_begin
     81        LA      r4, bsp_section_fast_data_load_begin
     82        LA      r5, bsp_section_fast_data_size
    8383        bl      .Lcopy
    8484
    8585        /* Copy data */
    86         LWI     r3, bsp_section_data_begin
    87         LWI     r4, bsp_section_data_load_begin
    88         LWI     r5, bsp_section_data_size
     86        LA      r3, bsp_section_data_begin
     87        LA      r4, bsp_section_data_load_begin
     88        LA      r5, bsp_section_data_size
    8989        bl      .Lcopy
    9090
     
    9393        cmpwi   r3, 0
    9494        bne     .Lnull_area_setup_done
    95         LWI     r3, bsp_section_start_begin
     95        LA      r3, bsp_section_start_begin
    9696        srawi   r3, r3, 2
    9797        mtctr   r3
     
    107107
    108108        /* Clear SBSS */
    109         LWI     r3, bsp_section_sbss_begin
    110         LWI     r4, bsp_section_sbss_size
     109        LA      r3, bsp_section_sbss_begin
     110        LA      r4, bsp_section_sbss_size
    111111        bl      bsp_start_zero
    112112
    113113        /* Clear BSS */
    114         LWI     r3, bsp_section_bss_begin
    115         LWI     r4, bsp_section_bss_size
     114        LA      r3, bsp_section_bss_begin
     115        LA      r4, bsp_section_bss_size
    116116        bl      bsp_start_zero
    117117
  • c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h

    r0e26c19a rc6994af  
    870870
    871871.macro LA reg, addr
     872#if defined(__powerpc64__)
     873        lis     \reg, (\addr)@highest
     874        ori     \reg, \reg, (\addr)@higher
     875        rldicr  \reg, \reg, 32, 31
     876        oris    \reg, \reg, (\addr)@h
     877        ori     \reg, \reg, (\addr)@l
     878#else
    872879        lis     \reg, (\addr)@h
    873880        ori     \reg, \reg, (\addr)@l
     881#endif
    874882.endm
    875883
Note: See TracChangeset for help on using the changeset viewer.