Changeset cf84d72a in mainline


Ignore:
Timestamp:
2006-06-18T01:04:26Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
281994b
Parents:
1bb2e7a
Message:

fix segment register values, ppc32 works again (both w/ and w/o BAT)

Location:
arch/ppc32/src/mm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • arch/ppc32/src/mm/as.c

    r1bb2e7a rcf84d72a  
    5656        asid_t asid;
    5757        ipl_t ipl;
    58         __u8 sr;
     58        __u32 sr;
    5959
    6060        ipl = interrupts_disable();
     
    6868                        "mtsrin %0, %1\n"
    6969                        :
    70                         : "r" (0x6000 + (asid << 4) + sr), "r" (sr * 0x1000)
     70                        : "r" ((0x6000 << 16) + (asid << 4) + sr), "r" (sr << 28)
    7171                );
    7272        }
     
    7777                        "mtsrin %0, %1\n"
    7878                        :
    79                         : "r" (0x4000 + (asid << 4) + sr), "r" (sr * 0x1000)
     79                        : "r" ((0x4000 << 16) + (asid << 4) + sr), "r" (sr << 28)
    8080                );
    8181        }
  • arch/ppc32/src/mm/tlb.c

    r1bb2e7a rcf84d72a  
    378378void tlb_print(void)
    379379{
    380         // TODO
     380        __u32 sr;
     381       
     382        for (sr = 0; sr < 16; sr++) {
     383                __u32 vsid;
     384                asm volatile (
     385                        "mfsrin %0, %1\n"
     386                        : "=r" (vsid)
     387                        : "r" (sr << 28)
     388                );
     389                printf("vsid[%#x]=%#x\n", sr << 28, vsid);
     390        }
    381391}
    382392
Note: See TracChangeset for help on using the changeset viewer.