mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
UPSTREAM: x86: mm: add p?d_leaf() definitions
walk_page_range() is going to be allowed to walk page tables other than those of user space. For this it needs to know when it has reached a 'leaf' entry in the page tables. This information is provided by the p?d_leaf() functions/macros. For x86 we already have p?d_large() functions, so simply add macros to provide the generic p?d_leaf() names for the generic code. Moto-CRs-Fixed:(CR) Link: http://lkml.kernel.org/r/20191218162402.45610-11-steven.price@arm.com Change-Id: Ie5684899f3e89133422324fa2ce12d9f0740fee9 Signed-off-by: Steven Price <steven.price@arm.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Perry Lutomirski <luto@kernel.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: David S. Miller <davem@davemloft.net> Cc: He(CR) Carstens <he(CR).carstens@de.ibm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Hogan <jhogan@kernel.org> Cc: James Morse <james.morse@arm.com> Cc: Jerome Glisse <jglisse@redhat.com> Cc: "Liang, Kan" <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Racer_turbo <paul.Racer_turbo@mips.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vasily Gorb(CR) <gor@linux.ibm.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Will Deacon <will@kernel.org> Cc: Zong Li <zong.li@sifive.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 757b2a4ab560b84d1859cfdfb9c7489af4ef5fd6) Bug: 261052246 Signed-off-by: Kalesh Singh <kaleshsingh@google.com> Reviewed-on: https://gerrit.mot.com/2491782 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
b84c1a93a8
commit
76f9f031cb
1 changed files with 5 additions and 0 deletions
|
|
@ -239,6 +239,7 @@ static inline unsigned long pgd_pfn(pgd_t pgd)
|
|||
return (pgd_val(pgd) & PTE_PFN_MASK) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
#define p4d_leaf p4d_large
|
||||
static inline int p4d_large(p4d_t p4d)
|
||||
{
|
||||
/* No 512 GiB pages yet */
|
||||
|
|
@ -247,6 +248,7 @@ static inline int p4d_large(p4d_t p4d)
|
|||
|
||||
#define pte_page(pte) pfn_to_page(pte_pfn(pte))
|
||||
|
||||
#define pmd_leaf pmd_large
|
||||
static inline int pmd_large(pmd_t pte)
|
||||
{
|
||||
return pmd_flags(pte) & _PAGE_PSE;
|
||||
|
|
@ -878,6 +880,7 @@ static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address)
|
|||
return (pmd_t *)pud_page_vaddr(*pud) + pmd_index(address);
|
||||
}
|
||||
|
||||
#define pud_leaf pud_large
|
||||
static inline int pud_large(pud_t pud)
|
||||
{
|
||||
return (pud_val(pud) & (_PAGE_PSE | _PAGE_PRESENT)) ==
|
||||
|
|
@ -889,6 +892,7 @@ static inline int pud_bad(pud_t pud)
|
|||
return (pud_flags(pud) & ~(_KERNPG_TABLE | _PAGE_USER)) != 0;
|
||||
}
|
||||
#else
|
||||
#define pud_leaf pud_large
|
||||
static inline int pud_large(pud_t pud)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -1237,6 +1241,7 @@ static inline bool pgdp_maps_userspace(void *__ptr)
|
|||
return (((ptr & ~PAGE_MASK) / sizeof(pgd_t)) < PGD_KERNEL_START);
|
||||
}
|
||||
|
||||
#define pgd_leaf pgd_large
|
||||
static inline int pgd_large(pgd_t pgd) { return 0; }
|
||||
|
||||
#ifdef CONFIG_PAGE_TABLE_ISOLATION
|
||||
|
|
|
|||
Loading…
Reference in a new issue