Changeset 8565a42 in mainline for kernel/arch/ppc32


Ignore:
Timestamp:
2018-03-02T20:34:50Z (8 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a1a81f69, d5e5fd1
Parents:
3061bc1 (diff), 34e1206 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:34:50)
git-committer:
GitHub <noreply@…> (2018-03-02 20:34:50)
Message:

Remove all trailing whitespace, everywhere.

See individual commit messages for details.

Location:
kernel/arch/ppc32
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/_link.ld.in

    r3061bc1 r8565a42  
    2222                *(K_UNMAPPED_TEXT_START);
    2323                unmapped_ktext_end = .;
    24                
     24
    2525                unmapped_kdata_start = .;
    2626                *(K_UNMAPPED_DATA_START);
    2727                unmapped_kdata_start = .;
    2828        }
    29        
     29
    3030        .mapped PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {
    3131                ktext_start = .;
     
    3333                *(.text);
    3434                ktext_end = .;
    35                
     35
    3636                kdata_start = .;
    3737                *(K_DATA_START);
     
    4949                *(.bss);        /* uninitialized static variables */
    5050                *(COMMON);      /* global variables */
    51                
     51
    5252                . = ALIGN(8);
    5353                symbol_table = .;
    5454                *(symtab.*);    /* Symbol table, must be LAST symbol!*/
    55                
     55
    5656                kdata_end = .;
    5757        }
  • kernel/arch/ppc32/include/arch/asm.h

    r3061bc1 r8565a42  
    4545{
    4646        uint32_t msr;
    47        
     47
    4848        asm volatile (
    4949                "mfmsr %[msr]\n"
    5050                : [msr] "=r" (msr)
    5151        );
    52        
     52
    5353        return msr;
    5454}
     
    7777{
    7878        uint32_t vsid;
    79        
     79
    8080        asm volatile (
    8181                "mfsrin %[vsid], %[vaddr]\n"
     
    8383                : [vaddr] "r" (vaddr)
    8484        );
    85        
     85
    8686        return vsid;
    8787}
     
    9090{
    9191        uint32_t sdr1;
    92        
     92
    9393        asm volatile (
    9494                "mfsdr1 %[sdr1]\n"
    9595                : [sdr1] "=r" (sdr1)
    9696        );
    97        
     97
    9898        return sdr1;
    9999}
     
    173173{
    174174        uintptr_t base;
    175        
     175
    176176        asm volatile (
    177177                "and %[base], %%sp, %[mask]\n"
     
    179179                : [mask] "r" (~(STACK_SIZE - 1))
    180180        );
    181        
     181
    182182        return base;
    183183}
  • kernel/arch/ppc32/include/arch/atomic.h

    r3061bc1 r8565a42  
    4141{
    4242        atomic_count_t tmp;
    43        
     43
    4444        asm volatile (
    4545                "1:\n"
     
    5959{
    6060        atomic_count_t tmp;
    61        
     61
    6262        asm volatile (
    6363                "1:\n"
  • kernel/arch/ppc32/include/arch/barrier.h

    r3061bc1 r8565a42  
    7777{
    7878        unsigned int i;
    79        
     79
    8080        for (i = 0; i < len; i += COHERENCE_INVAL_MIN)
    8181                asm volatile (
     
    8383                        :: [addr] "r" (addr + i)
    8484                );
    85        
     85
    8686        memory_barrier();
    87        
     87
    8888        for (i = 0; i < len; i += COHERENCE_INVAL_MIN)
    8989                asm volatile (
     
    9191                        :: [addr] "r" (addr + i)
    9292                );
    93        
     93
    9494        instruction_barrier();
    9595}
  • kernel/arch/ppc32/include/arch/cycle.h

    r3061bc1 r8565a42  
    4343        uint32_t upper;
    4444        uint32_t tmp;
    45        
     45
    4646        do {
    4747                asm volatile (
     
    5454                );
    5555        } while (upper != tmp);
    56        
     56
    5757        return ((uint64_t) upper << 32) + (uint64_t) lower;
    5858}
  • kernel/arch/ppc32/include/arch/mm/frame.h

    r3061bc1 r8565a42  
    4949{
    5050        uint32_t physmem;
    51        
     51
    5252        asm volatile (
    5353                "mfsprg3 %[physmem]\n"
    5454                : [physmem] "=r" (physmem)
    5555        );
    56        
     56
    5757        return physmem;
    5858}
  • kernel/arch/ppc32/include/arch/mm/page.h

    r3061bc1 r8565a42  
    165165{
    166166        pte_t *entry = &pt[i];
    167        
     167
    168168        return (((!entry->page_cache_disable) << PAGE_CACHEABLE_SHIFT) |
    169169            ((!entry->present) << PAGE_PRESENT_SHIFT) |
     
    178178{
    179179        pte_t *entry = &pt[i];
    180        
     180
    181181        entry->page_cache_disable = !(flags & PAGE_CACHEABLE);
    182182        entry->present = !(flags & PAGE_NOT_PRESENT);
  • kernel/arch/ppc32/src/asm.S

    r3061bc1 r8565a42  
    4040         * r5 = entry
    4141         */
    42        
     42
    4343        /* Disable interrupts */
    44        
     44
    4545        mfmsr r31
    4646        rlwinm r31, r31, 0, 17, 15
    4747        mtmsr r31
    4848        isync
    49        
     49
    5050        /* Set entry point */
    51        
     51
    5252        mtsrr0 r5
    53        
     53
    5454        /* Set privileged state, enable interrupts */
    55        
     55
    5656        ori r31, r31, MSR_PR
    5757        ori r31, r31, MSR_EE
    5858        mtsrr1 r31
    59        
     59
    6060        /* Set stack */
    61        
     61
    6262        mr sp, r4
    63        
     63
    6464        /* %r6 is defined to hold pcb_ptr - set it to 0 */
    65        
     65
    6666        xor r6, r6, r6
    67        
     67
    6868        /* Jump to userspace */
    69        
     69
    7070        rfi
    7171FUNCTION_END(userspace_asm)
     
    7373SYMBOL(iret)
    7474        /* Disable interrupts */
    75        
     75
    7676        mfmsr r31
    7777        rlwinm r31, r31, 0, 17, 15
    7878        mtmsr r31
    7979        isync
    80        
     80
    8181        lwz r0, ISTATE_OFFSET_R0(sp)
    8282        lwz r2, ISTATE_OFFSET_R2(sp)
     
    109109        lwz r30, ISTATE_OFFSET_R30(sp)
    110110        lwz r31, ISTATE_OFFSET_R31(sp)
    111        
     111
    112112        lwz r12, ISTATE_OFFSET_CR(sp)
    113113        mtcr r12
    114        
     114
    115115        lwz r12, ISTATE_OFFSET_PC(sp)
    116116        mtsrr0 r12
    117        
     117
    118118        lwz r12, ISTATE_OFFSET_SRR1(sp)
    119119        mtsrr1 r12
    120        
     120
    121121        lwz r12, ISTATE_OFFSET_LR(sp)
    122122        mtlr r12
    123        
     123
    124124        lwz r12, ISTATE_OFFSET_CTR(sp)
    125125        mtctr r12
    126        
     126
    127127        lwz r12, ISTATE_OFFSET_XER(sp)
    128128        mtxer r12
    129        
     129
    130130        lwz r12, ISTATE_OFFSET_R12(sp)
    131131        lwz sp, ISTATE_OFFSET_SP(sp)
    132        
     132
    133133        rfi
    134134
    135135SYMBOL(iret_syscall)
    136136        /* Disable interrupts */
    137        
     137
    138138        mfmsr r31
    139139        rlwinm r31, r31, 0, 17, 15
    140140        mtmsr r31
    141141        isync
    142        
     142
    143143        lwz r0, ISTATE_OFFSET_R0(sp)
    144144        lwz r2, ISTATE_OFFSET_R2(sp)
     
    170170        lwz r30, ISTATE_OFFSET_R30(sp)
    171171        lwz r31, ISTATE_OFFSET_R31(sp)
    172        
     172
    173173        lwz r12, ISTATE_OFFSET_CR(sp)
    174174        mtcr r12
    175        
     175
    176176        lwz r12, ISTATE_OFFSET_PC(sp)
    177177        mtsrr0 r12
    178        
     178
    179179        lwz r12, ISTATE_OFFSET_SRR1(sp)
    180180        mtsrr1 r12
    181        
     181
    182182        lwz r12, ISTATE_OFFSET_LR(sp)
    183183        mtlr r12
    184        
     184
    185185        lwz r12, ISTATE_OFFSET_CTR(sp)
    186186        mtctr r12
    187        
     187
    188188        lwz r12, ISTATE_OFFSET_XER(sp)
    189189        mtxer r12
    190        
     190
    191191        lwz r12, ISTATE_OFFSET_R12(sp)
    192192        lwz sp, ISTATE_OFFSET_SP(sp)
    193        
     193
    194194        rfi
    195195
     
    200200        addi r4, r4, -4
    201201        beq 2f
    202        
     202
    203203        andi. r0, r6, 3
    204204        mtctr r7
    205205        bne 5f
    206        
     206
    207207        1:
    208        
     208
    209209                lwz r7, 4(r4)
    210210                lwzu r8, 8(r4)
     
    212212                stwu r8, 8(r6)
    213213                bdnz 1b
    214                
     214
    215215                andi. r5, r5, 7
    216        
     216
    217217        2:
    218        
     218
    219219                cmplwi 0, r5, 4
    220220                blt 3f
    221                
     221
    222222                lwzu r0, 4(r4)
    223223                addi r5, r5, -4
    224224                stwu r0, 4(r6)
    225        
     225
    226226        3:
    227        
     227
    228228                cmpwi 0, r5, 0
    229229                beqlr
     
    231231                addi r4, r4, 3
    232232                addi r6, r6, 3
    233        
     233
    234234        4:
    235        
     235
    236236                lbzu r0, 1(r4)
    237237                stbu r0, 1(r6)
    238238                bdnz 4b
    239239                blr
    240        
     240
    241241        5:
    242        
     242
    243243                subfic r0, r0, 4
    244244                mtctr r0
    245        
     245
    246246        6:
    247        
     247
    248248                lbz r7, 4(r4)
    249249                addi r4, r4, 1
  • kernel/arch/ppc32/src/boot/boot.S

    r3061bc1 r8565a42  
    3535SYMBOL(kernel_image_start)
    3636        # load temporal kernel stack
    37        
     37
    3838        lis sp, kernel_stack@ha
    3939        addi sp, sp, kernel_stack@l
    40        
     40
    4141        # set kernel stack for interrupt handling
    42        
     42
    4343        mr r31, sp
    4444        subis r31, r31, 0x8000
    4545        mtsprg0 r31
    46        
     46
    4747        # r3 contains physical address of bootinfo_t
    48        
     48
    4949        addis r3, r3, 0x8000
    5050        bl ppc32_pre_main
  • kernel/arch/ppc32/src/context.S

    r3061bc1 r8565a42  
    5555        stw r30, CONTEXT_OFFSET_R30(r3)
    5656        stw r31, CONTEXT_OFFSET_R31(r3)
    57        
     57
    5858        mflr r4
    5959        stw r4, CONTEXT_OFFSET_PC(r3)
    60        
     60
    6161        mfcr r4
    6262        stw r4, CONTEXT_OFFSET_CR(r3)
    63        
     63
    6464        # context_save returns 1
    6565        li r3, 1
     
    8989        lwz r30, CONTEXT_OFFSET_R30(r3)
    9090        lwz r31, CONTEXT_OFFSET_R31(r3)
    91        
     91
    9292        lwz r4, CONTEXT_OFFSET_CR(r3)
    9393        mtcr r4
    94        
     94
    9595        lwz r4, CONTEXT_OFFSET_PC(r3)
    9696        mtlr r4
    97        
     97
    9898        # context_restore returns 0
    9999        li r3, 0
  • kernel/arch/ppc32/src/cpu/cpu.c

    r3061bc1 r8565a42  
    5454{
    5555        const char *name;
    56        
     56
    5757        switch (cpu->arch.version) {
    5858        case 8:
     
    7171                name = "unknown";
    7272        }
    73        
     73
    7474        printf("cpu%u: version=%" PRIu16" (%s), revision=%" PRIu16 "\n", cpu->id,
    7575            cpu->arch.version, name, cpu->arch.revision);
  • kernel/arch/ppc32/src/drivers/pic.c

    r3061bc1 r8565a42  
    5555                        pic[PIC_MASK_HIGH] = pic[PIC_MASK_HIGH] | (1 << (intnum - 32));
    5656        }
    57        
     57
    5858}
    5959
     
    8585        if (pic) {
    8686                uint32_t pending;
    87                
     87
    8888                pending = pic[PIC_PENDING_LOW];
    8989                if (pending != 0)
    9090                        return fnzb32(pending);
    91                
     91
    9292                pending = pic[PIC_PENDING_HIGH];
    9393                if (pending != 0)
    9494                        return fnzb32(pending) + 32;
    9595        }
    96        
     96
    9797        return 255;
    9898}
  • kernel/arch/ppc32/src/exception.S

    r3061bc1 r8565a42  
    3838
    3939.macro CONTEXT_STORE
    40        
     40
    4141        # save r12 in SPRG1, backup CR in r12
    4242        # save SP in SPRG2
    43        
     43
    4444        mtsprg1 r12
    4545        mfcr r12
    4646        mtsprg2 sp
    47        
     47
    4848        # check whether the previous mode was user or kernel
    49        
     49
    5050        mfsrr1 sp # use sp as a temporary register to hold SRR1
    5151        andi. sp, sp, MSR_PR
    5252        bne 1f
    5353                # previous mode was kernel
    54                
     54
    5555                mfsprg2 sp
    5656                subis sp, sp, 0x8000
    5757        b 2f
    58        
     58
    5959        1:
    6060                # previous mode was user
    61                
     61
    6262                mfsprg0 sp
    6363        2:
    64        
     64
    6565        subi sp, sp, ALIGN_UP(ISTATE_SIZE, STACK_ALIGNMENT)
    6666        stw r0, ISTATE_OFFSET_R0(sp)
     
    9494        stw r30, ISTATE_OFFSET_R30(sp)
    9595        stw r31, ISTATE_OFFSET_R31(sp)
    96        
     96
    9797        stw r12, ISTATE_OFFSET_CR(sp)
    98        
     98
    9999        mfsrr0 r12
    100100        stw r12, ISTATE_OFFSET_PC(sp)
    101        
     101
    102102        mfsrr1 r12
    103103        stw r12, ISTATE_OFFSET_SRR1(sp)
    104        
     104
    105105        mflr r12
    106106        stw r12, ISTATE_OFFSET_LR(sp)
    107        
     107
    108108        mfctr r12
    109109        stw r12, ISTATE_OFFSET_CTR(sp)
    110        
     110
    111111        mfxer r12
    112112        stw r12, ISTATE_OFFSET_XER(sp)
    113        
     113
    114114        mfdar r12
    115115        stw r12, ISTATE_OFFSET_DAR(sp)
    116        
     116
    117117        mfsprg1 r12
    118118        stw r12, ISTATE_OFFSET_R12(sp)
    119        
     119
    120120        mfsprg2 r12
    121121        stw r12, ISTATE_OFFSET_SP(sp)
     
    129129SYMBOL(exc_system_reset)
    130130        CONTEXT_STORE
    131        
     131
    132132        li r3, 0
    133133        b jump_to_kernel
     
    136136SYMBOL(exc_machine_check)
    137137        CONTEXT_STORE
    138        
     138
    139139        li r3, 1
    140140        b jump_to_kernel
     
    143143SYMBOL(exc_data_storage)
    144144        CONTEXT_STORE
    145        
     145
    146146        li r3, 2
    147147        b jump_to_kernel
     
    150150SYMBOL(exc_instruction_storage)
    151151        CONTEXT_STORE
    152        
     152
    153153        li r3, 3
    154154        b jump_to_kernel
     
    157157SYMBOL(exc_external)
    158158        CONTEXT_STORE
    159        
     159
    160160        li r3, 4
    161161        b jump_to_kernel
     
    164164SYMBOL(exc_alignment)
    165165        CONTEXT_STORE
    166        
     166
    167167        li r3, 5
    168168        b jump_to_kernel
     
    171171SYMBOL(exc_program)
    172172        CONTEXT_STORE
    173        
     173
    174174        li r3, 6
    175175        b jump_to_kernel
     
    178178SYMBOL(exc_fp_unavailable)
    179179        CONTEXT_STORE
    180        
     180
    181181        li r3, 7
    182182        b jump_to_kernel
     
    185185SYMBOL(exc_decrementer)
    186186        CONTEXT_STORE
    187        
     187
    188188        li r3, 8
    189189        b jump_to_kernel
     
    192192SYMBOL(exc_reserved0)
    193193        CONTEXT_STORE
    194        
     194
    195195        li r3, 9
    196196        b jump_to_kernel
     
    199199SYMBOL(exc_reserved1)
    200200        CONTEXT_STORE
    201        
     201
    202202        li r3, 10
    203203        b jump_to_kernel
     
    206206SYMBOL(exc_syscall)
    207207        CONTEXT_STORE
    208        
     208
    209209        b jump_to_kernel_syscall
    210210
     
    212212SYMBOL(exc_trace)
    213213        CONTEXT_STORE
    214        
     214
    215215        li r3, 12
    216216        b jump_to_kernel
     
    219219SYMBOL(exc_itlb_miss)
    220220        CONTEXT_STORE
    221        
     221
    222222        li r3, 13
    223223        b jump_to_kernel
     
    226226SYMBOL(exc_dtlb_miss_load)
    227227        CONTEXT_STORE
    228        
     228
    229229        li r3, 14
    230230        b jump_to_kernel
     
    233233SYMBOL(exc_dtlb_miss_store)
    234234        CONTEXT_STORE
    235        
     235
    236236        li r3, 15
    237237        b jump_to_kernel
     
    244244                # Previous mode was kernel.
    245245                # We can construct a proper frame linkage.
    246                
     246
    247247                mfsrr0 r12
    248248                stw r12, ISTATE_OFFSET_LR_FRAME(sp)
     
    265265        ori r12, r12, (MSR_IR | MSR_DR)
    266266        mtsrr1 r12
    267        
     267
    268268        addis sp, sp, 0x8000
    269269        mr r4, sp
    270        
     270
    271271        rfi
    272272
     
    275275        addi r12, r12, syscall_handler@l
    276276        mtsrr0 r12
    277        
     277
    278278        lis r12, iret_syscall@ha
    279279        addi r12, r12, iret_syscall@l
     
    286286        ori r12, r12, (MSR_IR | MSR_DR | MSR_EE)
    287287        mtsrr1 r12
    288        
     288
    289289        addis sp, sp, 0x8000
    290290        rfi
  • kernel/arch/ppc32/src/fpu_context.S

    r3061bc1 r8565a42  
    106106FUNCTION_BEGIN(fpu_context_save)
    107107        FPU_CONTEXT_STORE r3
    108        
     108
    109109        mffs fr0
    110110        stfd fr0, FPU_CONTEXT_OFFSET_FPSCR(r3)
    111        
     111
    112112        blr
    113113FUNCTION_END(fpu_context_save)
     
    116116        lfd fr0, FPU_CONTEXT_OFFSET_FPSCR(r3)
    117117        mtfsf 0xff, fr0
    118        
     118
    119119        FPU_CONTEXT_LOAD r3
    120        
     120
    121121        blr
    122122FUNCTION_END(fpu_context_restore)
     
    125125        mfmsr r0
    126126        ori r0, r0, MSR_FP
    127        
     127
    128128        # Disable FPU exceptions
    129129        li r3, MSR_FE0 | MSR_FE1
    130130        andc r0, r0, r3
    131        
     131
    132132        mtmsr r0
    133133        isync
    134        
     134
    135135        blr
    136136FUNCTION_END(fpu_init)
  • kernel/arch/ppc32/src/interrupt.c

    r3061bc1 r8565a42  
    6666        log_printf("r0 =%0#10" PRIx32 "\tr1 =%0#10" PRIx32 "\t"
    6767            "r2 =%0#10" PRIx32 "\n", istate->r0, istate->sp, istate->r2);
    68        
     68
    6969        log_printf("r3 =%0#10" PRIx32 "\tr4 =%0#10" PRIx32 "\t"
    7070            "r5 =%0#10" PRIx32 "\n", istate->r3, istate->r4, istate->r5);
    71        
     71
    7272        log_printf("r6 =%0#10" PRIx32 "\tr7 =%0#10" PRIx32 "\t"
    7373            "r8 =%0#10" PRIx32 "\n", istate->r6, istate->r7, istate->r8);
    74        
     74
    7575        log_printf("r9 =%0#10" PRIx32 "\tr10=%0#10" PRIx32 "\t"
    7676            "r11=%0#10" PRIx32 "\n", istate->r9, istate->r10, istate->r11);
    77        
     77
    7878        log_printf("r12=%0#10" PRIx32 "\tr13=%0#10" PRIx32 "\t"
    7979            "r14=%0#10" PRIx32 "\n", istate->r12, istate->r13, istate->r14);
    80        
     80
    8181        log_printf("r15=%0#10" PRIx32 "\tr16=%0#10" PRIx32 "\t"
    8282            "r17=%0#10" PRIx32 "\n", istate->r15, istate->r16, istate->r17);
    83        
     83
    8484        log_printf("r18=%0#10" PRIx32 "\tr19=%0#10" PRIx32 "\t"
    8585            "r20=%0#10" PRIx32 "\n", istate->r18, istate->r19, istate->r20);
    86        
     86
    8787        log_printf("r21=%0#10" PRIx32 "\tr22=%0#10" PRIx32 "\t"
    8888            "r23=%0#10" PRIx32 "\n", istate->r21, istate->r22, istate->r23);
    89        
     89
    9090        log_printf("r24=%0#10" PRIx32 "\tr25=%0#10" PRIx32 "\t"
    9191            "r26=%0#10" PRIx32 "\n", istate->r24, istate->r25, istate->r26);
    92        
     92
    9393        log_printf("r27=%0#10" PRIx32 "\tr28=%0#10" PRIx32 "\t"
    9494            "r29=%0#10" PRIx32 "\n", istate->r27, istate->r28, istate->r29);
    95        
     95
    9696        log_printf("r30=%0#10" PRIx32 "\tr31=%0#10" PRIx32 "\n",
    9797            istate->r30, istate->r31);
    98        
     98
    9999        log_printf("cr =%0#10" PRIx32 "\tpc =%0#10" PRIx32 "\t"
    100100            "lr =%0#10" PRIx32 "\n", istate->cr, istate->pc, istate->lr);
    101        
     101
    102102        log_printf("ctr=%0#10" PRIx32 "\txer=%0#10" PRIx32 "\t"
    103103            "dar=%0#10" PRIx32 "\n", istate->ctr, istate->xer, istate->dar);
    104        
     104
    105105        log_printf("srr1=%0#10" PRIx32 "\n", istate->srr1);
    106106}
     
    119119                         * The IRQ handler was found.
    120120                         */
    121                        
     121
    122122                        if (irq->preack) {
    123123                                /* Acknowledge the interrupt before processing */
     
    125125                                        irq->cir(irq->cir_arg, irq->inr);
    126126                        }
    127                        
     127
    128128                        irq->handler(irq);
    129                        
     129
    130130                        if (!irq->preack) {
    131131                                if (irq->cir)
    132132                                        irq->cir(irq->cir_arg, irq->inr);
    133133                        }
    134                        
     134
    135135                        irq_spinlock_unlock(&irq->lock, false);
    136136                } else {
  • kernel/arch/ppc32/src/mm/as.c

    r3061bc1 r8565a42  
    5656{
    5757        uint32_t sr;
    58        
     58
    5959        /* Lower 2 GB, user and supervisor access */
    6060        for (sr = 0; sr < 8; sr++)
    6161                sr_set(0x6000, as->asid, sr);
    62        
     62
    6363        /* Upper 2 GB, only supervisor access */
    6464        for (sr = 8; sr < 16; sr++)
  • kernel/arch/ppc32/src/mm/frame.c

    r3061bc1 r8565a42  
    4545{
    4646        printf("[base    ] [size    ]\n");
    47        
     47
    4848        size_t i;
    4949        for (i = 0; i < memmap.cnt; i++) {
     
    5757        pfn_t minconf = 2;
    5858        size_t i;
    59        
     59
    6060        for (i = 0; i < memmap.cnt; i++) {
    6161                /* To be safe, make the available zone possibly smaller */
     
    6464                size_t size = ALIGN_DOWN(memmap.zones[i].size -
    6565                    (base - ((uintptr_t) memmap.zones[i].start)), FRAME_SIZE);
    66                
     66
    6767                if (!frame_adjust_zone_bounds(low, &base, &size))
    6868                        return;
     
    8686                }
    8787        }
    88        
     88
    8989}
    9090
     
    9292{
    9393        frame_common_arch_init(true);
    94        
     94
    9595        /* First is exception vector, second is 'implementation specific',
    9696           third and fourth is reserved, other contain real mode code */
    9797        frame_mark_unavailable(0, 8);
    98        
     98
    9999        /* Mark the Page Hash Table frames as unavailable */
    100100        uint32_t sdr1 = sdr1_get();
    101        
     101
    102102        // FIXME: compute size of PHT exactly
    103103        frame_mark_unavailable(ADDR2PFN(sdr1 & 0xffff000), 16);
  • kernel/arch/ppc32/src/mm/pht.c

    r3061bc1 r8565a42  
    9393        uint32_t page = (vaddr >> 12) & 0xffff;
    9494        uint32_t api = (vaddr >> 22) & 0x3f;
    95        
     95
    9696        uint32_t vsid = sr_get(vaddr);
    9797        uint32_t sdr1 = sdr1_get();
    98        
     98
    9999        // FIXME: compute size of PHT exactly
    100100        phte_t *phte = (phte_t *) PA2KA(sdr1 & 0xffff0000);
    101        
     101
    102102        /* Primary hash (xor) */
    103103        uint32_t h = 0;
     
    106106        uint32_t i;
    107107        bool found = false;
    108        
     108
    109109        /* Find colliding PTE in PTEG */
    110110        for (i = 0; i < 8; i++) {
     
    117117                }
    118118        }
    119        
     119
    120120        if (!found) {
    121121                /* Find unused PTE in PTEG */
     
    127127                }
    128128        }
    129        
     129
    130130        if (!found) {
    131131                /* Secondary hash (not) */
    132132                uint32_t base2 = (~hash & 0x3ff) << 3;
    133                
     133
    134134                /* Find colliding PTE in PTEG */
    135135                for (i = 0; i < 8; i++) {
     
    144144                        }
    145145                }
    146                
     146
    147147                if (!found) {
    148148                        /* Find unused PTE in PTEG */
     
    156156                        }
    157157                }
    158                
     158
    159159                if (!found)
    160160                        i = RANDI(seed) % 8;
    161161        }
    162        
     162
    163163        phte[base + i].v = 1;
    164164        phte[base + i].vsid = vsid;
     
    181181{
    182182        uintptr_t badvaddr;
    183        
     183
    184184        if (n == VECTOR_DATA_STORAGE)
    185185                badvaddr = istate->dar;
    186186        else
    187187                badvaddr = istate->pc;
    188        
     188
    189189        pte_t pte;
    190190        bool found = find_mapping_and_check(AS, badvaddr,
    191191            PF_ACCESS_READ /* FIXME */, istate, &pte);
    192        
     192
    193193        if (found) {
    194194                /* Record access to PTE */
     
    201201{
    202202        uint32_t sdr1 = sdr1_get();
    203        
     203
    204204        // FIXME: compute size of PHT exactly
    205205        phte_t *phte = (phte_t *) PA2KA(sdr1 & 0xffff0000);
    206        
     206
    207207        // FIXME: this invalidates all PHT entries,
    208208        // which is an overkill, invalidate only
  • kernel/arch/ppc32/src/mm/tlb.c

    r3061bc1 r8565a42  
    4242        ptehi_t ptehi;
    4343        ptelo_t ptelo;
    44        
     44
    4545        asm volatile (
    4646                "mfspr %[tlbmiss], 980\n"
     
    5151                  [ptelo] "=r" (ptelo)
    5252        );
    53        
     53
    5454        uint32_t badvaddr = tlbmiss & 0xfffffffc;
    5555        uint32_t physmem = physmem_top();
    56        
     56
    5757        if ((badvaddr < PA2KA(0)) || (badvaddr >= PA2KA(physmem)))
    5858                return; // FIXME
    59        
     59
    6060        ptelo.rpn = KA2PA(badvaddr) >> 12;
    6161        ptelo.wimg = 0;
    6262        ptelo.pp = 2; // FIXME
    63        
     63
    6464        uint32_t index = 0;
    6565        asm volatile (
     
    8484                "sync\n"
    8585        );
    86        
     86
    8787        for (unsigned int i = 0; i < 0x00040000; i += 0x00001000) {
    8888                asm volatile (
     
    9191                );
    9292        }
    93        
     93
    9494        asm volatile (
    9595                "eieio\n"
     
    143143{
    144144        uint32_t sr;
    145        
     145
    146146        for (sr = 0; sr < 16; sr++) {
    147147                uint32_t vsid = sr_get(sr << 28);
    148                
     148
    149149                printf("sr[%02" PRIu32 "]: vsid=%#0" PRIx32 " (asid=%" PRIu32 ")"
    150150                    "%s%s\n", sr, vsid & UINT32_C(0x00ffffff),
     
    153153                    ((vsid >> 29) & 1) ? " user" : "");
    154154        }
    155        
     155
    156156        uint32_t upper;
    157157        uint32_t lower;
    158158        uint32_t mask;
    159159        uint32_t length;
    160        
     160
    161161        PRINT_BAT("ibat[0]", 528, 529);
    162162        PRINT_BAT("ibat[1]", 530, 531);
    163163        PRINT_BAT("ibat[2]", 532, 533);
    164164        PRINT_BAT("ibat[3]", 534, 535);
    165        
     165
    166166        PRINT_BAT("dbat[0]", 536, 537);
    167167        PRINT_BAT("dbat[1]", 538, 539);
  • kernel/arch/ppc32/src/ppc32.c

    r3061bc1 r8565a42  
    9191                    bootinfo->taskmap.tasks[i].name);
    9292        }
    93        
     93
    9494        /* Copy physical memory map. */
    9595        memmap.total = bootinfo->memmap.total;
     
    9999                memmap.zones[i].size = bootinfo->memmap.zones[i].size;
    100100        }
    101        
     101
    102102        /* Copy boot allocations info. */
    103103        ballocs.base = bootinfo->ballocs.base;
    104104        ballocs.size = bootinfo->ballocs.size;
    105        
     105
    106106        /* Copy OFW tree. */
    107107        ofw_tree_init(bootinfo->ofw_root);
     
    112112        /* Initialize dispatch table */
    113113        interrupt_init();
    114        
     114
    115115        ofw_tree_node_t *cpus_node;
    116116        ofw_tree_node_t *cpu_node;
     
    144144        uint32_t fb_scanline = 0;
    145145        unsigned int visual = VISUAL_UNKNOWN;
    146        
     146
    147147        ofw_tree_property_t *prop = ofw_tree_getprop(node, "address");
    148148        if ((prop) && (prop->value))
    149149                fb_addr = *((uintptr_t *) prop->value);
    150        
     150
    151151        prop = ofw_tree_getprop(node, "width");
    152152        if ((prop) && (prop->value))
    153153                fb_width = *((uint32_t *) prop->value);
    154        
     154
    155155        prop = ofw_tree_getprop(node, "height");
    156156        if ((prop) && (prop->value))
    157157                fb_height = *((uint32_t *) prop->value);
    158        
     158
    159159        prop = ofw_tree_getprop(node, "depth");
    160160        if ((prop) && (prop->value)) {
     
    180180                }
    181181        }
    182        
     182
    183183        prop = ofw_tree_getprop(node, "linebytes");
    184184        if ((prop) && (prop->value))
    185185                fb_scanline = *((uint32_t *) prop->value);
    186        
     186
    187187        if ((fb_addr) && (fb_width > 0) && (fb_height > 0)
    188188            && (fb_scanline > 0) && (visual != VISUAL_UNKNOWN)) {
     
    195195                        .visual = visual,
    196196                };
    197                
     197
    198198                outdev_t *fbdev = fb_init(&fb_prop);
    199199                if (fbdev)
    200200                        stdout_wire(fbdev);
    201201        }
    202        
     202
    203203        return true;
    204204}
     
    213213                /* Map OFW information into sysinfo */
    214214                ofw_sysinfo_map();
    215                
     215
    216216                /* Initialize IRQ routing */
    217217                irq_init(IRQ_COUNT, IRQ_COUNT);
    218                
     218
    219219                /* Merge all zones to 1 big zone */
    220220                zone_merge_all();
     
    225225{
    226226        ofw_pci_reg_t *assigned_address = NULL;
    227        
     227
    228228        ofw_tree_property_t *prop = ofw_tree_getprop(node, "assigned-addresses");
    229229        if ((prop) && (prop->value))
    230230                assigned_address = ((ofw_pci_reg_t *) prop->value);
    231        
     231
    232232        if (assigned_address) {
    233233                /* Initialize PIC */
    234234                pic_init(assigned_address[0].addr, PAGE_SIZE, &pic_cir,
    235235                    &pic_cir_arg);
    236                
     236
    237237#ifdef CONFIG_MAC_KBD
    238238                uintptr_t pa = assigned_address[0].addr + 0x16000;
     
    240240                size_t offset = pa - aligned_addr;
    241241                size_t size = 2 * PAGE_SIZE;
    242                
     242
    243243                cuda_t *cuda = (cuda_t *) (km_map(aligned_addr, offset + size,
    244244                    PAGE_WRITE | PAGE_NOT_CACHEABLE) + offset);
    245                
     245
    246246                /* Initialize I/O controller */
    247247                cuda_instance_t *cuda_instance =
     
    256256                        }
    257257                }
    258                
     258
    259259                /*
    260260                 * This is the necessary evil until the userspace driver is entirely
     
    266266#endif
    267267        }
    268        
     268
    269269        /* Consider only a single device for now */
    270270        return false;
     
    299299            kernel_uarg->uspace_stack_size - SP_DELTA,
    300300            (uintptr_t) kernel_uarg->uspace_entry);
    301        
     301
    302302        /* Unreachable */
    303303        while (true);
  • kernel/arch/ppc32/src/proc/scheduler.c

    r3061bc1 r8565a42  
    5252{
    5353        tlb_invalidate_all();
    54        
     54
    5555        asm volatile (
    5656                "mtsprg0 %[ksp]\n"
Note: See TracChangeset for help on using the changeset viewer.