Changeset ffe276f in mainline for kernel/arch/ppc32/src/asm.S


Ignore:
Timestamp:
2010-05-22T22:56:00Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c555155
Parents:
86a3f89b
Message:

restructure constants
change the return type of pic_get_pending()
coding style changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/src/asm.S

    r86a3f89b rffe276f  
    2828
    2929#include <arch/asm/regname.h>
     30#include <arch/cpu.h>
    3031
    3132.text
     
    4344
    4445userspace_asm:
    45 
     46       
    4647        # r3 = uspace_uarg
    4748        # r4 = stack
     
    4950       
    5051        # disable interrupts
    51 
     52       
    5253        mfmsr r31
    5354        rlwinm r31, r31, 0, 17, 15
     
    6061        # set problem state, enable interrupts
    6162       
    62         ori r31, r31, msr_pr
    63         ori r31, r31, msr_ee
     63        ori r31, r31, MSR_PR
     64        ori r31, r31, MSR_EE
    6465        mtsrr1 r31
    6566       
     
    6768       
    6869        mr sp, r4
    69 
     70       
    7071        # %r6 is defined to hold pcb_ptr - set it to 0
    71 
     72       
    7273        xor r6, r6, r6
    7374       
     
    141142       
    142143        # reset decrementer
    143 
     144       
    144145        li r31, 1000
    145146        mtdec r31
     
    201202        lwz r12, 156(sp)
    202203        lwz sp, 160(sp)
    203 
     204       
    204205        rfi
    205206
     
    213214memcpy_from_uspace:
    214215memcpy_to_uspace:
    215 
     216       
    216217        srwi. r7, r5, 3
    217218        addi r6, r3, -4
    218219        addi r4, r4, -4
    219         beq     2f
     220        beq 2f
    220221       
    221222        andi. r0, r6, 3
     
    225226        1:
    226227       
    227         lwz r7, 4(r4)
    228         lwzu r8, 8(r4)
    229         stw r7, 4(r6)
    230         stwu r8, 8(r6)
    231         bdnz 1b
    232        
    233         andi. r5, r5, 7
     228                lwz r7, 4(r4)
     229                lwzu r8, 8(r4)
     230                stw r7, 4(r6)
     231                stwu r8, 8(r6)
     232                bdnz 1b
     233               
     234                andi. r5, r5, 7
    234235       
    235236        2:
    236237       
    237         cmplwi 0, r5, 4
    238         blt 3f
    239        
    240         lwzu r0, 4(r4)
    241         addi r5, r5, -4
    242         stwu r0, 4(r6)
     238                cmplwi 0, r5, 4
     239                blt 3f
     240               
     241                lwzu r0, 4(r4)
     242                addi r5, r5, -4
     243                stwu r0, 4(r6)
    243244       
    244245        3:
    245246       
    246         cmpwi 0, r5, 0
    247         beqlr
    248         mtctr r5
    249         addi r4, r4, 3
    250         addi r6, r6, 3
     247                cmpwi 0, r5, 0
     248                beqlr
     249                mtctr r5
     250                addi r4, r4, 3
     251                addi r6, r6, 3
    251252       
    252253        4:
    253254       
    254         lbzu r0, 1(r4)
    255         stbu r0, 1(r6)
    256         bdnz 4b
    257         blr
     255                lbzu r0, 1(r4)
     256                stbu r0, 1(r6)
     257                bdnz 4b
     258                blr
    258259       
    259260        5:
    260261       
    261         subfic r0, r0, 4
    262         mtctr r0
     262                subfic r0, r0, 4
     263                mtctr r0
    263264       
    264265        6:
    265266       
    266         lbz r7, 4(r4)
    267         addi r4, r4, 1
    268         stb r7, 4(r6)
    269         addi r6, r6, 1
    270         bdnz 6b
    271         subf r5, r0, r5
    272         rlwinm. r7, r5, 32-3, 3, 31
    273         beq 2b
    274         mtctr r7
    275         b 1b
     267                lbz r7, 4(r4)
     268                addi r4, r4, 1
     269                stb r7, 4(r6)
     270                addi r6, r6, 1
     271                bdnz 6b
     272                subf r5, r0, r5
     273                rlwinm. r7, r5, 32-3, 3, 31
     274                beq 2b
     275                mtctr r7
     276                b 1b
    276277
    277278memcpy_from_uspace_failover_address:
Note: See TracChangeset for help on using the changeset viewer.