linux/arch/powerpc
Aneesh Kumar K.V 66c570f545 powerpc/mm: use _raw variant of page table accessors
This switch few of the page table accessor to use the __raw variant
and does the cpu to big endian conversion of constants. This helps in
generating better code.

For ex: a pgd_none(pgd) check with and without fix is listed below

Without fix:
------------
   2240:	20 00 61 eb 	ld      r27,32(r1)
/* PGD level */
typedef struct { __be64 pgd; } pgd_t;
static inline unsigned long pgd_val(pgd_t x)
{
	return be64_to_cpu(x.pgd);

    2244:	22 00 66 78 	rldicl  r6,r3,32,32
    2248:	3e 40 7d 54 	rotlwi  r29,r3,8
    224c:	0e c0 7d 50 	rlwimi  r29,r3,24,0,7
    2250:	3e 40 c5 54 	rotlwi  r5,r6,8
    2254:	2e c4 7d 50 	rlwimi  r29,r3,24,16,23
    2258:	0e c0 c5 50 	rlwimi  r5,r6,24,0,7
    225c:	2e c4 c5 50 	rlwimi  r5,r6,24,16,23
    2260:	c6 07 bd 7b 	rldicr  r29,r29,32,31
    2264:	78 2b bd 7f 	or      r29,r29,r5
		if (pgd_none(pgd))
    2268:	00 00 bd 2f 	cmpdi   cr7,r29,0
    226c:	54 03 9e 41 	beq     cr7,25c0 <__get_user_pages_fast+0x500>

With fix:
---------
    2370:	20 00 61 eb 	ld      r27,32(r1)
		if (pgd_none(pgd))
    2374:	00 00 bd 2f 	cmpdi   cr7,r29,0
    2378:	a8 03 9e 41 	beq     cr7,2720 <__get_user_pages_fast+0x530>
			break;
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17 16:42:51 +10:00
..
boot powerpc/boot: Add OPAL console to epapr wrappers 2016-07-05 23:58:54 +10:00
configs powerpc/pseries: Auto-online hotplugged memory 2016-07-15 20:18:37 +10:00
crypto powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
include powerpc/mm: use _raw variant of page table accessors 2016-07-17 16:42:51 +10:00
kernel powerpc/pci: Don't try to allocate resources that will be reassigned 2016-07-17 16:42:49 +10:00
kvm powerpc/powernv: Rename reusable idle functions to hardware agnostic names 2016-07-15 20:18:39 +10:00
lib powerpc/lib: Clarify that adde is an instruction and we mean plural 2016-07-15 20:18:37 +10:00
math-emu
mm powerpc/mm/radix: Update LPCR HR bit as per ISA 2016-07-17 16:42:50 +10:00
net powerpc/ebpf/jit: Implement JIT compiler for extended BPF 2016-06-24 15:17:57 +10:00
oprofile powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
perf powerpc/perf: Export Power9 generic and cache events to sysfs 2016-07-05 23:49:48 +10:00
platforms powerpc/powernv/pci: Check status of a PHB before using it 2016-07-17 16:42:49 +10:00
scripts powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel 2016-03-07 14:53:56 +11:00
sysdev powerpc/xics: Add ICP OPAL backend 2016-07-17 16:42:45 +10:00
xmon powerpc/xmon: Dump ISA 2.07 SPRs 2016-07-14 20:26:24 +10:00
Kconfig powerpc/ebpf/jit: Implement JIT compiler for extended BPF 2016-06-24 15:17:57 +10:00
Kconfig.debug powerpc/pseries: HVC early debug options should depend on HVC_CONSOLE 2016-07-15 15:02:26 +10:00
Makefile powerpc/sparse: Pass endianness to sparse 2016-07-14 20:44:03 +10:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00