mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'v7.0-rc5' into driver-core-next
We need the driver-core fixes in here as well to build on top of. Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
@@ -327,6 +327,7 @@ Henrik Rydberg <rydberg@bitmath.org>
|
||||
Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
|
||||
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
|
||||
Ignat Korchagin <ignat@linux.win> <ignat@cloudflare.com>
|
||||
Ike Panhc <ikepanhc@gmail.com> <ike.pan@canonical.com>
|
||||
J. Bruce Fields <bfields@fieldses.org> <bfields@redhat.com>
|
||||
J. Bruce Fields <bfields@fieldses.org> <bfields@citi.umich.edu>
|
||||
|
||||
@@ -336,6 +336,8 @@ command line arguments:
|
||||
- ``--list_tests_attr``: If set, lists all tests that will be run and all of their
|
||||
attributes.
|
||||
|
||||
- ``--list_suites``: If set, lists all suites that will be run.
|
||||
|
||||
Command-line completion
|
||||
==============================
|
||||
|
||||
|
||||
@@ -19,9 +19,6 @@ description:
|
||||
Flash sub nodes describe the memory range and optional per-flash
|
||||
properties.
|
||||
|
||||
allOf:
|
||||
- $ref: mtd.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: st,spear600-smi
|
||||
@@ -42,14 +39,29 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Functional clock rate of the SMI controller in Hz.
|
||||
|
||||
st,smi-fast-mode:
|
||||
type: boolean
|
||||
description: Indicates that the attached flash supports fast read mode.
|
||||
patternProperties:
|
||||
"^flash@.*$":
|
||||
$ref: /schemas/mtd/mtd.yaml#
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
st,smi-fast-mode:
|
||||
type: boolean
|
||||
description: Indicates that the attached flash supports fast read mode.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clock-rate
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -64,7 +76,7 @@ examples:
|
||||
interrupts = <12>;
|
||||
clock-rate = <50000000>; /* 50 MHz */
|
||||
|
||||
flash@f8000000 {
|
||||
flash@fc000000 {
|
||||
reg = <0xfc000000 0x1000>;
|
||||
st,smi-fast-mode;
|
||||
};
|
||||
|
||||
@@ -168,7 +168,7 @@ properties:
|
||||
offset from voltage set to regulator.
|
||||
|
||||
regulator-uv-protection-microvolt:
|
||||
description: Set over under voltage protection limit. This is a limit where
|
||||
description: Set under voltage protection limit. This is a limit where
|
||||
hardware performs emergency shutdown. Zero can be passed to disable
|
||||
protection and value '1' indicates that protection should be enabled but
|
||||
limit setting can be omitted. Limit is given as microvolt offset from
|
||||
@@ -182,7 +182,7 @@ properties:
|
||||
is given as microvolt offset from voltage set to regulator.
|
||||
|
||||
regulator-uv-warn-microvolt:
|
||||
description: Set over under voltage warning limit. This is a limit where
|
||||
description: Set under voltage warning limit. This is a limit where
|
||||
hardware is assumed still to be functional but approaching limit where
|
||||
it gets damaged. Recovery actions should be initiated. Zero can be passed
|
||||
to disable detection and value '1' indicates that detection should
|
||||
|
||||
@@ -99,3 +99,51 @@ of the driver is decremented. All symlinks between the two are removed.
|
||||
When a driver is removed, the list of devices that it supports is
|
||||
iterated over, and the driver's remove callback is called for each
|
||||
one. The device is removed from that list and the symlinks removed.
|
||||
|
||||
|
||||
Driver Override
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Userspace may override the standard matching by writing a driver name to
|
||||
a device's ``driver_override`` sysfs attribute. When set, only a driver
|
||||
whose name matches the override will be considered during binding. This
|
||||
bypasses all bus-specific matching (OF, ACPI, ID tables, etc.).
|
||||
|
||||
The override may be cleared by writing an empty string, which returns
|
||||
the device to standard matching rules. Writing to ``driver_override``
|
||||
does not automatically unbind the device from its current driver or
|
||||
make any attempt to load the specified driver.
|
||||
|
||||
Buses opt into this mechanism by setting the ``driver_override`` flag in
|
||||
their ``struct bus_type``::
|
||||
|
||||
const struct bus_type example_bus_type = {
|
||||
...
|
||||
.driver_override = true,
|
||||
};
|
||||
|
||||
When the flag is set, the driver core automatically creates the
|
||||
``driver_override`` sysfs attribute for every device on that bus.
|
||||
|
||||
The bus's ``match()`` callback should check the override before performing
|
||||
its own matching, using ``device_match_driver_override()``::
|
||||
|
||||
static int example_match(struct device *dev, const struct device_driver *drv)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = device_match_driver_override(dev, drv);
|
||||
if (ret >= 0)
|
||||
return ret;
|
||||
|
||||
/* Fall through to bus-specific matching... */
|
||||
}
|
||||
|
||||
``device_match_driver_override()`` returns > 0 if the override matches
|
||||
the given driver, 0 if the override is set but does not match, or < 0 if
|
||||
no override is set at all.
|
||||
|
||||
Additional helpers are available:
|
||||
|
||||
- ``device_set_driver_override()`` - set or clear the override from kernel code.
|
||||
- ``device_has_driver_override()`` - check whether an override is set.
|
||||
|
||||
@@ -247,8 +247,8 @@ operations:
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
post: net-shaper-nl-post-doit
|
||||
pre: net-shaper-nl-pre-doit-write
|
||||
post: net-shaper-nl-post-doit-write
|
||||
request:
|
||||
attributes:
|
||||
- ifindex
|
||||
@@ -278,8 +278,8 @@ operations:
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
post: net-shaper-nl-post-doit
|
||||
pre: net-shaper-nl-pre-doit-write
|
||||
post: net-shaper-nl-post-doit-write
|
||||
request:
|
||||
attributes: *ns-binding
|
||||
|
||||
@@ -309,8 +309,8 @@ operations:
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
post: net-shaper-nl-post-doit
|
||||
pre: net-shaper-nl-pre-doit-write
|
||||
post: net-shaper-nl-post-doit-write
|
||||
request:
|
||||
attributes:
|
||||
- ifindex
|
||||
|
||||
+8
-6
@@ -4022,7 +4022,7 @@ F: drivers/hwmon/asus_wmi_sensors.c
|
||||
ASYMMETRIC KEYS
|
||||
M: David Howells <dhowells@redhat.com>
|
||||
M: Lukas Wunner <lukas@wunner.de>
|
||||
M: Ignat Korchagin <ignat@cloudflare.com>
|
||||
M: Ignat Korchagin <ignat@linux.win>
|
||||
L: keyrings@vger.kernel.org
|
||||
L: linux-crypto@vger.kernel.org
|
||||
S: Maintained
|
||||
@@ -4035,7 +4035,7 @@ F: include/linux/verification.h
|
||||
|
||||
ASYMMETRIC KEYS - ECDSA
|
||||
M: Lukas Wunner <lukas@wunner.de>
|
||||
M: Ignat Korchagin <ignat@cloudflare.com>
|
||||
M: Ignat Korchagin <ignat@linux.win>
|
||||
R: Stefan Berger <stefanb@linux.ibm.com>
|
||||
L: linux-crypto@vger.kernel.org
|
||||
S: Maintained
|
||||
@@ -4045,14 +4045,14 @@ F: include/crypto/ecc*
|
||||
|
||||
ASYMMETRIC KEYS - GOST
|
||||
M: Lukas Wunner <lukas@wunner.de>
|
||||
M: Ignat Korchagin <ignat@cloudflare.com>
|
||||
M: Ignat Korchagin <ignat@linux.win>
|
||||
L: linux-crypto@vger.kernel.org
|
||||
S: Odd fixes
|
||||
F: crypto/ecrdsa*
|
||||
|
||||
ASYMMETRIC KEYS - RSA
|
||||
M: Lukas Wunner <lukas@wunner.de>
|
||||
M: Ignat Korchagin <ignat@cloudflare.com>
|
||||
M: Ignat Korchagin <ignat@linux.win>
|
||||
L: linux-crypto@vger.kernel.org
|
||||
S: Maintained
|
||||
F: crypto/rsa*
|
||||
@@ -7998,7 +7998,9 @@ F: Documentation/devicetree/bindings/display/himax,hx8357.yaml
|
||||
F: drivers/gpu/drm/tiny/hx8357d.c
|
||||
|
||||
DRM DRIVER FOR HYPERV SYNTHETIC VIDEO DEVICE
|
||||
M: Deepak Rawat <drawat.floss@gmail.com>
|
||||
M: Dexuan Cui <decui@microsoft.com>
|
||||
M: Long Li <longli@microsoft.com>
|
||||
M: Saurabh Sengar <ssengar@linux.microsoft.com>
|
||||
L: linux-hyperv@vger.kernel.org
|
||||
L: dri-devel@lists.freedesktop.org
|
||||
S: Maintained
|
||||
@@ -24900,9 +24902,9 @@ F: drivers/clk/spear/
|
||||
F: drivers/pinctrl/spear/
|
||||
|
||||
SPI NOR SUBSYSTEM
|
||||
M: Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
M: Pratyush Yadav <pratyush@kernel.org>
|
||||
M: Michael Walle <mwalle@kernel.org>
|
||||
R: Takahiro Kuwano <takahiro.kuwano@infineon.com>
|
||||
L: linux-mtd@lists.infradead.org
|
||||
S: Maintained
|
||||
W: http://www.linux-mtd.infradead.org/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
VERSION = 7
|
||||
PATCHLEVEL = 0
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc4
|
||||
EXTRAVERSION = -rc5
|
||||
NAME = Baby Opossum Posse
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
||||
@@ -279,7 +279,6 @@ CONFIG_TI_CPSW_SWITCHDEV=y
|
||||
CONFIG_TI_CPTS=y
|
||||
CONFIG_TI_KEYSTONE_NETCP=y
|
||||
CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
|
||||
CONFIG_TI_PRUSS=m
|
||||
CONFIG_TI_PRUETH=m
|
||||
CONFIG_XILINX_EMACLITE=y
|
||||
CONFIG_SFP=m
|
||||
|
||||
@@ -698,7 +698,7 @@
|
||||
compatible = "renesas,scif-r8a78000",
|
||||
"renesas,rcar-gen5-scif", "renesas,scif";
|
||||
reg = <0 0xc0700000 0 0x40>;
|
||||
interrupts = <GIC_SPI 4074 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -708,7 +708,7 @@
|
||||
compatible = "renesas,scif-r8a78000",
|
||||
"renesas,rcar-gen5-scif", "renesas,scif";
|
||||
reg = <0 0xc0704000 0 0x40>;
|
||||
interrupts = <GIC_SPI 4075 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -718,7 +718,7 @@
|
||||
compatible = "renesas,scif-r8a78000",
|
||||
"renesas,rcar-gen5-scif", "renesas,scif";
|
||||
reg = <0 0xc0708000 0 0x40>;
|
||||
interrupts = <GIC_SPI 4076 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -728,7 +728,7 @@
|
||||
compatible = "renesas,scif-r8a78000",
|
||||
"renesas,rcar-gen5-scif", "renesas,scif";
|
||||
reg = <0 0xc070c000 0 0x40>;
|
||||
interrupts = <GIC_SPI 4077 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -738,7 +738,7 @@
|
||||
compatible = "renesas,hscif-r8a78000",
|
||||
"renesas,rcar-gen5-hscif", "renesas,hscif";
|
||||
reg = <0 0xc0710000 0 0x60>;
|
||||
interrupts = <GIC_SPI 4078 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd4>, <&dummy_clk_sgasyncd4>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -748,7 +748,7 @@
|
||||
compatible = "renesas,hscif-r8a78000",
|
||||
"renesas,rcar-gen5-hscif", "renesas,hscif";
|
||||
reg = <0 0xc0714000 0 0x60>;
|
||||
interrupts = <GIC_SPI 4079 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd4>, <&dummy_clk_sgasyncd4>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -758,7 +758,7 @@
|
||||
compatible = "renesas,hscif-r8a78000",
|
||||
"renesas,rcar-gen5-hscif", "renesas,hscif";
|
||||
reg = <0 0xc0718000 0 0x60>;
|
||||
interrupts = <GIC_SPI 4080 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd4>, <&dummy_clk_sgasyncd4>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
@@ -768,7 +768,7 @@
|
||||
compatible = "renesas,hscif-r8a78000",
|
||||
"renesas,rcar-gen5-hscif", "renesas,hscif";
|
||||
reg = <0 0xc071c000 0 0x60>;
|
||||
interrupts = <GIC_SPI 4081 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_ESPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dummy_clk_sgasyncd4>, <&dummy_clk_sgasyncd4>, <&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
status = "disabled";
|
||||
|
||||
@@ -581,16 +581,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt0: watchdog@11c00400 {
|
||||
compatible = "renesas,r9a09g057-wdt";
|
||||
reg = <0 0x11c00400 0 0x400>;
|
||||
clocks = <&cpg CPG_MOD 0x4b>, <&cpg CPG_MOD 0x4c>;
|
||||
clock-names = "pclk", "oscclk";
|
||||
resets = <&cpg 0x75>;
|
||||
power-domains = <&cpg>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt1: watchdog@14400000 {
|
||||
compatible = "renesas,r9a09g057-wdt";
|
||||
reg = <0 0x14400000 0 0x400>;
|
||||
@@ -601,26 +591,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt2: watchdog@13000000 {
|
||||
compatible = "renesas,r9a09g057-wdt";
|
||||
reg = <0 0x13000000 0 0x400>;
|
||||
clocks = <&cpg CPG_MOD 0x4f>, <&cpg CPG_MOD 0x50>;
|
||||
clock-names = "pclk", "oscclk";
|
||||
resets = <&cpg 0x77>;
|
||||
power-domains = <&cpg>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt3: watchdog@13000400 {
|
||||
compatible = "renesas,r9a09g057-wdt";
|
||||
reg = <0 0x13000400 0 0x400>;
|
||||
clocks = <&cpg CPG_MOD 0x51>, <&cpg CPG_MOD 0x52>;
|
||||
clock-names = "pclk", "oscclk";
|
||||
resets = <&cpg 0x78>;
|
||||
power-domains = <&cpg>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rtc: rtc@11c00800 {
|
||||
compatible = "renesas,r9a09g057-rtca3", "renesas,rz-rtca3";
|
||||
reg = <0 0x11c00800 0 0x400>;
|
||||
|
||||
@@ -974,8 +974,8 @@
|
||||
|
||||
cpg: clock-controller@80280000 {
|
||||
compatible = "renesas,r9a09g077-cpg-mssr";
|
||||
reg = <0 0x80280000 0 0x1000>,
|
||||
<0 0x81280000 0 0x9000>;
|
||||
reg = <0 0x80280000 0 0x10000>,
|
||||
<0 0x81280000 0 0x10000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
|
||||
@@ -977,8 +977,8 @@
|
||||
|
||||
cpg: clock-controller@80280000 {
|
||||
compatible = "renesas,r9a09g087-cpg-mssr";
|
||||
reg = <0 0x80280000 0 0x1000>,
|
||||
<0 0x81280000 0 0x9000>;
|
||||
reg = <0 0x80280000 0 0x10000>,
|
||||
<0 0x81280000 0 0x10000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
<100000000>;
|
||||
renesas,settings = [
|
||||
80 00 11 19 4c 42 dc 2f 06 7d 20 1a 5f 1e f2 27
|
||||
00 40 00 00 00 00 00 00 06 0c 19 02 3f f0 90 86
|
||||
00 40 00 00 00 00 00 00 06 0c 19 02 3b f0 90 86
|
||||
a0 80 30 30 9c
|
||||
];
|
||||
};
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios-states = <0>;
|
||||
states = <3300000 0>, <1800000 1>;
|
||||
regulator-ramp-delay = <60>;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios-states = <0>;
|
||||
states = <3300000 0>, <1800000 1>;
|
||||
regulator-ramp-delay = <60>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -76,19 +76,24 @@ static int aesbs_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
|
||||
unsigned int key_len)
|
||||
{
|
||||
struct aesbs_ctx *ctx = crypto_skcipher_ctx(tfm);
|
||||
struct crypto_aes_ctx rk;
|
||||
struct crypto_aes_ctx *rk;
|
||||
int err;
|
||||
|
||||
err = aes_expandkey(&rk, in_key, key_len);
|
||||
rk = kmalloc(sizeof(*rk), GFP_KERNEL);
|
||||
if (!rk)
|
||||
return -ENOMEM;
|
||||
|
||||
err = aes_expandkey(rk, in_key, key_len);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
ctx->rounds = 6 + key_len / 4;
|
||||
|
||||
scoped_ksimd()
|
||||
aesbs_convert_key(ctx->rk, rk.key_enc, ctx->rounds);
|
||||
|
||||
return 0;
|
||||
aesbs_convert_key(ctx->rk, rk->key_enc, ctx->rounds);
|
||||
out:
|
||||
kfree_sensitive(rk);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int __ecb_crypt(struct skcipher_request *req,
|
||||
@@ -133,22 +138,26 @@ static int aesbs_cbc_ctr_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
|
||||
unsigned int key_len)
|
||||
{
|
||||
struct aesbs_cbc_ctr_ctx *ctx = crypto_skcipher_ctx(tfm);
|
||||
struct crypto_aes_ctx rk;
|
||||
struct crypto_aes_ctx *rk;
|
||||
int err;
|
||||
|
||||
err = aes_expandkey(&rk, in_key, key_len);
|
||||
rk = kmalloc(sizeof(*rk), GFP_KERNEL);
|
||||
if (!rk)
|
||||
return -ENOMEM;
|
||||
|
||||
err = aes_expandkey(rk, in_key, key_len);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
ctx->key.rounds = 6 + key_len / 4;
|
||||
|
||||
memcpy(ctx->enc, rk.key_enc, sizeof(ctx->enc));
|
||||
memcpy(ctx->enc, rk->key_enc, sizeof(ctx->enc));
|
||||
|
||||
scoped_ksimd()
|
||||
aesbs_convert_key(ctx->key.rk, rk.key_enc, ctx->key.rounds);
|
||||
memzero_explicit(&rk, sizeof(rk));
|
||||
|
||||
return 0;
|
||||
aesbs_convert_key(ctx->key.rk, rk->key_enc, ctx->key.rounds);
|
||||
out:
|
||||
kfree_sensitive(rk);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int cbc_encrypt(struct skcipher_request *req)
|
||||
|
||||
@@ -192,6 +192,14 @@ static int scs_handle_fde_frame(const struct eh_frame *frame,
|
||||
size -= 2;
|
||||
break;
|
||||
|
||||
case DW_CFA_advance_loc4:
|
||||
loc += *opcode++ * code_alignment_factor;
|
||||
loc += (*opcode++ << 8) * code_alignment_factor;
|
||||
loc += (*opcode++ << 16) * code_alignment_factor;
|
||||
loc += (*opcode++ << 24) * code_alignment_factor;
|
||||
size -= 4;
|
||||
break;
|
||||
|
||||
case DW_CFA_def_cfa:
|
||||
case DW_CFA_offset_extended:
|
||||
size = skip_xleb128(&opcode, size);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/mem_encrypt.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/rsi.h>
|
||||
|
||||
static struct realm_config config;
|
||||
@@ -146,7 +147,7 @@ void __init arm64_rsi_init(void)
|
||||
return;
|
||||
if (WARN_ON(rsi_get_realm_config(&config)))
|
||||
return;
|
||||
prot_ns_shared = BIT(config.ipa_bits - 1);
|
||||
prot_ns_shared = __phys_to_pte_val(BIT(config.ipa_bits - 1));
|
||||
|
||||
if (arm64_ioremap_prot_hook_register(realm_ioremap_hook))
|
||||
return;
|
||||
|
||||
@@ -304,6 +304,9 @@ config AS_HAS_LBT_EXTENSION
|
||||
config AS_HAS_LVZ_EXTENSION
|
||||
def_bool $(as-instr,hvcl 0)
|
||||
|
||||
config AS_HAS_SCQ_EXTENSION
|
||||
def_bool $(as-instr,sc.q \$t0$(comma)\$t1$(comma)\$t2)
|
||||
|
||||
config CC_HAS_ANNOTATE_TABLEJUMP
|
||||
def_bool $(cc-option,-mannotate-tablejump)
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user