| /kernel/linux/linux-6.6/arch/sh/mm/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 9 Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to 12 On other systems (such as the SH-3 and 4) where an MMU exists, 28 The kernel page allocator limits the size of maximal physically 35 The page size is not necessarily 4KB. Keep this in mind when 77 bool "Support 32-bit physical addressing through PMB" 83 32-bits through the SH-4A PMB. If this is not set, legacy 84 29-bit physical addressing will be used. 91 bool "Support vsyscall page" 95 This will enable support for the kernel mapping a vDSO page [all …]
|
| /kernel/linux/linux-5.10/arch/sh/mm/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 9 Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to 12 On other systems (such as the SH-3 and 4) where an MMU exists, 41 The page size is not necessarily 4KB. Keep this in mind when 81 bool "Support 32-bit physical addressing through PMB" 87 32-bits through the SH-4A PMB. If this is not set, legacy 88 29-bit physical addressing will be used. 95 bool "Support vsyscall page" 99 This will enable support for the kernel mapping a vDSO page 104 For systems with an MMU that can afford to give up a page, [all …]
|
| /kernel/linux/linux-6.6/arch/loongarch/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 215 # MIPS Loongson code, to preserve Loongson-specific code paths in drivers that 248 default 4 if PGTABLE_4LEVEL 255 def_bool $(as-instr,x:pcalau12i \$t0$(comma)%pc_hi20(x)) 258 def_bool $(as-instr,movfcsr2gr \$t0$(comma)\$fcsr0) 261 def_bool $(as-instr,vld \$vr0$(comma)\$a0$(comma)0) 264 def_bool $(as-instr,xvld \$xr0$(comma)\$a0$(comma)0) 267 def_bool $(as-instr,movscr2gr \$a0$(comma)\$scr0) 274 prompt "Page Table Layout" 278 Allows choosing the page table layout, which is a combination [all …]
|
| /kernel/linux/linux-6.6/arch/ia64/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 int "Page Table Levels" if !IA64_PAGE_SIZE_64KB 4 range 3 4 if !IA64_PAGE_SIZE_64KB 72 The Itanium Processor Family is Intel's 64-bit successor to 73 the 32-bit X86 line. The IA-64 Linux project has a home 74 page at <http://www.linuxia64.org/> and a mailing list at 75 <linux-ia64@vger.kernel.org>. 129 Select your IA-64 processor type. The default is Itanium. 130 This choice is safe for all IA-64 systems, but may not perform 141 prompt "Kernel page size" [all …]
|
| /kernel/linux/linux-6.6/arch/s390/mm/ |
| D | pgalloc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Page table allocation functions 38 return register_sysctl("vm", page_table_sysctl) ? 0 : -ENOMEM; in page_table_register_sysctl() 66 if (current->active_mm == mm) { in __crst_table_upgrade() 67 S390_lowcore.user_asce = mm->context.asce; in __crst_table_upgrade() 76 unsigned long asce_limit = mm->context.asce_limit; in crst_table_upgrade() 78 /* upgrade should only happen from 3 to 4, 3 to 5, or 4 to 5 levels */ in crst_table_upgrade() 97 spin_lock_bh(&mm->page_table_lock); in crst_table_upgrade() 104 VM_BUG_ON(asce_limit != mm->context.asce_limit); in crst_table_upgrade() 107 __pgd = (unsigned long *) mm->pgd; in crst_table_upgrade() [all …]
|
| /kernel/linux/linux-5.10/Documentation/arm64/ |
| D | memory.rst | 8 Linux kernel. The architecture allows up to 4 levels of translation 9 tables with a 4KB page size and up to 3 levels with a 64KB page size. 11 AArch64 Linux uses either 3 levels or 4 levels of translation tables 12 with the 4KB page configuration, allowing 39-bit (512GB) or 48-bit 14 64KB pages, only 2 levels of translation tables, allowing 42-bit (4TB) 18 only available when running with a 64KB page size and expands the 24 mappings while the user pgd contains only user (non-global) mappings. 29 AArch64 Linux memory layout with 4KB pages + 4 levels (48-bit):: 32 ----------------------------------------------------------------------- 40 fffffdfffe5f9000 fffffdfffe9fffff 4124KB fixed mappings [all …]
|
| /kernel/linux/linux-5.10/arch/loongarch/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 149 bool "Loongson 64-bit family of machines" 170 This enables the support of Loongson 64-bit family of machines. These 171 machines are based on new Loongson-3 processors (Old Loongson is MIPS 191 def_bool $(as-instr,x:pcalau12i \$t0$(comma)%pc_hi20(x)) 221 bool "Loongson 64-bit CPU" 232 The Loongson 64-bit processor implements the LoongArch64 (the 64-bit 270 actually benefits from 64-bit processing or if your machine has 272 menu if your system does not support both 32-bit and 64-bit kernels. 275 bool "32-bit kernel" [all …]
|
| /kernel/linux/linux-5.10/arch/parisc/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 64 select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) 72 The PA-RISC microprocessor is designed by Hewlett-Packard and used 74 and later HP3000 series). The PA-RISC Linux project home page is 88 default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT 89 default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT 122 # unless you want to implement ACPI on PA-RISC ... ;-) 157 that can run on all 32-bit PA CPUs (albeit not optimally fast), 160 Specifying "PA8000" here will allow you to select a 64-bit kernel 166 Select this option for the PCX-L processor, as used in the [all …]
|
| /kernel/linux/linux-6.6/Documentation/arch/arm64/ |
| D | memory.rst | 8 Linux kernel. The architecture allows up to 4 levels of translation 9 tables with a 4KB page size and up to 3 levels with a 64KB page size. 11 AArch64 Linux uses either 3 levels or 4 levels of translation tables 12 with the 4KB page configuration, allowing 39-bit (512GB) or 48-bit 14 64KB pages, only 2 levels of translation tables, allowing 42-bit (4TB) 18 only available when running with a 64KB page size and expands the 24 mappings while the user pgd contains only user (non-global) mappings. 29 AArch64 Linux memory layout with 4KB pages + 4 levels (48-bit):: 32 ----------------------------------------------------------------------- 46 AArch64 Linux memory layout with 64KB pages + 3 levels (52-bit with HW support):: [all …]
|
| /kernel/linux/linux-5.10/arch/ia64/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 int "Page Table Levels" if !IA64_PAGE_SIZE_64KB 4 range 3 4 if !IA64_PAGE_SIZE_64KB 63 The Itanium Processor Family is Intel's 64-bit successor to 64 the 32-bit X86 line. The IA-64 Linux project has a home 65 page at <http://www.linuxia64.org/> and a mailing list at 66 <linux-ia64@vger.kernel.org>. 131 Select your IA-64 processor type. The default is Itanium. 132 This choice is safe for all IA-64 systems, but may not perform 143 prompt "Kernel page size" [all …]
|
| /kernel/linux/linux-6.6/arch/parisc/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 79 select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) 90 The PA-RISC microprocessor is designed by Hewlett-Packard and used 92 and later HP3000 series). The PA-RISC Linux project home page is 152 # unless you want to implement ACPI on PA-RISC ... ;-) 187 that can run on all 32-bit PA CPUs (albeit not optimally fast), 190 Specifying "PA8000" here will allow you to select a 64-bit kernel 196 Select this option for the PCX-L processor, as used in the 198 D200, D210, D300, D310 and E-class 203 Select this option for the PCX-T' processor, as used in the [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/book3s/64/ |
| D | radix-4k.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * For 4K page size supported index is 13/9/9/9 8 #define RADIX_PTE_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 4K = 2MB 9 #define RADIX_PMD_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 2MB = 1GB 10 #define RADIX_PUD_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 1GB = 512GB 11 #define RADIX_PGD_INDEX_SIZE 13 // size: 8B << 13 = 64KB, maps 2^13 x 512GB = 4PB 14 * One fragment per page
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/book3s/64/ |
| D | radix-4k.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * For 4K page size supported index is 13/9/9/9 8 #define RADIX_PTE_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 4K = 2MB 9 #define RADIX_PMD_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 2MB = 1GB 10 #define RADIX_PUD_INDEX_SIZE 9 // size: 8B << 9 = 4KB, maps 2^9 x 1GB = 512GB 11 #define RADIX_PGD_INDEX_SIZE 13 // size: 8B << 13 = 64KB, maps 2^13 x 512GB = 4PB 14 * One fragment per page
|
| /kernel/linux/linux-6.6/fs/proc/ |
| D | task_mmu.c | 1 // SPDX-License-Identifier: GPL-2.0 34 seq_put_decimal_ull_width(m, str, (val) << (PAGE_SHIFT-10), 8) 56 hiwater_vm = total_vm = mm->total_vm; in task_mem() 57 if (hiwater_vm < mm->hiwater_vm) in task_mem() 58 hiwater_vm = mm->hiwater_vm; in task_mem() 60 if (hiwater_rss < mm->hiwater_rss) in task_mem() 61 hiwater_rss = mm->hiwater_rss; in task_mem() 64 text = PAGE_ALIGN(mm->end_code) - (mm->start_code & PAGE_MASK); in task_mem() 65 text = min(text, mm->exec_vm << PAGE_SHIFT); in task_mem() 66 lib = (mm->exec_vm << PAGE_SHIFT) - text; in task_mem() [all …]
|
| /kernel/linux/linux-5.10/fs/proc/ |
| D | task_mmu.c | 1 // SPDX-License-Identifier: GPL-2.0 34 seq_put_decimal_ull_width(m, str, (val) << (PAGE_SHIFT-10), 8) 56 hiwater_vm = total_vm = mm->total_vm; in task_mem() 57 if (hiwater_vm < mm->hiwater_vm) in task_mem() 58 hiwater_vm = mm->hiwater_vm; in task_mem() 60 if (hiwater_rss < mm->hiwater_rss) in task_mem() 61 hiwater_rss = mm->hiwater_rss; in task_mem() 64 text = PAGE_ALIGN(mm->end_code) - (mm->start_code & PAGE_MASK); in task_mem() 65 text = min(text, mm->exec_vm << PAGE_SHIFT); in task_mem() 66 lib = (mm->exec_vm << PAGE_SHIFT) - text; in task_mem() [all …]
|
| /kernel/linux/linux-6.6/Documentation/mm/ |
| D | page_tables.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Page Tables 10 feature of all Unix-like systems as time went by. In 1985 the feature was 13 Page tables map virtual addresses as seen by the CPU into physical addresses 16 Linux defines page tables as a hierarchy which is currently five levels in 21 by the underlying physical page frame. The **page frame number** or **pfn** 22 is the physical address of the page (as seen on the external memory bus) 26 the last page of physical memory the external address bus of the CPU can 29 With a page granularity of 4KB and a address range of 32 bits, pfn 0 is at 31 and so on until we reach pfn 0xfffff at 0xfffff000. With 16KB pages pfs are [all …]
|
| /kernel/linux/linux-6.6/drivers/char/agp/ |
| D | intel-gtt.c | 15 * /fairy-tale-mode off 27 #include "intel-agp.h" 28 #include <drm/intel-gtt.h> 52 /* This should undo anything done in ->setup() save the unmapping 57 * For chipsets that need to support old ums (non-gem) code, this 77 struct page *scratch_page; 92 #define INTEL_GTT_GEN intel_private.driver->gen 93 #define IS_G33 intel_private.driver->is_g33 94 #define IS_PINEVIEW intel_private.driver->is_pineview 95 #define IS_IRONLAKE intel_private.driver->is_ironlake [all …]
|
| /kernel/linux/linux-5.10/drivers/char/agp/ |
| D | intel-gtt.c | 15 * /fairy-tale-mode off 26 #include "intel-agp.h" 27 #include <drm/intel-gtt.h> 51 /* This should undo anything done in ->setup() save the unmapping 56 * For chipsets that need to support old ums (non-gem) code, this 76 struct page *scratch_page; 91 #define INTEL_GTT_GEN intel_private.driver->gen 92 #define IS_G33 intel_private.driver->is_g33 93 #define IS_PINEVIEW intel_private.driver->is_pineview 94 #define IS_IRONLAKE intel_private.driver->is_ironlake [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/cgroup-v1/ |
| D | hugetlb.rst | 7 # mount -t cgroup -o hugetlb none /sys/fs/cgroup 25 …rsvd.max_usage_in_bytes # show max "hugepagesize" hugetlb reservations and no-reserve faults 26 …hugetlb.<hugepagesize>.rsvd.usage_in_bytes # show current reservations and no-reserve f… 44 hugetlb.64KB.limit_in_bytes 45 hugetlb.64KB.max_usage_in_bytes 46 hugetlb.64KB.usage_in_bytes 47 hugetlb.64KB.failcnt 48 hugetlb.64KB.rsvd.limit_in_bytes 49 hugetlb.64KB.rsvd.max_usage_in_bytes 50 hugetlb.64KB.rsvd.usage_in_bytes [all …]
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | proc.rst | 1 .. SPDX-License-Identifier: GPL-2.0 24 1.1 Process-Specific Subdirectories 36 3 Per-Process Parameters 37 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj - Adjust the oom-killer 39 3.2 /proc/<pid>/oom_score - Display current oom-killer score 40 3.3 /proc/<pid>/io - Display the IO accounting fields 41 3.4 /proc/<pid>/coredump_filter - Core dump filtering settings 42 3.5 /proc/<pid>/mountinfo - Information about mounts 44 3.7 /proc/<pid>/task/<tid>/children - Information about task children 45 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/cgroup-v1/ |
| D | hugetlb.rst | 7 # mount -t cgroup -o hugetlb none /sys/fs/cgroup 25 …rsvd.max_usage_in_bytes # show max "hugepagesize" hugetlb reservations and no-reserve faults 26 …hugetlb.<hugepagesize>.rsvd.usage_in_bytes # show current reservations and no-reserve f… 46 hugetlb.64KB.limit_in_bytes 47 hugetlb.64KB.max_usage_in_bytes 48 hugetlb.64KB.numa_stat 49 hugetlb.64KB.usage_in_bytes 50 hugetlb.64KB.failcnt 51 hugetlb.64KB.rsvd.limit_in_bytes 52 hugetlb.64KB.rsvd.max_usage_in_bytes [all …]
|
| /kernel/linux/linux-6.6/Documentation/ABI/testing/ |
| D | procfs-smaps_rollup | 5 This file provides pre-summed memory information for a 15 and the procfs man page. 19 00100000-ff709000 ---p 00000000 00:00 0 [rollup] 20 Size: 1192 kB 21 KernelPageSize: 4 kB 22 MMUPageSize: 4 kB 23 Rss: 884 kB 24 Pss: 385 kB 25 Pss_Dirty: 68 kB 26 Pss_Anon: 301 kB [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | procfs-smaps_rollup | 5 This file provides pre-summed memory information for a 15 and the procfs man page. 19 00100000-ff709000 ---p 00000000 00:00 0 [rollup] 20 Size: 1192 kB 21 KernelPageSize: 4 kB 22 MMUPageSize: 4 kB 23 Rss: 884 kB 24 Pss: 385 kB 25 Pss_Anon: 301 kB 26 Pss_File: 80 kB [all …]
|
| /kernel/linux/linux-5.10/arch/nds32/mm/ |
| D | init.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (C) 1995-2005 Russell King 4 // Copyright (C) 2013-2017 Andes Technology Corporation 19 #include <asm/page.h> 26 * empty_zero_page is a special page that is used for 27 * zero-initialized data and COW. 29 struct page *empty_zero_page; 47 * This is explicitly coded for two-level page tables, so if you need 58 /* These mark extents of read-only kernel pages... in map_ram() 76 "two-level page tables", __func__); in map_ram() [all …]
|
| /kernel/linux/linux-5.10/drivers/s390/block/ |
| D | xpram.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Xpram.c -- the S/390 expanded memory RAM-disk 20 * "ad-hoc" partitioning: 26 * generic hard disk support to replace ad-hoc partitioning 53 unsigned int offset; /* start page of xpram segment */ 82 * Copy expanded memory page (4kB) into main memory 84 * page_addr: address of target page 85 * xpage_index: index of expandeded memory page 88 * -EIO: if pgin failed 89 * -ENXIO: if xpram has vanished [all …]
|