asm-generic updates for 6.9
Just two small updates this time: - A series I did to unify the definition of PAGE_SIZE through Kconfig, intended to help with a vdso rework that needs the constant but cannot include the normal kernel headers when building the compat VDSO on arm64 and potentially others. - a patch from Yan Zhao to remove the pfn_to_virt() definitions from a couple of architectures after finding they were both incorrect and entirely unused. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXwEjQACgkQYKtH/8kJ UifwHxAAqXl6R4cZtjUKxHpQoX7TTtBgWyZ9OID8KYt8V/QN+Jme6EhuGV/5CJ1k 5n30PuDvSKPB9865HfCZgh0BDSzSFo2xtc/bDuqiPHO5deNhXUDKX5MowIs3Pf2J EM1OJYiXG/g9vR19uaHvWVA4I1eJk01+Pl5nZ3DA+n9ZYcnM35+HO7EQcH80FGwz jkjN1HizxDmuMDDKn24hrSt6mVoE54JWyeDvklbY4CbwZbtFbtBJiFv3NWTfaxSf MPR1fopgaAkT0aJzUXOh36qDodyqR2tz4M7ucpRKa6/YlOewDN59tFwgwtun0s74 lLJPBqQ6cT8no1VODNnKPb1M5Jh3uzsF1fuhnU6B06Z+1s7sxxqOli1Q0yrpivYY SCAh6WmiCMhHeP/sxfQHRhhrx9l0gOarXh7s4wRJFp+LAi59NuUTeJotoOfboX4M ozeFgW1Rlr+wORzUargRnQiXMLObC/RFdogLgiBJwa8XOI8bOPZg9JfAUPOwbfa2 37IFZRleu+V2NaBF8rS5wRGI8hVp99XSMjlskKLM/645doqNq1cyR9UO68jb1hhF d5X2+BEaEJTHJbXEQ9YtThpNWYzHXL5dFswVJfHDs+CW1FWi5GVqCufZGzr7xihy uNLlVqXLhjM+hU2dDoS4ZshygxN3b8f2qa+GtlIMBYrLcbcjxd4= =X4Cs -----END PGP SIGNATURE----- Merge tag 'asm-generic-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic Pull asm-generic updates from Arnd Bergmann: "Just two small updates this time: - A series I did to unify the definition of PAGE_SIZE through Kconfig, intended to help with a vdso rework that needs the constant but cannot include the normal kernel headers when building the compat VDSO on arm64 and potentially others - a patch from Yan Zhao to remove the pfn_to_virt() definitions from a couple of architectures after finding they were both incorrect and entirely unused" * tag 'asm-generic-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: arch: define CONFIG_PAGE_SIZE_*KB on all architectures arch: simplify architecture specific page size configuration arch: consolidate existing CONFIG_PAGE_SIZE_*KB definitions mm: Remove broken pfn_to_virt() on arch csky/hexagon/openrisc
This commit is contained in:
commit
65d287c7eb
94
arch/Kconfig
94
arch/Kconfig
@ -1078,17 +1078,107 @@ config HAVE_ARCH_COMPAT_MMAP_BASES
|
||||
and vice-versa 32-bit applications to call 64-bit mmap().
|
||||
Required for applications doing different bitness syscalls.
|
||||
|
||||
config HAVE_PAGE_SIZE_4KB
|
||||
bool
|
||||
|
||||
config HAVE_PAGE_SIZE_8KB
|
||||
bool
|
||||
|
||||
config HAVE_PAGE_SIZE_16KB
|
||||
bool
|
||||
|
||||
config HAVE_PAGE_SIZE_32KB
|
||||
bool
|
||||
|
||||
config HAVE_PAGE_SIZE_64KB
|
||||
bool
|
||||
|
||||
config HAVE_PAGE_SIZE_256KB
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "MMU page size"
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
bool "4KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_4KB
|
||||
help
|
||||
This option select the standard 4KiB Linux page size and the only
|
||||
available option on many architectures. Using 4KiB page size will
|
||||
minimize memory consumption and is therefore recommended for low
|
||||
memory systems.
|
||||
Some software that is written for x86 systems makes incorrect
|
||||
assumptions about the page size and only runs on 4KiB pages.
|
||||
|
||||
config PAGE_SIZE_8KB
|
||||
bool "8KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_8KB
|
||||
help
|
||||
This option is the only supported page size on a few older
|
||||
processors, and can be slightly faster than 4KiB pages.
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
bool "16KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_16KB
|
||||
help
|
||||
This option is usually a good compromise between memory
|
||||
consumption and performance for typical desktop and server
|
||||
workloads, often saving a level of page table lookups compared
|
||||
to 4KB pages as well as reducing TLB pressure and overhead of
|
||||
per-page operations in the kernel at the expense of a larger
|
||||
page cache.
|
||||
|
||||
config PAGE_SIZE_32KB
|
||||
bool "32KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_32KB
|
||||
help
|
||||
Using 32KiB page size will result in slightly higher performance
|
||||
kernel at the price of higher memory consumption compared to
|
||||
16KiB pages. This option is available only on cnMIPS cores.
|
||||
Note that you will need a suitable Linux distribution to
|
||||
support this.
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
bool "64KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_64KB
|
||||
help
|
||||
Using 64KiB page size will result in slightly higher performance
|
||||
kernel at the price of much higher memory consumption compared to
|
||||
4KiB or 16KiB pages.
|
||||
This is not suitable for general-purpose workloads but the
|
||||
better performance may be worth the cost for certain types of
|
||||
supercomputing or database applications that work mostly with
|
||||
large in-memory data rather than small files.
|
||||
|
||||
config PAGE_SIZE_256KB
|
||||
bool "256KiB pages"
|
||||
depends on HAVE_PAGE_SIZE_256KB
|
||||
help
|
||||
256KiB pages have little practical value due to their extreme
|
||||
memory usage. The kernel will only be able to run applications
|
||||
that have been compiled with '-zmax-page-size' set to 256KiB
|
||||
(the default is 64KiB or 4KiB on most architectures).
|
||||
|
||||
endchoice
|
||||
|
||||
config PAGE_SIZE_LESS_THAN_64KB
|
||||
def_bool y
|
||||
depends on !ARM64_64K_PAGES
|
||||
depends on !PAGE_SIZE_64KB
|
||||
depends on !PARISC_PAGE_SIZE_64KB
|
||||
depends on PAGE_SIZE_LESS_THAN_256KB
|
||||
|
||||
config PAGE_SIZE_LESS_THAN_256KB
|
||||
def_bool y
|
||||
depends on !PAGE_SIZE_256KB
|
||||
|
||||
config PAGE_SHIFT
|
||||
int
|
||||
default 12 if PAGE_SIZE_4KB
|
||||
default 13 if PAGE_SIZE_8KB
|
||||
default 14 if PAGE_SIZE_16KB
|
||||
default 15 if PAGE_SIZE_32KB
|
||||
default 16 if PAGE_SIZE_64KB
|
||||
default 18 if PAGE_SIZE_256KB
|
||||
|
||||
# This allows to use a set of generic functions to determine mmap base
|
||||
# address by giving priority to top-down scheme only if the process
|
||||
# is not in legacy mode (compat task, unlimited stack size or
|
||||
|
@ -14,6 +14,7 @@ config ALPHA
|
||||
select PCI_DOMAINS if PCI
|
||||
select PCI_SYSCALL if PCI
|
||||
select HAVE_ASM_MODVERSIONS
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
select HAVE_PCSPKR_PLATFORM
|
||||
select HAVE_PERF_EVENTS
|
||||
select NEED_DMA_MAP_STATE
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include <asm/pal.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT 13
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -284,14 +284,17 @@ choice
|
||||
|
||||
config ARC_PAGE_SIZE_8K
|
||||
bool "8KB"
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
help
|
||||
Choose between 8k vs 16k
|
||||
|
||||
config ARC_PAGE_SIZE_16K
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
bool "16KB"
|
||||
|
||||
config ARC_PAGE_SIZE_4K
|
||||
bool "4KB"
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
depends on ARC_MMU_V3 || ARC_MMU_V4
|
||||
|
||||
endchoice
|
||||
|
@ -13,10 +13,8 @@
|
||||
#include <linux/const.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#if defined(CONFIG_ARC_PAGE_SIZE_16K)
|
||||
#define PAGE_SHIFT 14
|
||||
#elif defined(CONFIG_ARC_PAGE_SIZE_4K)
|
||||
#define PAGE_SHIFT 12
|
||||
#ifdef __KERNEL__
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#else
|
||||
/*
|
||||
* Default 8k
|
||||
|
@ -116,6 +116,7 @@ config ARM
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_NMI
|
||||
select HAVE_OPTPROBES if !THUMB2_KERNEL
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCI if MMU
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_REGS
|
||||
|
@ -8,7 +8,7 @@
|
||||
#define _ASMARM_PAGE_H
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
|
||||
|
||||
|
@ -277,27 +277,21 @@ config 64BIT
|
||||
config MMU
|
||||
def_bool y
|
||||
|
||||
config ARM64_PAGE_SHIFT
|
||||
int
|
||||
default 16 if ARM64_64K_PAGES
|
||||
default 14 if ARM64_16K_PAGES
|
||||
default 12
|
||||
|
||||
config ARM64_CONT_PTE_SHIFT
|
||||
int
|
||||
default 5 if ARM64_64K_PAGES
|
||||
default 7 if ARM64_16K_PAGES
|
||||
default 5 if PAGE_SIZE_64KB
|
||||
default 7 if PAGE_SIZE_16KB
|
||||
default 4
|
||||
|
||||
config ARM64_CONT_PMD_SHIFT
|
||||
int
|
||||
default 5 if ARM64_64K_PAGES
|
||||
default 5 if ARM64_16K_PAGES
|
||||
default 5 if PAGE_SIZE_64KB
|
||||
default 5 if PAGE_SIZE_16KB
|
||||
default 4
|
||||
|
||||
config ARCH_MMAP_RND_BITS_MIN
|
||||
default 14 if ARM64_64K_PAGES
|
||||
default 16 if ARM64_16K_PAGES
|
||||
default 14 if PAGE_SIZE_64KB
|
||||
default 16 if PAGE_SIZE_16KB
|
||||
default 18
|
||||
|
||||
# max bits determined by the following formula:
|
||||
@ -1259,11 +1253,13 @@ choice
|
||||
|
||||
config ARM64_4K_PAGES
|
||||
bool "4KB"
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
help
|
||||
This feature enables 4KB pages support.
|
||||
|
||||
config ARM64_16K_PAGES
|
||||
bool "16KB"
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
help
|
||||
The system will use 16KB pages support. AArch32 emulation
|
||||
requires applications compiled with 16K (or a multiple of 16K)
|
||||
@ -1271,6 +1267,7 @@ config ARM64_16K_PAGES
|
||||
|
||||
config ARM64_64K_PAGES
|
||||
bool "64KB"
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
help
|
||||
This feature enables 64KB pages support (4KB by default)
|
||||
allowing only two levels of page tables and faster TLB
|
||||
@ -1291,19 +1288,19 @@ choice
|
||||
|
||||
config ARM64_VA_BITS_36
|
||||
bool "36-bit" if EXPERT
|
||||
depends on ARM64_16K_PAGES
|
||||
depends on PAGE_SIZE_16KB
|
||||
|
||||
config ARM64_VA_BITS_39
|
||||
bool "39-bit"
|
||||
depends on ARM64_4K_PAGES
|
||||
depends on PAGE_SIZE_4KB
|
||||
|
||||
config ARM64_VA_BITS_42
|
||||
bool "42-bit"
|
||||
depends on ARM64_64K_PAGES
|
||||
depends on PAGE_SIZE_64KB
|
||||
|
||||
config ARM64_VA_BITS_47
|
||||
bool "47-bit"
|
||||
depends on ARM64_16K_PAGES
|
||||
depends on PAGE_SIZE_16KB
|
||||
|
||||
config ARM64_VA_BITS_48
|
||||
bool "48-bit"
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <linux/const.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT CONFIG_ARM64_PAGE_SHIFT
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -89,6 +89,7 @@ config CSKY
|
||||
select HAVE_KPROBES if !CPU_CK610
|
||||
select HAVE_KPROBES_ON_FTRACE if !CPU_CK610
|
||||
select HAVE_KRETPROBES if !CPU_CK610
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_REGS
|
||||
select HAVE_PERF_USER_STACK_DUMP
|
||||
|
@ -10,7 +10,7 @@
|
||||
/*
|
||||
* PAGE_SHIFT determines the page size: 4KB
|
||||
*/
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE - 1))
|
||||
#define THREAD_SIZE (PAGE_SIZE * 2)
|
||||
@ -82,11 +82,6 @@ static inline unsigned long virt_to_pfn(const void *kaddr)
|
||||
return __pa(kaddr) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
static inline void * pfn_to_virt(unsigned long pfn)
|
||||
{
|
||||
return (void *)((unsigned long)__va(pfn) << PAGE_SHIFT);
|
||||
}
|
||||
|
||||
#define MAP_NR(x) PFN_DOWN((unsigned long)(x) - PAGE_OFFSET - \
|
||||
PHYS_OFFSET_OFFSET)
|
||||
#define virt_to_page(x) (mem_map + MAP_NR(x))
|
||||
|
@ -8,6 +8,10 @@ config HEXAGON
|
||||
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
||||
select ARCH_NO_PREEMPT
|
||||
select DMA_GLOBAL_POOL
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
select HAVE_PAGE_SIZE_256KB
|
||||
# Other pending projects/to-do items.
|
||||
# select HAVE_REGS_AND_STACK_ACCESS_API
|
||||
# select HAVE_HW_BREAKPOINT if PERF_EVENTS
|
||||
@ -120,26 +124,6 @@ config NR_CPUS
|
||||
This is purely to save memory - each supported CPU adds
|
||||
approximately eight kilobytes to the kernel image.
|
||||
|
||||
choice
|
||||
prompt "Kernel page size"
|
||||
default PAGE_SIZE_4KB
|
||||
help
|
||||
Changes the default page size; use with caution.
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
bool "4KB"
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
bool "16KB"
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
bool "64KB"
|
||||
|
||||
config PAGE_SIZE_256KB
|
||||
bool "256KB"
|
||||
|
||||
endchoice
|
||||
|
||||
source "kernel/Kconfig.hz"
|
||||
|
||||
endmenu
|
||||
|
@ -13,27 +13,22 @@
|
||||
/* This is probably not the most graceful way to handle this. */
|
||||
|
||||
#ifdef CONFIG_PAGE_SIZE_4KB
|
||||
#define PAGE_SHIFT 12
|
||||
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_4KB
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PAGE_SIZE_16KB
|
||||
#define PAGE_SHIFT 14
|
||||
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_16KB
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PAGE_SIZE_64KB
|
||||
#define PAGE_SHIFT 16
|
||||
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_64KB
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PAGE_SIZE_256KB
|
||||
#define PAGE_SHIFT 18
|
||||
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_256KB
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PAGE_SIZE_1MB
|
||||
#define PAGE_SHIFT 20
|
||||
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_1MB
|
||||
#endif
|
||||
|
||||
@ -50,6 +45,7 @@
|
||||
#define HVM_HUGEPAGE_SIZE 0x5
|
||||
#endif
|
||||
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
|
||||
|
||||
@ -133,12 +129,6 @@ static inline unsigned long virt_to_pfn(const void *kaddr)
|
||||
return __pa(kaddr) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
static inline void *pfn_to_virt(unsigned long pfn)
|
||||
{
|
||||
return (void *)((unsigned long)__va(pfn) << PAGE_SHIFT);
|
||||
}
|
||||
|
||||
|
||||
#define page_to_virt(page) __va(page_to_phys(page))
|
||||
|
||||
#include <asm/mem-layout.h>
|
||||
|
@ -227,15 +227,6 @@ config MACH_LOONGSON64
|
||||
config FIX_EARLYCON_MEM
|
||||
def_bool y
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
bool
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
bool
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
bool
|
||||
|
||||
config PGTABLE_2LEVEL
|
||||
bool
|
||||
|
||||
@ -288,7 +279,7 @@ choice
|
||||
|
||||
config 4KB_3LEVEL
|
||||
bool "4KB with 3 levels"
|
||||
select PAGE_SIZE_4KB
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select PGTABLE_3LEVEL
|
||||
help
|
||||
This option selects 4KB page size with 3 level page tables, which
|
||||
@ -296,7 +287,7 @@ config 4KB_3LEVEL
|
||||
|
||||
config 4KB_4LEVEL
|
||||
bool "4KB with 4 levels"
|
||||
select PAGE_SIZE_4KB
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select PGTABLE_4LEVEL
|
||||
help
|
||||
This option selects 4KB page size with 4 level page tables, which
|
||||
@ -304,7 +295,7 @@ config 4KB_4LEVEL
|
||||
|
||||
config 16KB_2LEVEL
|
||||
bool "16KB with 2 levels"
|
||||
select PAGE_SIZE_16KB
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
select PGTABLE_2LEVEL
|
||||
help
|
||||
This option selects 16KB page size with 2 level page tables, which
|
||||
@ -312,7 +303,7 @@ config 16KB_2LEVEL
|
||||
|
||||
config 16KB_3LEVEL
|
||||
bool "16KB with 3 levels"
|
||||
select PAGE_SIZE_16KB
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
select PGTABLE_3LEVEL
|
||||
help
|
||||
This option selects 16KB page size with 3 level page tables, which
|
||||
@ -320,7 +311,7 @@ config 16KB_3LEVEL
|
||||
|
||||
config 64KB_2LEVEL
|
||||
bool "64KB with 2 levels"
|
||||
select PAGE_SIZE_64KB
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
select PGTABLE_2LEVEL
|
||||
help
|
||||
This option selects 64KB page size with 2 level page tables, which
|
||||
@ -328,7 +319,7 @@ config 64KB_2LEVEL
|
||||
|
||||
config 64KB_3LEVEL
|
||||
bool "64KB with 3 levels"
|
||||
select PAGE_SIZE_64KB
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
select PGTABLE_3LEVEL
|
||||
help
|
||||
This option selects 64KB page size with 3 level page tables, which
|
||||
|
@ -11,15 +11,7 @@
|
||||
/*
|
||||
* PAGE_SHIFT determines the page size
|
||||
*/
|
||||
#ifdef CONFIG_PAGE_SIZE_4KB
|
||||
#define PAGE_SHIFT 12
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_16KB
|
||||
#define PAGE_SHIFT 14
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_64KB
|
||||
#define PAGE_SHIFT 16
|
||||
#endif
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE - 1))
|
||||
|
||||
|
@ -84,12 +84,15 @@ config MMU
|
||||
|
||||
config MMU_MOTOROLA
|
||||
bool
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
|
||||
config MMU_COLDFIRE
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
bool
|
||||
|
||||
config MMU_SUN3
|
||||
bool
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE
|
||||
|
||||
config ARCH_SUPPORTS_KEXEC
|
||||
|
@ -30,6 +30,7 @@ config COLDFIRE
|
||||
select GENERIC_CSUM
|
||||
select GPIOLIB
|
||||
select HAVE_LEGACY_CLK
|
||||
select HAVE_PAGE_SIZE_8KB if !MMU
|
||||
|
||||
endchoice
|
||||
|
||||
@ -45,6 +46,7 @@ config M68000
|
||||
select GENERIC_CSUM
|
||||
select CPU_NO_EFFICIENT_FFS
|
||||
select HAVE_ARCH_HASH
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
The Freescale (was Motorola) 68000 CPU is the first generation of
|
||||
|
@ -7,11 +7,7 @@
|
||||
#include <asm/page_offset.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE)
|
||||
#define PAGE_SHIFT 13
|
||||
#else
|
||||
#define PAGE_SHIFT 12
|
||||
#endif
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define PAGE_OFFSET (PAGE_OFFSET_RAW)
|
||||
|
@ -31,6 +31,7 @@ config MICROBLAZE
|
||||
select HAVE_FTRACE_MCOUNT_RECORD
|
||||
select HAVE_FUNCTION_GRAPH_TRACER
|
||||
select HAVE_FUNCTION_TRACER
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCI
|
||||
select IRQ_DOMAIN
|
||||
select XILINX_INTC
|
||||
|
@ -20,7 +20,7 @@
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -81,6 +81,9 @@ config MIPS
|
||||
select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_NMI
|
||||
select HAVE_PAGE_SIZE_4KB if !CPU_LOONGSON2EF && !CPU_LOONGSON64
|
||||
select HAVE_PAGE_SIZE_16KB if !CPU_R3000
|
||||
select HAVE_PAGE_SIZE_64KB if !CPU_R3000
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_REGS
|
||||
select HAVE_PERF_USER_STACK_DUMP
|
||||
@ -1608,6 +1611,8 @@ config CPU_CAVIUM_OCTEON
|
||||
depends on SYS_HAS_CPU_CAVIUM_OCTEON
|
||||
select CPU_HAS_PREFETCH
|
||||
select CPU_SUPPORTS_64BIT_KERNEL
|
||||
select HAVE_PAGE_SIZE_8KB if !MIPS_VA_BITS_48
|
||||
select HAVE_PAGE_SIZE_32KB if !MIPS_VA_BITS_48
|
||||
select WEAK_ORDERING
|
||||
select CPU_SUPPORTS_HIGHMEM
|
||||
select CPU_SUPPORTS_HUGEPAGES
|
||||
@ -2029,59 +2034,6 @@ config ZBOOT_LOAD_ADDRESS
|
||||
|
||||
This is only used if non-zero.
|
||||
|
||||
choice
|
||||
prompt "Kernel page size"
|
||||
default PAGE_SIZE_4KB
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
bool "4kB"
|
||||
depends on !CPU_LOONGSON2EF && !CPU_LOONGSON64
|
||||
help
|
||||
This option select the standard 4kB Linux page size. On some
|
||||
R3000-family processors this is the only available page size. Using
|
||||
4kB page size will minimize memory consumption and is therefore
|
||||
recommended for low memory systems.
|
||||
|
||||
config PAGE_SIZE_8KB
|
||||
bool "8kB"
|
||||
depends on CPU_CAVIUM_OCTEON
|
||||
depends on !MIPS_VA_BITS_48
|
||||
help
|
||||
Using 8kB page size will result in higher performance kernel at
|
||||
the price of higher memory consumption. This option is available
|
||||
only on cnMIPS processors. Note that you will need a suitable Linux
|
||||
distribution to support this.
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
bool "16kB"
|
||||
depends on !CPU_R3000
|
||||
help
|
||||
Using 16kB page size will result in higher performance kernel at
|
||||
the price of higher memory consumption. This option is available on
|
||||
all non-R3000 family processors. Note that you will need a suitable
|
||||
Linux distribution to support this.
|
||||
|
||||
config PAGE_SIZE_32KB
|
||||
bool "32kB"
|
||||
depends on CPU_CAVIUM_OCTEON
|
||||
depends on !MIPS_VA_BITS_48
|
||||
help
|
||||
Using 32kB page size will result in higher performance kernel at
|
||||
the price of higher memory consumption. This option is available
|
||||
only on cnMIPS cores. Note that you will need a suitable Linux
|
||||
distribution to support this.
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
bool "64kB"
|
||||
depends on !CPU_R3000
|
||||
help
|
||||
Using 64kB page size will result in higher performance kernel at
|
||||
the price of higher memory consumption. This option is available on
|
||||
all non-R3000 family processor. Not that at the time of this
|
||||
writing this option is still high experimental.
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH_FORCE_MAX_ORDER
|
||||
int "Maximum zone order"
|
||||
default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
|
||||
|
@ -17,21 +17,7 @@
|
||||
/*
|
||||
* PAGE_SHIFT determines the page size
|
||||
*/
|
||||
#ifdef CONFIG_PAGE_SIZE_4KB
|
||||
#define PAGE_SHIFT 12
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_8KB
|
||||
#define PAGE_SHIFT 13
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_16KB
|
||||
#define PAGE_SHIFT 14
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_32KB
|
||||
#define PAGE_SHIFT 15
|
||||
#endif
|
||||
#ifdef CONFIG_PAGE_SIZE_64KB
|
||||
#define PAGE_SHIFT 16
|
||||
#endif
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
|
||||
|
||||
|
@ -15,6 +15,7 @@ config NIOS2
|
||||
select GENERIC_IRQ_SHOW
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_ARCH_KGDB
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select IRQ_DOMAIN
|
||||
select LOCK_MM_AND_FIND_VMA
|
||||
select MODULES_USE_ELF_RELA
|
||||
|
@ -21,7 +21,7 @@
|
||||
/*
|
||||
* PAGE_SHIFT determines the page size
|
||||
*/
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE - 1))
|
||||
|
||||
|
@ -25,6 +25,7 @@ config OPENRISC
|
||||
select GENERIC_CPU_DEVICES
|
||||
select HAVE_PCI
|
||||
select HAVE_UID16
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
select GENERIC_ATOMIC64
|
||||
select GENERIC_CLOCKEVENTS_BROADCAST
|
||||
select GENERIC_SMP_IDLE_THREAD
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
|
||||
#define PAGE_SHIFT 13
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#ifdef __ASSEMBLY__
|
||||
#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
#else
|
||||
@ -77,11 +77,6 @@ static inline unsigned long virt_to_pfn(const void *kaddr)
|
||||
return __pa(kaddr) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
static inline void * pfn_to_virt(unsigned long pfn)
|
||||
{
|
||||
return (void *)((unsigned long)__va(pfn) << PAGE_SHIFT);
|
||||
}
|
||||
|
||||
#define virt_to_page(addr) \
|
||||
(mem_map + (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT))
|
||||
|
||||
|
@ -273,6 +273,7 @@ choice
|
||||
|
||||
config PARISC_PAGE_SIZE_4KB
|
||||
bool "4KB"
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
help
|
||||
This lets you select the page size of the kernel. For best
|
||||
performance, a page size of 16KB is recommended. For best
|
||||
@ -288,10 +289,12 @@ config PARISC_PAGE_SIZE_4KB
|
||||
|
||||
config PARISC_PAGE_SIZE_16KB
|
||||
bool "16KB"
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
depends on PA8X00 && BROKEN && !KFENCE
|
||||
|
||||
config PARISC_PAGE_SIZE_64KB
|
||||
bool "64KB"
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
depends on PA8X00 && BROKEN && !KFENCE
|
||||
|
||||
endchoice
|
||||
|
@ -4,15 +4,7 @@
|
||||
|
||||
#include <linux/const.h>
|
||||
|
||||
#if defined(CONFIG_PARISC_PAGE_SIZE_4KB)
|
||||
# define PAGE_SHIFT 12
|
||||
#elif defined(CONFIG_PARISC_PAGE_SIZE_16KB)
|
||||
# define PAGE_SHIFT 14
|
||||
#elif defined(CONFIG_PARISC_PAGE_SIZE_64KB)
|
||||
# define PAGE_SHIFT 16
|
||||
#else
|
||||
# error "unknown default kernel page size"
|
||||
#endif
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -212,7 +212,7 @@ config PPC
|
||||
select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx
|
||||
select HAVE_ARCH_JUMP_LABEL
|
||||
select HAVE_ARCH_JUMP_LABEL_RELATIVE
|
||||
select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14
|
||||
select HAVE_ARCH_KASAN if PPC32 && PAGE_SHIFT <= 14
|
||||
select HAVE_ARCH_KASAN if PPC_RADIX_MMU
|
||||
select HAVE_ARCH_KASAN if PPC_BOOK3E_64
|
||||
select HAVE_ARCH_KASAN_VMALLOC if HAVE_ARCH_KASAN
|
||||
@ -809,19 +809,23 @@ choice
|
||||
config PPC_4K_PAGES
|
||||
bool "4k page size"
|
||||
select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
|
||||
config PPC_16K_PAGES
|
||||
bool "16k page size"
|
||||
depends on 44x || PPC_8xx
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
|
||||
config PPC_64K_PAGES
|
||||
bool "64k page size"
|
||||
depends on 44x || PPC_BOOK3S_64
|
||||
select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
|
||||
config PPC_256K_PAGES
|
||||
bool "256k page size (Requires non-standard binutils settings)"
|
||||
depends on 44x && !PPC_47x
|
||||
select HAVE_PAGE_SIZE_256KB
|
||||
help
|
||||
Make the page size 256k.
|
||||
|
||||
@ -832,29 +836,6 @@ config PPC_256K_PAGES
|
||||
|
||||
endchoice
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
def_bool y
|
||||
depends on PPC_4K_PAGES
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
def_bool y
|
||||
depends on PPC_16K_PAGES
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
def_bool y
|
||||
depends on PPC_64K_PAGES
|
||||
|
||||
config PAGE_SIZE_256KB
|
||||
def_bool y
|
||||
depends on PPC_256K_PAGES
|
||||
|
||||
config PPC_PAGE_SHIFT
|
||||
int
|
||||
default 18 if PPC_256K_PAGES
|
||||
default 16 if PPC_64K_PAGES
|
||||
default 14 if PPC_16K_PAGES
|
||||
default 12
|
||||
|
||||
config THREAD_SHIFT
|
||||
int "Thread shift" if EXPERT
|
||||
range 13 15
|
||||
@ -891,7 +872,7 @@ config DATA_SHIFT
|
||||
default 23 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx && PIN_TLB_DATA
|
||||
default 19 if (DEBUG_PAGEALLOC || KFENCE) && PPC_8xx
|
||||
default 24 if STRICT_KERNEL_RWX && PPC_85xx
|
||||
default PPC_PAGE_SHIFT
|
||||
default PAGE_SHIFT
|
||||
help
|
||||
On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO.
|
||||
Smaller is the alignment, greater is the number of necessary DBATs.
|
||||
|
@ -21,7 +21,7 @@
|
||||
* page size. When using 64K pages however, whether we are really supporting
|
||||
* 64K pages in HW or not is irrelevant to those definitions.
|
||||
*/
|
||||
#define PAGE_SHIFT CONFIG_PPC_PAGE_SHIFT
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
@ -136,6 +136,7 @@ config RISCV
|
||||
select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if !LD_IS_LLD
|
||||
select HAVE_MOVE_PMD
|
||||
select HAVE_MOVE_PUD
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCI
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_REGS
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <linux/pfn.h>
|
||||
#include <linux/const.h>
|
||||
|
||||
#define PAGE_SHIFT (12)
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE - 1))
|
||||
|
||||
|
@ -200,6 +200,7 @@ config S390
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_NMI
|
||||
select HAVE_NOP_MCOUNT
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCI
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_REGS
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <linux/const.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#define _PAGE_SHIFT 12
|
||||
#define _PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define _PAGE_SIZE (_AC(1, UL) << _PAGE_SHIFT)
|
||||
#define _PAGE_MASK (~(_PAGE_SIZE - 1))
|
||||
|
||||
|
@ -9,18 +9,7 @@
|
||||
#include <linux/const.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#if defined(CONFIG_PAGE_SIZE_4KB)
|
||||
# define PAGE_SHIFT 12
|
||||
#elif defined(CONFIG_PAGE_SIZE_8KB)
|
||||
# define PAGE_SHIFT 13
|
||||
#elif defined(CONFIG_PAGE_SIZE_16KB)
|
||||
# define PAGE_SHIFT 14
|
||||
#elif defined(CONFIG_PAGE_SIZE_64KB)
|
||||
# define PAGE_SHIFT 16
|
||||
#else
|
||||
# error "Bogus kernel page size?"
|
||||
#endif
|
||||
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define PTE_MASK PAGE_MASK
|
||||
|
@ -4,6 +4,9 @@ menu "Memory management options"
|
||||
config MMU
|
||||
bool "Support for memory management hardware"
|
||||
depends on !CPU_SH2
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PAGE_SIZE_8KB if X2TLB
|
||||
select HAVE_PAGE_SIZE_64KB if CPU_SH4
|
||||
default y
|
||||
help
|
||||
Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to
|
||||
@ -13,6 +16,15 @@ config MMU
|
||||
turning this off will boot the kernel on these machines with the
|
||||
MMU implicitly switched off.
|
||||
|
||||
config NOMMU
|
||||
def_bool !MMU
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
select HAVE_PAGE_SIZE_16KB
|
||||
select HAVE_PAGE_SIZE_64KB
|
||||
help
|
||||
On MMU-less systems, any of these page sizes can be selected
|
||||
|
||||
config PAGE_OFFSET
|
||||
hex
|
||||
default "0x80000000" if MMU
|
||||
@ -147,36 +159,6 @@ config HAVE_SRAM_POOL
|
||||
bool
|
||||
select GENERIC_ALLOCATOR
|
||||
|
||||
choice
|
||||
prompt "Kernel page size"
|
||||
default PAGE_SIZE_4KB
|
||||
|
||||
config PAGE_SIZE_4KB
|
||||
bool "4kB"
|
||||
help
|
||||
This is the default page size used by all SuperH CPUs.
|
||||
|
||||
config PAGE_SIZE_8KB
|
||||
bool "8kB"
|
||||
depends on !MMU || X2TLB
|
||||
help
|
||||
This enables 8kB pages as supported by SH-X2 and later MMUs.
|
||||
|
||||
config PAGE_SIZE_16KB
|
||||
bool "16kB"
|
||||
depends on !MMU
|
||||
help
|
||||
This enables 16kB pages on MMU-less SH systems.
|
||||
|
||||
config PAGE_SIZE_64KB
|
||||
bool "64kB"
|
||||
depends on !MMU || CPU_SH4
|
||||
help
|
||||
This enables support for 64kB pages, possible on all SH-4
|
||||
CPUs and later.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "HugeTLB page size"
|
||||
depends on HUGETLB_PAGE
|
||||
|
@ -58,6 +58,7 @@ config SPARC32
|
||||
select DMA_DIRECT_REMAP
|
||||
select GENERIC_ATOMIC64
|
||||
select HAVE_UID16
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select LOCK_MM_AND_FIND_VMA
|
||||
select OLD_SIGACTION
|
||||
select ZONE_DMA
|
||||
@ -75,6 +76,7 @@ config SPARC64
|
||||
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
||||
select HAVE_DYNAMIC_FTRACE
|
||||
select HAVE_FTRACE_MCOUNT_RECORD
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
select HAVE_SYSCALL_TRACEPOINTS
|
||||
select HAVE_CONTEXT_TRACKING_USER
|
||||
select HAVE_TIF_NOHZ
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#include <linux/const.h>
|
||||
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
#include <linux/const.h>
|
||||
|
||||
#define PAGE_SHIFT 13
|
||||
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -20,6 +20,7 @@ config UML
|
||||
select HAVE_UID16
|
||||
select HAVE_DEBUG_KMEMLEAK
|
||||
select HAVE_DEBUG_BUGVERBOSE
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select NO_DMA if !UML_DMA_EMULATION
|
||||
select OF_EARLY_FLATTREE if OF
|
||||
select GENERIC_IRQ_SHOW
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <linux/const.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -256,6 +256,7 @@ config X86
|
||||
select HAVE_NOINSTR_VALIDATION if HAVE_OBJTOOL
|
||||
select HAVE_OBJTOOL if X86_64
|
||||
select HAVE_OPTPROBES
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCSPKR_PLATFORM
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_PERF_EVENTS_NMI
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <linux/mem_encrypt.h>
|
||||
|
||||
/* PAGE_SHIFT determines the page size */
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -44,6 +44,7 @@ config XTENSA
|
||||
select HAVE_GCC_PLUGINS if GCC_VERSION >= 120000
|
||||
select HAVE_HW_BREAKPOINT if PERF_EVENTS
|
||||
select HAVE_IRQ_TIME_ACCOUNTING
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
select HAVE_PCI
|
||||
select HAVE_PERF_EVENTS
|
||||
select HAVE_STACKPROTECTOR
|
||||
|
@ -22,7 +22,7 @@
|
||||
* PAGE_SHIFT determines the page size
|
||||
*/
|
||||
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
|
||||
#define PAGE_SIZE (__XTENSA_UL_CONST(1) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
@ -139,7 +139,7 @@ LX_CONFIG(CONFIG_ARM64_64K_PAGES)
|
||||
if IS_BUILTIN(CONFIG_ARM64):
|
||||
LX_VALUE(CONFIG_ARM64_PA_BITS)
|
||||
LX_VALUE(CONFIG_ARM64_VA_BITS)
|
||||
LX_VALUE(CONFIG_ARM64_PAGE_SHIFT)
|
||||
LX_VALUE(CONFIG_PAGE_SHIFT)
|
||||
LX_VALUE(CONFIG_ARCH_FORCE_MAX_ORDER)
|
||||
LX_CONFIG(CONFIG_SPARSEMEM)
|
||||
LX_CONFIG(CONFIG_SPARSEMEM_EXTREME)
|
||||
|
@ -41,7 +41,7 @@ class aarch64_page_ops():
|
||||
self.SECTION_SIZE_BITS = 27
|
||||
self.MAX_PHYSMEM_BITS = constants.LX_CONFIG_ARM64_VA_BITS
|
||||
|
||||
self.PAGE_SHIFT = constants.LX_CONFIG_ARM64_PAGE_SHIFT
|
||||
self.PAGE_SHIFT = constants.LX_CONFIG_PAGE_SHIFT
|
||||
self.PAGE_SIZE = 1 << self.PAGE_SHIFT
|
||||
self.PAGE_MASK = (~(self.PAGE_SIZE - 1)) & ((1 << 64) - 1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user