Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
665f138
ARM: omap2plus_defconfig: drop unused POWER_AVS option
zandrey Nov 30, 2020
f1dc15c
ARM: dts: OMAP3: disable AES on N950/N9
aakoskin Nov 29, 2020
ec76c2e
ARM: OMAP2+: omap_device: fix idling of devices during probe
akemnade Dec 4, 2020
2f6fc9e
ARM: omap2plus_defconfig: enable SPI GPIO
akemnade Dec 1, 2020
c0bc969
ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with def…
IMbackK Dec 7, 2020
43ffe81
arm64: dts: bitmain: Use generic "ngpios" rather than "snps,nr-gpios"
rvosk Dec 10, 2020
062fa6b
Merge tag 'omap-for-v5.10/fixes-rc6-signed' of git://git.kernel.org/p…
arndb Dec 12, 2020
57f0481
drm/msm: Fix WARN_ON() splat in _free_object()
robclark Dec 10, 2020
2a5f1b6
KVM: arm64: Don't access PMCR_EL0 when no PMU is available
Dec 10, 2020
ff367fe
KVM: arm64: Prevent use of invalid PSCI v0.1 function IDs
Dec 8, 2020
7a96a06
KVM: arm64: Use lm_alias in nVHE-only VA conversion
Dec 8, 2020
c3e181a
KVM: arm64: Skip computing hyp VA layout for VHE
Dec 8, 2020
61fe0c3
KVM: arm64: Minor cleanup of hyp variables used in host
Dec 8, 2020
e6829e0
KVM: arm64: Remove unused includes in psci-relay.c
Dec 8, 2020
860a4c3
KVM: arm64: Move skip_host_instruction to adjust_pc.h
Dec 8, 2020
767c973
KVM: arm64: Declutter host PSCI 0.1 handling
Dec 22, 2020
d734220
Merge tag 'omap-for-v5.11/defconfig-late-signed' of git://git.kernel.…
arndb Dec 22, 2020
7887cc8
ARM: dts: ux500/golden: Set display max brightness
Dec 14, 2020
3557ae1
KVM: Documentation: Add arm64 KVM_RUN error codes
Dec 1, 2020
f16570b
KVM: arm64: arch_timer: Remove VGIC initialization check
Dec 1, 2020
1c91f06
KVM: arm64: Move double-checked lock to kvm_vgic_map_resources()
Dec 1, 2020
9e5c23b
KVM: arm64: Update comment in kvm_vgic_map_resources()
Dec 1, 2020
282ff80
KVM: arm64: Remove redundant call to kvm_pmu_vcpu_reset()
Dec 1, 2020
101068b
KVM: arm64: Consolidate dist->ready setting into kvm_vgic_map_resourc…
Dec 27, 2020
a694ffe
drm/msm: Fix null dereference in _msm_gem_new
ichernev Dec 28, 2020
07fcad0
drm/msm: Ensure get_pages is called when locked
ichernev Dec 28, 2020
44362a3
KVM: arm64: Fix hyp_cpu_pm_{init,exit} __init annotation
Dec 23, 2020
957cbca
KVM: arm64: Remove spurious semicolon in reg_to_encoding()
Dec 31, 2020
42e85f9
arm64/smp: Remove unused irq variable in arch_show_interrupts()
geertu Dec 15, 2020
b614231
arm64: mte: remove an ISB on kernel exit
pcc Dec 3, 2020
095507d
arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA
Dec 18, 2020
8cbebc4
KVM: arm64: Replace KVM_ARM_PMU with HW_PERF_EVENTS
Jan 4, 2021
75353bc
drm/i915: clear the shadow batch
matt-auld Dec 24, 2020
641382e
drm/i915: clear the gpu reloc batch
matt-auld Dec 24, 2020
5578625
drm/i915/gt: Define guc firmware blob for older Cometlakes
ickle Dec 29, 2020
9397d66
drm/i915/dp: Track pm_qos per connector
ickle Dec 30, 2020
311bea3
arm64: link with -z norelro for LLD or aarch64-elf
nickdesaulniers Dec 18, 2020
45ba7b1
arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST
Jan 4, 2021
3fb6819
arm64: traps: remove duplicate include statement
Dec 28, 2020
e2bba5f
arm64: vdso: disable .eh_frame_hdr via /DISCARD/ instead of --no-eh-f…
pcc Dec 30, 2020
f34d93f
arm64: kasan: Set TCR_EL1.TBID1 when KASAN_HW_TAGS is enabled
ctmarinas Jan 4, 2021
6775ae9
iommu/iova: fix 'domain' typos
stefano-garzarella Dec 22, 2020
ff2b46d
iommu/intel: Fix memleak in intel_irq_remapping_alloc
dinghaoliu Jan 5, 2021
12bc457
iommu/amd: Set iommu->int_enabled consistently when interrupts are se…
dwmw2 Jan 5, 2021
b34f10c
iommu/amd: Stop irq_remapping_select() matching when remapping is dis…
dwmw2 Jan 5, 2021
0e61f09
drm/amd/pm: correct the sensor value of power for vangogh
Dec 14, 2020
37030ab
drm/amd/pm: improve the fine grain tuning function for RV/RV2/PCO
Dec 18, 2020
fc996f9
drm/amd/pm: updated PM to I2C controller port on sienna cichlid
Dec 25, 2020
a7b5d9d
drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer …
Dec 29, 2020
ed1df58
drm/amdgpu: switched to cached noretry setting for vangogh
Dec 31, 2020
9a029a3
drm/amdgpu: fix a memory protection fault when remove amdgpu device
Dec 30, 2020
88e21af
drm/amdgpu: fix a GPU hang issue when remove device
Dec 30, 2020
44cb39e
drm/amd/pm: fix the failure when change power profile for renoir
Dec 30, 2020
98b6476
drm/amd/pm: improve the fine grain tuning function for RV/RV2/PCO
Dec 29, 2020
4f6a055
drm/amd/display: Fix unused variable warning
arndb Jan 3, 2021
e6d5c64
drm/amdgpu: fix potential memory leak during navi12 deinitialization
Dec 29, 2020
8a82b34
drm/amdgpu: fix no bad_pages issue after umc ue injection
Jan 5, 2021
3851c90
drm/amdgpu: enable ras eeprom support for sienna cichlid
Jan 5, 2021
c241ed2
drm/amdgpu/display: drop DCN support for aarch64
alexdeucher Jan 4, 2021
5efc1f4
Revert "drm/amd/display: Fix memory leaks in S3 resume"
alexdeucher Jan 5, 2021
57cda5e
Merge tag 'amd-drm-fixes-5.11-2021-01-06' of https://gitlab.freedeskt…
danvet Jan 7, 2021
4e181de
Merge tag 'drm-intel-fixes-2021-01-07' of git://anongit.freedesktop.o…
danvet Jan 7, 2021
83b5bd6
arm64: Move PSTATE.TCO setting to separate functions
ctmarinas Jan 4, 2021
05cd846
dmabuf: fix use-after-free of dmabuf's file->f_inode
Jan 5, 2021
e0658f9
drm/radeon: stop re-init the TTM page pool
ChristianKoenigAMD Jan 5, 2021
a73858e
drm/ttm: unexport ttm_pool_init/fini
ChristianKoenigAMD Jan 5, 2021
1efd17e
iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb()
LuBaolu Dec 31, 2020
4df7b22
Revert "iommu: Add quirk for Intel graphic devices in map_sg"
LuBaolu Dec 31, 2020
420d42f
iommu/vt-d: Fix lockdep splat in sva bind()/unbind()
LuBaolu Dec 31, 2020
aded8c7
iommu/arm-smmu-qcom: Initialize SCTLR of the bypass context
andersson Jan 6, 2021
9ad9f45
iommu/vt-d: Move intel_iommu info from struct intel_svm to struct int…
yiliu1765 Jan 6, 2021
18abda7
iommu/vt-d: Fix general protection fault in aux_detach_device()
yiliu1765 Jan 6, 2021
7c29ada
iommu/vt-d: Fix ineffective devTLB invalidation for subdevices
yiliu1765 Jan 6, 2021
17ffd35
cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_p…
rafaeljw Jan 5, 2021
943bdd0
cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
Jan 5, 2021
aa7a1bb
ACPI: PM: s2idle: Drop unused local variables and related code
rafaeljw Jan 5, 2021
ee61cfd
ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
Dec 31, 2020
240bdc6
ACPI: Update Kconfig help text for items that are no longer modular
nullr0ute Dec 29, 2020
47f4469
Revert "device property: Keep secondary firmware node secondary by type"
bardliao Jan 5, 2021
3f7bdda
device property: add description of fwnode cases
bardliao Jan 5, 2021
2b5f09c
drm/msm/dp: postpone irq_hpd event during connection pending state
Dec 18, 2020
d863f0c
drm/msm: Call msm_init_vram before binding the gpu
opendata26 Dec 30, 2020
3f7759e
drm/msm: Add modparam to allow vram carveout
ichernev Dec 30, 2020
c415160
cpufreq: intel_pstate: remove obsolete functions
bulwahn Dec 21, 2020
00fd44a
drm/msm: Only enable A6xx LLCC code on A6xx
Jan 4, 2021
2aa0789
KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
sean-jc Dec 18, 2020
39b4d43
KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
sean-jc Dec 18, 2020
dde81f9
KVM: x86/mmu: Use raw level to index into MMIO walks' sptes array
sean-jc Dec 18, 2020
9aa4187
KVM: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte()
sean-jc Dec 18, 2020
bc351f0
Merge branch 'kvm-master' into kvm-next
bonzini Jan 7, 2021
f65cf84
KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load
nathanchance Dec 19, 2020
52782d5
KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c
ubizjak Dec 20, 2020
e42ac77
KVM: selftests: Factor out guest mode code
Dec 18, 2020
1133e17
KVM: selftests: Use vm_create_with_vcpus in create_vm
Dec 18, 2020
b268b6f
KVM: selftests: Implement perf_test_util more conventionally
Dec 18, 2020
2f80d50
KVM: x86: fix shift out of bounds reported by UBSAN
bonzini Dec 22, 2020
7f0c1f1
MAINTAINERS: Really update email address for Sean Christopherson
sean-jc Jan 6, 2021
de7860c
KVM: x86: change in pv_eoi_get_pending() to make code more readable
Dec 18, 2020
88bf56d
kvm: check tlbs_dirty directly
Dec 17, 2020
a889ea5
KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
Jan 7, 2021
c0dba6e
KVM: x86/mmu: Clarify TDP MMU page list invariants
Jan 7, 2021
81f76ad
KVM: nSVM: correctly restore nested_run_pending on migration
Jan 7, 2021
56fe28d
KVM: nSVM: mark vmcb as dirty when forcingly leaving the guest mode
Jan 7, 2021
f2c7ef3
KVM: nSVM: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit
Jan 7, 2021
647daca
KVM: SVM: Add support for booting APs in an SEV-ES guest
tlendacky Jan 4, 2021
25ea8ec
Merge tag 'drm-msm-fixes-2021-01-07' of https://gitlab.freedesktop.or…
danvet Jan 8, 2021
29f95f2
Merge tag 'drm-misc-fixes-2021-01-08' of git://anongit.freedesktop.or…
danvet Jan 8, 2021
774206b
Merge tag 'kvmarm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux…
bonzini Jan 8, 2021
872f36e
KVM: x86: __kvm_vcpu_halt can be static
bonzini Jan 8, 2021
bac7171
ARM: picoxcell: fix missing interrupt-parent properties
arndb Dec 30, 2020
24e8ab6
Merge branches 'acpi-scan' and 'acpi-misc'
rafaeljw Jan 8, 2021
56ef24e
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Jan 8, 2021
95f0505
Merge tag 'arm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Jan 8, 2021
3e2a590
Merge tag 'iommu-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Jan 8, 2021
2a190b2
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
torvalds Jan 8, 2021
43d3d58
Merge tag 'drm-fixes-2021-01-08' of git://anongit.freedesktop.org/drm…
torvalds Jan 8, 2021
be31d94
Merge tag 'pm-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Jan 8, 2021
fb9ca0b
Merge tag 'acpi-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Jan 8, 2021
78d4202
Merge tag 'devprop-5.11-rc3' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Jan 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions Documentation/virt/kvm/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -392,9 +392,14 @@ This ioctl is obsolete and has been removed.

Errors:

===== =============================
======= ==============================================================
EINTR an unmasked signal is pending
===== =============================
ENOEXEC the vcpu hasn't been initialized or the guest tried to execute
instructions from device memory (arm64)
ENOSYS data abort outside memslots with no syndrome info and
KVM_CAP_ARM_NISV_TO_USER not enabled (arm64)
EPERM SVE feature set but not finalized (arm64)
======= ==============================================================

This ioctl is used to run a guest virtual cpu. While there are no
explicit parameters, there is an implicit parameter block that can be
Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -9776,7 +9776,7 @@ F: tools/testing/selftests/kvm/s390x/

KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)
M: Paolo Bonzini <pbonzini@redhat.com>
R: Sean Christopherson <sean.j.christopherson@intel.com>
R: Sean Christopherson <seanjc@google.com>
R: Vitaly Kuznetsov <vkuznets@redhat.com>
R: Wanpeng Li <wanpengli@tencent.com>
R: Jim Mattson <jmattson@google.com>
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/omap3-n950-n9.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -494,3 +494,11 @@
clock-names = "sysclk";
};
};

&aes1_target {
status = "disabled";
};

&aes2_target {
status = "disabled";
};
4 changes: 4 additions & 0 deletions arch/arm/boot/dts/picoxcell-pc3x2.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,21 @@
emac: gem@30000 {
compatible = "cadence,gem";
reg = <0x30000 0x10000>;
interrupt-parent = <&vic0>;
interrupts = <31>;
};

dmac1: dmac@40000 {
compatible = "snps,dw-dmac";
reg = <0x40000 0x10000>;
interrupt-parent = <&vic0>;
interrupts = <25>;
};

dmac2: dmac@50000 {
compatible = "snps,dw-dmac";
reg = <0x50000 0x10000>;
interrupt-parent = <&vic0>;
interrupts = <26>;
};

Expand Down Expand Up @@ -233,6 +236,7 @@
axi2pico@c0000000 {
compatible = "picochip,axi2pico-pc3x2";
reg = <0xc0000000 0x10000>;
interrupt-parent = <&vic0>;
interrupts = <13 14 15 16 17 18 19 20 21>;
};
};
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/ste-ux500-samsung-golden.dts
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@
panel@0 {
compatible = "samsung,s6e63m0";
reg = <0>;
max-brightness = <15>;
vdd3-supply = <&panel_reg_3v0>;
vci-supply = <&panel_reg_1v8>;
reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/configs/omap2plus_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ CONFIG_SERIAL_OMAP_CONSOLE=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_I2C_CHARDEV=y
CONFIG_SPI=y
CONFIG_SPI_GPIO=m
CONFIG_SPI_OMAP24XX=y
CONFIG_SPI_TI_QSPI=m
CONFIG_HSI=m
Expand All @@ -296,7 +297,6 @@ CONFIG_GPIO_TWL4030=y
CONFIG_W1=m
CONFIG_HDQ_MASTER_OMAP=m
CONFIG_W1_SLAVE_DS250X=m
CONFIG_POWER_AVS=y
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_BATTERY_BQ27XXX=m
Expand Down
8 changes: 5 additions & 3 deletions arch/arm/mach-omap2/omap_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,12 @@ static int _omap_device_notifier_call(struct notifier_block *nb,
break;
case BUS_NOTIFY_BIND_DRIVER:
od = to_omap_device(pdev);
if (od && (od->_state == OMAP_DEVICE_STATE_ENABLED) &&
pm_runtime_status_suspended(dev)) {
if (od) {
od->_driver_status = BUS_NOTIFY_BIND_DRIVER;
pm_runtime_set_active(dev);
if (od->_state == OMAP_DEVICE_STATE_ENABLED &&
pm_runtime_status_suspended(dev)) {
pm_runtime_set_active(dev);
}
}
break;
case BUS_NOTIFY_ADD_DEVICE:
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-omap2/pmic-cpcap.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ static struct omap_voltdm_pmic omap_cpcap_iva = {
.vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN,
.vp_vstepmax = OMAP4_VP_VSTEPMAX_VSTEPMAX,
.vddmin = 900000,
.vddmax = 1350000,
.vddmax = 1375000,
.vp_timeout_us = OMAP4_VP_VLIMITTO_TIMEOUT_US,
.i2c_slave_addr = 0x44,
.volt_reg_addr = 0x0,
Expand Down
10 changes: 7 additions & 3 deletions arch/arm64/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#
# Copyright (C) 1995-2001 by Russell King

LDFLAGS_vmlinux :=--no-undefined -X -z norelro
LDFLAGS_vmlinux :=--no-undefined -X

ifeq ($(CONFIG_RELOCATABLE), y)
# Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour
Expand Down Expand Up @@ -115,16 +115,20 @@ KBUILD_CPPFLAGS += -mbig-endian
CHECKFLAGS += -D__AARCH64EB__
# Prefer the baremetal ELF build target, but not all toolchains include
# it so fall back to the standard linux version if needed.
KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb)
KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb -z norelro)
UTS_MACHINE := aarch64_be
else
KBUILD_CPPFLAGS += -mlittle-endian
CHECKFLAGS += -D__AARCH64EL__
# Same as above, prefer ELF but fall back to linux target if needed.
KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux)
KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux -z norelro)
UTS_MACHINE := aarch64
endif

ifeq ($(CONFIG_LD_IS_LLD), y)
KBUILD_LDFLAGS += -z norelro
endif

CHECKFLAGS += -D__aarch64__

ifeq ($(CONFIG_DYNAMIC_FTRACE_WITH_REGS),y)
Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/bitmain/bm1880.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
compatible = "snps,dw-apb-gpio-port";
gpio-controller;
#gpio-cells = <2>;
snps,nr-gpios = <32>;
ngpios = <32>;
reg = <0>;
interrupt-controller;
#interrupt-cells = <2>;
Expand All @@ -145,7 +145,7 @@
compatible = "snps,dw-apb-gpio-port";
gpio-controller;
#gpio-cells = <2>;
snps,nr-gpios = <32>;
ngpios = <32>;
reg = <0>;
interrupt-controller;
#interrupt-cells = <2>;
Expand All @@ -163,7 +163,7 @@
compatible = "snps,dw-apb-gpio-port";
gpio-controller;
#gpio-cells = <2>;
snps,nr-gpios = <8>;
ngpios = <8>;
reg = <0>;
interrupt-controller;
#interrupt-cells = <2>;
Expand Down
23 changes: 23 additions & 0 deletions arch/arm64/include/asm/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <linux/jump_label.h>
#include <linux/kvm_types.h>
#include <linux/percpu.h>
#include <linux/psci.h>
#include <asm/arch_gicv3.h>
#include <asm/barrier.h>
#include <asm/cpufeature.h>
Expand Down Expand Up @@ -240,6 +241,28 @@ struct kvm_host_data {
struct kvm_pmu_events pmu_events;
};

struct kvm_host_psci_config {
/* PSCI version used by host. */
u32 version;

/* Function IDs used by host if version is v0.1. */
struct psci_0_1_function_ids function_ids_0_1;

bool psci_0_1_cpu_suspend_implemented;
bool psci_0_1_cpu_on_implemented;
bool psci_0_1_cpu_off_implemented;
bool psci_0_1_migrate_implemented;
};

extern struct kvm_host_psci_config kvm_nvhe_sym(kvm_host_psci_config);
#define kvm_host_psci_config CHOOSE_NVHE_SYM(kvm_host_psci_config)

extern s64 kvm_nvhe_sym(hyp_physvirt_offset);
#define hyp_physvirt_offset CHOOSE_NVHE_SYM(hyp_physvirt_offset)

extern u64 kvm_nvhe_sym(hyp_cpu_logical_map)[NR_CPUS];
#define hyp_cpu_logical_map CHOOSE_NVHE_SYM(hyp_cpu_logical_map)

struct vcpu_reset_state {
unsigned long pc;
unsigned long r0;
Expand Down
3 changes: 2 additions & 1 deletion arch/arm64/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@
#endif /* CONFIG_ARM64_FORCE_52BIT */

extern phys_addr_t arm64_dma_phys_limit;
#define ARCH_LOW_ADDRESS_LIMIT (arm64_dma_phys_limit - 1)
extern phys_addr_t arm64_dma32_phys_limit;
#define ARCH_LOW_ADDRESS_LIMIT ((arm64_dma_phys_limit ? : arm64_dma32_phys_limit) - 1)

struct debug_info {
#ifdef CONFIG_HAVE_HW_BREAKPOINT
Expand Down
16 changes: 13 additions & 3 deletions arch/arm64/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,21 @@ static inline void __uaccess_enable_hw_pan(void)
* The Tag check override (TCO) bit disables temporarily the tag checking
* preventing the issue.
*/
static inline void uaccess_disable_privileged(void)
static inline void __uaccess_disable_tco(void)
{
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(0),
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
}

static inline void __uaccess_enable_tco(void)
{
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
}

static inline void uaccess_disable_privileged(void)
{
__uaccess_disable_tco();

if (uaccess_ttbr0_disable())
return;
Expand All @@ -189,8 +200,7 @@ static inline void uaccess_disable_privileged(void)

static inline void uaccess_enable_privileged(void)
{
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
__uaccess_enable_tco();

if (uaccess_ttbr0_enable())
return;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/cpufeature.c
Original file line number Diff line number Diff line change
Expand Up @@ -2568,7 +2568,7 @@ static void verify_hyp_capabilities(void)
int parange, ipa_max;
unsigned int safe_vmid_bits, vmid_bits;

if (!IS_ENABLED(CONFIG_KVM) || !IS_ENABLED(CONFIG_KVM_ARM_HOST))
if (!IS_ENABLED(CONFIG_KVM))
return;

safe_mmfr1 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR1_EL1);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,6 @@ alternative_else_nop_endif
mrs_s \tmp2, SYS_GCR_EL1
bfi \tmp2, \tmp, #0, #16
msr_s SYS_GCR_EL1, \tmp2
isb
#endif
.endm

Expand All @@ -194,6 +193,7 @@ alternative_else_nop_endif
ldr_l \tmp, gcr_kernel_excl

mte_set_gcr \tmp, \tmp2
isb
1:
#endif
.endm
Expand Down
3 changes: 1 addition & 2 deletions arch/arm64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ static void __init hyp_mode_check(void)
"CPU: CPUs started in inconsistent modes");
else
pr_info("CPU: All CPU(s) started at EL1\n");
if (IS_ENABLED(CONFIG_KVM))
if (IS_ENABLED(CONFIG_KVM) && !is_kernel_in_hyp_mode())
kvm_compute_layout();
}

Expand Down Expand Up @@ -807,7 +807,6 @@ int arch_show_interrupts(struct seq_file *p, int prec)
unsigned int cpu, i;

for (i = 0; i < NR_IPI; i++) {
unsigned int irq = irq_desc_get_irq(ipi_desc[i]);
seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i,
prec >= 4 ? " " : "");
for_each_online_cpu(cpu)
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
#include <asm/smp.h>
#include <asm/stack_pointer.h>
#include <asm/stacktrace.h>
#include <asm/exception.h>
#include <asm/system_misc.h>
#include <asm/sysreg.h>

Expand Down
3 changes: 1 addition & 2 deletions arch/arm64/kernel/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ btildflags-$(CONFIG_ARM64_BTI_KERNEL) += -z force-bti
# routines, as x86 does (see 6f121e548f83 ("x86, vdso: Reimplement vdso.so
# preparation in build-time C")).
ldflags-y := -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv \
-Bsymbolic $(call ld-option, --no-eh-frame-hdr) --build-id=sha1 -n \
$(btildflags-y) -T
-Bsymbolic --build-id=sha1 -n $(btildflags-y) -T

ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18
ccflags-y += -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO
Expand Down
5 changes: 1 addition & 4 deletions arch/arm64/kernel/vdso/vdso.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ SECTIONS
PROVIDE (_etext = .);
PROVIDE (etext = .);

.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
.eh_frame : { KEEP (*(.eh_frame)) } :text

.dynamic : { *(.dynamic) } :text :dynamic

.rodata : { *(.rodata*) } :text
Expand All @@ -54,6 +51,7 @@ SECTIONS
*(.note.GNU-stack)
*(.data .data.* .gnu.linkonce.d.* .sdata*)
*(.bss .sbss .dynbss .dynsbss)
*(.eh_frame .eh_frame_hdr)
}
}

Expand All @@ -66,7 +64,6 @@ PHDRS
text PT_LOAD FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
note PT_NOTE FLAGS(4); /* PF_R */
eh_frame_hdr PT_GNU_EH_FRAME;
}

/*
Expand Down
8 changes: 0 additions & 8 deletions arch/arm64/kvm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,6 @@ if KVM

source "virt/kvm/Kconfig"

config KVM_ARM_PMU
bool "Virtual Performance Monitoring Unit (PMU) support"
depends on HW_PERF_EVENTS
default y
help
Adds support for a virtual Performance Monitoring Unit (PMU) in
virtual machines.

endif # KVM

endif # VIRTUALIZATION
2 changes: 1 addition & 1 deletion arch/arm64/kvm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ kvm-y := $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o \
vgic/vgic-mmio-v3.o vgic/vgic-kvm-device.o \
vgic/vgic-its.o vgic/vgic-debug.o

kvm-$(CONFIG_KVM_ARM_PMU) += pmu-emul.o
kvm-$(CONFIG_HW_PERF_EVENTS) += pmu-emul.o
7 changes: 4 additions & 3 deletions arch/arm64/kvm/arch_timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1129,9 +1129,10 @@ int kvm_timer_enable(struct kvm_vcpu *vcpu)
if (!irqchip_in_kernel(vcpu->kvm))
goto no_vgic;

if (!vgic_initialized(vcpu->kvm))
return -ENODEV;

/*
* At this stage, we have the guarantee that the vgic is both
* available and initialized.
*/
if (!timer_irqs_are_valid(vcpu)) {
kvm_debug("incorrectly configured timer irqs\n");
return -EINVAL;
Expand Down
Loading