Changeset 00a44bc in mainline for arch/ia64/src/start.S


Ignore:
Timestamp:
2005-05-11T14:12:53Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
724b58a
Parents:
9db5b66
Message:

IA-64 work.
Give up attempts to persuade ld to patch the kernel image with proper hardcoded lenghts and addresses.
Add special sections and calculate the numbers manually.
Fix wrong order of operands in sub instructions in memcpy() implementation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/src/start.S

    r9db5b66 r00a44bc  
    2929#include <arch/ski/ski.h>
    3030
     31.section K_TEXT_START
     32.global k_text_start
     33k_text_start:
     34
     35.section K_TEXT_END
     36.global k_text_end
     37k_text_end:
     38
     39.section K_DATA_START
     40.global k_data_start
     41k_data_start:
     42
     43.section K_DATA_END
     44.global k_data_end
     45k_data_end:
     46
     47
    3148.text
    3249
     
    3653kernel_image_start:
    3754        # initialize gp (Global Pointer) register
    38         mov r1=kernel_image_start;
     55        movl r1=k_text_start;
    3956
    4057        # set stack pointer to some sane value
    41         mov r12=stack0
     58        movl r12=stack0
     59
     60        #
     61        # Initialize hardcoded_* variables.
     62        # (IA-64 port doesn't get these values from linker.)
     63        #
     64        movl r8 = k_text_start  ;;
     65        movl r9 = k_text_end    ;;
     66        sub r8 = r9, r8         ;;
     67        addl r10 = @gprel(hardcoded_ktext_size), gp;;
     68        st4 [r10] = r8          ;;
     69
     70        movl r8 = k_data_start  ;;
     71        movl r9 = k_data_end    ;;
     72        sub r8 = r9, r8         ;;
     73        addl r10 = @gprel(hardcoded_kdata_size), gp;;
     74        st4 [r10] = r8          ;;
     75       
     76        addl r10 = @gprel(hardcoded_load_address), gp;;
     77        st8 [r10] = r1
    4278       
    4379        # initialize Ski console using SSC (Simulator System Call)
     
    4581        break 0x80000
    4682
    47         br.call.sptk.many rp=main_bsp
     83        br.call.sptk.many b0=main_bsp
    4884
    49850:
    5086        br 0b
     87
Note: See TracChangeset for help on using the changeset viewer.