aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-class-led-trigger-pattern4
-rw-r--r--Documentation/admin-guide/pm/cpufreq.rst2
-rw-r--r--Documentation/cpu-freq/cpufreq-stats.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt2
-rw-r--r--Documentation/devicetree/bindings/cpufreq/arm_big_little_dt.txt65
-rw-r--r--Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt1
-rw-r--r--Documentation/devicetree/bindings/display/renesas,du.txt4
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-omap.txt8
-rw-r--r--Documentation/gpu/amdgpu-dc.rst68
-rw-r--r--Documentation/gpu/drivers.rst1
-rw-r--r--Documentation/gpu/drm-mm.rst4
-rw-r--r--Documentation/i2c/busses/i2c-nvidia-gpu18
-rw-r--r--Documentation/vm/unevictable-lru.rst6
-rw-r--r--Documentation/x86/x86_64/mm.txt34
-rw-r--r--Documentation/x86/zero-page.txt2
15 files changed, 133 insertions, 94 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-pattern b/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
index fb3d1e03b881..1e5d172e0646 100644
--- a/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
+++ b/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
@@ -37,8 +37,8 @@ Description:
37 0-| / \/ \/ 37 0-| / \/ \/
38 +---0----1----2----3----4----5----6------------> time (s) 38 +---0----1----2----3----4----5----6------------> time (s)
39 39
40 2. To make the LED go instantly from one brigntess value to another, 40 2. To make the LED go instantly from one brightness value to another,
41 we should use use zero-time lengths (the brightness must be same as 41 we should use zero-time lengths (the brightness must be same as
42 the previous tuple's). So the format should be: 42 the previous tuple's). So the format should be:
43 "brightness_1 duration_1 brightness_1 0 brightness_2 duration_2 43 "brightness_1 duration_1 brightness_1 0 brightness_2 duration_2
44 brightness_2 0 ...". For example: 44 brightness_2 0 ...". For example:
diff --git a/Documentation/admin-guide/pm/cpufreq.rst b/Documentation/admin-guide/pm/cpufreq.rst
index 47153e64dfb5..7eca9026a9ed 100644
--- a/Documentation/admin-guide/pm/cpufreq.rst
+++ b/Documentation/admin-guide/pm/cpufreq.rst
@@ -150,7 +150,7 @@ data structures necessary to handle the given policy and, possibly, to add
150a governor ``sysfs`` interface to it. Next, the governor is started by 150a governor ``sysfs`` interface to it. Next, the governor is started by
151invoking its ``->start()`` callback. 151invoking its ``->start()`` callback.
152 152
153That callback it expected to register per-CPU utilization update callbacks for 153That callback is expected to register per-CPU utilization update callbacks for
154all of the online CPUs belonging to the given policy with the CPU scheduler. 154all of the online CPUs belonging to the given policy with the CPU scheduler.
155The utilization update callbacks will be invoked by the CPU scheduler on 155The utilization update callbacks will be invoked by the CPU scheduler on
156important events, like task enqueue and dequeue, on every iteration of the 156important events, like task enqueue and dequeue, on every iteration of the
diff --git a/Documentation/cpu-freq/cpufreq-stats.txt b/Documentation/cpu-freq/cpufreq-stats.txt
index a873855c811d..14378cecb172 100644
--- a/Documentation/cpu-freq/cpufreq-stats.txt
+++ b/Documentation/cpu-freq/cpufreq-stats.txt
@@ -86,9 +86,11 @@ transitions.
86This will give a fine grained information about all the CPU frequency 86This will give a fine grained information about all the CPU frequency
87transitions. The cat output here is a two dimensional matrix, where an entry 87transitions. The cat output here is a two dimensional matrix, where an entry
88<i,j> (row i, column j) represents the count of number of transitions from 88<i,j> (row i, column j) represents the count of number of transitions from
89Freq_i to Freq_j. Freq_i is in descending order with increasing rows and 89Freq_i to Freq_j. Freq_i rows and Freq_j columns follow the sorting order in
90Freq_j is in descending order with increasing columns. The output here also 90which the driver has provided the frequency table initially to the cpufreq core
91contains the actual freq values for each row and column for better readability. 91and so can be sorted (ascending or descending) or unsorted. The output here
92also contains the actual freq values for each row and column for better
93readability.
92 94
93If the transition table is bigger than PAGE_SIZE, reading this will 95If the transition table is bigger than PAGE_SIZE, reading this will
94return an -EFBIG error. 96return an -EFBIG error.
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index f5e0f82fd503..58c4256d37a3 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -27,7 +27,7 @@ SoCs:
27 compatible = "renesas,r8a77470" 27 compatible = "renesas,r8a77470"
28 - RZ/G2M (R8A774A1) 28 - RZ/G2M (R8A774A1)
29 compatible = "renesas,r8a774a1" 29 compatible = "renesas,r8a774a1"
30 - RZ/G2E (RA8774C0) 30 - RZ/G2E (R8A774C0)
31 compatible = "renesas,r8a774c0" 31 compatible = "renesas,r8a774c0"
32 - R-Car M1A (R8A77781) 32 - R-Car M1A (R8A77781)
33 compatible = "renesas,r8a7778" 33 compatible = "renesas,r8a7778"
diff --git a/Documentation/devicetree/bindings/cpufreq/arm_big_little_dt.txt b/Documentation/devicetree/bindings/cpufreq/arm_big_little_dt.txt
deleted file mode 100644
index 2aa06ac0fac5..000000000000
--- a/Documentation/devicetree/bindings/cpufreq/arm_big_little_dt.txt
+++ /dev/null
@@ -1,65 +0,0 @@
1Generic ARM big LITTLE cpufreq driver's DT glue
2-----------------------------------------------
3
4This is DT specific glue layer for generic cpufreq driver for big LITTLE
5systems.
6
7Both required and optional properties listed below must be defined
8under node /cpus/cpu@x. Where x is the first cpu inside a cluster.
9
10FIXME: Cpus should boot in the order specified in DT and all cpus for a cluster
11must be present contiguously. Generic DT driver will check only node 'x' for
12cpu:x.
13
14Required properties:
15- operating-points: Refer to Documentation/devicetree/bindings/opp/opp.txt
16 for details
17
18Optional properties:
19- clock-latency: Specify the possible maximum transition latency for clock,
20 in unit of nanoseconds.
21
22Examples:
23
24cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 cpu@0 {
29 compatible = "arm,cortex-a15";
30 reg = <0>;
31 next-level-cache = <&L2>;
32 operating-points = <
33 /* kHz uV */
34 792000 1100000
35 396000 950000
36 198000 850000
37 >;
38 clock-latency = <61036>; /* two CLK32 periods */
39 };
40
41 cpu@1 {
42 compatible = "arm,cortex-a15";
43 reg = <1>;
44 next-level-cache = <&L2>;
45 };
46
47 cpu@100 {
48 compatible = "arm,cortex-a7";
49 reg = <100>;
50 next-level-cache = <&L2>;
51 operating-points = <
52 /* kHz uV */
53 792000 950000
54 396000 750000
55 198000 450000
56 >;
57 clock-latency = <61036>; /* two CLK32 periods */
58 };
59
60 cpu@101 {
61 compatible = "arm,cortex-a7";
62 reg = <101>;
63 next-level-cache = <&L2>;
64 };
65};
diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
index 3aeb0ec06fd0..ba5469dd09f3 100644
--- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
@@ -13,6 +13,7 @@ Required properties:
13 - "renesas,r8a7793-lvds" for R8A7793 (R-Car M2-N) compatible LVDS encoders 13 - "renesas,r8a7793-lvds" for R8A7793 (R-Car M2-N) compatible LVDS encoders
14 - "renesas,r8a7795-lvds" for R8A7795 (R-Car H3) compatible LVDS encoders 14 - "renesas,r8a7795-lvds" for R8A7795 (R-Car H3) compatible LVDS encoders
15 - "renesas,r8a7796-lvds" for R8A7796 (R-Car M3-W) compatible LVDS encoders 15 - "renesas,r8a7796-lvds" for R8A7796 (R-Car M3-W) compatible LVDS encoders
16 - "renesas,r8a77965-lvds" for R8A77965 (R-Car M3-N) compatible LVDS encoders
16 - "renesas,r8a77970-lvds" for R8A77970 (R-Car V3M) compatible LVDS encoders 17 - "renesas,r8a77970-lvds" for R8A77970 (R-Car V3M) compatible LVDS encoders
17 - "renesas,r8a77980-lvds" for R8A77980 (R-Car V3H) compatible LVDS encoders 18 - "renesas,r8a77980-lvds" for R8A77980 (R-Car V3H) compatible LVDS encoders
18 - "renesas,r8a77990-lvds" for R8A77990 (R-Car E3) compatible LVDS encoders 19 - "renesas,r8a77990-lvds" for R8A77990 (R-Car E3) compatible LVDS encoders
diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt
index 9de67be632d1..3c855d9f2719 100644
--- a/Documentation/devicetree/bindings/display/renesas,du.txt
+++ b/Documentation/devicetree/bindings/display/renesas,du.txt
@@ -4,7 +4,9 @@ Required Properties:
4 4
5 - compatible: must be one of the following. 5 - compatible: must be one of the following.
6 - "renesas,du-r8a7743" for R8A7743 (RZ/G1M) compatible DU 6 - "renesas,du-r8a7743" for R8A7743 (RZ/G1M) compatible DU
7 - "renesas,du-r8a7744" for R8A7744 (RZ/G1N) compatible DU
7 - "renesas,du-r8a7745" for R8A7745 (RZ/G1E) compatible DU 8 - "renesas,du-r8a7745" for R8A7745 (RZ/G1E) compatible DU
9 - "renesas,du-r8a77470" for R8A77470 (RZ/G1C) compatible DU
8 - "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU 10 - "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU
9 - "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU 11 - "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU
10 - "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU 12 - "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU
@@ -52,7 +54,9 @@ corresponding to each DU output.
52 Port0 Port1 Port2 Port3 54 Port0 Port1 Port2 Port3
53----------------------------------------------------------------------------- 55-----------------------------------------------------------------------------
54 R8A7743 (RZ/G1M) DPAD 0 LVDS 0 - - 56 R8A7743 (RZ/G1M) DPAD 0 LVDS 0 - -
57 R8A7744 (RZ/G1N) DPAD 0 LVDS 0 - -
55 R8A7745 (RZ/G1E) DPAD 0 DPAD 1 - - 58 R8A7745 (RZ/G1E) DPAD 0 DPAD 1 - -
59 R8A77470 (RZ/G1C) DPAD 0 DPAD 1 LVDS 0 -
56 R8A7779 (R-Car H1) DPAD 0 DPAD 1 - - 60 R8A7779 (R-Car H1) DPAD 0 DPAD 1 - -
57 R8A7790 (R-Car H2) DPAD 0 LVDS 0 LVDS 1 - 61 R8A7790 (R-Car H2) DPAD 0 LVDS 0 LVDS 1 -
58 R8A7791 (R-Car M2-W) DPAD 0 LVDS 0 - - 62 R8A7791 (R-Car M2-W) DPAD 0 LVDS 0 - -
diff --git a/Documentation/devicetree/bindings/i2c/i2c-omap.txt b/Documentation/devicetree/bindings/i2c/i2c-omap.txt
index 7e49839d4124..4b90ba9f31b7 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-omap.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-omap.txt
@@ -1,8 +1,12 @@
1I2C for OMAP platforms 1I2C for OMAP platforms
2 2
3Required properties : 3Required properties :
4- compatible : Must be "ti,omap2420-i2c", "ti,omap2430-i2c", "ti,omap3-i2c" 4- compatible : Must be
5 or "ti,omap4-i2c" 5 "ti,omap2420-i2c" for OMAP2420 SoCs
6 "ti,omap2430-i2c" for OMAP2430 SoCs
7 "ti,omap3-i2c" for OMAP3 SoCs
8 "ti,omap4-i2c" for OMAP4+ SoCs
9 "ti,am654-i2c", "ti,omap4-i2c" for AM654 SoCs
6- ti,hwmods : Must be "i2c<n>", n being the instance number (1-based) 10- ti,hwmods : Must be "i2c<n>", n being the instance number (1-based)
7- #address-cells = <1>; 11- #address-cells = <1>;
8- #size-cells = <0>; 12- #size-cells = <0>;
diff --git a/Documentation/gpu/amdgpu-dc.rst b/Documentation/gpu/amdgpu-dc.rst
new file mode 100644
index 000000000000..cc89b0fc11df
--- /dev/null
+++ b/Documentation/gpu/amdgpu-dc.rst
@@ -0,0 +1,68 @@
1===================================
2drm/amd/display - Display Core (DC)
3===================================
4
5*placeholder - general description of supported platforms, what dc is, etc.*
6
7Because it is partially shared with other operating systems, the Display Core
8Driver is divided in two pieces.
9
101. **Display Core (DC)** contains the OS-agnostic components. Things like
11 hardware programming and resource management are handled here.
122. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
13 amdgpu base driver and DRM are implemented here.
14
15It doesn't help that the entire package is frequently referred to as DC. But
16with the context in mind, it should be clear.
17
18When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for
19supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line.
20Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`.
21
22To determine if DC is loaded, search dmesg for the following entry:
23
24``Display Core initialized with <version number here>``
25
26AMDgpu Display Manager
27======================
28
29.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
30 :doc: overview
31
32.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
33 :internal:
34
35Lifecycle
36---------
37
38.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
39 :doc: DM Lifecycle
40
41.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
42 :functions: dm_hw_init dm_hw_fini
43
44Interrupts
45----------
46
47.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
48 :doc: overview
49
50.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
51 :internal:
52
53.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
54 :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq
55
56Atomic Implementation
57---------------------
58
59.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
60 :doc: atomic
61
62.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
63 :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
64
65Display Core
66============
67
68**WIP**
diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst
index 7d2d3875ff1a..7c1672118a73 100644
--- a/Documentation/gpu/drivers.rst
+++ b/Documentation/gpu/drivers.rst
@@ -5,6 +5,7 @@ GPU Driver Documentation
5.. toctree:: 5.. toctree::
6 6
7 amdgpu 7 amdgpu
8 amdgpu-dc
8 i915 9 i915
9 meson 10 meson
10 pl111 11 pl111
diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst
index e725e8449e72..d0f3c6b03200 100644
--- a/Documentation/gpu/drm-mm.rst
+++ b/Documentation/gpu/drm-mm.rst
@@ -72,8 +72,8 @@ object TTM to provide a pool for buffer object allocation by clients and
72the kernel itself. The type of this object should be 72the kernel itself. The type of this object should be
73TTM_GLOBAL_TTM_BO, and its size should be sizeof(struct 73TTM_GLOBAL_TTM_BO, and its size should be sizeof(struct
74ttm_bo_global). Again, driver-specific init and release functions may 74ttm_bo_global). Again, driver-specific init and release functions may
75be provided, likely eventually calling ttm_bo_global_init() and 75be provided, likely eventually calling ttm_bo_global_ref_init() and
76ttm_bo_global_release(), respectively. Also, like the previous 76ttm_bo_global_ref_release(), respectively. Also, like the previous
77object, ttm_global_item_ref() is used to create an initial reference 77object, ttm_global_item_ref() is used to create an initial reference
78count for the TTM, which will call your initialization function. 78count for the TTM, which will call your initialization function.
79 79
diff --git a/Documentation/i2c/busses/i2c-nvidia-gpu b/Documentation/i2c/busses/i2c-nvidia-gpu
new file mode 100644
index 000000000000..31884d2b2eb5
--- /dev/null
+++ b/Documentation/i2c/busses/i2c-nvidia-gpu
@@ -0,0 +1,18 @@
1Kernel driver i2c-nvidia-gpu
2
3Datasheet: not publicly available.
4
5Authors:
6 Ajay Gupta <ajayg@nvidia.com>
7
8Description
9-----------
10
11i2c-nvidia-gpu is a driver for I2C controller included in NVIDIA Turing
12and later GPUs and it is used to communicate with Type-C controller on GPUs.
13
14If your 'lspci -v' listing shows something like the following,
15
1601:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad9 (rev a1)
17
18then this driver should support the I2C controller of your GPU.
diff --git a/Documentation/vm/unevictable-lru.rst b/Documentation/vm/unevictable-lru.rst
index fdd84cb8d511..b8e29f977f2d 100644
--- a/Documentation/vm/unevictable-lru.rst
+++ b/Documentation/vm/unevictable-lru.rst
@@ -143,7 +143,7 @@ using a number of wrapper functions:
143 Query the address space, and return true if it is completely 143 Query the address space, and return true if it is completely
144 unevictable. 144 unevictable.
145 145
146These are currently used in two places in the kernel: 146These are currently used in three places in the kernel:
147 147
148 (1) By ramfs to mark the address spaces of its inodes when they are created, 148 (1) By ramfs to mark the address spaces of its inodes when they are created,
149 and this mark remains for the life of the inode. 149 and this mark remains for the life of the inode.
@@ -154,6 +154,10 @@ These are currently used in two places in the kernel:
154 swapped out; the application must touch the pages manually if it wants to 154 swapped out; the application must touch the pages manually if it wants to
155 ensure they're in memory. 155 ensure they're in memory.
156 156
157 (3) By the i915 driver to mark pinned address space until it's unpinned. The
158 amount of unevictable memory marked by i915 driver is roughly the bounded
159 object size in debugfs/dri/0/i915_gem_objects.
160
157 161
158Detecting Unevictable Pages 162Detecting Unevictable Pages
159--------------------------- 163---------------------------
diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt
index 73aaaa3da436..804f9426ed17 100644
--- a/Documentation/x86/x86_64/mm.txt
+++ b/Documentation/x86/x86_64/mm.txt
@@ -34,23 +34,24 @@ __________________|____________|__________________|_________|___________________
34____________________________________________________________|___________________________________________________________ 34____________________________________________________________|___________________________________________________________
35 | | | | 35 | | | |
36 ffff800000000000 | -128 TB | ffff87ffffffffff | 8 TB | ... guard hole, also reserved for hypervisor 36 ffff800000000000 | -128 TB | ffff87ffffffffff | 8 TB | ... guard hole, also reserved for hypervisor
37 ffff880000000000 | -120 TB | ffffc7ffffffffff | 64 TB | direct mapping of all physical memory (page_offset_base) 37 ffff880000000000 | -120 TB | ffff887fffffffff | 0.5 TB | LDT remap for PTI
38 ffffc80000000000 | -56 TB | ffffc8ffffffffff | 1 TB | ... unused hole 38 ffff888000000000 | -119.5 TB | ffffc87fffffffff | 64 TB | direct mapping of all physical memory (page_offset_base)
39 ffffc88000000000 | -55.5 TB | ffffc8ffffffffff | 0.5 TB | ... unused hole
39 ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base) 40 ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base)
40 ffffe90000000000 | -23 TB | ffffe9ffffffffff | 1 TB | ... unused hole 41 ffffe90000000000 | -23 TB | ffffe9ffffffffff | 1 TB | ... unused hole
41 ffffea0000000000 | -22 TB | ffffeaffffffffff | 1 TB | virtual memory map (vmemmap_base) 42 ffffea0000000000 | -22 TB | ffffeaffffffffff | 1 TB | virtual memory map (vmemmap_base)
42 ffffeb0000000000 | -21 TB | ffffebffffffffff | 1 TB | ... unused hole 43 ffffeb0000000000 | -21 TB | ffffebffffffffff | 1 TB | ... unused hole
43 ffffec0000000000 | -20 TB | fffffbffffffffff | 16 TB | KASAN shadow memory 44 ffffec0000000000 | -20 TB | fffffbffffffffff | 16 TB | KASAN shadow memory
44 fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole
45 | | | | vaddr_end for KASLR
46 fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping
47 fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | LDT remap for PTI
48 ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks
49__________________|____________|__________________|_________|____________________________________________________________ 45__________________|____________|__________________|_________|____________________________________________________________
50 | 46 |
51 | Identical layout to the 47-bit one from here on: 47 | Identical layout to the 56-bit one from here on:
52____________________________________________________________|____________________________________________________________ 48____________________________________________________________|____________________________________________________________
53 | | | | 49 | | | |
50 fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole
51 | | | | vaddr_end for KASLR
52 fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping
53 fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | ... unused hole
54 ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks
54 ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole 55 ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole
55 ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space 56 ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space
56 ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole 57 ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole
@@ -83,7 +84,7 @@ Notes:
83__________________|____________|__________________|_________|___________________________________________________________ 84__________________|____________|__________________|_________|___________________________________________________________
84 | | | | 85 | | | |
85 0000800000000000 | +64 PB | ffff7fffffffffff | ~16K PB | ... huge, still almost 64 bits wide hole of non-canonical 86 0000800000000000 | +64 PB | ffff7fffffffffff | ~16K PB | ... huge, still almost 64 bits wide hole of non-canonical
86 | | | | virtual memory addresses up to the -128 TB 87 | | | | virtual memory addresses up to the -64 PB
87 | | | | starting offset of kernel mappings. 88 | | | | starting offset of kernel mappings.
88__________________|____________|__________________|_________|___________________________________________________________ 89__________________|____________|__________________|_________|___________________________________________________________
89 | 90 |
@@ -91,23 +92,24 @@ __________________|____________|__________________|_________|___________________
91____________________________________________________________|___________________________________________________________ 92____________________________________________________________|___________________________________________________________
92 | | | | 93 | | | |
93 ff00000000000000 | -64 PB | ff0fffffffffffff | 4 PB | ... guard hole, also reserved for hypervisor 94 ff00000000000000 | -64 PB | ff0fffffffffffff | 4 PB | ... guard hole, also reserved for hypervisor
94 ff10000000000000 | -60 PB | ff8fffffffffffff | 32 PB | direct mapping of all physical memory (page_offset_base) 95 ff10000000000000 | -60 PB | ff10ffffffffffff | 0.25 PB | LDT remap for PTI
95 ff90000000000000 | -28 PB | ff9fffffffffffff | 4 PB | LDT remap for PTI 96 ff11000000000000 | -59.75 PB | ff90ffffffffffff | 32 PB | direct mapping of all physical memory (page_offset_base)
97 ff91000000000000 | -27.75 PB | ff9fffffffffffff | 3.75 PB | ... unused hole
96 ffa0000000000000 | -24 PB | ffd1ffffffffffff | 12.5 PB | vmalloc/ioremap space (vmalloc_base) 98 ffa0000000000000 | -24 PB | ffd1ffffffffffff | 12.5 PB | vmalloc/ioremap space (vmalloc_base)
97 ffd2000000000000 | -11.5 PB | ffd3ffffffffffff | 0.5 PB | ... unused hole 99 ffd2000000000000 | -11.5 PB | ffd3ffffffffffff | 0.5 PB | ... unused hole
98 ffd4000000000000 | -11 PB | ffd5ffffffffffff | 0.5 PB | virtual memory map (vmemmap_base) 100 ffd4000000000000 | -11 PB | ffd5ffffffffffff | 0.5 PB | virtual memory map (vmemmap_base)
99 ffd6000000000000 | -10.5 PB | ffdeffffffffffff | 2.25 PB | ... unused hole 101 ffd6000000000000 | -10.5 PB | ffdeffffffffffff | 2.25 PB | ... unused hole
100 ffdf000000000000 | -8.25 PB | fffffdffffffffff | ~8 PB | KASAN shadow memory 102 ffdf000000000000 | -8.25 PB | fffffdffffffffff | ~8 PB | KASAN shadow memory
101 fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole
102 | | | | vaddr_end for KASLR
103 fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping
104 fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | ... unused hole
105 ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks
106__________________|____________|__________________|_________|____________________________________________________________ 103__________________|____________|__________________|_________|____________________________________________________________
107 | 104 |
108 | Identical layout to the 47-bit one from here on: 105 | Identical layout to the 47-bit one from here on:
109____________________________________________________________|____________________________________________________________ 106____________________________________________________________|____________________________________________________________
110 | | | | 107 | | | |
108 fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole
109 | | | | vaddr_end for KASLR
110 fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping
111 fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | ... unused hole
112 ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks
111 ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole 113 ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole
112 ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space 114 ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space
113 ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole 115 ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole
diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
index 97b7adbceda4..68aed077f7b6 100644
--- a/Documentation/x86/zero-page.txt
+++ b/Documentation/x86/zero-page.txt
@@ -25,7 +25,7 @@ Offset Proto Name Meaning
250C8/004 ALL ext_cmd_line_ptr cmd_line_ptr high 32bits 250C8/004 ALL ext_cmd_line_ptr cmd_line_ptr high 32bits
26140/080 ALL edid_info Video mode setup (struct edid_info) 26140/080 ALL edid_info Video mode setup (struct edid_info)
271C0/020 ALL efi_info EFI 32 information (struct efi_info) 271C0/020 ALL efi_info EFI 32 information (struct efi_info)
281E0/004 ALL alk_mem_k Alternative mem check, in KB 281E0/004 ALL alt_mem_k Alternative mem check, in KB
291E4/004 ALL scratch Scratch field for the kernel setup code 291E4/004 ALL scratch Scratch field for the kernel setup code
301E8/001 ALL e820_entries Number of entries in e820_table (below) 301E8/001 ALL e820_entries Number of entries in e820_table (below)
311E9/001 ALL eddbuf_entries Number of entries in eddbuf (below) 311E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)