mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 13:58:46 +00:00
Merge branch 'linus' into sched/urgent, to resolve conflict
Conflicts: kernel/sched/ext.c There's a context conflict between this upstream commit: 3fdb9ebcec10 sched_ext: Start schedulers with consistent p->scx.slice values ... and this fix in sched/urgent: 98442f0ccd82 sched: Fix delayed_dequeue vs switched_from_fair() Resolve it. Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
be602cde65
4
.mailmap
4
.mailmap
@ -203,12 +203,16 @@ Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> <ezequiel@collabora.com>
|
|||||||
Faith Ekstrand <faith.ekstrand@collabora.com> <jason@jlekstrand.net>
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason@jlekstrand.net>
|
||||||
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@intel.com>
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@intel.com>
|
||||||
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@collabora.com>
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@collabora.com>
|
||||||
|
Fangrui Song <i@maskray.me> <maskray@google.com>
|
||||||
Felipe W Damasio <felipewd@terra.com.br>
|
Felipe W Damasio <felipewd@terra.com.br>
|
||||||
Felix Kuhling <fxkuehl@gmx.de>
|
Felix Kuhling <fxkuehl@gmx.de>
|
||||||
Felix Moeller <felix@derklecks.de>
|
Felix Moeller <felix@derklecks.de>
|
||||||
Fenglin Wu <quic_fenglinw@quicinc.com> <fenglinw@codeaurora.org>
|
Fenglin Wu <quic_fenglinw@quicinc.com> <fenglinw@codeaurora.org>
|
||||||
Filipe Lautert <filipe@icewall.org>
|
Filipe Lautert <filipe@icewall.org>
|
||||||
Finn Thain <fthain@linux-m68k.org> <fthain@telegraphics.com.au>
|
Finn Thain <fthain@linux-m68k.org> <fthain@telegraphics.com.au>
|
||||||
|
Fiona Behrens <me@kloenk.dev>
|
||||||
|
Fiona Behrens <me@kloenk.dev> <me@kloenk.de>
|
||||||
|
Fiona Behrens <me@kloenk.dev> <fin@nyantec.com>
|
||||||
Franck Bui-Huu <vagabon.xyz@gmail.com>
|
Franck Bui-Huu <vagabon.xyz@gmail.com>
|
||||||
Frank Rowand <frowand.list@gmail.com> <frank.rowand@am.sony.com>
|
Frank Rowand <frowand.list@gmail.com> <frank.rowand@am.sony.com>
|
||||||
Frank Rowand <frowand.list@gmail.com> <frank.rowand@sony.com>
|
Frank Rowand <frowand.list@gmail.com> <frank.rowand@sony.com>
|
||||||
|
54
CREDITS
54
CREDITS
@ -1358,10 +1358,6 @@ D: Major kbuild rework during the 2.5 cycle
|
|||||||
D: ISDN Maintainer
|
D: ISDN Maintainer
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
N: Gerrit Renker
|
|
||||||
E: gerrit@erg.abdn.ac.uk
|
|
||||||
D: DCCP protocol support.
|
|
||||||
|
|
||||||
N: Philip Gladstone
|
N: Philip Gladstone
|
||||||
E: philip@gladstonefamily.net
|
E: philip@gladstonefamily.net
|
||||||
D: Kernel / timekeeping stuff
|
D: Kernel / timekeeping stuff
|
||||||
@ -1677,11 +1673,6 @@ W: http://www.carumba.com/
|
|||||||
D: bug toaster (A1 sauce makes all the difference)
|
D: bug toaster (A1 sauce makes all the difference)
|
||||||
D: Random linux hacker
|
D: Random linux hacker
|
||||||
|
|
||||||
N: James Hogan
|
|
||||||
E: jhogan@kernel.org
|
|
||||||
D: Metag architecture maintainer
|
|
||||||
D: TZ1090 SoC maintainer
|
|
||||||
|
|
||||||
N: Tim Hockin
|
N: Tim Hockin
|
||||||
E: thockin@hockin.org
|
E: thockin@hockin.org
|
||||||
W: http://www.hockin.org/~thockin
|
W: http://www.hockin.org/~thockin
|
||||||
@ -1697,6 +1688,11 @@ D: hwmon subsystem maintainer
|
|||||||
D: i2c-sis96x and i2c-stub SMBus drivers
|
D: i2c-sis96x and i2c-stub SMBus drivers
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
N: James Hogan
|
||||||
|
E: jhogan@kernel.org
|
||||||
|
D: Metag architecture maintainer
|
||||||
|
D: TZ1090 SoC maintainer
|
||||||
|
|
||||||
N: Dirk Hohndel
|
N: Dirk Hohndel
|
||||||
E: hohndel@suse.de
|
E: hohndel@suse.de
|
||||||
D: The XFree86[tm] Project
|
D: The XFree86[tm] Project
|
||||||
@ -1872,6 +1868,10 @@ S: K osmidomkum 723
|
|||||||
S: 160 00 Praha 6
|
S: 160 00 Praha 6
|
||||||
S: Czech Republic
|
S: Czech Republic
|
||||||
|
|
||||||
|
N: Seth Jennings
|
||||||
|
E: sjenning@redhat.com
|
||||||
|
D: Creation and maintenance of zswap
|
||||||
|
|
||||||
N: Jeremy Kerr
|
N: Jeremy Kerr
|
||||||
D: Maintainer of SPU File System
|
D: Maintainer of SPU File System
|
||||||
|
|
||||||
@ -2188,19 +2188,6 @@ N: Mike Kravetz
|
|||||||
E: mike.kravetz@oracle.com
|
E: mike.kravetz@oracle.com
|
||||||
D: Maintenance and development of the hugetlb subsystem
|
D: Maintenance and development of the hugetlb subsystem
|
||||||
|
|
||||||
N: Seth Jennings
|
|
||||||
E: sjenning@redhat.com
|
|
||||||
D: Creation and maintenance of zswap
|
|
||||||
|
|
||||||
N: Dan Streetman
|
|
||||||
E: ddstreet@ieee.org
|
|
||||||
D: Maintenance and development of zswap
|
|
||||||
D: Creation and maintenance of the zpool API
|
|
||||||
|
|
||||||
N: Vitaly Wool
|
|
||||||
E: vitaly.wool@konsulko.com
|
|
||||||
D: Maintenance and development of zswap
|
|
||||||
|
|
||||||
N: Andreas S. Krebs
|
N: Andreas S. Krebs
|
||||||
E: akrebs@altavista.net
|
E: akrebs@altavista.net
|
||||||
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards
|
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards
|
||||||
@ -3191,6 +3178,11 @@ N: Ken Pizzini
|
|||||||
E: ken@halcyon.com
|
E: ken@halcyon.com
|
||||||
D: CDROM driver "sonycd535" (Sony CDU-535/531)
|
D: CDROM driver "sonycd535" (Sony CDU-535/531)
|
||||||
|
|
||||||
|
N: Mathieu Poirier
|
||||||
|
E: mathieu.poirier@linaro.org
|
||||||
|
D: CoreSight kernel subsystem, Maintainer 2014-2022
|
||||||
|
D: Perf tool support for CoreSight
|
||||||
|
|
||||||
N: Stelian Pop
|
N: Stelian Pop
|
||||||
E: stelian@popies.net
|
E: stelian@popies.net
|
||||||
P: 1024D/EDBB6147 7B36 0E07 04BC 11DC A7A0 D3F7 7185 9E7A EDBB 6147
|
P: 1024D/EDBB6147 7B36 0E07 04BC 11DC A7A0 D3F7 7185 9E7A EDBB 6147
|
||||||
@ -3300,6 +3292,10 @@ S: Schlossbergring 9
|
|||||||
S: 79098 Freiburg
|
S: 79098 Freiburg
|
||||||
S: Germany
|
S: Germany
|
||||||
|
|
||||||
|
N: Gerrit Renker
|
||||||
|
E: gerrit@erg.abdn.ac.uk
|
||||||
|
D: DCCP protocol support.
|
||||||
|
|
||||||
N: Thomas Renninger
|
N: Thomas Renninger
|
||||||
E: trenn@suse.de
|
E: trenn@suse.de
|
||||||
D: cpupowerutils
|
D: cpupowerutils
|
||||||
@ -3576,11 +3572,6 @@ D: several improvements to system programs
|
|||||||
S: Oldenburg
|
S: Oldenburg
|
||||||
S: Germany
|
S: Germany
|
||||||
|
|
||||||
N: Mathieu Poirier
|
|
||||||
E: mathieu.poirier@linaro.org
|
|
||||||
D: CoreSight kernel subsystem, Maintainer 2014-2022
|
|
||||||
D: Perf tool support for CoreSight
|
|
||||||
|
|
||||||
N: Robert Schwebel
|
N: Robert Schwebel
|
||||||
E: robert@schwebel.de
|
E: robert@schwebel.de
|
||||||
W: https://www.schwebel.de
|
W: https://www.schwebel.de
|
||||||
@ -3771,6 +3762,11 @@ S: Chr. Winthersvej 1 B, st.th.
|
|||||||
S: DK-1860 Frederiksberg C
|
S: DK-1860 Frederiksberg C
|
||||||
S: Denmark
|
S: Denmark
|
||||||
|
|
||||||
|
N: Dan Streetman
|
||||||
|
E: ddstreet@ieee.org
|
||||||
|
D: Maintenance and development of zswap
|
||||||
|
D: Creation and maintenance of the zpool API
|
||||||
|
|
||||||
N: Drew Sullivan
|
N: Drew Sullivan
|
||||||
E: drew@ss.org
|
E: drew@ss.org
|
||||||
W: http://www.ss.org/
|
W: http://www.ss.org/
|
||||||
@ -4286,6 +4282,10 @@ S: Pipers Way
|
|||||||
S: Swindon. SN3 1RJ
|
S: Swindon. SN3 1RJ
|
||||||
S: England
|
S: England
|
||||||
|
|
||||||
|
N: Vitaly Wool
|
||||||
|
E: vitaly.wool@konsulko.com
|
||||||
|
D: Maintenance and development of zswap
|
||||||
|
|
||||||
N: Chris Wright
|
N: Chris Wright
|
||||||
E: chrisw@sous-sol.org
|
E: chrisw@sous-sol.org
|
||||||
D: hacking on LSM framework and security modules.
|
D: hacking on LSM framework and security modules.
|
||||||
|
@ -12,7 +12,7 @@ ones.
|
|||||||
|
|
||||||
Of course this is a bad idea to rely on the alignment trap to perform
|
Of course this is a bad idea to rely on the alignment trap to perform
|
||||||
unaligned memory access in general. If those access are predictable, you
|
unaligned memory access in general. If those access are predictable, you
|
||||||
are better to use the macros provided by include/asm/unaligned.h. The
|
are better to use the macros provided by include/linux/unaligned.h. The
|
||||||
alignment trap can fixup misaligned access for the exception cases, but at
|
alignment trap can fixup misaligned access for the exception cases, but at
|
||||||
a high performance cost. It better be rare.
|
a high performance cost. It better be rare.
|
||||||
|
|
||||||
|
@ -146,6 +146,8 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
|
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| ARM | Cortex-A715 | #3456084 | ARM64_ERRATUM_3194386 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Cortex-A720 | #3456091 | ARM64_ERRATUM_3194386 |
|
| ARM | Cortex-A720 | #3456091 | ARM64_ERRATUM_3194386 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Cortex-A725 | #3456106 | ARM64_ERRATUM_3194386 |
|
| ARM | Cortex-A725 | #3456106 | ARM64_ERRATUM_3194386 |
|
||||||
@ -186,6 +188,8 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Neoverse-N2 | #3324339 | ARM64_ERRATUM_3194386 |
|
| ARM | Neoverse-N2 | #3324339 | ARM64_ERRATUM_3194386 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| ARM | Neoverse-N3 | #3456111 | ARM64_ERRATUM_3194386 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Neoverse-V1 | #1619801 | N/A |
|
| ARM | Neoverse-V1 | #1619801 | N/A |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| ARM | Neoverse-V1 | #3324341 | ARM64_ERRATUM_3194386 |
|
| ARM | Neoverse-V1 | #3324341 | ARM64_ERRATUM_3194386 |
|
||||||
@ -289,3 +293,5 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Microsoft | Azure Cobalt 100| #2253138 | ARM64_ERRATUM_2253138 |
|
| Microsoft | Azure Cobalt 100| #2253138 | ARM64_ERRATUM_2253138 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Microsoft | Azure Cobalt 100| #3324339 | ARM64_ERRATUM_3194386 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
@ -37,6 +37,7 @@ Library functionality that is used throughout the kernel.
|
|||||||
kref
|
kref
|
||||||
cleanup
|
cleanup
|
||||||
assoc_array
|
assoc_array
|
||||||
|
folio_queue
|
||||||
xarray
|
xarray
|
||||||
maple_tree
|
maple_tree
|
||||||
idr
|
idr
|
||||||
|
@ -203,7 +203,7 @@ Avoiding unaligned accesses
|
|||||||
===========================
|
===========================
|
||||||
|
|
||||||
The easiest way to avoid unaligned access is to use the get_unaligned() and
|
The easiest way to avoid unaligned access is to use the get_unaligned() and
|
||||||
put_unaligned() macros provided by the <asm/unaligned.h> header file.
|
put_unaligned() macros provided by the <linux/unaligned.h> header file.
|
||||||
|
|
||||||
Going back to an earlier example of code that potentially causes unaligned
|
Going back to an earlier example of code that potentially causes unaligned
|
||||||
access::
|
access::
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/display/elgin,jg10309-01.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Elgin JG10309-01 SPI-controlled display
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Fabio Estevam <festevam@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Elgin JG10309-01 SPI-controlled display is used on the RV1108-Elgin-r1
|
||||||
|
board and is a custom display.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: elgin,jg10309-01
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 24000000
|
||||||
|
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
spi-cpol: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- spi-cpha
|
||||||
|
- spi-cpol
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
display@0 {
|
||||||
|
compatible = "elgin,jg10309-01";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <24000000>;
|
||||||
|
spi-cpha;
|
||||||
|
spi-cpol;
|
||||||
|
};
|
||||||
|
};
|
@ -82,9 +82,6 @@ allOf:
|
|||||||
enum:
|
enum:
|
||||||
- fsl,ls1043a-extirq
|
- fsl,ls1043a-extirq
|
||||||
- fsl,ls1046a-extirq
|
- fsl,ls1046a-extirq
|
||||||
- fsl,ls1088a-extirq
|
|
||||||
- fsl,ls2080a-extirq
|
|
||||||
- fsl,lx2160a-extirq
|
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
interrupt-map:
|
interrupt-map:
|
||||||
@ -95,6 +92,29 @@ allOf:
|
|||||||
- const: 0xf
|
- const: 0xf
|
||||||
- const: 0
|
- const: 0
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- fsl,ls1088a-extirq
|
||||||
|
- fsl,ls2080a-extirq
|
||||||
|
- fsl,lx2160a-extirq
|
||||||
|
# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT
|
||||||
|
# function to parser interrupt-map. So it doesn't consider '#address-size'
|
||||||
|
# in parent interrupt controller, such as GIC.
|
||||||
|
#
|
||||||
|
# When dt-binding verify interrupt-map, item data matrix is spitted at
|
||||||
|
# incorrect position. Remove interrupt-map restriction because it always
|
||||||
|
# wrong.
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
interrupt-map-mask:
|
||||||
|
items:
|
||||||
|
- const: 0xf
|
||||||
|
- const: 0
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
@ -113,7 +113,7 @@ properties:
|
|||||||
|
|
||||||
msi-parent:
|
msi-parent:
|
||||||
deprecated: true
|
deprecated: true
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle
|
maxItems: 1
|
||||||
description:
|
description:
|
||||||
Describes the MSI controller node handling message
|
Describes the MSI controller node handling message
|
||||||
interrupts for the MC. When there is no translation
|
interrupts for the MC. When there is no translation
|
||||||
|
@ -34,6 +34,7 @@ properties:
|
|||||||
and length of the AXI DMA controller IO space, unless
|
and length of the AXI DMA controller IO space, unless
|
||||||
axistream-connected is specified, in which case the reg
|
axistream-connected is specified, in which case the reg
|
||||||
attribute of the node referenced by it is used.
|
attribute of the node referenced by it is used.
|
||||||
|
minItems: 1
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
@ -181,7 +182,7 @@ examples:
|
|||||||
clock-names = "s_axi_lite_clk", "axis_clk", "ref_clk", "mgt_clk";
|
clock-names = "s_axi_lite_clk", "axis_clk", "ref_clk", "mgt_clk";
|
||||||
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
|
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
|
||||||
phy-mode = "mii";
|
phy-mode = "mii";
|
||||||
reg = <0x00 0x40000000 0x00 0x40000>;
|
reg = <0x40000000 0x40000>;
|
||||||
xlnx,rxcsum = <0x2>;
|
xlnx,rxcsum = <0x2>;
|
||||||
xlnx,rxmem = <0x800>;
|
xlnx,rxmem = <0x800>;
|
||||||
xlnx,txcsum = <0x2>;
|
xlnx,txcsum = <0x2>;
|
||||||
|
@ -102,7 +102,7 @@ properties:
|
|||||||
default: 2
|
default: 2
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
anyOf:
|
oneOf:
|
||||||
- minItems: 1
|
- minItems: 1
|
||||||
items:
|
items:
|
||||||
- description: TX interrupt
|
- description: TX interrupt
|
||||||
|
@ -30,6 +30,7 @@ properties:
|
|||||||
- qcom,apq8096-sndcard
|
- qcom,apq8096-sndcard
|
||||||
- qcom,qcm6490-idp-sndcard
|
- qcom,qcm6490-idp-sndcard
|
||||||
- qcom,qcs6490-rb3gen2-sndcard
|
- qcom,qcs6490-rb3gen2-sndcard
|
||||||
|
- qcom,qrb4210-rb2-sndcard
|
||||||
- qcom,qrb5165-rb5-sndcard
|
- qcom,qrb5165-rb5-sndcard
|
||||||
- qcom,sc7180-qdsp6-sndcard
|
- qcom,sc7180-qdsp6-sndcard
|
||||||
- qcom,sc8280xp-sndcard
|
- qcom,sc8280xp-sndcard
|
||||||
|
@ -302,7 +302,7 @@ allOf:
|
|||||||
reg-names:
|
reg-names:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
- scu
|
- sru
|
||||||
- ssi
|
- ssi
|
||||||
- adg
|
- adg
|
||||||
# for Gen2/Gen3
|
# for Gen2/Gen3
|
||||||
|
@ -101,8 +101,6 @@ properties:
|
|||||||
- domintech,dmard09
|
- domintech,dmard09
|
||||||
# DMARD10: 3-axis Accelerometer
|
# DMARD10: 3-axis Accelerometer
|
||||||
- domintech,dmard10
|
- domintech,dmard10
|
||||||
# Elgin SPI-controlled LCD
|
|
||||||
- elgin,jg10309-01
|
|
||||||
# MMA7660FC: 3-Axis Orientation/Motion Detection Sensor
|
# MMA7660FC: 3-Axis Orientation/Motion Detection Sensor
|
||||||
- fsl,mma7660
|
- fsl,mma7660
|
||||||
# MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
|
# MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
|
||||||
|
@ -7,12 +7,11 @@ WMI Driver API
|
|||||||
The WMI driver core supports a more modern bus-based interface for interacting
|
The WMI driver core supports a more modern bus-based interface for interacting
|
||||||
with WMI devices, and an older GUID-based interface. The latter interface is
|
with WMI devices, and an older GUID-based interface. The latter interface is
|
||||||
considered to be deprecated, so new WMI drivers should generally avoid it since
|
considered to be deprecated, so new WMI drivers should generally avoid it since
|
||||||
it has some issues with multiple WMI devices and events sharing the same GUIDs
|
it has some issues with multiple WMI devices sharing the same GUID.
|
||||||
and/or notification IDs. The modern bus-based interface instead maps each
|
The modern bus-based interface instead maps each WMI device to a
|
||||||
WMI device to a :c:type:`struct wmi_device <wmi_device>`, so it supports
|
:c:type:`struct wmi_device <wmi_device>`, so it supports WMI devices sharing the
|
||||||
WMI devices sharing GUIDs and/or notification IDs. Drivers can then register
|
same GUID. Drivers can then register a :c:type:`struct wmi_driver <wmi_driver>`
|
||||||
a :c:type:`struct wmi_driver <wmi_driver>`, which will be bound to compatible
|
which will be bound to compatible WMI devices by the driver core.
|
||||||
WMI devices by the driver core.
|
|
||||||
|
|
||||||
.. kernel-doc:: include/linux/wmi.h
|
.. kernel-doc:: include/linux/wmi.h
|
||||||
:internal:
|
:internal:
|
||||||
|
@ -181,7 +181,7 @@ Bridge Operations
|
|||||||
Bridge Connector Helper
|
Bridge Connector Helper
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_bridge_connector.c
|
.. kernel-doc:: drivers/gpu/drm/display/drm_bridge_connector.c
|
||||||
:doc: overview
|
:doc: overview
|
||||||
|
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ MIPI-DSI bridge operation
|
|||||||
Bridge Connector Helper Reference
|
Bridge Connector Helper Reference
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_bridge_connector.c
|
.. kernel-doc:: drivers/gpu/drm/display/drm_bridge_connector.c
|
||||||
:export:
|
:export:
|
||||||
|
|
||||||
Panel-Bridge Helper Reference
|
Panel-Bridge Helper Reference
|
||||||
|
@ -144,9 +144,8 @@ IRQ should only be unmasked after a successful call to napi_complete_done():
|
|||||||
|
|
||||||
napi_schedule_irqoff() is a variant of napi_schedule() which takes advantage
|
napi_schedule_irqoff() is a variant of napi_schedule() which takes advantage
|
||||||
of guarantees given by being invoked in IRQ context (no need to
|
of guarantees given by being invoked in IRQ context (no need to
|
||||||
mask interrupts). Note that PREEMPT_RT forces all interrupts
|
mask interrupts). napi_schedule_irqoff() will fall back to napi_schedule() if
|
||||||
to be threaded so the interrupt may need to be marked ``IRQF_NO_THREAD``
|
IRQs are threaded (such as if ``PREEMPT_RT`` is enabled).
|
||||||
to avoid issues on real-time kernel configurations.
|
|
||||||
|
|
||||||
Instance to queue mapping
|
Instance to queue mapping
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -9,7 +9,7 @@ segments between trusted peers. It adds a new TCP header option with
|
|||||||
a Message Authentication Code (MAC). MACs are produced from the content
|
a Message Authentication Code (MAC). MACs are produced from the content
|
||||||
of a TCP segment using a hashing function with a password known to both peers.
|
of a TCP segment using a hashing function with a password known to both peers.
|
||||||
The intent of TCP-AO is to deprecate TCP-MD5 providing better security,
|
The intent of TCP-AO is to deprecate TCP-MD5 providing better security,
|
||||||
key rotation and support for variety of hashing algorithms.
|
key rotation and support for a variety of hashing algorithms.
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
===============
|
===============
|
||||||
@ -164,9 +164,9 @@ A: It should not, no action needs to be performed [7.5.2.e]::
|
|||||||
is not available, no action is required (RNextKeyID of a received
|
is not available, no action is required (RNextKeyID of a received
|
||||||
segment needs to match the MKT’s SendID).
|
segment needs to match the MKT’s SendID).
|
||||||
|
|
||||||
Q: How current_key is set and when does it change? It is a user-triggered
|
Q: How is current_key set, and when does it change? Is it a user-triggered
|
||||||
change, or is it by a request from the remote peer? Is it set by the user
|
change, or is it triggered by a request from the remote peer? Is it set by the
|
||||||
explicitly, or by a matching rule?
|
user explicitly, or by a matching rule?
|
||||||
|
|
||||||
A: current_key is set by RNextKeyID [6.1]::
|
A: current_key is set by RNextKeyID [6.1]::
|
||||||
|
|
||||||
@ -233,8 +233,8 @@ always have one current_key [3.3]::
|
|||||||
|
|
||||||
Q: Can a non-TCP-AO connection become a TCP-AO-enabled one?
|
Q: Can a non-TCP-AO connection become a TCP-AO-enabled one?
|
||||||
|
|
||||||
A: No: for already established non-TCP-AO connection it would be impossible
|
A: No: for an already established non-TCP-AO connection it would be impossible
|
||||||
to switch using TCP-AO as the traffic key generation requires the initial
|
to switch to using TCP-AO, as the traffic key generation requires the initial
|
||||||
sequence numbers. Paraphrasing, starting using TCP-AO would require
|
sequence numbers. Paraphrasing, starting using TCP-AO would require
|
||||||
re-establishing the TCP connection.
|
re-establishing the TCP connection.
|
||||||
|
|
||||||
@ -292,7 +292,7 @@ no transparency is really needed and modern BGP daemons already have
|
|||||||
|
|
||||||
Linux provides a set of ``setsockopt()s`` and ``getsockopt()s`` that let
|
Linux provides a set of ``setsockopt()s`` and ``getsockopt()s`` that let
|
||||||
userspace manage TCP-AO on a per-socket basis. In order to add/delete MKTs
|
userspace manage TCP-AO on a per-socket basis. In order to add/delete MKTs
|
||||||
``TCP_AO_ADD_KEY`` and ``TCP_AO_DEL_KEY`` TCP socket options must be used
|
``TCP_AO_ADD_KEY`` and ``TCP_AO_DEL_KEY`` TCP socket options must be used.
|
||||||
It is not allowed to add a key on an established non-TCP-AO connection
|
It is not allowed to add a key on an established non-TCP-AO connection
|
||||||
as well as to remove the last key from TCP-AO connection.
|
as well as to remove the last key from TCP-AO connection.
|
||||||
|
|
||||||
@ -361,7 +361,7 @@ not implemented.
|
|||||||
4. ``setsockopt()`` vs ``accept()`` race
|
4. ``setsockopt()`` vs ``accept()`` race
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
In contrast with TCP-MD5 established connection which has just one key,
|
In contrast with an established TCP-MD5 connection which has just one key,
|
||||||
TCP-AO connections may have many keys, which means that accepted connections
|
TCP-AO connections may have many keys, which means that accepted connections
|
||||||
on a listen socket may have any amount of keys as well. As copying all those
|
on a listen socket may have any amount of keys as well. As copying all those
|
||||||
keys on a first properly signed SYN would make the request socket bigger, that
|
keys on a first properly signed SYN would make the request socket bigger, that
|
||||||
@ -374,7 +374,7 @@ keys from sockets that were already established, but not yet ``accept()``'ed,
|
|||||||
hanging in the accept queue.
|
hanging in the accept queue.
|
||||||
|
|
||||||
The reverse is valid as well: if userspace adds a new key for a peer on
|
The reverse is valid as well: if userspace adds a new key for a peer on
|
||||||
a listener socket, the established sockets in accept queue won't
|
a listener socket, the established sockets in the accept queue won't
|
||||||
have the new keys.
|
have the new keys.
|
||||||
|
|
||||||
At this moment, the resolution for the two races:
|
At this moment, the resolution for the two races:
|
||||||
@ -382,7 +382,7 @@ At this moment, the resolution for the two races:
|
|||||||
and ``setsockopt(TCP_AO_DEL_KEY)`` vs ``accept()`` is delegated to userspace.
|
and ``setsockopt(TCP_AO_DEL_KEY)`` vs ``accept()`` is delegated to userspace.
|
||||||
This means that it's expected that userspace would check the MKTs on the socket
|
This means that it's expected that userspace would check the MKTs on the socket
|
||||||
that was returned by ``accept()`` to verify that any key rotation that
|
that was returned by ``accept()`` to verify that any key rotation that
|
||||||
happened on listen socket is reflected on the newly established connection.
|
happened on the listen socket is reflected on the newly established connection.
|
||||||
|
|
||||||
This is a similar "do-nothing" approach to TCP-MD5 from the kernel side and
|
This is a similar "do-nothing" approach to TCP-MD5 from the kernel side and
|
||||||
may be changed later by introducing new flags to ``tcp_ao_add``
|
may be changed later by introducing new flags to ``tcp_ao_add``
|
||||||
|
@ -355,6 +355,8 @@ just do it. As a result, a sequence of smaller series gets merged quicker and
|
|||||||
with better review coverage. Re-posting large series also increases the mailing
|
with better review coverage. Re-posting large series also increases the mailing
|
||||||
list traffic.
|
list traffic.
|
||||||
|
|
||||||
|
.. _rcs:
|
||||||
|
|
||||||
Local variable ordering ("reverse xmas tree", "RCS")
|
Local variable ordering ("reverse xmas tree", "RCS")
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -391,6 +393,21 @@ APIs and helpers, especially scoped iterators. However, direct use of
|
|||||||
``__free()`` within networking core and drivers is discouraged.
|
``__free()`` within networking core and drivers is discouraged.
|
||||||
Similar guidance applies to declaring variables mid-function.
|
Similar guidance applies to declaring variables mid-function.
|
||||||
|
|
||||||
|
Clean-up patches
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Netdev discourages patches which perform simple clean-ups, which are not in
|
||||||
|
the context of other work. For example:
|
||||||
|
|
||||||
|
* Addressing ``checkpatch.pl`` warnings
|
||||||
|
* Addressing :ref:`Local variable ordering<rcs>` issues
|
||||||
|
* Conversions to device-managed APIs (``devm_`` helpers)
|
||||||
|
|
||||||
|
This is because it is felt that the churn that such changes produce comes
|
||||||
|
at a greater cost than the value of such clean-ups.
|
||||||
|
|
||||||
|
Conversely, spelling and grammar fixes are not discouraged.
|
||||||
|
|
||||||
Resending after review
|
Resending after review
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ BPF scheduler and reverts all tasks back to CFS.
|
|||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
# make -j16 -C tools/sched_ext
|
# make -j16 -C tools/sched_ext
|
||||||
# tools/sched_ext/scx_simple
|
# tools/sched_ext/build/bin/scx_simple
|
||||||
local=0 global=3
|
local=0 global=3
|
||||||
local=5 global=24
|
local=5 global=24
|
||||||
local=9 global=44
|
local=9 global=44
|
||||||
|
@ -175,7 +175,7 @@ field2会导致非对齐访问,这并不是不合理的。你会期望field2
|
|||||||
避免非对齐访问
|
避免非对齐访问
|
||||||
==============
|
==============
|
||||||
|
|
||||||
避免非对齐访问的最简单方法是使用<asm/unaligned.h>头文件提供的get_unaligned()和
|
避免非对齐访问的最简单方法是使用<linux/unaligned.h>头文件提供的get_unaligned()和
|
||||||
put_unaligned()宏。
|
put_unaligned()宏。
|
||||||
|
|
||||||
回到前面的一个可能导致非对齐访问的代码例子::
|
回到前面的一个可能导致非对齐访问的代码例子::
|
||||||
|
@ -8,7 +8,7 @@ Introduction
|
|||||||
============
|
============
|
||||||
|
|
||||||
Many Dell notebooks made after ~2020 support a WMI-based interface for
|
Many Dell notebooks made after ~2020 support a WMI-based interface for
|
||||||
retrieving various system data like battery temperature, ePPID, diagostic data
|
retrieving various system data like battery temperature, ePPID, diagnostic data
|
||||||
and fan/thermal sensor data.
|
and fan/thermal sensor data.
|
||||||
|
|
||||||
This interface is likely used by the `Dell Data Vault` software on Windows,
|
This interface is likely used by the `Dell Data Vault` software on Windows,
|
||||||
@ -277,7 +277,7 @@ Reverse-Engineering the DDV WMI interface
|
|||||||
4. Try to deduce the meaning of a certain WMI method by comparing the control
|
4. Try to deduce the meaning of a certain WMI method by comparing the control
|
||||||
flow with other ACPI methods (_BIX or _BIF for battery related methods
|
flow with other ACPI methods (_BIX or _BIF for battery related methods
|
||||||
for example).
|
for example).
|
||||||
5. Use the built-in UEFI diagostics to view sensor types/values for fan/thermal
|
5. Use the built-in UEFI diagnostics to view sensor types/values for fan/thermal
|
||||||
related methods (sometimes overwriting static ACPI data fields can be used
|
related methods (sometimes overwriting static ACPI data fields can be used
|
||||||
to test different sensor type values, since on some machines this data is
|
to test different sensor type values, since on some machines this data is
|
||||||
not reinitialized upon a warm reset).
|
not reinitialized upon a warm reset).
|
||||||
|
121
MAINTAINERS
121
MAINTAINERS
@ -860,7 +860,7 @@ F: drivers/crypto/allwinner/
|
|||||||
|
|
||||||
ALLWINNER DMIC DRIVERS
|
ALLWINNER DMIC DRIVERS
|
||||||
M: Ban Tao <fengzheng923@gmail.com>
|
M: Ban Tao <fengzheng923@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
|
F: Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
|
||||||
F: sound/soc/sunxi/sun50i-dmic.c
|
F: sound/soc/sunxi/sun50i-dmic.c
|
||||||
@ -1517,7 +1517,7 @@ F: drivers/iio/gyro/adxrs290.c
|
|||||||
ANALOG DEVICES INC ASOC CODEC DRIVERS
|
ANALOG DEVICES INC ASOC CODEC DRIVERS
|
||||||
M: Lars-Peter Clausen <lars@metafoo.de>
|
M: Lars-Peter Clausen <lars@metafoo.de>
|
||||||
M: Nuno Sá <nuno.sa@analog.com>
|
M: Nuno Sá <nuno.sa@analog.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://wiki.analog.com/
|
W: http://wiki.analog.com/
|
||||||
W: https://ez.analog.com/linux-software-drivers
|
W: https://ez.analog.com/linux-software-drivers
|
||||||
@ -1594,7 +1594,7 @@ F: drivers/rtc/rtc-goldfish.c
|
|||||||
AOA (Apple Onboard Audio) ALSA DRIVER
|
AOA (Apple Onboard Audio) ALSA DRIVER
|
||||||
M: Johannes Berg <johannes@sipsolutions.net>
|
M: Johannes Berg <johannes@sipsolutions.net>
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/aoa/
|
F: sound/aoa/
|
||||||
|
|
||||||
@ -2091,7 +2091,7 @@ F: drivers/crypto/amlogic/
|
|||||||
|
|
||||||
ARM/Amlogic Meson SoC Sound Drivers
|
ARM/Amlogic Meson SoC Sound Drivers
|
||||||
M: Jerome Brunet <jbrunet@baylibre.com>
|
M: Jerome Brunet <jbrunet@baylibre.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/amlogic*
|
F: Documentation/devicetree/bindings/sound/amlogic*
|
||||||
F: sound/soc/meson/
|
F: sound/soc/meson/
|
||||||
@ -2129,7 +2129,7 @@ F: drivers/*/*alpine*
|
|||||||
ARM/APPLE MACHINE SOUND DRIVERS
|
ARM/APPLE MACHINE SOUND DRIVERS
|
||||||
M: Martin Povišer <povik+lin@cutebit.org>
|
M: Martin Povišer <povik+lin@cutebit.org>
|
||||||
L: asahi@lists.linux.dev
|
L: asahi@lists.linux.dev
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
|
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
|
||||||
F: Documentation/devicetree/bindings/sound/apple,*
|
F: Documentation/devicetree/bindings/sound/apple,*
|
||||||
@ -3732,7 +3732,7 @@ F: arch/arm/boot/dts/microchip/at91-tse850-3.dts
|
|||||||
|
|
||||||
AXENTIA ASOC DRIVERS
|
AXENTIA ASOC DRIVERS
|
||||||
M: Peter Rosin <peda@axentia.se>
|
M: Peter Rosin <peda@axentia.se>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/axentia,*
|
F: Documentation/devicetree/bindings/sound/axentia,*
|
||||||
F: sound/soc/atmel/tse850-pcm5142.c
|
F: sound/soc/atmel/tse850-pcm5142.c
|
||||||
@ -4851,7 +4851,7 @@ F: include/uapi/linux/bsg.h
|
|||||||
|
|
||||||
BT87X AUDIO DRIVER
|
BT87X AUDIO DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: Documentation/sound/cards/bt87x.rst
|
F: Documentation/sound/cards/bt87x.rst
|
||||||
@ -4913,7 +4913,7 @@ F: drivers/net/can/bxcan.c
|
|||||||
|
|
||||||
C-MEDIA CMI8788 DRIVER
|
C-MEDIA CMI8788 DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: sound/pci/oxygen/
|
F: sound/pci/oxygen/
|
||||||
@ -7832,6 +7832,8 @@ F: drivers/gpu/drm/xlnx/
|
|||||||
DRM GPU SCHEDULER
|
DRM GPU SCHEDULER
|
||||||
M: Luben Tuikov <ltuikov89@gmail.com>
|
M: Luben Tuikov <ltuikov89@gmail.com>
|
||||||
M: Matthew Brost <matthew.brost@intel.com>
|
M: Matthew Brost <matthew.brost@intel.com>
|
||||||
|
M: Danilo Krummrich <dakr@kernel.org>
|
||||||
|
M: Philipp Stanner <pstanner@redhat.com>
|
||||||
L: dri-devel@lists.freedesktop.org
|
L: dri-devel@lists.freedesktop.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
|
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
|
||||||
@ -8252,7 +8254,7 @@ F: drivers/edac/ti_edac.c
|
|||||||
|
|
||||||
EDIROL UA-101/UA-1000 DRIVER
|
EDIROL UA-101/UA-1000 DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: sound/usb/misc/ua101.c
|
F: sound/usb/misc/ua101.c
|
||||||
@ -8814,7 +8816,7 @@ F: drivers/net/can/usb/f81604.c
|
|||||||
FIREWIRE AUDIO DRIVERS and IEC 61883-1/6 PACKET STREAMING ENGINE
|
FIREWIRE AUDIO DRIVERS and IEC 61883-1/6 PACKET STREAMING ENGINE
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
M: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
M: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: include/uapi/sound/firewire.h
|
F: include/uapi/sound/firewire.h
|
||||||
@ -8888,7 +8890,7 @@ F: drivers/input/joystick/fsia6b.c
|
|||||||
|
|
||||||
FOCUSRITE SCARLETT2 MIXER DRIVER (Scarlett Gen 2+ and Clarett)
|
FOCUSRITE SCARLETT2 MIXER DRIVER (Scarlett Gen 2+ and Clarett)
|
||||||
M: Geoffrey D. Bennett <g@b4.vu>
|
M: Geoffrey D. Bennett <g@b4.vu>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: https://github.com/geoffreybennett/scarlett-gen2
|
W: https://github.com/geoffreybennett/scarlett-gen2
|
||||||
B: https://github.com/geoffreybennett/scarlett-gen2/issues
|
B: https://github.com/geoffreybennett/scarlett-gen2/issues
|
||||||
@ -8912,6 +8914,7 @@ F: include/linux/fortify-string.h
|
|||||||
F: lib/fortify_kunit.c
|
F: lib/fortify_kunit.c
|
||||||
F: lib/memcpy_kunit.c
|
F: lib/memcpy_kunit.c
|
||||||
F: lib/test_fortify/*
|
F: lib/test_fortify/*
|
||||||
|
K: \bunsafe_memcpy\b
|
||||||
K: \b__NO_FORTIFY\b
|
K: \b__NO_FORTIFY\b
|
||||||
|
|
||||||
FPGA DFL DRIVERS
|
FPGA DFL DRIVERS
|
||||||
@ -9209,7 +9212,7 @@ M: Shengjiu Wang <shengjiu.wang@gmail.com>
|
|||||||
M: Xiubo Li <Xiubo.Lee@gmail.com>
|
M: Xiubo Li <Xiubo.Lee@gmail.com>
|
||||||
R: Fabio Estevam <festevam@gmail.com>
|
R: Fabio Estevam <festevam@gmail.com>
|
||||||
R: Nicolin Chen <nicoleotsuka@gmail.com>
|
R: Nicolin Chen <nicoleotsuka@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/soc/fsl/fsl*
|
F: sound/soc/fsl/fsl*
|
||||||
@ -9219,7 +9222,7 @@ FREESCALE SOC LPC32XX SOUND DRIVERS
|
|||||||
M: J.M.B. Downing <jonathan.downing@nautel.com>
|
M: J.M.B. Downing <jonathan.downing@nautel.com>
|
||||||
M: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
|
M: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
|
||||||
R: Vladimir Zapolskiy <vz@mleia.com>
|
R: Vladimir Zapolskiy <vz@mleia.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/nxp,lpc3220-i2s.yaml
|
F: Documentation/devicetree/bindings/sound/nxp,lpc3220-i2s.yaml
|
||||||
@ -9227,7 +9230,7 @@ F: sound/soc/fsl/lpc3xxx-*
|
|||||||
|
|
||||||
FREESCALE SOC SOUND QMC DRIVER
|
FREESCALE SOC SOUND QMC DRIVER
|
||||||
M: Herve Codina <herve.codina@bootlin.com>
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
|
F: Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
|
||||||
@ -10267,7 +10270,7 @@ F: Documentation/devicetree/bindings/arm/hisilicon/low-pin-count.yaml
|
|||||||
F: drivers/bus/hisi_lpc.c
|
F: drivers/bus/hisi_lpc.c
|
||||||
|
|
||||||
HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
|
HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
|
||||||
M: Yisen Zhuang <yisen.zhuang@huawei.com>
|
M: Jian Shen <shenjian15@huawei.com>
|
||||||
M: Salil Mehta <salil.mehta@huawei.com>
|
M: Salil Mehta <salil.mehta@huawei.com>
|
||||||
M: Jijie Shao <shaojijie@huawei.com>
|
M: Jijie Shao <shaojijie@huawei.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
@ -10276,7 +10279,7 @@ W: http://www.hisilicon.com
|
|||||||
F: drivers/net/ethernet/hisilicon/hns3/
|
F: drivers/net/ethernet/hisilicon/hns3/
|
||||||
|
|
||||||
HISILICON NETWORK SUBSYSTEM DRIVER
|
HISILICON NETWORK SUBSYSTEM DRIVER
|
||||||
M: Yisen Zhuang <yisen.zhuang@huawei.com>
|
M: Jian Shen <shenjian15@huawei.com>
|
||||||
M: Salil Mehta <salil.mehta@huawei.com>
|
M: Salil Mehta <salil.mehta@huawei.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -11154,7 +11157,7 @@ F: drivers/iio/pressure/dps310.c
|
|||||||
|
|
||||||
INFINEON PEB2466 ASoC CODEC
|
INFINEON PEB2466 ASoC CODEC
|
||||||
M: Herve Codina <herve.codina@bootlin.com>
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/infineon,peb2466.yaml
|
F: Documentation/devicetree/bindings/sound/infineon,peb2466.yaml
|
||||||
F: sound/soc/codecs/peb2466.c
|
F: sound/soc/codecs/peb2466.c
|
||||||
@ -11317,7 +11320,7 @@ M: Bard Liao <yung-chuan.liao@linux.intel.com>
|
|||||||
M: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
|
M: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
|
||||||
M: Kai Vehmanen <kai.vehmanen@linux.intel.com>
|
M: Kai Vehmanen <kai.vehmanen@linux.intel.com>
|
||||||
R: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
|
R: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: sound/soc/intel/
|
F: sound/soc/intel/
|
||||||
|
|
||||||
@ -11496,7 +11499,7 @@ F: include/uapi/linux/idxd.h
|
|||||||
|
|
||||||
INTEL IN FIELD SCAN (IFS) DEVICE
|
INTEL IN FIELD SCAN (IFS) DEVICE
|
||||||
M: Jithu Joseph <jithu.joseph@intel.com>
|
M: Jithu Joseph <jithu.joseph@intel.com>
|
||||||
R: Ashok Raj <ashok.raj@intel.com>
|
R: Ashok Raj <ashok.raj.linux@gmail.com>
|
||||||
R: Tony Luck <tony.luck@intel.com>
|
R: Tony Luck <tony.luck@intel.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/platform/x86/intel/ifs
|
F: drivers/platform/x86/intel/ifs
|
||||||
@ -12001,7 +12004,7 @@ F: drivers/tty/ipwireless/
|
|||||||
|
|
||||||
IRON DEVICE AUDIO CODEC DRIVERS
|
IRON DEVICE AUDIO CODEC DRIVERS
|
||||||
M: Kiseok Jo <kiseok.jo@irondevice.com>
|
M: Kiseok Jo <kiseok.jo@irondevice.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/irondevice,*
|
F: Documentation/devicetree/bindings/sound/irondevice,*
|
||||||
F: sound/soc/codecs/sma*
|
F: sound/soc/codecs/sma*
|
||||||
@ -12343,6 +12346,7 @@ F: include/linux/randomize_kstack.h
|
|||||||
F: kernel/configs/hardening.config
|
F: kernel/configs/hardening.config
|
||||||
F: lib/usercopy_kunit.c
|
F: lib/usercopy_kunit.c
|
||||||
F: mm/usercopy.c
|
F: mm/usercopy.c
|
||||||
|
F: security/Kconfig.hardening
|
||||||
K: \b(add|choose)_random_kstack_offset\b
|
K: \b(add|choose)_random_kstack_offset\b
|
||||||
K: \b__check_(object_size|heap_object)\b
|
K: \b__check_(object_size|heap_object)\b
|
||||||
K: \b__counted_by\b
|
K: \b__counted_by\b
|
||||||
@ -12459,7 +12463,7 @@ F: virt/kvm/*
|
|||||||
KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)
|
KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)
|
||||||
M: Marc Zyngier <maz@kernel.org>
|
M: Marc Zyngier <maz@kernel.org>
|
||||||
M: Oliver Upton <oliver.upton@linux.dev>
|
M: Oliver Upton <oliver.upton@linux.dev>
|
||||||
R: James Morse <james.morse@arm.com>
|
R: Joey Gouly <joey.gouly@arm.com>
|
||||||
R: Suzuki K Poulose <suzuki.poulose@arm.com>
|
R: Suzuki K Poulose <suzuki.poulose@arm.com>
|
||||||
R: Zenghui Yu <yuzenghui@huawei.com>
|
R: Zenghui Yu <yuzenghui@huawei.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
@ -12940,7 +12944,6 @@ LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
|
|||||||
M: Viresh Kumar <vireshk@kernel.org>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
|
|
||||||
F: drivers/ata/pata_arasan_cf.c
|
F: drivers/ata/pata_arasan_cf.c
|
||||||
F: include/linux/pata_arasan_cf_data.h
|
F: include/linux/pata_arasan_cf_data.h
|
||||||
|
|
||||||
@ -12954,17 +12957,14 @@ LIBATA PATA FARADAY FTIDE010 AND GEMINI SATA BRIDGE DRIVERS
|
|||||||
M: Linus Walleij <linus.walleij@linaro.org>
|
M: Linus Walleij <linus.walleij@linaro.org>
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
|
|
||||||
F: drivers/ata/pata_ftide010.c
|
F: drivers/ata/pata_ftide010.c
|
||||||
F: drivers/ata/sata_gemini.c
|
F: drivers/ata/sata_gemini.c
|
||||||
F: drivers/ata/sata_gemini.h
|
F: drivers/ata/sata_gemini.h
|
||||||
|
|
||||||
LIBATA SATA AHCI PLATFORM devices support
|
LIBATA SATA AHCI PLATFORM devices support
|
||||||
M: Hans de Goede <hdegoede@redhat.com>
|
M: Hans de Goede <hdegoede@redhat.com>
|
||||||
M: Jens Axboe <axboe@kernel.dk>
|
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
|
|
||||||
F: drivers/ata/ahci_platform.c
|
F: drivers/ata/ahci_platform.c
|
||||||
F: drivers/ata/libahci_platform.c
|
F: drivers/ata/libahci_platform.c
|
||||||
F: include/linux/ahci_platform.h
|
F: include/linux/ahci_platform.h
|
||||||
@ -12973,7 +12973,6 @@ LIBATA SATA AHCI SYNOPSYS DWC CONTROLLER DRIVER
|
|||||||
M: Serge Semin <fancer.lancer@gmail.com>
|
M: Serge Semin <fancer.lancer@gmail.com>
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git
|
|
||||||
F: Documentation/devicetree/bindings/ata/baikal,bt1-ahci.yaml
|
F: Documentation/devicetree/bindings/ata/baikal,bt1-ahci.yaml
|
||||||
F: Documentation/devicetree/bindings/ata/snps,dwc-ahci.yaml
|
F: Documentation/devicetree/bindings/ata/snps,dwc-ahci.yaml
|
||||||
F: drivers/ata/ahci_dwc.c
|
F: drivers/ata/ahci_dwc.c
|
||||||
@ -12982,7 +12981,6 @@ LIBATA SATA PROMISE TX2/TX4 CONTROLLER DRIVER
|
|||||||
M: Mikael Pettersson <mikpelinux@gmail.com>
|
M: Mikael Pettersson <mikpelinux@gmail.com>
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
|
|
||||||
F: drivers/ata/sata_promise.*
|
F: drivers/ata/sata_promise.*
|
||||||
|
|
||||||
LIBATA SUBSYSTEM (Serial and Parallel ATA drivers)
|
LIBATA SUBSYSTEM (Serial and Parallel ATA drivers)
|
||||||
@ -13952,7 +13950,7 @@ F: drivers/media/i2c/max96717.c
|
|||||||
|
|
||||||
MAX9860 MONO AUDIO VOICE CODEC DRIVER
|
MAX9860 MONO AUDIO VOICE CODEC DRIVER
|
||||||
M: Peter Rosin <peda@axentia.se>
|
M: Peter Rosin <peda@axentia.se>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/max9860.txt
|
F: Documentation/devicetree/bindings/sound/max9860.txt
|
||||||
F: sound/soc/codecs/max9860.*
|
F: sound/soc/codecs/max9860.*
|
||||||
@ -15085,7 +15083,7 @@ F: drivers/spi/spi-at91-usart.c
|
|||||||
|
|
||||||
MICROCHIP AUDIO ASOC DRIVERS
|
MICROCHIP AUDIO ASOC DRIVERS
|
||||||
M: Claudiu Beznea <claudiu.beznea@tuxon.dev>
|
M: Claudiu Beznea <claudiu.beznea@tuxon.dev>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/devicetree/bindings/sound/atmel*
|
F: Documentation/devicetree/bindings/sound/atmel*
|
||||||
F: Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt
|
F: Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt
|
||||||
@ -15957,7 +15955,7 @@ F: include/linux/mtd/*nand*.h
|
|||||||
|
|
||||||
NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
|
NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
|
||||||
M: Daniel Mack <zonque@gmail.com>
|
M: Daniel Mack <zonque@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://www.native-instruments.com
|
W: http://www.native-instruments.com
|
||||||
F: sound/usb/caiaq/
|
F: sound/usb/caiaq/
|
||||||
@ -16197,8 +16195,19 @@ F: lib/random32.c
|
|||||||
F: net/
|
F: net/
|
||||||
F: tools/net/
|
F: tools/net/
|
||||||
F: tools/testing/selftests/net/
|
F: tools/testing/selftests/net/
|
||||||
|
X: Documentation/networking/mac80211-injection.rst
|
||||||
|
X: Documentation/networking/mac80211_hwsim/
|
||||||
|
X: Documentation/networking/regulatory.rst
|
||||||
|
X: include/net/cfg80211.h
|
||||||
|
X: include/net/ieee80211_radiotap.h
|
||||||
|
X: include/net/iw_handler.h
|
||||||
|
X: include/net/mac80211.h
|
||||||
|
X: include/net/wext.h
|
||||||
X: net/9p/
|
X: net/9p/
|
||||||
X: net/bluetooth/
|
X: net/bluetooth/
|
||||||
|
X: net/mac80211/
|
||||||
|
X: net/rfkill/
|
||||||
|
X: net/wireless/
|
||||||
|
|
||||||
NETWORKING [IPSEC]
|
NETWORKING [IPSEC]
|
||||||
M: Steffen Klassert <steffen.klassert@secunet.com>
|
M: Steffen Klassert <steffen.klassert@secunet.com>
|
||||||
@ -16728,7 +16737,7 @@ F: drivers/extcon/extcon-ptn5150.c
|
|||||||
|
|
||||||
NXP SGTL5000 DRIVER
|
NXP SGTL5000 DRIVER
|
||||||
M: Fabio Estevam <festevam@gmail.com>
|
M: Fabio Estevam <festevam@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/fsl,sgtl5000.yaml
|
F: Documentation/devicetree/bindings/sound/fsl,sgtl5000.yaml
|
||||||
F: sound/soc/codecs/sgtl5000*
|
F: sound/soc/codecs/sgtl5000*
|
||||||
@ -16752,7 +16761,7 @@ K: "nxp,tda998x"
|
|||||||
|
|
||||||
NXP TFA9879 DRIVER
|
NXP TFA9879 DRIVER
|
||||||
M: Peter Rosin <peda@axentia.se>
|
M: Peter Rosin <peda@axentia.se>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/nxp,tfa9879.yaml
|
F: Documentation/devicetree/bindings/sound/nxp,tfa9879.yaml
|
||||||
F: sound/soc/codecs/tfa9879*
|
F: sound/soc/codecs/tfa9879*
|
||||||
@ -16764,7 +16773,7 @@ F: drivers/nfc/nxp-nci
|
|||||||
|
|
||||||
NXP/Goodix TFA989X (TFA1) DRIVER
|
NXP/Goodix TFA989X (TFA1) DRIVER
|
||||||
M: Stephan Gerhold <stephan@gerhold.net>
|
M: Stephan Gerhold <stephan@gerhold.net>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml
|
F: Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml
|
||||||
F: sound/soc/codecs/tfa989x.c
|
F: sound/soc/codecs/tfa989x.c
|
||||||
@ -16850,7 +16859,7 @@ F: include/uapi/misc/ocxl.h
|
|||||||
OMAP AUDIO SUPPORT
|
OMAP AUDIO SUPPORT
|
||||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||||
M: Jarkko Nikula <jarkko.nikula@bitmer.com>
|
M: Jarkko Nikula <jarkko.nikula@bitmer.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
L: linux-omap@vger.kernel.org
|
L: linux-omap@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/soc/ti/n810.c
|
F: sound/soc/ti/n810.c
|
||||||
@ -17407,7 +17416,7 @@ F: include/linux/pm_opp.h
|
|||||||
|
|
||||||
OPL4 DRIVER
|
OPL4 DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: sound/drivers/opl4/
|
F: sound/drivers/opl4/
|
||||||
@ -18790,7 +18799,7 @@ F: drivers/crypto/intel/qat/
|
|||||||
|
|
||||||
QCOM AUDIO (ASoC) DRIVERS
|
QCOM AUDIO (ASoC) DRIVERS
|
||||||
M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
L: linux-arm-msm@vger.kernel.org
|
L: linux-arm-msm@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/devicetree/bindings/soc/qcom/qcom,apr*
|
F: Documentation/devicetree/bindings/soc/qcom/qcom,apr*
|
||||||
@ -19652,7 +19661,7 @@ F: drivers/net/ethernet/renesas/rtsn.*
|
|||||||
|
|
||||||
RENESAS IDT821034 ASoC CODEC
|
RENESAS IDT821034 ASoC CODEC
|
||||||
M: Herve Codina <herve.codina@bootlin.com>
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/renesas,idt821034.yaml
|
F: Documentation/devicetree/bindings/sound/renesas,idt821034.yaml
|
||||||
F: sound/soc/codecs/idt821034.c
|
F: sound/soc/codecs/idt821034.c
|
||||||
@ -20403,7 +20412,7 @@ F: security/safesetid/
|
|||||||
|
|
||||||
SAMSUNG AUDIO (ASoC) DRIVERS
|
SAMSUNG AUDIO (ASoC) DRIVERS
|
||||||
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
B: mailto:linux-samsung-soc@vger.kernel.org
|
B: mailto:linux-samsung-soc@vger.kernel.org
|
||||||
F: Documentation/devicetree/bindings/sound/samsung*
|
F: Documentation/devicetree/bindings/sound/samsung*
|
||||||
@ -20939,7 +20948,7 @@ F: drivers/media/rc/serial_ir.c
|
|||||||
|
|
||||||
SERIAL LOW-POWER INTER-CHIP MEDIA BUS (SLIMbus)
|
SERIAL LOW-POWER INTER-CHIP MEDIA BUS (SLIMbus)
|
||||||
M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/slimbus/
|
F: Documentation/devicetree/bindings/slimbus/
|
||||||
F: drivers/slimbus/
|
F: drivers/slimbus/
|
||||||
@ -21373,7 +21382,7 @@ F: Documentation/devicetree/bindings/i2c/socionext,synquacer-i2c.yaml
|
|||||||
F: drivers/i2c/busses/i2c-synquacer.c
|
F: drivers/i2c/busses/i2c-synquacer.c
|
||||||
|
|
||||||
SOCIONEXT UNIPHIER SOUND DRIVER
|
SOCIONEXT UNIPHIER SOUND DRIVER
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Orphan
|
S: Orphan
|
||||||
F: sound/soc/uniphier/
|
F: sound/soc/uniphier/
|
||||||
|
|
||||||
@ -21632,7 +21641,7 @@ F: tools/testing/selftests/alsa
|
|||||||
|
|
||||||
SOUND - COMPRESSED AUDIO
|
SOUND - COMPRESSED AUDIO
|
||||||
M: Vinod Koul <vkoul@kernel.org>
|
M: Vinod Koul <vkoul@kernel.org>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: Documentation/sound/designs/compress-offload.rst
|
F: Documentation/sound/designs/compress-offload.rst
|
||||||
@ -21695,7 +21704,7 @@ M: Vinod Koul <vkoul@kernel.org>
|
|||||||
M: Bard Liao <yung-chuan.liao@linux.intel.com>
|
M: Bard Liao <yung-chuan.liao@linux.intel.com>
|
||||||
R: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
|
R: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
|
||||||
R: Sanyog Kale <sanyog.r.kale@intel.com>
|
R: Sanyog Kale <sanyog.r.kale@intel.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git
|
||||||
F: Documentation/driver-api/soundwire/
|
F: Documentation/driver-api/soundwire/
|
||||||
@ -22168,7 +22177,7 @@ F: kernel/static_call.c
|
|||||||
|
|
||||||
STI AUDIO (ASoC) DRIVERS
|
STI AUDIO (ASoC) DRIVERS
|
||||||
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
|
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
|
F: Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
|
||||||
F: sound/soc/sti/
|
F: sound/soc/sti/
|
||||||
@ -22189,7 +22198,7 @@ F: drivers/media/usb/stk1160/
|
|||||||
STM32 AUDIO (ASoC) DRIVERS
|
STM32 AUDIO (ASoC) DRIVERS
|
||||||
M: Olivier Moysan <olivier.moysan@foss.st.com>
|
M: Olivier Moysan <olivier.moysan@foss.st.com>
|
||||||
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
|
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml
|
F: Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml
|
||||||
F: Documentation/devicetree/bindings/sound/st,stm32-*.yaml
|
F: Documentation/devicetree/bindings/sound/st,stm32-*.yaml
|
||||||
@ -22892,7 +22901,7 @@ F: drivers/irqchip/irq-xtensa-*
|
|||||||
|
|
||||||
TEXAS INSTRUMENTS ASoC DRIVERS
|
TEXAS INSTRUMENTS ASoC DRIVERS
|
||||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
|
F: Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
|
||||||
F: sound/soc/ti/
|
F: sound/soc/ti/
|
||||||
@ -22901,7 +22910,7 @@ TEXAS INSTRUMENTS AUDIO (ASoC/HDA) DRIVERS
|
|||||||
M: Shenghao Ding <shenghao-ding@ti.com>
|
M: Shenghao Ding <shenghao-ding@ti.com>
|
||||||
M: Kevin Lu <kevin-lu@ti.com>
|
M: Kevin Lu <kevin-lu@ti.com>
|
||||||
M: Baojun Xu <baojun.xu@ti.com>
|
M: Baojun Xu <baojun.xu@ti.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/tas2552.txt
|
F: Documentation/devicetree/bindings/sound/tas2552.txt
|
||||||
F: Documentation/devicetree/bindings/sound/ti,tas2562.yaml
|
F: Documentation/devicetree/bindings/sound/ti,tas2562.yaml
|
||||||
@ -23269,7 +23278,7 @@ F: drivers/soc/ti/*
|
|||||||
TI LM49xxx FAMILY ASoC CODEC DRIVERS
|
TI LM49xxx FAMILY ASoC CODEC DRIVERS
|
||||||
M: M R Swami Reddy <mr.swami.reddy@ti.com>
|
M: M R Swami Reddy <mr.swami.reddy@ti.com>
|
||||||
M: Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
|
M: Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/soc/codecs/isabelle*
|
F: sound/soc/codecs/isabelle*
|
||||||
F: sound/soc/codecs/lm49453*
|
F: sound/soc/codecs/lm49453*
|
||||||
@ -23284,14 +23293,14 @@ F: drivers/iio/adc/ti-lmp92064.c
|
|||||||
|
|
||||||
TI PCM3060 ASoC CODEC DRIVER
|
TI PCM3060 ASoC CODEC DRIVER
|
||||||
M: Kirill Marinushkin <kmarinushkin@birdec.com>
|
M: Kirill Marinushkin <kmarinushkin@birdec.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/pcm3060.txt
|
F: Documentation/devicetree/bindings/sound/pcm3060.txt
|
||||||
F: sound/soc/codecs/pcm3060*
|
F: sound/soc/codecs/pcm3060*
|
||||||
|
|
||||||
TI TAS571X FAMILY ASoC CODEC DRIVER
|
TI TAS571X FAMILY ASoC CODEC DRIVER
|
||||||
M: Kevin Cernekee <cernekee@chromium.org>
|
M: Kevin Cernekee <cernekee@chromium.org>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Odd Fixes
|
S: Odd Fixes
|
||||||
F: sound/soc/codecs/tas571x*
|
F: sound/soc/codecs/tas571x*
|
||||||
|
|
||||||
@ -23319,7 +23328,7 @@ F: drivers/iio/adc/ti-tsc2046.c
|
|||||||
|
|
||||||
TI TWL4030 SERIES SOC CODEC DRIVER
|
TI TWL4030 SERIES SOC CODEC DRIVER
|
||||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/soc/codecs/twl4030*
|
F: sound/soc/codecs/twl4030*
|
||||||
|
|
||||||
@ -23995,7 +24004,7 @@ F: drivers/usb/storage/
|
|||||||
|
|
||||||
USB MIDI DRIVER
|
USB MIDI DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
F: sound/usb/midi.*
|
F: sound/usb/midi.*
|
||||||
@ -24173,8 +24182,12 @@ F: drivers/usb/host/xhci*
|
|||||||
|
|
||||||
USER DATAGRAM PROTOCOL (UDP)
|
USER DATAGRAM PROTOCOL (UDP)
|
||||||
M: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
|
M: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: include/linux/udp.h
|
F: include/linux/udp.h
|
||||||
|
F: include/net/udp.h
|
||||||
|
F: include/trace/events/udp.h
|
||||||
|
F: include/uapi/linux/udp.h
|
||||||
F: net/ipv4/udp.c
|
F: net/ipv4/udp.c
|
||||||
F: net/ipv6/udp.c
|
F: net/ipv6/udp.c
|
||||||
|
|
||||||
@ -24655,7 +24668,7 @@ VIRTIO SOUND DRIVER
|
|||||||
M: Anton Yakovlev <anton.yakovlev@opensynergy.com>
|
M: Anton Yakovlev <anton.yakovlev@opensynergy.com>
|
||||||
M: "Michael S. Tsirkin" <mst@redhat.com>
|
M: "Michael S. Tsirkin" <mst@redhat.com>
|
||||||
L: virtualization@lists.linux.dev
|
L: virtualization@lists.linux.dev
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: include/uapi/linux/virtio_snd.h
|
F: include/uapi/linux/virtio_snd.h
|
||||||
F: sound/virtio/*
|
F: sound/virtio/*
|
||||||
@ -25384,7 +25397,7 @@ F: include/xen/interface/io/usbif.h
|
|||||||
XEN SOUND FRONTEND DRIVER
|
XEN SOUND FRONTEND DRIVER
|
||||||
M: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
|
M: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: linux-sound@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: sound/xen/*
|
F: sound/xen/*
|
||||||
|
|
||||||
@ -25400,7 +25413,7 @@ F: include/xen/arm/swiotlb-xen.h
|
|||||||
F: include/xen/swiotlb-xen.h
|
F: include/xen/swiotlb-xen.h
|
||||||
|
|
||||||
XFS FILESYSTEM
|
XFS FILESYSTEM
|
||||||
M: Chandan Babu R <chandan.babu@oracle.com>
|
M: Carlos Maiolino <cem@kernel.org>
|
||||||
R: Darrick J. Wong <djwong@kernel.org>
|
R: Darrick J. Wong <djwong@kernel.org>
|
||||||
L: linux-xfs@vger.kernel.org
|
L: linux-xfs@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
4
Makefile
4
Makefile
@ -2,7 +2,7 @@
|
|||||||
VERSION = 6
|
VERSION = 6
|
||||||
PATCHLEVEL = 12
|
PATCHLEVEL = 12
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc3
|
||||||
NAME = Baby Opossum Posse
|
NAME = Baby Opossum Posse
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@ -1645,7 +1645,7 @@ help:
|
|||||||
echo '* dtbs - Build device tree blobs for enabled boards'; \
|
echo '* dtbs - Build device tree blobs for enabled boards'; \
|
||||||
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'; \
|
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'; \
|
||||||
echo ' dt_binding_check - Validate device tree binding documents and examples'; \
|
echo ' dt_binding_check - Validate device tree binding documents and examples'; \
|
||||||
echo ' dt_binding_schema - Build processed device tree binding schemas'; \
|
echo ' dt_binding_schemas - Build processed device tree binding schemas'; \
|
||||||
echo ' dtbs_check - Validate device tree source files';\
|
echo ' dtbs_check - Validate device tree source files';\
|
||||||
echo '')
|
echo '')
|
||||||
|
|
||||||
|
18
arch/Kconfig
18
arch/Kconfig
@ -838,7 +838,7 @@ config CFI_CLANG
|
|||||||
config CFI_ICALL_NORMALIZE_INTEGERS
|
config CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
bool "Normalize CFI tags for integers"
|
bool "Normalize CFI tags for integers"
|
||||||
depends on CFI_CLANG
|
depends on CFI_CLANG
|
||||||
depends on $(cc-option,-fsanitize=kcfi -fsanitize-cfi-icall-experimental-normalize-integers)
|
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
help
|
help
|
||||||
This option normalizes the CFI tags for integer types so that all
|
This option normalizes the CFI tags for integer types so that all
|
||||||
integer types of the same size and signedness receive the same CFI
|
integer types of the same size and signedness receive the same CFI
|
||||||
@ -851,6 +851,22 @@ config CFI_ICALL_NORMALIZE_INTEGERS
|
|||||||
|
|
||||||
This option is necessary for using CFI with Rust. If unsure, say N.
|
This option is necessary for using CFI with Rust. If unsure, say N.
|
||||||
|
|
||||||
|
config HAVE_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
|
def_bool !GCOV_KERNEL && !KASAN
|
||||||
|
depends on CFI_CLANG
|
||||||
|
depends on $(cc-option,-fsanitize=kcfi -fsanitize-cfi-icall-experimental-normalize-integers)
|
||||||
|
help
|
||||||
|
Is CFI_ICALL_NORMALIZE_INTEGERS supported with the set of compilers
|
||||||
|
currently in use?
|
||||||
|
|
||||||
|
This option defaults to false if GCOV or KASAN is enabled, as there is
|
||||||
|
an LLVM bug that makes normalized integers tags incompatible with
|
||||||
|
KASAN and GCOV. Kconfig currently does not have the infrastructure to
|
||||||
|
detect whether your rustc compiler contains the fix for this bug, so
|
||||||
|
it is assumed that it doesn't. If your compiler has the fix, you can
|
||||||
|
explicitly enable this option in your config file. The Kconfig logic
|
||||||
|
needed to detect this will be added in a future kernel release.
|
||||||
|
|
||||||
config CFI_PERMISSIVE
|
config CFI_PERMISSIVE
|
||||||
bool "Use CFI in permissive mode"
|
bool "Use CFI in permissive mode"
|
||||||
depends on CFI_CLANG
|
depends on CFI_CLANG
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include <asm/gentrap.h>
|
#include <asm/gentrap.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/sysinfo.h>
|
#include <asm/sysinfo.h>
|
||||||
#include <asm/hwrpb.h>
|
#include <asm/hwrpb.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#ifdef CONFIG_ISA_ARCV2
|
#ifdef CONFIG_ISA_ARCV2
|
||||||
#include <asm/barrier.h>
|
#include <asm/barrier.h>
|
||||||
|
@ -14,6 +14,7 @@ typedef struct {
|
|||||||
unsigned long asid[NR_CPUS]; /* 8 bit MMU PID + Generation cycle */
|
unsigned long asid[NR_CPUS]; /* 8 bit MMU PID + Generation cycle */
|
||||||
} mm_context_t;
|
} mm_context_t;
|
||||||
|
|
||||||
|
struct pt_regs;
|
||||||
extern void do_tlb_overlap_fault(unsigned long, unsigned long, struct pt_regs *);
|
extern void do_tlb_overlap_fault(unsigned long, unsigned long, struct pt_regs *);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_ARC_UNALIGNED_H
|
|
||||||
#define _ASM_ARC_UNALIGNED_H
|
|
||||||
|
|
||||||
/* ARC700 can't handle unaligned Data accesses. */
|
|
||||||
|
|
||||||
#include <asm-generic/unaligned.h>
|
|
||||||
#include <asm/ptrace.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_ARC_EMUL_UNALIGNED
|
|
||||||
int misaligned_fixup(unsigned long address, struct pt_regs *regs,
|
|
||||||
struct callee_regs *cregs);
|
|
||||||
#else
|
|
||||||
static inline int
|
|
||||||
misaligned_fixup(unsigned long address, struct pt_regs *regs,
|
|
||||||
struct callee_regs *cregs)
|
|
||||||
{
|
|
||||||
/* Not fixed */
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _ASM_ARC_UNALIGNED_H */
|
|
@ -18,8 +18,9 @@
|
|||||||
#include <linux/kgdb.h>
|
#include <linux/kgdb.h>
|
||||||
#include <asm/entry.h>
|
#include <asm/entry.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/kprobes.h>
|
#include <asm/kprobes.h>
|
||||||
|
#include "unaligned.h"
|
||||||
|
|
||||||
void die(const char *str, struct pt_regs *regs, unsigned long address)
|
void die(const char *str, struct pt_regs *regs, unsigned long address)
|
||||||
{
|
{
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/disasm.h>
|
#include <asm/disasm.h>
|
||||||
|
#include "unaligned.h"
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_BIG_ENDIAN
|
#ifdef CONFIG_CPU_BIG_ENDIAN
|
||||||
#define BE 1
|
#define BE 1
|
||||||
|
16
arch/arc/kernel/unaligned.h
Normal file
16
arch/arc/kernel/unaligned.h
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
struct pt_regs;
|
||||||
|
struct callee_regs;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARC_EMUL_UNALIGNED
|
||||||
|
int misaligned_fixup(unsigned long address, struct pt_regs *regs,
|
||||||
|
struct callee_regs *cregs);
|
||||||
|
#else
|
||||||
|
static inline int
|
||||||
|
misaligned_fixup(unsigned long address, struct pt_regs *regs,
|
||||||
|
struct callee_regs *cregs)
|
||||||
|
{
|
||||||
|
/* Not fixed */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
@ -19,7 +19,7 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <asm/sections.h>
|
#include <asm/sections.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/unwind.h>
|
#include <asm/unwind.h>
|
||||||
|
|
||||||
extern char __start_unwind[], __end_unwind[];
|
extern char __start_unwind[], __end_unwind[];
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
#include <crypto/ctr.h>
|
#include <crypto/ctr.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#define PMULL_MIN_LEN 64L /* minimum size of buffer
|
#define PMULL_MIN_LEN 64L /* minimum size of buffer
|
||||||
* for crc32_pmull_le_16 */
|
* for crc32_pmull_le_16 */
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
#include <crypto/gcm.h>
|
#include <crypto/gcm.h>
|
||||||
#include <crypto/b128ops.h>
|
#include <crypto/b128ops.h>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/algapi.h>
|
#include <crypto/algapi.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/poly1305.h>
|
#include <crypto/internal/poly1305.h>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#include "sha256_glue.h"
|
#include "sha256_glue.h"
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/domain.h>
|
#include <asm/domain.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/unified.h>
|
#include <asm/unified.h>
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/proc-fns.h>
|
#include <asm/proc-fns.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include <asm/cp15.h>
|
#include <asm/cp15.h>
|
||||||
#include <asm/system_info.h>
|
#include <asm/system_info.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/opcodes.h>
|
#include <asm/opcodes.h>
|
||||||
|
|
||||||
#include "fault.h"
|
#include "fault.h"
|
||||||
|
@ -200,7 +200,8 @@ config ARM64
|
|||||||
select HAVE_DMA_CONTIGUOUS
|
select HAVE_DMA_CONTIGUOUS
|
||||||
select HAVE_DYNAMIC_FTRACE
|
select HAVE_DYNAMIC_FTRACE
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_ARGS \
|
select HAVE_DYNAMIC_FTRACE_WITH_ARGS \
|
||||||
if $(cc-option,-fpatchable-function-entry=2)
|
if (GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS || \
|
||||||
|
CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS)
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS \
|
select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS \
|
||||||
if DYNAMIC_FTRACE_WITH_ARGS && DYNAMIC_FTRACE_WITH_CALL_OPS
|
if DYNAMIC_FTRACE_WITH_ARGS && DYNAMIC_FTRACE_WITH_CALL_OPS
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS \
|
select HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS \
|
||||||
@ -286,12 +287,10 @@ config CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS
|
|||||||
def_bool CC_IS_CLANG
|
def_bool CC_IS_CLANG
|
||||||
# https://github.com/ClangBuiltLinux/linux/issues/1507
|
# https://github.com/ClangBuiltLinux/linux/issues/1507
|
||||||
depends on AS_IS_GNU || (AS_IS_LLVM && (LD_IS_LLD || LD_VERSION >= 23600))
|
depends on AS_IS_GNU || (AS_IS_LLVM && (LD_IS_LLD || LD_VERSION >= 23600))
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_ARGS
|
|
||||||
|
|
||||||
config GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS
|
config GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS
|
||||||
def_bool CC_IS_GCC
|
def_bool CC_IS_GCC
|
||||||
depends on $(cc-option,-fpatchable-function-entry=2)
|
depends on $(cc-option,-fpatchable-function-entry=2)
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_ARGS
|
|
||||||
|
|
||||||
config 64BIT
|
config 64BIT
|
||||||
def_bool y
|
def_bool y
|
||||||
@ -1097,6 +1096,7 @@ config ARM64_ERRATUM_3194386
|
|||||||
* ARM Cortex-A78C erratum 3324346
|
* ARM Cortex-A78C erratum 3324346
|
||||||
* ARM Cortex-A78C erratum 3324347
|
* ARM Cortex-A78C erratum 3324347
|
||||||
* ARM Cortex-A710 erratam 3324338
|
* ARM Cortex-A710 erratam 3324338
|
||||||
|
* ARM Cortex-A715 errartum 3456084
|
||||||
* ARM Cortex-A720 erratum 3456091
|
* ARM Cortex-A720 erratum 3456091
|
||||||
* ARM Cortex-A725 erratum 3456106
|
* ARM Cortex-A725 erratum 3456106
|
||||||
* ARM Cortex-X1 erratum 3324344
|
* ARM Cortex-X1 erratum 3324344
|
||||||
@ -1107,6 +1107,7 @@ config ARM64_ERRATUM_3194386
|
|||||||
* ARM Cortex-X925 erratum 3324334
|
* ARM Cortex-X925 erratum 3324334
|
||||||
* ARM Neoverse-N1 erratum 3324349
|
* ARM Neoverse-N1 erratum 3324349
|
||||||
* ARM Neoverse N2 erratum 3324339
|
* ARM Neoverse N2 erratum 3324339
|
||||||
|
* ARM Neoverse-N3 erratum 3456111
|
||||||
* ARM Neoverse-V1 erratum 3324341
|
* ARM Neoverse-V1 erratum 3324341
|
||||||
* ARM Neoverse V2 erratum 3324336
|
* ARM Neoverse V2 erratum 3324336
|
||||||
* ARM Neoverse-V3 erratum 3312417
|
* ARM Neoverse-V3 erratum 3312417
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 1995-2001 by Russell King
|
# Copyright (C) 1995-2001 by Russell King
|
||||||
|
|
||||||
LDFLAGS_vmlinux :=--no-undefined -X
|
LDFLAGS_vmlinux :=--no-undefined -X --pic-veneer
|
||||||
|
|
||||||
ifeq ($(CONFIG_RELOCATABLE), y)
|
ifeq ($(CONFIG_RELOCATABLE), y)
|
||||||
# Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour
|
# Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
#include <crypto/scatterwalk.h>
|
#include <crypto/scatterwalk.h>
|
||||||
#include <crypto/internal/aead.h>
|
#include <crypto/internal/aead.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
#include <crypto/algapi.h>
|
#include <crypto/algapi.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
#include <crypto/gcm.h>
|
#include <crypto/gcm.h>
|
||||||
#include <crypto/algapi.h>
|
#include <crypto/algapi.h>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/algapi.h>
|
#include <crypto/algapi.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/poly1305.h>
|
#include <crypto/internal/poly1305.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sha1.h>
|
#include <crypto/sha1.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sha2.h>
|
#include <crypto/sha2.h>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sha3.h>
|
#include <crypto/sha3.h>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sha2.h>
|
#include <crypto/sha2.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sm3.h>
|
#include <crypto/sm3.h>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <asm/neon.h>
|
#include <asm/neon.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <crypto/sm3.h>
|
#include <crypto/sm3.h>
|
||||||
|
@ -94,6 +94,7 @@
|
|||||||
#define ARM_CPU_PART_NEOVERSE_V3 0xD84
|
#define ARM_CPU_PART_NEOVERSE_V3 0xD84
|
||||||
#define ARM_CPU_PART_CORTEX_X925 0xD85
|
#define ARM_CPU_PART_CORTEX_X925 0xD85
|
||||||
#define ARM_CPU_PART_CORTEX_A725 0xD87
|
#define ARM_CPU_PART_CORTEX_A725 0xD87
|
||||||
|
#define ARM_CPU_PART_NEOVERSE_N3 0xD8E
|
||||||
|
|
||||||
#define APM_CPU_PART_XGENE 0x000
|
#define APM_CPU_PART_XGENE 0x000
|
||||||
#define APM_CPU_VAR_POTENZA 0x00
|
#define APM_CPU_VAR_POTENZA 0x00
|
||||||
@ -176,6 +177,7 @@
|
|||||||
#define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
|
#define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
|
||||||
#define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
|
#define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
|
||||||
#define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
|
#define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
|
||||||
|
#define MIDR_NEOVERSE_N3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N3)
|
||||||
#define MIDR_THUNDERX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX)
|
#define MIDR_THUNDERX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX)
|
||||||
#define MIDR_THUNDERX_81XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_81XX)
|
#define MIDR_THUNDERX_81XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_81XX)
|
||||||
#define MIDR_THUNDERX_83XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_83XX)
|
#define MIDR_THUNDERX_83XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_83XX)
|
||||||
|
@ -1441,11 +1441,6 @@ void kvm_set_vm_id_reg(struct kvm *kvm, u32 reg, u64 val);
|
|||||||
sign_extend64(__val, id##_##fld##_WIDTH - 1); \
|
sign_extend64(__val, id##_##fld##_WIDTH - 1); \
|
||||||
})
|
})
|
||||||
|
|
||||||
#define expand_field_sign(id, fld, val) \
|
|
||||||
(id##_##fld##_SIGNED ? \
|
|
||||||
__expand_field_sign_signed(id, fld, val) : \
|
|
||||||
__expand_field_sign_unsigned(id, fld, val))
|
|
||||||
|
|
||||||
#define get_idreg_field_unsigned(kvm, id, fld) \
|
#define get_idreg_field_unsigned(kvm, id, fld) \
|
||||||
({ \
|
({ \
|
||||||
u64 __val = kvm_read_vm_id_reg((kvm), SYS_##id); \
|
u64 __val = kvm_read_vm_id_reg((kvm), SYS_##id); \
|
||||||
@ -1461,20 +1456,26 @@ void kvm_set_vm_id_reg(struct kvm *kvm, u32 reg, u64 val);
|
|||||||
#define get_idreg_field_enum(kvm, id, fld) \
|
#define get_idreg_field_enum(kvm, id, fld) \
|
||||||
get_idreg_field_unsigned(kvm, id, fld)
|
get_idreg_field_unsigned(kvm, id, fld)
|
||||||
|
|
||||||
#define get_idreg_field(kvm, id, fld) \
|
#define kvm_cmp_feat_signed(kvm, id, fld, op, limit) \
|
||||||
|
(get_idreg_field_signed((kvm), id, fld) op __expand_field_sign_signed(id, fld, limit))
|
||||||
|
|
||||||
|
#define kvm_cmp_feat_unsigned(kvm, id, fld, op, limit) \
|
||||||
|
(get_idreg_field_unsigned((kvm), id, fld) op __expand_field_sign_unsigned(id, fld, limit))
|
||||||
|
|
||||||
|
#define kvm_cmp_feat(kvm, id, fld, op, limit) \
|
||||||
(id##_##fld##_SIGNED ? \
|
(id##_##fld##_SIGNED ? \
|
||||||
get_idreg_field_signed(kvm, id, fld) : \
|
kvm_cmp_feat_signed(kvm, id, fld, op, limit) : \
|
||||||
get_idreg_field_unsigned(kvm, id, fld))
|
kvm_cmp_feat_unsigned(kvm, id, fld, op, limit))
|
||||||
|
|
||||||
#define kvm_has_feat(kvm, id, fld, limit) \
|
#define kvm_has_feat(kvm, id, fld, limit) \
|
||||||
(get_idreg_field((kvm), id, fld) >= expand_field_sign(id, fld, limit))
|
kvm_cmp_feat(kvm, id, fld, >=, limit)
|
||||||
|
|
||||||
#define kvm_has_feat_enum(kvm, id, fld, val) \
|
#define kvm_has_feat_enum(kvm, id, fld, val) \
|
||||||
(get_idreg_field_unsigned((kvm), id, fld) == __expand_field_sign_unsigned(id, fld, val))
|
kvm_cmp_feat_unsigned(kvm, id, fld, ==, val)
|
||||||
|
|
||||||
#define kvm_has_feat_range(kvm, id, fld, min, max) \
|
#define kvm_has_feat_range(kvm, id, fld, min, max) \
|
||||||
(get_idreg_field((kvm), id, fld) >= expand_field_sign(id, fld, min) && \
|
(kvm_cmp_feat(kvm, id, fld, >=, min) && \
|
||||||
get_idreg_field((kvm), id, fld) <= expand_field_sign(id, fld, max))
|
kvm_cmp_feat(kvm, id, fld, <=, max))
|
||||||
|
|
||||||
/* Check for a given level of PAuth support */
|
/* Check for a given level of PAuth support */
|
||||||
#define kvm_has_pauth(k, l) \
|
#define kvm_has_pauth(k, l) \
|
||||||
|
@ -439,6 +439,7 @@ static const struct midr_range erratum_spec_ssbs_list[] = {
|
|||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_A78C),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A78C),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
|
||||||
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A715),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_A720),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A720),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_A725),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_A725),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_X1),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_X1),
|
||||||
@ -447,8 +448,10 @@ static const struct midr_range erratum_spec_ssbs_list[] = {
|
|||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_X3),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_X3),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_X4),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_X4),
|
||||||
MIDR_ALL_VERSIONS(MIDR_CORTEX_X925),
|
MIDR_ALL_VERSIONS(MIDR_CORTEX_X925),
|
||||||
|
MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
|
||||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1),
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1),
|
||||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
|
||||||
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N3),
|
||||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
|
||||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
|
||||||
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3),
|
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3),
|
||||||
|
@ -338,7 +338,7 @@ static inline void __hyp_sve_save_host(void)
|
|||||||
struct cpu_sve_state *sve_state = *host_data_ptr(sve_state);
|
struct cpu_sve_state *sve_state = *host_data_ptr(sve_state);
|
||||||
|
|
||||||
sve_state->zcr_el1 = read_sysreg_el1(SYS_ZCR);
|
sve_state->zcr_el1 = read_sysreg_el1(SYS_ZCR);
|
||||||
write_sysreg_s(ZCR_ELx_LEN_MASK, SYS_ZCR_EL2);
|
write_sysreg_s(sve_vq_from_vl(kvm_host_sve_max_vl) - 1, SYS_ZCR_EL2);
|
||||||
__sve_save_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl),
|
__sve_save_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl),
|
||||||
&sve_state->fpsr,
|
&sve_state->fpsr,
|
||||||
true);
|
true);
|
||||||
|
@ -33,7 +33,7 @@ static void __hyp_sve_save_guest(struct kvm_vcpu *vcpu)
|
|||||||
*/
|
*/
|
||||||
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
|
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
|
||||||
__sve_save_state(vcpu_sve_pffr(vcpu), &vcpu->arch.ctxt.fp_regs.fpsr, true);
|
__sve_save_state(vcpu_sve_pffr(vcpu), &vcpu->arch.ctxt.fp_regs.fpsr, true);
|
||||||
write_sysreg_s(ZCR_ELx_LEN_MASK, SYS_ZCR_EL2);
|
write_sysreg_s(sve_vq_from_vl(kvm_host_sve_max_vl) - 1, SYS_ZCR_EL2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __hyp_sve_restore_host(void)
|
static void __hyp_sve_restore_host(void)
|
||||||
@ -45,10 +45,11 @@ static void __hyp_sve_restore_host(void)
|
|||||||
* the host. The layout of the data when saving the sve state depends
|
* the host. The layout of the data when saving the sve state depends
|
||||||
* on the VL, so use a consistent (i.e., the maximum) host VL.
|
* on the VL, so use a consistent (i.e., the maximum) host VL.
|
||||||
*
|
*
|
||||||
* Setting ZCR_EL2 to ZCR_ELx_LEN_MASK sets the effective length
|
* Note that this constrains the PE to the maximum shared VL
|
||||||
* supported by the system (or limited at EL3).
|
* that was discovered, if we wish to use larger VLs this will
|
||||||
|
* need to be revisited.
|
||||||
*/
|
*/
|
||||||
write_sysreg_s(ZCR_ELx_LEN_MASK, SYS_ZCR_EL2);
|
write_sysreg_s(sve_vq_from_vl(kvm_host_sve_max_vl) - 1, SYS_ZCR_EL2);
|
||||||
__sve_restore_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl),
|
__sve_restore_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl),
|
||||||
&sve_state->fpsr,
|
&sve_state->fpsr,
|
||||||
true);
|
true);
|
||||||
@ -488,7 +489,8 @@ void handle_trap(struct kvm_cpu_context *host_ctxt)
|
|||||||
case ESR_ELx_EC_SVE:
|
case ESR_ELx_EC_SVE:
|
||||||
cpacr_clear_set(0, CPACR_ELx_ZEN);
|
cpacr_clear_set(0, CPACR_ELx_ZEN);
|
||||||
isb();
|
isb();
|
||||||
sve_cond_update_zcr_vq(ZCR_ELx_LEN_MASK, SYS_ZCR_EL2);
|
sve_cond_update_zcr_vq(sve_vq_from_vl(kvm_host_sve_max_vl) - 1,
|
||||||
|
SYS_ZCR_EL2);
|
||||||
break;
|
break;
|
||||||
case ESR_ELx_EC_IABT_LOW:
|
case ESR_ELx_EC_IABT_LOW:
|
||||||
case ESR_ELx_EC_DABT_LOW:
|
case ESR_ELx_EC_DABT_LOW:
|
||||||
|
@ -574,12 +574,14 @@ int __pkvm_init_vcpu(pkvm_handle_t handle, struct kvm_vcpu *host_vcpu,
|
|||||||
unlock:
|
unlock:
|
||||||
hyp_spin_unlock(&vm_table_lock);
|
hyp_spin_unlock(&vm_table_lock);
|
||||||
|
|
||||||
if (ret)
|
if (ret) {
|
||||||
unmap_donated_memory(hyp_vcpu, sizeof(*hyp_vcpu));
|
unmap_donated_memory(hyp_vcpu, sizeof(*hyp_vcpu));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
hyp_vcpu->vcpu.arch.cptr_el2 = kvm_get_reset_cptr_el2(&hyp_vcpu->vcpu);
|
hyp_vcpu->vcpu.arch.cptr_el2 = kvm_get_reset_cptr_el2(&hyp_vcpu->vcpu);
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
|
|
||||||
#include <asm/cpu-features.h>
|
#include <asm/cpu-features.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#define _CRC32(crc, value, size, type) \
|
#define _CRC32(crc, value, size, type) \
|
||||||
do { \
|
do { \
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#ifndef _ASM_MICROBLAZE_FLAT_H
|
#ifndef _ASM_MICROBLAZE_FLAT_H
|
||||||
#define _ASM_MICROBLAZE_FLAT_H
|
#define _ASM_MICROBLAZE_FLAT_H
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Microblaze works a little differently from other arches, because
|
* Microblaze works a little differently from other arches, because
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include <linux/libfdt.h>
|
#include <linux/libfdt.h>
|
||||||
|
|
||||||
#include <asm/addrspace.h>
|
#include <asm/addrspace.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm-generic/vmlinux.lds.h>
|
#include <asm-generic/vmlinux.lds.h>
|
||||||
|
|
||||||
#include "decompress.h"
|
#include "decompress.h"
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <asm/mipsregs.h>
|
#include <asm/mipsregs.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 2019 Linaro Ltd. <ard.biesheuvel@linaro.org>
|
* Copyright (C) 2019 Linaro Ltd. <ard.biesheuvel@linaro.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <crypto/algapi.h>
|
#include <crypto/algapi.h>
|
||||||
#include <crypto/internal/hash.h>
|
#include <crypto/internal/hash.h>
|
||||||
#include <crypto/internal/poly1305.h>
|
#include <crypto/internal/poly1305.h>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
|
|
||||||
#include <asm/traps.h>
|
#include <asm/traps.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
/* instructions we emulate */
|
/* instructions we emulate */
|
||||||
#define INST_LDHU 0x0b
|
#define INST_LDHU 0x0b
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/elf.h>
|
#include <linux/elf.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include "sizes.h"
|
#include "sizes.h"
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
|
||||||
#ifndef _ASM_PARISC_UNALIGNED_H
|
|
||||||
#define _ASM_PARISC_UNALIGNED_H
|
|
||||||
|
|
||||||
#include <asm-generic/unaligned.h>
|
|
||||||
|
|
||||||
struct pt_regs;
|
|
||||||
void handle_unaligned(struct pt_regs *regs);
|
|
||||||
int check_unaligned(struct pt_regs *regs);
|
|
||||||
|
|
||||||
#endif /* _ASM_PARISC_UNALIGNED_H */
|
|
@ -36,7 +36,7 @@
|
|||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
#include <asm/traps.h>
|
#include <asm/traps.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <linux/atomic.h>
|
#include <linux/atomic.h>
|
||||||
#include <asm/smp.h>
|
#include <asm/smp.h>
|
||||||
#include <asm/pdc.h>
|
#include <asm/pdc.h>
|
||||||
@ -47,6 +47,8 @@
|
|||||||
#include <linux/kgdb.h>
|
#include <linux/kgdb.h>
|
||||||
#include <linux/kprobes.h>
|
#include <linux/kprobes.h>
|
||||||
|
|
||||||
|
#include "unaligned.h"
|
||||||
|
|
||||||
#if defined(CONFIG_LIGHTWEIGHT_SPINLOCK_CHECK)
|
#if defined(CONFIG_LIGHTWEIGHT_SPINLOCK_CHECK)
|
||||||
#include <asm/spinlock.h>
|
#include <asm/spinlock.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -12,9 +12,10 @@
|
|||||||
#include <linux/ratelimit.h>
|
#include <linux/ratelimit.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/sysctl.h>
|
#include <linux/sysctl.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/hardirq.h>
|
#include <asm/hardirq.h>
|
||||||
#include <asm/traps.h>
|
#include <asm/traps.h>
|
||||||
|
#include "unaligned.h"
|
||||||
|
|
||||||
/* #define DEBUG_UNALIGNED 1 */
|
/* #define DEBUG_UNALIGNED 1 */
|
||||||
|
|
||||||
|
3
arch/parisc/kernel/unaligned.h
Normal file
3
arch/parisc/kernel/unaligned.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
struct pt_regs;
|
||||||
|
void handle_unaligned(struct pt_regs *regs);
|
||||||
|
int check_unaligned(struct pt_regs *regs);
|
@ -5,7 +5,7 @@
|
|||||||
* Copyright 2022- IBM Inc. All rights reserved
|
* Copyright 2022- IBM Inc. All rights reserved
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/switch_to.h>
|
#include <asm/switch_to.h>
|
||||||
#include <crypto/aes.h>
|
#include <crypto/aes.h>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <crypto/internal/poly1305.h>
|
#include <crypto/internal/poly1305.h>
|
||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <linux/cpufeature.h>
|
#include <linux/cpufeature.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/switch_to.h>
|
#include <asm/switch_to.h>
|
||||||
|
|
||||||
|
@ -494,6 +494,7 @@ FixupDAR:/* Entry point for dcbx workaround. */
|
|||||||
bctr /* jump into table */
|
bctr /* jump into table */
|
||||||
152:
|
152:
|
||||||
mfdar r11
|
mfdar r11
|
||||||
|
mtdar r10
|
||||||
mtctr r11 /* restore ctr reg from DAR */
|
mtctr r11 /* restore ctr reg from DAR */
|
||||||
mfspr r11, SPRN_SPRG_THREAD
|
mfspr r11, SPRN_SPRG_THREAD
|
||||||
stw r10, DAR(r11)
|
stw r10, DAR(r11)
|
||||||
|
@ -22,7 +22,7 @@ endif
|
|||||||
|
|
||||||
ifneq ($(c-getrandom-y),)
|
ifneq ($(c-getrandom-y),)
|
||||||
CFLAGS_vgetrandom-32.o += -include $(c-getrandom-y)
|
CFLAGS_vgetrandom-32.o += -include $(c-getrandom-y)
|
||||||
CFLAGS_vgetrandom-64.o += -include $(c-getrandom-y) $(call cc-option, -ffixed-r30)
|
CFLAGS_vgetrandom-64.o += -include $(c-getrandom-y)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Build rules
|
# Build rules
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <uapi/linux/papr_pdsm.h>
|
#include <uapi/linux/papr_pdsm.h>
|
||||||
#include <linux/papr_scm.h>
|
#include <linux/papr_scm.h>
|
||||||
#include <asm/mce.h>
|
#include <asm/mce.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <linux/perf_event.h>
|
#include <linux/perf_event.h>
|
||||||
|
|
||||||
#define BIND_ANY_ADDR (~0ul)
|
#define BIND_ANY_ADDR (~0ul)
|
||||||
|
@ -777,8 +777,7 @@ config IRQ_STACKS
|
|||||||
config THREAD_SIZE_ORDER
|
config THREAD_SIZE_ORDER
|
||||||
int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
|
int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
|
||||||
range 0 4
|
range 0 4
|
||||||
default 1 if 32BIT && !KASAN
|
default 1 if 32BIT
|
||||||
default 3 if 64BIT && KASAN
|
|
||||||
default 2
|
default 2
|
||||||
help
|
help
|
||||||
Specify the Pages of thread stack size (from 4KB to 64KB), which also
|
Specify the Pages of thread stack size (from 4KB to 64KB), which also
|
||||||
|
@ -13,7 +13,12 @@
|
|||||||
#include <linux/sizes.h>
|
#include <linux/sizes.h>
|
||||||
|
|
||||||
/* thread information allocation */
|
/* thread information allocation */
|
||||||
#define THREAD_SIZE_ORDER CONFIG_THREAD_SIZE_ORDER
|
#ifdef CONFIG_KASAN
|
||||||
|
#define KASAN_STACK_ORDER 1
|
||||||
|
#else
|
||||||
|
#define KASAN_STACK_ORDER 0
|
||||||
|
#endif
|
||||||
|
#define THREAD_SIZE_ORDER (CONFIG_THREAD_SIZE_ORDER + KASAN_STACK_ORDER)
|
||||||
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
|
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -16,8 +16,10 @@
|
|||||||
#include <asm/pci_io.h>
|
#include <asm/pci_io.h>
|
||||||
|
|
||||||
#define xlate_dev_mem_ptr xlate_dev_mem_ptr
|
#define xlate_dev_mem_ptr xlate_dev_mem_ptr
|
||||||
|
#define kc_xlate_dev_mem_ptr xlate_dev_mem_ptr
|
||||||
void *xlate_dev_mem_ptr(phys_addr_t phys);
|
void *xlate_dev_mem_ptr(phys_addr_t phys);
|
||||||
#define unxlate_dev_mem_ptr unxlate_dev_mem_ptr
|
#define unxlate_dev_mem_ptr unxlate_dev_mem_ptr
|
||||||
|
#define kc_unxlate_dev_mem_ptr unxlate_dev_mem_ptr
|
||||||
void unxlate_dev_mem_ptr(phys_addr_t phys, void *addr);
|
void unxlate_dev_mem_ptr(phys_addr_t phys, void *addr);
|
||||||
|
|
||||||
#define IO_SPACE_LIMIT 0
|
#define IO_SPACE_LIMIT 0
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#ifndef __ASM_SH_FLAT_H
|
#ifndef __ASM_SH_FLAT_H
|
||||||
#define __ASM_SH_FLAT_H
|
#define __ASM_SH_FLAT_H
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr)
|
u32 *addr)
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <asm/dwarf.h>
|
#include <asm/dwarf.h>
|
||||||
#include <asm/unwinder.h>
|
#include <asm/unwinder.h>
|
||||||
#include <asm/sections.h>
|
#include <asm/sections.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/stacktrace.h>
|
#include <asm/stacktrace.h>
|
||||||
|
|
||||||
/* Reserve enough memory for two stack frames */
|
/* Reserve enough memory for two stack frames */
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/dwarf.h>
|
#include <asm/dwarf.h>
|
||||||
|
|
||||||
int apply_relocate_add(Elf32_Shdr *sechdrs,
|
int apply_relocate_add(Elf32_Shdr *sechdrs,
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#include <asm/pstate.h>
|
#include <asm/pstate.h>
|
||||||
#include <asm/elf.h>
|
#include <asm/elf.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#include "opcodes.h"
|
#include "opcodes.h"
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <linux/virtio-uml.h>
|
#include <linux/virtio-uml.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/msi.h>
|
#include <linux/msi.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <irq_kern.h>
|
#include <irq_kern.h>
|
||||||
|
|
||||||
#define MAX_DEVICES 8
|
#define MAX_DEVICES 8
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#define __UM_UACCESS_H
|
#define __UM_UACCESS_H
|
||||||
|
|
||||||
#include <asm/elf.h>
|
#include <asm/elf.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#define __under_task_size(addr, size) \
|
#define __under_task_size(addr, size) \
|
||||||
(((unsigned long) (addr) < TASK_SIZE) && \
|
(((unsigned long) (addr) < TASK_SIZE) && \
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
* Copyright (C) 2006 NTT (Nippon Telegraph and Telephone Corporation)
|
* Copyright (C) 2006 NTT (Nippon Telegraph and Telephone Corporation)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <linux/crypto.h>
|
#include <linux/crypto.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include <crypto/internal/simd.h>
|
#include <crypto/internal/simd.h>
|
||||||
#include <asm/cpu_device_id.h>
|
#include <asm/cpu_device_id.h>
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
#define GHASH_BLOCK_SIZE 16
|
#define GHASH_BLOCK_SIZE 16
|
||||||
#define GHASH_DIGEST_SIZE 16
|
#define GHASH_DIGEST_SIZE 16
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
#ifndef _ASM_X86_FTRACE_H
|
#ifndef _ASM_X86_FTRACE_H
|
||||||
#define _ASM_X86_FTRACE_H
|
#define _ASM_X86_FTRACE_H
|
||||||
|
|
||||||
|
#include <asm/ptrace.h>
|
||||||
|
|
||||||
#ifdef CONFIG_FUNCTION_TRACER
|
#ifdef CONFIG_FUNCTION_TRACER
|
||||||
#ifndef CC_USING_FENTRY
|
#ifndef CC_USING_FENTRY
|
||||||
# error Compiler does not support fentry?
|
# error Compiler does not support fentry?
|
||||||
|
@ -26,7 +26,7 @@ void __noreturn machine_real_restart(unsigned int type);
|
|||||||
#define MRR_APM 1
|
#define MRR_APM 1
|
||||||
|
|
||||||
typedef void (cpu_emergency_virt_cb)(void);
|
typedef void (cpu_emergency_virt_cb)(void);
|
||||||
#if IS_ENABLED(CONFIG_KVM_INTEL) || IS_ENABLED(CONFIG_KVM_AMD)
|
#if IS_ENABLED(CONFIG_KVM_X86)
|
||||||
void cpu_emergency_register_virt_callback(cpu_emergency_virt_cb *callback);
|
void cpu_emergency_register_virt_callback(cpu_emergency_virt_cb *callback);
|
||||||
void cpu_emergency_unregister_virt_callback(cpu_emergency_virt_cb *callback);
|
void cpu_emergency_unregister_virt_callback(cpu_emergency_virt_cb *callback);
|
||||||
void cpu_emergency_disable_virtualization(void);
|
void cpu_emergency_disable_virtualization(void);
|
||||||
@ -34,7 +34,7 @@ void cpu_emergency_disable_virtualization(void);
|
|||||||
static inline void cpu_emergency_register_virt_callback(cpu_emergency_virt_cb *callback) {}
|
static inline void cpu_emergency_register_virt_callback(cpu_emergency_virt_cb *callback) {}
|
||||||
static inline void cpu_emergency_unregister_virt_callback(cpu_emergency_virt_cb *callback) {}
|
static inline void cpu_emergency_unregister_virt_callback(cpu_emergency_virt_cb *callback) {}
|
||||||
static inline void cpu_emergency_disable_virtualization(void) {}
|
static inline void cpu_emergency_disable_virtualization(void) {}
|
||||||
#endif /* CONFIG_KVM_INTEL || CONFIG_KVM_AMD */
|
#endif /* CONFIG_KVM_X86 */
|
||||||
|
|
||||||
typedef void (*nmi_shootdown_cb)(int, struct pt_regs*);
|
typedef void (*nmi_shootdown_cb)(int, struct pt_regs*);
|
||||||
void nmi_shootdown_cpus(nmi_shootdown_cb callback);
|
void nmi_shootdown_cpus(nmi_shootdown_cb callback);
|
||||||
|
@ -530,7 +530,7 @@ static inline void kb_wait(void)
|
|||||||
|
|
||||||
static inline void nmi_shootdown_cpus_on_restart(void);
|
static inline void nmi_shootdown_cpus_on_restart(void);
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_KVM_INTEL) || IS_ENABLED(CONFIG_KVM_AMD)
|
#if IS_ENABLED(CONFIG_KVM_X86)
|
||||||
/* RCU-protected callback to disable virtualization prior to reboot. */
|
/* RCU-protected callback to disable virtualization prior to reboot. */
|
||||||
static cpu_emergency_virt_cb __rcu *cpu_emergency_virt_callback;
|
static cpu_emergency_virt_cb __rcu *cpu_emergency_virt_callback;
|
||||||
|
|
||||||
@ -600,7 +600,7 @@ static void emergency_reboot_disable_virtualization(void)
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static void emergency_reboot_disable_virtualization(void) { }
|
static void emergency_reboot_disable_virtualization(void) { }
|
||||||
#endif /* CONFIG_KVM_INTEL || CONFIG_KVM_AMD */
|
#endif /* CONFIG_KVM_X86 */
|
||||||
|
|
||||||
void __attribute__((weak)) mach_reboot_fixups(void)
|
void __attribute__((weak)) mach_reboot_fixups(void)
|
||||||
{
|
{
|
||||||
|
@ -17,8 +17,8 @@ menuconfig VIRTUALIZATION
|
|||||||
|
|
||||||
if VIRTUALIZATION
|
if VIRTUALIZATION
|
||||||
|
|
||||||
config KVM
|
config KVM_X86
|
||||||
tristate "Kernel-based Virtual Machine (KVM) support"
|
def_tristate KVM if KVM_INTEL || KVM_AMD
|
||||||
depends on X86_LOCAL_APIC
|
depends on X86_LOCAL_APIC
|
||||||
select KVM_COMMON
|
select KVM_COMMON
|
||||||
select KVM_GENERIC_MMU_NOTIFIER
|
select KVM_GENERIC_MMU_NOTIFIER
|
||||||
@ -44,7 +44,11 @@ config KVM
|
|||||||
select HAVE_KVM_PM_NOTIFIER if PM
|
select HAVE_KVM_PM_NOTIFIER if PM
|
||||||
select KVM_GENERIC_HARDWARE_ENABLING
|
select KVM_GENERIC_HARDWARE_ENABLING
|
||||||
select KVM_GENERIC_PRE_FAULT_MEMORY
|
select KVM_GENERIC_PRE_FAULT_MEMORY
|
||||||
|
select KVM_GENERIC_PRIVATE_MEM if KVM_SW_PROTECTED_VM
|
||||||
select KVM_WERROR if WERROR
|
select KVM_WERROR if WERROR
|
||||||
|
|
||||||
|
config KVM
|
||||||
|
tristate "Kernel-based Virtual Machine (KVM) support"
|
||||||
help
|
help
|
||||||
Support hosting fully virtualized guest machines using hardware
|
Support hosting fully virtualized guest machines using hardware
|
||||||
virtualization extensions. You will need a fairly recent
|
virtualization extensions. You will need a fairly recent
|
||||||
@ -77,7 +81,6 @@ config KVM_SW_PROTECTED_VM
|
|||||||
bool "Enable support for KVM software-protected VMs"
|
bool "Enable support for KVM software-protected VMs"
|
||||||
depends on EXPERT
|
depends on EXPERT
|
||||||
depends on KVM && X86_64
|
depends on KVM && X86_64
|
||||||
select KVM_GENERIC_PRIVATE_MEM
|
|
||||||
help
|
help
|
||||||
Enable support for KVM software-protected VMs. Currently, software-
|
Enable support for KVM software-protected VMs. Currently, software-
|
||||||
protected VMs are purely a development and testing vehicle for
|
protected VMs are purely a development and testing vehicle for
|
||||||
|
@ -32,7 +32,7 @@ kvm-intel-y += vmx/vmx_onhyperv.o vmx/hyperv_evmcs.o
|
|||||||
kvm-amd-y += svm/svm_onhyperv.o
|
kvm-amd-y += svm/svm_onhyperv.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
obj-$(CONFIG_KVM) += kvm.o
|
obj-$(CONFIG_KVM_X86) += kvm.o
|
||||||
obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
|
obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
|
||||||
obj-$(CONFIG_KVM_AMD) += kvm-amd.o
|
obj-$(CONFIG_KVM_AMD) += kvm-amd.o
|
||||||
|
|
||||||
|
@ -1884,10 +1884,14 @@ static bool sp_has_gptes(struct kvm_mmu_page *sp)
|
|||||||
if (is_obsolete_sp((_kvm), (_sp))) { \
|
if (is_obsolete_sp((_kvm), (_sp))) { \
|
||||||
} else
|
} else
|
||||||
|
|
||||||
#define for_each_gfn_valid_sp_with_gptes(_kvm, _sp, _gfn) \
|
#define for_each_gfn_valid_sp(_kvm, _sp, _gfn) \
|
||||||
for_each_valid_sp(_kvm, _sp, \
|
for_each_valid_sp(_kvm, _sp, \
|
||||||
&(_kvm)->arch.mmu_page_hash[kvm_page_table_hashfn(_gfn)]) \
|
&(_kvm)->arch.mmu_page_hash[kvm_page_table_hashfn(_gfn)]) \
|
||||||
if ((_sp)->gfn != (_gfn) || !sp_has_gptes(_sp)) {} else
|
if ((_sp)->gfn != (_gfn)) {} else
|
||||||
|
|
||||||
|
#define for_each_gfn_valid_sp_with_gptes(_kvm, _sp, _gfn) \
|
||||||
|
for_each_gfn_valid_sp(_kvm, _sp, _gfn) \
|
||||||
|
if (!sp_has_gptes(_sp)) {} else
|
||||||
|
|
||||||
static bool kvm_sync_page_check(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp)
|
static bool kvm_sync_page_check(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp)
|
||||||
{
|
{
|
||||||
@ -7047,14 +7051,42 @@ void kvm_arch_flush_shadow_all(struct kvm *kvm)
|
|||||||
kvm_mmu_zap_all(kvm);
|
kvm_mmu_zap_all(kvm);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
static void kvm_mmu_zap_memslot_pages_and_flush(struct kvm *kvm,
|
||||||
* Zapping leaf SPTEs with memslot range when a memslot is moved/deleted.
|
struct kvm_memory_slot *slot,
|
||||||
*
|
bool flush)
|
||||||
* Zapping non-leaf SPTEs, a.k.a. not-last SPTEs, isn't required, worst
|
{
|
||||||
* case scenario we'll have unused shadow pages lying around until they
|
LIST_HEAD(invalid_list);
|
||||||
* are recycled due to age or when the VM is destroyed.
|
unsigned long i;
|
||||||
|
|
||||||
|
if (list_empty(&kvm->arch.active_mmu_pages))
|
||||||
|
goto out_flush;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Since accounting information is stored in struct kvm_arch_memory_slot,
|
||||||
|
* shadow pages deletion (e.g. unaccount_shadowed()) requires that all
|
||||||
|
* gfns with a shadow page have a corresponding memslot. Do so before
|
||||||
|
* the memslot goes away.
|
||||||
*/
|
*/
|
||||||
static void kvm_mmu_zap_memslot_leafs(struct kvm *kvm, struct kvm_memory_slot *slot)
|
for (i = 0; i < slot->npages; i++) {
|
||||||
|
struct kvm_mmu_page *sp;
|
||||||
|
gfn_t gfn = slot->base_gfn + i;
|
||||||
|
|
||||||
|
for_each_gfn_valid_sp(kvm, sp, gfn)
|
||||||
|
kvm_mmu_prepare_zap_page(kvm, sp, &invalid_list);
|
||||||
|
|
||||||
|
if (need_resched() || rwlock_needbreak(&kvm->mmu_lock)) {
|
||||||
|
kvm_mmu_remote_flush_or_zap(kvm, &invalid_list, flush);
|
||||||
|
flush = false;
|
||||||
|
cond_resched_rwlock_write(&kvm->mmu_lock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
out_flush:
|
||||||
|
kvm_mmu_remote_flush_or_zap(kvm, &invalid_list, flush);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kvm_mmu_zap_memslot(struct kvm *kvm,
|
||||||
|
struct kvm_memory_slot *slot)
|
||||||
{
|
{
|
||||||
struct kvm_gfn_range range = {
|
struct kvm_gfn_range range = {
|
||||||
.slot = slot,
|
.slot = slot,
|
||||||
@ -7062,11 +7094,11 @@ static void kvm_mmu_zap_memslot_leafs(struct kvm *kvm, struct kvm_memory_slot *s
|
|||||||
.end = slot->base_gfn + slot->npages,
|
.end = slot->base_gfn + slot->npages,
|
||||||
.may_block = true,
|
.may_block = true,
|
||||||
};
|
};
|
||||||
|
bool flush;
|
||||||
|
|
||||||
write_lock(&kvm->mmu_lock);
|
write_lock(&kvm->mmu_lock);
|
||||||
if (kvm_unmap_gfn_range(kvm, &range))
|
flush = kvm_unmap_gfn_range(kvm, &range);
|
||||||
kvm_flush_remote_tlbs_memslot(kvm, slot);
|
kvm_mmu_zap_memslot_pages_and_flush(kvm, slot, flush);
|
||||||
|
|
||||||
write_unlock(&kvm->mmu_lock);
|
write_unlock(&kvm->mmu_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7082,7 +7114,7 @@ void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
|
|||||||
if (kvm_memslot_flush_zap_all(kvm))
|
if (kvm_memslot_flush_zap_all(kvm))
|
||||||
kvm_mmu_zap_all_fast(kvm);
|
kvm_mmu_zap_all_fast(kvm);
|
||||||
else
|
else
|
||||||
kvm_mmu_zap_memslot_leafs(kvm, slot);
|
kvm_mmu_zap_memslot(kvm, slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_mmu_invalidate_mmio_sptes(struct kvm *kvm, u64 gen)
|
void kvm_mmu_invalidate_mmio_sptes(struct kvm *kvm, u64 gen)
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <asm/inat.h> /*__ignore_sync_check__ */
|
#include <asm/inat.h> /*__ignore_sync_check__ */
|
||||||
#include <asm/insn.h> /* __ignore_sync_check__ */
|
#include <asm/insn.h> /* __ignore_sync_check__ */
|
||||||
#include <asm/unaligned.h> /* __ignore_sync_check__ */
|
#include <linux/unaligned.h> /* __ignore_sync_check__ */
|
||||||
|
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/kconfig.h>
|
#include <linux/kconfig.h>
|
||||||
|
@ -1032,6 +1032,10 @@ static u64 xen_do_read_msr(unsigned int msr, int *err)
|
|||||||
switch (msr) {
|
switch (msr) {
|
||||||
case MSR_IA32_APICBASE:
|
case MSR_IA32_APICBASE:
|
||||||
val &= ~X2APIC_ENABLE;
|
val &= ~X2APIC_ENABLE;
|
||||||
|
if (smp_processor_id() == 0)
|
||||||
|
val |= MSR_IA32_APICBASE_BSP;
|
||||||
|
else
|
||||||
|
val &= ~MSR_IA32_APICBASE_BSP;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#ifndef __ASM_XTENSA_FLAT_H
|
#ifndef __ASM_XTENSA_FLAT_H
|
||||||
#define __ASM_XTENSA_FLAT_H
|
#define __ASM_XTENSA_FLAT_H
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr)
|
u32 *addr)
|
||||||
|
@ -56,8 +56,7 @@ new_segment:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* blk_rq_map_integrity_sg - Map integrity metadata into a scatterlist
|
* blk_rq_map_integrity_sg - Map integrity metadata into a scatterlist
|
||||||
* @q: request queue
|
* @rq: request to map
|
||||||
* @bio: bio with integrity metadata attached
|
|
||||||
* @sglist: target scatterlist
|
* @sglist: target scatterlist
|
||||||
*
|
*
|
||||||
* Description: Map the integrity vectors in request into a
|
* Description: Map the integrity vectors in request into a
|
||||||
|
@ -3166,7 +3166,7 @@ static u64 ioc_qos_prfill(struct seq_file *sf, struct blkg_policy_data *pd,
|
|||||||
if (!dname)
|
if (!dname)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
spin_lock_irq(&ioc->lock);
|
spin_lock(&ioc->lock);
|
||||||
seq_printf(sf, "%s enable=%d ctrl=%s rpct=%u.%02u rlat=%u wpct=%u.%02u wlat=%u min=%u.%02u max=%u.%02u\n",
|
seq_printf(sf, "%s enable=%d ctrl=%s rpct=%u.%02u rlat=%u wpct=%u.%02u wlat=%u min=%u.%02u max=%u.%02u\n",
|
||||||
dname, ioc->enabled, ioc->user_qos_params ? "user" : "auto",
|
dname, ioc->enabled, ioc->user_qos_params ? "user" : "auto",
|
||||||
ioc->params.qos[QOS_RPPM] / 10000,
|
ioc->params.qos[QOS_RPPM] / 10000,
|
||||||
@ -3179,7 +3179,7 @@ static u64 ioc_qos_prfill(struct seq_file *sf, struct blkg_policy_data *pd,
|
|||||||
ioc->params.qos[QOS_MIN] % 10000 / 100,
|
ioc->params.qos[QOS_MIN] % 10000 / 100,
|
||||||
ioc->params.qos[QOS_MAX] / 10000,
|
ioc->params.qos[QOS_MAX] / 10000,
|
||||||
ioc->params.qos[QOS_MAX] % 10000 / 100);
|
ioc->params.qos[QOS_MAX] % 10000 / 100);
|
||||||
spin_unlock_irq(&ioc->lock);
|
spin_unlock(&ioc->lock);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3366,14 +3366,14 @@ static u64 ioc_cost_model_prfill(struct seq_file *sf,
|
|||||||
if (!dname)
|
if (!dname)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
spin_lock_irq(&ioc->lock);
|
spin_lock(&ioc->lock);
|
||||||
seq_printf(sf, "%s ctrl=%s model=linear "
|
seq_printf(sf, "%s ctrl=%s model=linear "
|
||||||
"rbps=%llu rseqiops=%llu rrandiops=%llu "
|
"rbps=%llu rseqiops=%llu rrandiops=%llu "
|
||||||
"wbps=%llu wseqiops=%llu wrandiops=%llu\n",
|
"wbps=%llu wseqiops=%llu wrandiops=%llu\n",
|
||||||
dname, ioc->user_cost_model ? "user" : "auto",
|
dname, ioc->user_cost_model ? "user" : "auto",
|
||||||
u[I_LCOEF_RBPS], u[I_LCOEF_RSEQIOPS], u[I_LCOEF_RRANDIOPS],
|
u[I_LCOEF_RBPS], u[I_LCOEF_RSEQIOPS], u[I_LCOEF_RRANDIOPS],
|
||||||
u[I_LCOEF_WBPS], u[I_LCOEF_WSEQIOPS], u[I_LCOEF_WRANDIOPS]);
|
u[I_LCOEF_WBPS], u[I_LCOEF_WSEQIOPS], u[I_LCOEF_WRANDIOPS]);
|
||||||
spin_unlock_irq(&ioc->lock);
|
spin_unlock(&ioc->lock);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
struct parsed_partitions;
|
struct parsed_partitions;
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* the nr_sects and start_sect partition table entries are
|
* the nr_sects and start_sect partition table entries are
|
||||||
* at a 2 (mod 4) address.
|
* at a 2 (mod 4) address.
|
||||||
*/
|
*/
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
static inline sector_t nr_sects(struct msdos_partition *p)
|
static inline sector_t nr_sects(struct msdos_partition *p)
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <linux/crc-t10dif.h>
|
#include <linux/crc-t10dif.h>
|
||||||
#include <linux/crc64.h>
|
#include <linux/crc64.h>
|
||||||
#include <net/checksum.h>
|
#include <net/checksum.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
#include "blk.h"
|
#include "blk.h"
|
||||||
|
|
||||||
struct blk_integrity_iter {
|
struct blk_integrity_iter {
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/unaligned.h>
|
#include <linux/unaligned.h>
|
||||||
|
|
||||||
static inline u8 byte(const u32 x, const unsigned n)
|
static inline u8 byte(const u32 x, const unsigned n)
|
||||||
{
|
{
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user