Skip to content

Commit e190227

Browse files
committed
Merge branch 'for-next/docs' into for-next/core
* for-next/docs: Documentation: arm64: Remove stale and redundant virtual memory diagrams docs: arm64: Document EL3 requirements for FEAT_PMUv3 docs: arm64: Document EL3 requirements for cpu debug architecture
2 parents 763d584 + fd10f08 commit e190227

File tree

2 files changed

+12
-65
lines changed

2 files changed

+12
-65
lines changed

Documentation/arch/arm64/booting.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,18 @@ Before jumping into the kernel, the following conditions must be met:
449449

450450
- HFGWTR_EL2.nGCS_EL0 (bit 52) must be initialised to 0b1.
451451

452+
- For CPUs with debug architecture i.e FEAT_Debugv8pN (all versions):
453+
454+
- If EL3 is present:
455+
456+
- MDCR_EL3.TDA (bit 9) must be initialized to 0b0
457+
458+
- For CPUs with FEAT_PMUv3:
459+
460+
- If EL3 is present:
461+
462+
- MDCR_EL3.TPM (bit 6) must be initialized to 0b0
463+
452464
The requirements described above for CPU mode, caches, MMUs, architected
453465
timers, coherency and system registers apply to all CPUs. All CPUs must
454466
enter the kernel in the same exception level. Where the values documented

Documentation/arch/arm64/memory.rst

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -23,71 +23,6 @@ swapper_pg_dir contains only kernel (global) mappings while the user pgd
2323
contains only user (non-global) mappings. The swapper_pg_dir address is
2424
written to TTBR1 and never written to TTBR0.
2525

26-
27-
AArch64 Linux memory layout with 4KB pages + 4 levels (48-bit)::
28-
29-
Start End Size Use
30-
-----------------------------------------------------------------------
31-
0000000000000000 0000ffffffffffff 256TB user
32-
ffff000000000000 ffff7fffffffffff 128TB kernel logical memory map
33-
[ffff600000000000 ffff7fffffffffff] 32TB [kasan shadow region]
34-
ffff800000000000 ffff80007fffffff 2GB modules
35-
ffff800080000000 fffffbffefffffff 124TB vmalloc
36-
fffffbfff0000000 fffffbfffdffffff 224MB fixed mappings (top down)
37-
fffffbfffe000000 fffffbfffe7fffff 8MB [guard region]
38-
fffffbfffe800000 fffffbffff7fffff 16MB PCI I/O space
39-
fffffbffff800000 fffffbffffffffff 8MB [guard region]
40-
fffffc0000000000 fffffdffffffffff 2TB vmemmap
41-
fffffe0000000000 ffffffffffffffff 2TB [guard region]
42-
43-
44-
AArch64 Linux memory layout with 64KB pages + 3 levels (52-bit with HW support)::
45-
46-
Start End Size Use
47-
-----------------------------------------------------------------------
48-
0000000000000000 000fffffffffffff 4PB user
49-
fff0000000000000 ffff7fffffffffff ~4PB kernel logical memory map
50-
[fffd800000000000 ffff7fffffffffff] 512TB [kasan shadow region]
51-
ffff800000000000 ffff80007fffffff 2GB modules
52-
ffff800080000000 fffffbffefffffff 124TB vmalloc
53-
fffffbfff0000000 fffffbfffdffffff 224MB fixed mappings (top down)
54-
fffffbfffe000000 fffffbfffe7fffff 8MB [guard region]
55-
fffffbfffe800000 fffffbffff7fffff 16MB PCI I/O space
56-
fffffbffff800000 fffffbffffffffff 8MB [guard region]
57-
fffffc0000000000 ffffffdfffffffff ~4TB vmemmap
58-
ffffffe000000000 ffffffffffffffff 128GB [guard region]
59-
60-
61-
Translation table lookup with 4KB pages::
62-
63-
+--------+--------+--------+--------+--------+--------+--------+--------+
64-
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0|
65-
+--------+--------+--------+--------+--------+--------+--------+--------+
66-
| | | | | |
67-
| | | | | v
68-
| | | | | [11:0] in-page offset
69-
| | | | +-> [20:12] L3 index
70-
| | | +-----------> [29:21] L2 index
71-
| | +---------------------> [38:30] L1 index
72-
| +-------------------------------> [47:39] L0 index
73-
+----------------------------------------> [55] TTBR0/1
74-
75-
76-
Translation table lookup with 64KB pages::
77-
78-
+--------+--------+--------+--------+--------+--------+--------+--------+
79-
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0|
80-
+--------+--------+--------+--------+--------+--------+--------+--------+
81-
| | | | |
82-
| | | | v
83-
| | | | [15:0] in-page offset
84-
| | | +----------> [28:16] L3 index
85-
| | +--------------------------> [41:29] L2 index
86-
| +-------------------------------> [47:42] L1 index (48-bit)
87-
| [51:42] L1 index (52-bit)
88-
+----------------------------------------> [55] TTBR0/1
89-
90-
9126
When using KVM without the Virtualization Host Extensions, the
9227
hypervisor maps kernel pages in EL2 at a fixed (and potentially
9328
random) offset from the linear mapping. See the kern_hyp_va macro and

0 commit comments

Comments
 (0)