Skip to content

Commit 6a523a1

Browse files
committed
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
# Conflicts: # arch/alpha/kernel/syscalls/syscall.tbl # include/linux/pci_ids.h
2 parents 01a00e2 + 1187c0b commit 6a523a1

309 files changed

Lines changed: 6833 additions & 4980 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/ABI/testing/sysfs-bus-event_source-devices-caps

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,9 @@ Description:
1616
Example output in powerpc:
1717
grep . /sys/bus/event_source/devices/cpu/caps/*
1818
/sys/bus/event_source/devices/cpu/caps/pmu_name:POWER9
19+
20+
The "branch_counter_nr" in the supported platform exposes the
21+
maximum number of counters which can be shown in the u64 counters
22+
of PERF_SAMPLE_BRANCH_COUNTERS, while the "branch_counter_width"
23+
exposes the width of each counter. Both of them can be used by
24+
the perf tool to parse the logged counters in each branch.

Documentation/admin-guide/hw-vuln/srso.rst

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,22 @@ The possible values in this file are:
4646

4747
The processor is not vulnerable
4848

49-
* 'Vulnerable: no microcode':
49+
* 'Vulnerable':
50+
51+
The processor is vulnerable and no mitigations have been applied.
52+
53+
* 'Vulnerable: No microcode':
5054

5155
The processor is vulnerable, no microcode extending IBPB
5256
functionality to address the vulnerability has been applied.
5357

54-
* 'Mitigation: microcode':
58+
* 'Vulnerable: Safe RET, no microcode':
59+
60+
The "Safe RET" mitigation (see below) has been applied to protect the
61+
kernel, but the IBPB-extending microcode has not been applied. User
62+
space tasks may still be vulnerable.
63+
64+
* 'Vulnerable: Microcode, no safe RET':
5565

5666
Extended IBPB functionality microcode patch has been applied. It does
5767
not address User->Kernel and Guest->Host transitions protection but it
@@ -72,11 +82,11 @@ The possible values in this file are:
7282

7383
(spec_rstack_overflow=microcode)
7484

75-
* 'Mitigation: safe RET':
85+
* 'Mitigation: Safe RET':
7686

77-
Software-only mitigation. It complements the extended IBPB microcode
78-
patch functionality by addressing User->Kernel and Guest->Host
79-
transitions protection.
87+
Combined microcode/software mitigation. It complements the
88+
extended IBPB microcode patch functionality by addressing
89+
User->Kernel and Guest->Host transitions protection.
8090

8191
Selected by default or by spec_rstack_overflow=safe-ret
8292

@@ -129,7 +139,7 @@ an indrect branch prediction barrier after having applied the required
129139
microcode patch for one's system. This mitigation comes also at
130140
a performance cost.
131141

132-
Mitigation: safe RET
142+
Mitigation: Safe RET
133143
--------------------
134144

135145
The mitigation works by ensuring all RET instructions speculate to

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1890,6 +1890,12 @@
18901890
0 -- machine default
18911891
1 -- force brightness inversion
18921892

1893+
ia32_emulation= [X86-64]
1894+
Format: <bool>
1895+
When true, allows loading 32-bit programs and executing 32-bit
1896+
syscalls, essentially overriding IA32_EMULATION_DEFAULT_DISABLED at
1897+
boot time. When false, unconditionally disables IA32 emulation.
1898+
18931899
icn= [HW,ISDN]
18941900
Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
18951901

@@ -3272,6 +3278,11 @@
32723278

32733279
mga= [HW,DRM]
32743280

3281+
microcode.force_minrev= [X86]
3282+
Format: <bool>
3283+
Enable or disable the microcode minimal revision
3284+
enforcement for the runtime microcode loader.
3285+
32753286
min_addr=nn[KMG] [KNL,BOOT,IA-64] All physical memory below this
32763287
physical address is ignored.
32773288

Documentation/admin-guide/pm/intel_idle.rst

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ and ``idle=nomwait``. If any of them is present in the kernel command line, the
170170
``MWAIT`` instruction is not allowed to be used, so the initialization of
171171
``intel_idle`` will fail.
172172

173-
Apart from that there are four module parameters recognized by ``intel_idle``
173+
Apart from that there are five module parameters recognized by ``intel_idle``
174174
itself that can be set via the kernel command line (they cannot be updated via
175175
sysfs, so that is the only way to change their values).
176176

@@ -216,6 +216,21 @@ are ignored).
216216
The idle states disabled this way can be enabled (on a per-CPU basis) from user
217217
space via ``sysfs``.
218218

219+
The ``ibrs_off`` module parameter is a boolean flag (defaults to
220+
false). If set, it is used to control if IBRS (Indirect Branch Restricted
221+
Speculation) should be turned off when the CPU enters an idle state.
222+
This flag does not affect CPUs that use Enhanced IBRS which can remain
223+
on with little performance impact.
224+
225+
For some CPUs, IBRS will be selected as mitigation for Spectre v2 and Retbleed
226+
security vulnerabilities by default. Leaving the IBRS mode on while idling may
227+
have a performance impact on its sibling CPU. The IBRS mode will be turned off
228+
by default when the CPU enters into a deep idle state, but not in some
229+
shallower ones. Setting the ``ibrs_off`` module parameter will force the IBRS
230+
mode to off when the CPU is in any one of the available idle states. This may
231+
help performance of a sibling CPU at the expense of a slightly higher wakeup
232+
latency for the idle CPU.
233+
219234

220235
.. _intel-idle-core-and-package-idle-states:
221236

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1179,7 +1179,8 @@ automatically on platforms where it can run (that is,
11791179
platforms with asymmetric CPU topologies and having an Energy
11801180
Model available). If your platform happens to meet the
11811181
requirements for EAS but you do not want to use it, change
1182-
this value to 0.
1182+
this value to 0. On Non-EAS platforms, write operation fails and
1183+
read doesn't return anything.
11831184

11841185
task_delayacct
11851186
===============

Documentation/arch/x86/amd-memory-encryption.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,4 +130,4 @@ SNP feature support.
130130

131131
More details in AMD64 APM[1] Vol 2: 15.34.10 SEV_STATUS MSR
132132

133-
[1] https://www.amd.com/system/files/TechDocs/40332.pdf
133+
[1] https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf

Documentation/arch/x86/iommu.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ x86 IOMMU Support
55
The architecture specs can be obtained from the below locations.
66

77
- Intel: http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/vt-directed-io-spec.pdf
8-
- AMD: https://www.amd.com/system/files/TechDocs/48882_IOMMU.pdf
8+
- AMD: https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/specifications/48882_3_07_PUB.pdf
99

1010
This guide gives a quick cheat sheet for some basic understanding.
1111

Documentation/arch/x86/resctrl.rst

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ about the feature from resctrl's info directory.
3535

3636
To use the feature mount the file system::
3737

38-
# mount -t resctrl resctrl [-o cdp[,cdpl2][,mba_MBps]] /sys/fs/resctrl
38+
# mount -t resctrl resctrl [-o cdp[,cdpl2][,mba_MBps][,debug]] /sys/fs/resctrl
3939

4040
mount options are:
4141

@@ -46,6 +46,9 @@ mount options are:
4646
"mba_MBps":
4747
Enable the MBA Software Controller(mba_sc) to specify MBA
4848
bandwidth in MBps
49+
"debug":
50+
Make debug files accessible. Available debug files are annotated with
51+
"Available only with debug option".
4952

5053
L2 and L3 CDP are controlled separately.
5154

@@ -124,6 +127,13 @@ related to allocation:
124127
"P":
125128
Corresponding region is pseudo-locked. No
126129
sharing allowed.
130+
"sparse_masks":
131+
Indicates if non-contiguous 1s value in CBM is supported.
132+
133+
"0":
134+
Only contiguous 1s value in CBM is supported.
135+
"1":
136+
Non-contiguous 1s value in CBM is supported.
127137

128138
Memory bandwidth(MB) subdirectory contains the following files
129139
with respect to allocation:
@@ -299,7 +309,14 @@ All groups contain the following files:
299309
"tasks":
300310
Reading this file shows the list of all tasks that belong to
301311
this group. Writing a task id to the file will add a task to the
302-
group. If the group is a CTRL_MON group the task is removed from
312+
group. Multiple tasks can be added by separating the task ids
313+
with commas. Tasks will be assigned sequentially. Multiple
314+
failures are not supported. A single failure encountered while
315+
attempting to assign a task will cause the operation to abort and
316+
already added tasks before the failure will remain in the group.
317+
Failures will be logged to /sys/fs/resctrl/info/last_cmd_status.
318+
319+
If the group is a CTRL_MON group the task is removed from
303320
whichever previous CTRL_MON group owned the task and also from
304321
any MON group that owned the task. If the group is a MON group,
305322
then the task must already belong to the CTRL_MON parent of this
@@ -342,6 +359,10 @@ When control is enabled all CTRL_MON groups will also contain:
342359
file. On successful pseudo-locked region creation the mode will
343360
automatically change to "pseudo-locked".
344361

362+
"ctrl_hw_id":
363+
Available only with debug option. The identifier used by hardware
364+
for the control group. On x86 this is the CLOSID.
365+
345366
When monitoring is enabled all MON groups will also contain:
346367

347368
"mon_data":
@@ -355,6 +376,10 @@ When monitoring is enabled all MON groups will also contain:
355376
the sum for all tasks in the CTRL_MON group and all tasks in
356377
MON groups. Please see example section for more details on usage.
357378

379+
"mon_hw_id":
380+
Available only with debug option. The identifier used by hardware
381+
for the monitor group. On x86 this is the RMID.
382+
358383
Resource allocation rules
359384
-------------------------
360385

@@ -445,12 +470,13 @@ For cache resources we describe the portion of the cache that is available
445470
for allocation using a bitmask. The maximum value of the mask is defined
446471
by each cpu model (and may be different for different cache levels). It
447472
is found using CPUID, but is also provided in the "info" directory of
448-
the resctrl file system in "info/{resource}/cbm_mask". Intel hardware
473+
the resctrl file system in "info/{resource}/cbm_mask". Some Intel hardware
449474
requires that these masks have all the '1' bits in a contiguous block. So
450475
0x3, 0x6 and 0xC are legal 4-bit masks with two bits set, but 0x5, 0x9
451-
and 0xA are not. On a system with a 20-bit mask each bit represents 5%
452-
of the capacity of the cache. You could partition the cache into four
453-
equal parts with masks: 0x1f, 0x3e0, 0x7c00, 0xf8000.
476+
and 0xA are not. Check /sys/fs/resctrl/info/{resource}/sparse_masks
477+
if non-contiguous 1s value is supported. On a system with a 20-bit mask
478+
each bit represents 5% of the capacity of the cache. You could partition
479+
the cache into four equal parts with masks: 0x1f, 0x3e0, 0x7c00, 0xf8000.
454480

455481
Memory bandwidth Allocation and monitoring
456482
==========================================

Documentation/arch/x86/topology.rst

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,19 @@ Package-related topology information in the kernel:
5555

5656
The number of dies in a package. This information is retrieved via CPUID.
5757

58-
- cpuinfo_x86.cpu_die_id:
58+
- cpuinfo_x86.topo.die_id:
5959

6060
The physical ID of the die. This information is retrieved via CPUID.
6161

62-
- cpuinfo_x86.phys_proc_id:
62+
- cpuinfo_x86.topo.pkg_id:
6363

6464
The physical ID of the package. This information is retrieved via CPUID
6565
and deduced from the APIC IDs of the cores in the package.
6666

6767
Modern systems use this value for the socket. There may be multiple
68-
packages within a socket. This value may differ from cpu_die_id.
68+
packages within a socket. This value may differ from topo.die_id.
6969

70-
- cpuinfo_x86.logical_proc_id:
70+
- cpuinfo_x86.topo.logical_pkg_id:
7171

7272
The logical ID of the package. As we do not trust BIOSes to enumerate the
7373
packages in a consistent way, we introduced the concept of logical package
@@ -79,9 +79,7 @@ Package-related topology information in the kernel:
7979
The maximum possible number of packages in the system. Helpful for per
8080
package facilities to preallocate per package information.
8181

82-
- cpu_llc_id:
83-
84-
A per-CPU variable containing:
82+
- cpuinfo_x86.topo.llc_id:
8583

8684
- On Intel, the first APIC ID of the list of CPUs sharing the Last Level
8785
Cache
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/timer/cirrus,ep9301-timer.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic EP93xx timer
8+
9+
maintainers:
10+
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
11+
- Nikita Shubin <nikita.shubin@maquefel.me>
12+
13+
properties:
14+
compatible:
15+
oneOf:
16+
- const: cirrus,ep9301-timer
17+
- items:
18+
- enum:
19+
- cirrus,ep9302-timer
20+
- cirrus,ep9307-timer
21+
- cirrus,ep9312-timer
22+
- cirrus,ep9315-timer
23+
- const: cirrus,ep9301-timer
24+
25+
reg:
26+
maxItems: 1
27+
28+
interrupts:
29+
maxItems: 1
30+
31+
resets:
32+
maxItems: 1
33+
34+
required:
35+
- compatible
36+
- reg
37+
- interrupts
38+
39+
additionalProperties: false
40+
41+
examples:
42+
- |
43+
timer@80810000 {
44+
compatible = "cirrus,ep9301-timer";
45+
reg = <0x80810000 0x100>;
46+
interrupt-parent = <&vic1>;
47+
interrupts = <19>;
48+
};
49+
...

0 commit comments

Comments
 (0)