mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 11:56:12 +07:00
MIPS: Add hugetlbfs page defines.
Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
50a41ff292
commit
dd7943920b
@ -220,6 +220,22 @@
|
|||||||
#error Bad page size configuration!
|
#error Bad page size configuration!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default huge tlb size for a given kernel configuration
|
||||||
|
*/
|
||||||
|
#ifdef CONFIG_PAGE_SIZE_4KB
|
||||||
|
#define PM_HUGE_MASK PM_1M
|
||||||
|
#elif defined(CONFIG_PAGE_SIZE_8KB)
|
||||||
|
#define PM_HUGE_MASK PM_4M
|
||||||
|
#elif defined(CONFIG_PAGE_SIZE_16KB)
|
||||||
|
#define PM_HUGE_MASK PM_16M
|
||||||
|
#elif defined(CONFIG_PAGE_SIZE_32KB)
|
||||||
|
#define PM_HUGE_MASK PM_64M
|
||||||
|
#elif defined(CONFIG_PAGE_SIZE_64KB)
|
||||||
|
#define PM_HUGE_MASK PM_256M
|
||||||
|
#elif defined(CONFIG_HUGETLB_PAGE)
|
||||||
|
#error Bad page size configuration for hugetlbfs!
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Values used for computation of new tlb entries
|
* Values used for computation of new tlb entries
|
||||||
|
@ -32,6 +32,11 @@
|
|||||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||||
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
|
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
|
||||||
|
|
||||||
|
#define HPAGE_SHIFT (PAGE_SHIFT + PAGE_SHIFT - 3)
|
||||||
|
#define HPAGE_SIZE ((1UL) << HPAGE_SHIFT)
|
||||||
|
#define HPAGE_MASK (~(HPAGE_SIZE - 1))
|
||||||
|
#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
#include <linux/pfn.h>
|
#include <linux/pfn.h>
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
#define _PAGE_R4KBUG (1<<5) /* workaround for r4k bug */
|
#define _PAGE_R4KBUG (1<<5) /* workaround for r4k bug */
|
||||||
|
#define _PAGE_HUGE (1<<5) /* huge tlb page */
|
||||||
#define _PAGE_GLOBAL (1<<6)
|
#define _PAGE_GLOBAL (1<<6)
|
||||||
#define _PAGE_VALID (1<<7)
|
#define _PAGE_VALID (1<<7)
|
||||||
#define _PAGE_SILENT_READ (1<<7) /* synonym */
|
#define _PAGE_SILENT_READ (1<<7) /* synonym */
|
||||||
|
@ -292,6 +292,16 @@ static inline pte_t pte_mkyoung(pte_t pte)
|
|||||||
pte_val(pte) |= _PAGE_SILENT_READ;
|
pte_val(pte) |= _PAGE_SILENT_READ;
|
||||||
return pte;
|
return pte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _PAGE_HUGE
|
||||||
|
static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; }
|
||||||
|
|
||||||
|
static inline pte_t pte_mkhuge(pte_t pte)
|
||||||
|
{
|
||||||
|
pte_val(pte) |= _PAGE_HUGE;
|
||||||
|
return pte;
|
||||||
|
}
|
||||||
|
#endif /* _PAGE_HUGE */
|
||||||
#endif
|
#endif
|
||||||
static inline int pte_special(pte_t pte) { return 0; }
|
static inline int pte_special(pte_t pte) { return 0; }
|
||||||
static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
|
static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
|
||||||
|
Loading…
Reference in New Issue
Block a user