Changeset 2988616b in mainline


Ignore:
Timestamp:
2006-06-18T00:25:55Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a88ab795
Parents:
c04bdb4
Message:

ppc32: BAT usage is now optional
better VSID support
Page Hash Table cleanup
boot API change

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • arch/ppc32/loader/asm.S

    rc04bdb4 r2988616b  
    191191       
    192192        # initially fill segment registers
    193 
    194         li r31, 16
    195         mtctr r31
     193       
    196194        li r31, 0
    197         li r30, 0x2000
    198 
    199         seg_fill:
     195       
     196        li r29, 8
     197        mtctr r29
     198        li r30, 0
     199
     200        seg_fill_uspace:
    200201       
    201202                mtsrin r30, r31
    202                 addi r30, r30, 0x111
     203                addi r30, r30, 1
    203204                addis r31, r31, 0x1000    # move to next SR
    204205               
    205                 bdnz seg_fill
     206                bdnz seg_fill_uspace
     207       
     208        li r29, 8
     209        mtctr r29
     210        li r30, 0x4000
     211       
     212        seg_fill_kernel:
     213       
     214                mtsrin r30, r31
     215                addi r30, r30, 1
     216                addis r31, r31, 0x1000    # move to next SR
     217               
     218                bdnz seg_fill_kernel
    206219       
    207220        # invalidate block address translation registers
     
    242255        ori r31, r31, 0x0000
    243256       
     257        li r30, 0x4000
     258        li r29, 0
     259       
     260        pht_clear:
     261               
     262                stw r29, 0(r31)
     263               
     264                addi r31, r31, 4
     265                subi r30, r30, 4
     266               
     267                cmpwi r30, 0
     268                beq clear_end
     269               
     270                bdnz pht_clear
     271
     272                DEBUG_end_pht_clear
     273               
     274        clear_end:
     275       
     276        lis r31, 0x07ff
     277        ori r31, r31, 0x0000
     278       
    244279        mtsdr1 r31
    245280       
    246281        # create identity mapping
     282       
     283#ifdef CONFIG_BAT
    247284       
    248285        DEBUG_mapping
     
    261298        mtspr dbat0u, r31
    262299        mtspr dbat0l, r30
     300
     301#endif
    263302       
    264303        DEBUG_tlb
     
    271310        # start the kernel
    272311        #
     312        # pc = KERNEL_START_ADDR
    273313        # r3 = bootinfo (pa)
     314        # sprg0 = KA2PA(KERNEL_START_ADDR)
     315        # sprg3 = physical memory size
     316        # sp = 0 (pa)
    274317       
    275318        lis r31, KERNEL_START_ADDR@ha
     
    277320       
    278321        mtspr srr0, r31
     322       
     323        subis r31, r31, 0x8000
     324        mtsprg0 r31
     325       
     326        lwz r31, 0(r3)
     327        mtsprg3 r31
     328       
     329        li sp, 0
    279330       
    280331        mfmsr r31
  • arch/ppc32/loader/debug.inc

    rc04bdb4 r2988616b  
    83038303#endif
    83048304.endm
     8305
     8306.macro DEBUG_end_pht_clear
     8307#ifdef CONFIG_DEBUG
     8308#endif
     8309.endm
  • arch/ppc32/loader/main.h

    rc04bdb4 r2988616b  
    5252
    5353typedef struct {
     54        memmap_t memmap;
    5455        taskmap_t taskmap;
    55         memmap_t memmap;
    5656        screen_t screen;
    5757        keyboard_t keyboard;
  • boot.config

    rc04bdb4 r2988616b  
    2020! [ARCH=ppc32] CONFIG_DEBUG (n/y)
    2121
     22# Use Block Address Translation
     23! [ARCH=ppc32] CONFIG_BAT (y/n)
     24
    2225# PPC64 Compiler
    2326@ "cross" Cross-compiler
Note: See TracChangeset for help on using the changeset viewer.