linux-stable/arch/powerpc/include/asm/nohash
Christophe Leroy 9290c379d1 powerpc/8xx: Simplify flush_tlb_kernel_range()
In the same spirit as commit 63f501e07a ("powerpc/8xx: Simplify TLB
handling"), simplify flush_tlb_kernel_range() for 8xx.

8xx cannot be SMP, and has 'tlbie' and 'tlbia' instructions, so
an inline version of flush_tlb_kernel_range() for 8xx is worth it.

With this page, first leg of change_page_attr() is:

	  2c:	55 29 00 3c 	rlwinm  r9,r9,0,0,30
	  30:	91 23 00 00 	stw     r9,0(r3)
	  34:	7c 00 22 64 	tlbie   r4,r0
	  38:	7c 00 04 ac 	hwsync
	  3c:	38 60 00 00 	li      r3,0
	  40:	4e 80 00 20 	blr

Before the patch it was:

	  30:	55 29 00 3c 	rlwinm  r9,r9,0,0,30
	  34:	91 2a 00 00 	stw     r9,0(r10)
	  38:	94 21 ff f0 	stwu    r1,-16(r1)
	  3c:	7c 08 02 a6 	mflr    r0
	  40:	38 83 10 00 	addi    r4,r3,4096
	  44:	90 01 00 14 	stw     r0,20(r1)
	  48:	48 00 00 01 	bl      48 <change_page_attr+0x48>
				48: R_PPC_REL24	flush_tlb_kernel_range
	  4c:	80 01 00 14 	lwz     r0,20(r1)
	  50:	38 60 00 00 	li      r3,0
	  54:	7c 08 03 a6 	mtlr    r0
	  58:	38 21 00 10 	addi    r1,r1,16
	  5c:	4e 80 00 20 	blr

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d2610043419ce3e0e53a85386baf2c3625af5cfb.1647877442.git.christophe.leroy@csgroup.eu
2022-05-08 22:15:40 +10:00
..
32 powerpc updates for 5.18 2022-03-25 09:39:36 -07:00
64 powerpc updates for 5.18 2022-03-25 09:39:36 -07:00
hugetlb-book3e.h powerpc/mm: cleanup ifdef mess in add_huge_page_size() 2019-05-03 01:20:23 +10:00
kup-booke.h powerpc: Add KUAP support for BOOKE and 40x 2021-12-09 22:41:19 +11:00
mmu-book3e.h powerpc/vdso: Replace vdso_base by vdso 2020-12-04 01:01:16 +11:00
mmu.h powerpc/mm: get rid of nohash/32/mmu.h and nohash/64/mmu.h 2019-05-03 01:20:24 +10:00
pgalloc.h powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case 2020-02-04 03:05:25 +00:00
pgtable.h powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at 2020-12-04 22:13:19 +11:00
pte-book3e.h powerpc/book3e: Fix set_memory_x() and set_memory_nx() 2021-10-28 00:41:29 +11:00
tlbflush.h powerpc/8xx: Simplify flush_tlb_kernel_range() 2022-05-08 22:15:40 +10:00