Skip to content

Commit

Permalink
powerpc/8xx: macro for handling CPU15 errata
Browse files Browse the repository at this point in the history
Having a macro will help keep clear code.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
  • Loading branch information
LEROY Christophe authored and Scott Wood committed Jun 3, 2015
1 parent 7f6972a commit 90883a8
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions arch/powerpc/kernel/head_8xx.S
Original file line number Diff line number Diff line change
Expand Up @@ -297,19 +297,25 @@ SystemCall:
* We have to use the MD_xxx registers for the tablewalk because the
* equivalent MI_xxx registers only perform the attribute functions.
*/

#ifdef CONFIG_8xx_CPU15
#define INVALIDATE_ADJACENT_PAGES_CPU15(tmp, addr) \
addi tmp, addr, PAGE_SIZE; \
tlbie tmp; \
addi tmp, addr, -PAGE_SIZE; \
tlbie tmp
#else
#define INVALIDATE_ADJACENT_PAGES_CPU15(tmp, addr)
#endif

InstructionTLBMiss:
#ifdef CONFIG_8xx_CPU6
mtspr SPRN_DAR, r3
#endif
EXCEPTION_PROLOG_0
mtspr SPRN_SPRG_SCRATCH2, r10
mfspr r10, SPRN_SRR0 /* Get effective address of fault */
#ifdef CONFIG_8xx_CPU15
addi r11, r10, PAGE_SIZE
tlbie r11
addi r11, r10, -PAGE_SIZE
tlbie r11
#endif
INVALIDATE_ADJACENT_PAGES_CPU15(r11, r10)

/* If we are faulting a kernel address, we have to use the
* kernel page tables.
Expand Down

0 comments on commit 90883a8

Please sign in to comment.