Skip to content

Commit 8b5a19b

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.16-rc8). Conflicts: drivers/net/ethernet/microsoft/mana/gdma_main.c 9669ddd ("net: mana: Fix warnings for missing export.h header inclusion") 7553911 ("net: mana: Allocate MSI-X vectors dynamically") https://lore.kernel.org/20250711130752.23023d98@canb.auug.org.au Adjacent changes: drivers/net/ethernet/ti/icssg/icssg_prueth.h 6e86fb7 ("net: ti: icssg-prueth: Fix buffer allocation for ICSSG") ffe8a49 ("net: ti: icssg-prueth: Read firmware-names from device tree") Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parents 94619ea + 407c114 commit 8b5a19b

File tree

293 files changed

+2491
-1267
lines changed

Some content is hidden

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

293 files changed

+2491
-1267
lines changed

Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,6 @@ allOf:
223223
- required:
224224
- pwms
225225

226-
- oneOf:
227-
- required:
228-
- interrupts
229-
- required:
230-
- io-backends
231-
232226
- if:
233227
properties:
234228
compatible:

Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ properties:
2121
vlogic-supply: true
2222

2323
interrupts:
24-
minItems: 1
24+
maxItems: 1
2525
description:
2626
Interrupt mapping for the trigger interrupt from the internal oscillator.
2727

Documentation/hwmon/ina238.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Additional sysfs entries for sq52206
6565
------------------------------------
6666

6767
======================= =======================================================
68-
energy1_input Energy measurement (mJ)
68+
energy1_input Energy measurement (uJ)
6969

7070
power1_input_highest Peak Power (uW)
7171
======================= =======================================================

Documentation/virt/kvm/api.rst

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2008,6 +2008,13 @@ If the KVM_CAP_VM_TSC_CONTROL capability is advertised, this can also
20082008
be used as a vm ioctl to set the initial tsc frequency of subsequently
20092009
created vCPUs.
20102010

2011+
For TSC protected Confidential Computing (CoCo) VMs where TSC frequency
2012+
is configured once at VM scope and remains unchanged during VM's
2013+
lifetime, the vm ioctl should be used to configure the TSC frequency
2014+
and the vcpu ioctl is not supported.
2015+
2016+
Example of such CoCo VMs: TDX guests.
2017+
20112018
4.56 KVM_GET_TSC_KHZ
20122019
--------------------
20132020

@@ -7230,8 +7237,8 @@ inputs and outputs of the TDVMCALL. Currently the following values of
72307237
placed in fields from ``r11`` to ``r14`` of the ``get_tdvmcall_info``
72317238
field of the union.
72327239

7233-
* ``TDVMCALL_SETUP_EVENT_NOTIFY_INTERRUPT``: the guest has requested to
7234-
set up a notification interrupt for vector ``vector``.
7240+
* ``TDVMCALL_SETUP_EVENT_NOTIFY_INTERRUPT``: the guest has requested to
7241+
set up a notification interrupt for vector ``vector``.
72357242

72367243
KVM may add support for more values in the future that may cause a userspace
72377244
exit, even without calls to ``KVM_ENABLE_CAP`` or similar. In this case,

Documentation/virt/kvm/review-checklist.rst

Lines changed: 88 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Review checklist for kvm patches
77
1. The patch must follow Documentation/process/coding-style.rst and
88
Documentation/process/submitting-patches.rst.
99

10-
2. Patches should be against kvm.git master branch.
10+
2. Patches should be against kvm.git master or next branches.
1111

1212
3. If the patch introduces or modifies a new userspace API:
1313
- the API must be documented in Documentation/virt/kvm/api.rst
@@ -18,10 +18,10 @@ Review checklist for kvm patches
1818
5. New features must default to off (userspace should explicitly request them).
1919
Performance improvements can and should default to on.
2020

21-
6. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
21+
6. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2,
22+
or its equivalent for non-x86 architectures
2223

23-
7. Emulator changes should be accompanied by unit tests for qemu-kvm.git
24-
kvm/test directory.
24+
7. The feature should be testable (see below).
2525

2626
8. Changes should be vendor neutral when possible. Changes to common code
2727
are better than duplicating changes to vendor code.
@@ -36,6 +36,87 @@ Review checklist for kvm patches
3636
11. New guest visible features must either be documented in a hardware manual
3737
or be accompanied by documentation.
3838

39-
12. Features must be robust against reset and kexec - for example, shared
40-
host/guest memory must be unshared to prevent the host from writing to
41-
guest memory that the guest has not reserved for this purpose.
39+
Testing of KVM code
40+
-------------------
41+
42+
All features contributed to KVM, and in many cases bugfixes too, should be
43+
accompanied by some kind of tests and/or enablement in open source guests
44+
and VMMs. KVM is covered by multiple test suites:
45+
46+
*Selftests*
47+
These are low level tests that allow granular testing of kernel APIs.
48+
This includes API failure scenarios, invoking APIs after specific
49+
guest instructions, and testing multiple calls to ``KVM_CREATE_VM``
50+
within a single test. They are included in the kernel tree at
51+
``tools/testing/selftests/kvm``.
52+
53+
``kvm-unit-tests``
54+
A collection of small guests that test CPU and emulated device features
55+
from a guest's perspective. They run under QEMU or ``kvmtool``, and
56+
are generally not KVM-specific: they can be run with any accelerator
57+
that QEMU support or even on bare metal, making it possible to compare
58+
behavior across hypervisors and processor families.
59+
60+
Functional test suites
61+
Various sets of functional tests exist, such as QEMU's ``tests/functional``
62+
suite and `avocado-vt <https://avocado-vt.readthedocs.io/en/latest/>`__.
63+
These typically involve running a full operating system in a virtual
64+
machine.
65+
66+
The best testing approach depends on the feature's complexity and
67+
operation. Here are some examples and guidelines:
68+
69+
New instructions (no new registers or APIs)
70+
The corresponding CPU features (if applicable) should be made available
71+
in QEMU. If the instructions require emulation support or other code in
72+
KVM, it is worth adding coverage to ``kvm-unit-tests`` or selftests;
73+
the latter can be a better choice if the instructions relate to an API
74+
that already has good selftest coverage.
75+
76+
New hardware features (new registers, no new APIs)
77+
These should be tested via ``kvm-unit-tests``; this more or less implies
78+
supporting them in QEMU and/or ``kvmtool``. In some cases selftests
79+
can be used instead, similar to the previous case, or specifically to
80+
test corner cases in guest state save/restore.
81+
82+
Bug fixes and performance improvements
83+
These usually do not introduce new APIs, but it's worth sharing
84+
any benchmarks and tests that will validate your contribution,
85+
ideally in the form of regression tests. Tests and benchmarks
86+
can be included in either ``kvm-unit-tests`` or selftests, depending
87+
on the specifics of your change. Selftests are especially useful for
88+
regression tests because they are included directly in Linux's tree.
89+
90+
Large scale internal changes
91+
While it's difficult to provide a single policy, you should ensure that
92+
the changed code is covered by either ``kvm-unit-tests`` or selftests.
93+
In some cases the affected code is run for any guests and functional
94+
tests suffice. Explain your testing process in the cover letter,
95+
as that can help identify gaps in existing test suites.
96+
97+
New APIs
98+
It is important to demonstrate your use case. This can be as simple as
99+
explaining that the feature is already in use on bare metal, or it can be
100+
a proof-of-concept implementation in userspace. The latter need not be
101+
open source, though that is of course preferrable for easier testing.
102+
Selftests should test corner cases of the APIs, and should also cover
103+
basic host and guest operation if no open source VMM uses the feature.
104+
105+
Bigger features, usually spanning host and guest
106+
These should be supported by Linux guests, with limited exceptions for
107+
Hyper-V features that are testable on Windows guests. It is strongly
108+
suggested that the feature be usable with an open source host VMM, such
109+
as at least one of QEMU or crosvm, and guest firmware. Selftests should
110+
test at least API error cases. Guest operation can be covered by
111+
either selftests of ``kvm-unit-tests`` (this is especially important for
112+
paravirtualized and Windows-only features). Strong selftest coverage
113+
can also be a replacement for implementation in an open source VMM,
114+
but this is generally not recommended.
115+
116+
Following the above suggestions for testing in selftests and
117+
``kvm-unit-tests`` will make it easier for the maintainers to review
118+
and accept your code. In fact, even before you contribute your changes
119+
upstream it will make it easier for you to develop for KVM.
120+
121+
Of course, the KVM maintainers reserve the right to require more tests,
122+
though they may also waive the requirement from time to time.

MAINTAINERS

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5581,6 +5581,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
55815581
F: drivers/char/
55825582
F: drivers/misc/
55835583
F: include/linux/miscdevice.h
5584+
F: rust/kernel/miscdevice.rs
55845585
F: samples/rust/rust_misc_device.rs
55855586
X: drivers/char/agp/
55865587
X: drivers/char/hw_random/
@@ -12200,9 +12201,8 @@ F: drivers/dma/idxd/*
1220012201
F: include/uapi/linux/idxd.h
1220112202

1220212203
INTEL IN FIELD SCAN (IFS) DEVICE
12203-
M: Jithu Joseph <jithu.joseph@intel.com>
12204+
M: Tony Luck <tony.luck@intel.com>
1220412205
R: Ashok Raj <ashok.raj.linux@gmail.com>
12205-
R: Tony Luck <tony.luck@intel.com>
1220612206
S: Maintained
1220712207
F: drivers/platform/x86/intel/ifs
1220812208
F: include/trace/events/intel_ifs.h
@@ -12542,8 +12542,7 @@ T: git https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/
1254212542
F: drivers/net/wireless/intel/iwlwifi/
1254312543

1254412544
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
12545-
M: Jithu Joseph <jithu.joseph@intel.com>
12546-
S: Maintained
12545+
S: Orphan
1254712546
W: https://slimbootloader.github.io/security/firmware-update.html
1254812547
F: drivers/platform/x86/intel/wmi/sbl-fw-update.c
1254912548

@@ -17405,6 +17404,7 @@ F: include/linux/ethtool.h
1740517404
F: include/linux/framer/framer-provider.h
1740617405
F: include/linux/framer/framer.h
1740717406
F: include/linux/in.h
17407+
F: include/linux/in6.h
1740817408
F: include/linux/indirect_call_wrapper.h
1740917409
F: include/linux/inet.h
1741017410
F: include/linux/inet_diag.h
@@ -25923,6 +25923,8 @@ F: fs/hostfs/
2592325923

2592425924
USERSPACE COPYIN/COPYOUT (UIOVEC)
2592525925
M: Alexander Viro <viro@zeniv.linux.org.uk>
25926+
L: linux-block@vger.kernel.org
25927+
L: linux-fsdevel@vger.kernel.org
2592625928
S: Maintained
2592725929
F: include/linux/uio.h
2592825930
F: lib/iov_iter.c

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 16
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc6
5+
EXTRAVERSION = -rc7
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*

arch/arm64/kvm/sys_regs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2624,7 +2624,7 @@ static bool access_mdcr(struct kvm_vcpu *vcpu,
26242624
*/
26252625
if (hpmn > vcpu->kvm->arch.nr_pmu_counters) {
26262626
hpmn = vcpu->kvm->arch.nr_pmu_counters;
2627-
u64_replace_bits(val, hpmn, MDCR_EL2_HPMN);
2627+
u64p_replace_bits(&val, hpmn, MDCR_EL2_HPMN);
26282628
}
26292629

26302630
__vcpu_assign_sys_reg(vcpu, MDCR_EL2, val);

arch/riscv/Kconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ config RISCV
9898
select CLONE_BACKWARDS
9999
select COMMON_CLK
100100
select CPU_PM if CPU_IDLE || HIBERNATION || SUSPEND
101+
select DYNAMIC_FTRACE if FUNCTION_TRACER
101102
select EDAC_SUPPORT
102103
select FRAME_POINTER if PERF_EVENTS || (FUNCTION_TRACER && !DYNAMIC_FTRACE)
103104
select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
@@ -162,7 +163,7 @@ config RISCV
162163
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
163164
select HAVE_FUNCTION_GRAPH_TRACER if HAVE_DYNAMIC_FTRACE_WITH_ARGS
164165
select HAVE_FUNCTION_GRAPH_FREGS
165-
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
166+
select HAVE_FUNCTION_TRACER if !XIP_KERNEL && HAVE_DYNAMIC_FTRACE
166167
select HAVE_EBPF_JIT if MMU
167168
select HAVE_GUP_FAST if MMU
168169
select HAVE_FUNCTION_ARG_ACCESS_API

arch/riscv/include/asm/kvm_aia.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ DECLARE_STATIC_KEY_FALSE(kvm_riscv_aia_available);
8787

8888
extern struct kvm_device_ops kvm_riscv_aia_device_ops;
8989

90+
bool kvm_riscv_vcpu_aia_imsic_has_interrupt(struct kvm_vcpu *vcpu);
91+
void kvm_riscv_vcpu_aia_imsic_load(struct kvm_vcpu *vcpu, int cpu);
92+
void kvm_riscv_vcpu_aia_imsic_put(struct kvm_vcpu *vcpu);
9093
void kvm_riscv_vcpu_aia_imsic_release(struct kvm_vcpu *vcpu);
9194
int kvm_riscv_vcpu_aia_imsic_update(struct kvm_vcpu *vcpu);
9295

@@ -161,7 +164,6 @@ void kvm_riscv_aia_destroy_vm(struct kvm *kvm);
161164
int kvm_riscv_aia_alloc_hgei(int cpu, struct kvm_vcpu *owner,
162165
void __iomem **hgei_va, phys_addr_t *hgei_pa);
163166
void kvm_riscv_aia_free_hgei(int cpu, int hgei);
164-
void kvm_riscv_aia_wakeon_hgei(struct kvm_vcpu *owner, bool enable);
165167

166168
void kvm_riscv_aia_enable(void);
167169
void kvm_riscv_aia_disable(void);

0 commit comments

Comments
 (0)