Changeset 481c520 in mainline for arch/ia64/src/start.S


Ignore:
Timestamp:
2006-02-27T12:30:11Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
02f441c0
Parents:
4a2b52f
Message:

sparc64 work.
Revive OFW console code and use it before the kernel switches to standalone console.

ia32 + ia64 cosmetic changes.

File:
1 edited

Legend:

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

    r4a2b52f r481c520  
    2727#
    2828
    29 
    3029#include <arch/register.h>
    3130#include <arch/mm/page.h>
     
    3332#include <mm/asid.h>
    3433
    35 
    3634#define RR_MASK (0xFFFFFFFF00000002)
    3735#define RID_SHIFT 8
    3836#define PS_SHIFT 2
    3937
    40 
    4138#define KERNEL_TRANSLATION_I 0x0010000000000661
    4239#define KERNEL_TRANSLATION_D 0x0010000000000661
    43 
    4440
    4541.section K_TEXT_START
     
    5147        .auto
    5248
    53         #Fill TR.i and TR.d using Region Register #VRN_KERNEL
     49        # Fill TR.i and TR.d using Region Register #VRN_KERNEL
    5450
    5551        movl r8=(VRN_KERNEL<<VRN_SHIFT)
     
    6157        mov rr[r8]=r9
    6258
    63 
    6459        movl r8=(VRN_KERNEL<<VRN_SHIFT)
    6560        mov cr.ifa=r8
     
    6863        movl r10=(KERNEL_TRANSLATION_I)
    6964        itr.i itr[r0]=r10
    70 
    7165        movl r10=(KERNEL_TRANSLATION_D)
    7266        itr.d dtr[r0]=r10
    73 
    7467
    7568        # initialize PSR
     
    7770        srlz.i
    7871        srlz.d
    79         movl r10=(PSR_DT_MASK|PSR_RT_MASK|PSR_IT_MASK|PSR_IC_MASK)  /*Enable paging*/
     72        movl r10=(PSR_DT_MASK|PSR_RT_MASK|PSR_IT_MASK|PSR_IC_MASK)  /* Enable paging */
    8073        mov r9=psr
    8174        or r10=r10,r9
     
    8679        srlz.d
    8780        srlz.i
    88 .explicit
    8981
    90         /*Return from interupt is only the way how to fill upper half word of PSR*/
    91         {rfi;;}
     82        .explicit
     83        /*
     84         * Return From Interupt is the only the way to fill upper half word of PSR.
     85         */
     86        rfi;;
    9287        {nop 0;;}
    9388        {nop 0;;}
     
    10095
    10196.global paging_start
    102         /*Now we are paging*/
    10397paging_start:
     98
     99        /*
     100         * Now we are paging.
     101         */
     102
    104103        {nop 0;;}
    105104        {nop 0;;}
     
    111110        {nop 0;;}
    112111
    113 .auto
    114        
    115112        # switch to register bank 1
    116113        bsw.1
     
    118115        # initialize register stack
    119116        mov ar.rsc = r0
    120         movl r8=(VRN_KERNEL<<VRN_SHIFT)
     117        movl r8=(VRN_KERNEL<<VRN_SHIFT) ;;
    121118        mov ar.bspstore = r8
    122119        loadrs
    123120
    124         .explicit
    125121        # initialize memory stack to some sane value
    126122        movl r12 = stack0;;
     
    131127        movl r1 = _hardcoded_load_address       ;;
    132128
    133        
    134 
    135         #
    136         # Initialize hardcoded_* variables.
    137         #
     129        /*
     130         * Initialize hardcoded_* variables.
     131         */
    138132        movl r14 = _hardcoded_ktext_size
    139133        movl r15 = _hardcoded_kdata_size
     
    147141        st8 [r19] = r16
    148142
    149 
    150 .auto
    151        
    152         movl r18=main_bsp
    153         mov b1=r18
     143        movl r18=main_bsp ;;
     144        mov b1=r18 ;;
    154145        br.call.sptk.many b0=b1
    155 
    156146
    1571470:
Note: See TracChangeset for help on using the changeset viewer.