--- kernel/machdep/ppc/movc.s 2018/04/24 18:26:09 1.1 +++ kernel/machdep/ppc/movc.s 2018/04/24 18:33:03 1.1.1.2 @@ -354,3 +354,26 @@ ENTRY(cioseg, TAG_NO_FRAME_USED) oris r3, r3, (SR_COPYIN << (28-16)) blr + +ENTRY(find_phys, TAG_NO_FRAME_USED) + /* Switch off data translations */ + mfmsr r11 + rlwinm r10, r11, 0, MSR_DR_BIT+1, MSR_DR_BIT-1 + mtmsr r10 + isync + + mr r10, r3 + li r3, 0 +L_loop_find: + cmpw r4, r5 + bge L_find_exit + lwz r9, 0(r4) + addi r4, r4, 4 + cmpw r9, r10 + bne L_loop_find + subi r3, r4, 4 +L_find_exit: + mtmsr r11 /* Restore original translations */ + isync + + blr