~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to arch/powerpc/mm/tlb_nohash_low.S

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
189
189
        blr
190
190
 
191
191
#ifdef CONFIG_PPC_47x
 
192
 
 
193
/*
 
194
 * 47x variant of icbt
 
195
 */
 
196
# define ICBT(CT,RA,RB) \
 
197
        .long   0x7c00002c | ((CT) << 21) | ((RA) << 16) | ((RB) << 11)
 
198
 
192
199
/*
193
200
 * _tlbivax_bcast is only on 47x. We don't bother doing a runtime
194
201
 * check though, it will blow up soon enough if we mistakenly try
206
213
        isync
207
214
        eieio
208
215
        tlbsync
209
 
        sync
 
216
BEGIN_FTR_SECTION
 
217
        b       1f
 
218
END_FTR_SECTION_IFSET(CPU_FTR_476_DD2)
 
219
        sync
 
220
        wrtee   r10
 
221
        blr
 
222
/*
 
223
 * DD2 HW could hang if in instruction fetch happens before msync completes.
 
224
 * Touch enough instruction cache lines to ensure cache hits
 
225
 */
 
226
1:      mflr    r9
 
227
        bl      2f
 
228
2:      mflr    r6
 
229
        li      r7,32
 
230
        ICBT(0,r6,r7)           /* touch next cache line */
 
231
        add     r6,r6,r7
 
232
        ICBT(0,r6,r7)           /* touch next cache line */
 
233
        add     r6,r6,r7
 
234
        ICBT(0,r6,r7)           /* touch next cache line */
 
235
        sync
 
236
        nop
 
237
        nop
 
238
        nop
 
239
        nop
 
240
        nop
 
241
        nop
 
242
        nop
 
243
        nop
 
244
        mtlr    r9
210
245
        wrtee   r10
211
246
        blr
212
247
#endif /* CONFIG_PPC_47x */