mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
Merge branch kvm-arm64/misc-5.20 into kvmarm-master/next
* kvm-arm64/misc-5.20: : . : Misc fixes for 5.20: : : - Tidy up the hyp/nvhe Makefile : : - Fix functions pointlessly returning a void value : : - Fix vgic_init selftest to handle the GICv3-on-v3 case : : - Fix hypervisor symbolisation when CONFIG_RANDOMIZE_BASE=y : . KVM: arm64: Fix hypervisor address symbolization KVM: arm64: selftests: Add support for GICv2 on v3 KVM: arm64: Don't return from void function KVM: arm64: nvhe: Add intermediates to 'targets' instead of extra-y KVM: arm64: nvhe: Rename confusing obj-y Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
commit
aeb7942b64
|
|
@ -347,10 +347,10 @@ void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr,
|
|||
kvm_err("nVHE hyp BUG at: %s:%u!\n", file, line);
|
||||
else
|
||||
kvm_err("nVHE hyp BUG at: [<%016llx>] %pB!\n", panic_addr,
|
||||
(void *)panic_addr);
|
||||
(void *)(panic_addr + kaslr_offset()));
|
||||
} else {
|
||||
kvm_err("nVHE hyp panic at: [<%016llx>] %pB!\n", panic_addr,
|
||||
(void *)panic_addr);
|
||||
(void *)(panic_addr + kaslr_offset()));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@ HOST_EXTRACFLAGS += -I$(objtree)/include
|
|||
lib-objs := clear_page.o copy_page.o memcpy.o memset.o
|
||||
lib-objs := $(addprefix ../../../lib/, $(lib-objs))
|
||||
|
||||
obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o \
|
||||
hyp-obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o \
|
||||
hyp-main.o hyp-smp.o psci-relay.o early_alloc.o page_alloc.o \
|
||||
cache.o setup.o mm.o mem_protect.o sys_regs.o pkvm.o
|
||||
obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \
|
||||
hyp-obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \
|
||||
../fpsimd.o ../hyp-entry.o ../exception.o ../pgtable.o
|
||||
obj-$(CONFIG_DEBUG_LIST) += list_debug.o
|
||||
obj-y += $(lib-objs)
|
||||
hyp-obj-$(CONFIG_DEBUG_LIST) += list_debug.o
|
||||
hyp-obj-y += $(lib-objs)
|
||||
|
||||
##
|
||||
## Build rules for compiling nVHE hyp code
|
||||
|
|
@ -26,9 +26,9 @@ obj-y += $(lib-objs)
|
|||
## file containing all nVHE hyp code and data.
|
||||
##
|
||||
|
||||
hyp-obj := $(patsubst %.o,%.nvhe.o,$(obj-y))
|
||||
hyp-obj := $(patsubst %.o,%.nvhe.o,$(hyp-obj-y))
|
||||
obj-y := kvm_nvhe.o
|
||||
extra-y := $(hyp-obj) kvm_nvhe.tmp.o kvm_nvhe.rel.o hyp.lds hyp-reloc.S hyp-reloc.o
|
||||
targets += $(hyp-obj) kvm_nvhe.tmp.o kvm_nvhe.rel.o hyp.lds hyp-reloc.S hyp-reloc.o
|
||||
|
||||
# 1) Compile all source files to `.nvhe.o` object files. The file extension
|
||||
# avoids file name clashes for files shared with VHE.
|
||||
|
|
|
|||
|
|
@ -386,5 +386,5 @@ asmlinkage void __noreturn hyp_panic_bad_stack(void)
|
|||
|
||||
asmlinkage void kvm_unexpected_el2_exception(void)
|
||||
{
|
||||
return __kvm_unexpected_el2_exception();
|
||||
__kvm_unexpected_el2_exception();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -249,5 +249,5 @@ void __noreturn hyp_panic(void)
|
|||
|
||||
asmlinkage void kvm_unexpected_el2_exception(void)
|
||||
{
|
||||
return __kvm_unexpected_el2_exception();
|
||||
__kvm_unexpected_el2_exception();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -670,7 +670,7 @@ int test_kvm_device(uint32_t gic_dev_type)
|
|||
|
||||
if (!_kvm_create_device(v.vm, other, true, &fd)) {
|
||||
ret = _kvm_create_device(v.vm, other, false, &fd);
|
||||
TEST_ASSERT(ret && errno == EINVAL,
|
||||
TEST_ASSERT(ret && (errno == EINVAL || errno == EEXIST),
|
||||
"create GIC device while other version exists");
|
||||
}
|
||||
|
||||
|
|
@ -698,6 +698,7 @@ int main(int ac, char **av)
|
|||
{
|
||||
int ret;
|
||||
int pa_bits;
|
||||
int cnt_impl = 0;
|
||||
|
||||
pa_bits = vm_guest_mode_params[VM_MODE_DEFAULT].pa_bits;
|
||||
max_phys_size = 1ULL << pa_bits;
|
||||
|
|
@ -706,17 +707,19 @@ int main(int ac, char **av)
|
|||
if (!ret) {
|
||||
pr_info("Running GIC_v3 tests.\n");
|
||||
run_tests(KVM_DEV_TYPE_ARM_VGIC_V3);
|
||||
return 0;
|
||||
cnt_impl++;
|
||||
}
|
||||
|
||||
ret = test_kvm_device(KVM_DEV_TYPE_ARM_VGIC_V2);
|
||||
if (!ret) {
|
||||
pr_info("Running GIC_v2 tests.\n");
|
||||
run_tests(KVM_DEV_TYPE_ARM_VGIC_V2);
|
||||
return 0;
|
||||
cnt_impl++;
|
||||
}
|
||||
|
||||
print_skip("No GICv2 nor GICv3 support");
|
||||
exit(KSFT_SKIP);
|
||||
if (!cnt_impl) {
|
||||
print_skip("No GICv2 nor GICv3 support");
|
||||
exit(KSFT_SKIP);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user