arch: arm64: Fix to access psci with hypervisor

Summary:
- I noticed that pcsi version can not be obtained with qemu + kvm.
- Also, pci_detect hangs with qemu + hvf.
- This commit fixes this issue by using hvc (hypervisor call).

Impact:
- None

Testing:
- Tested with qemu-7.1 + kvm (linux) and qemu-7.1 + hvf (macOS)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This commit is contained in:
Masayuki Ishikawa 2023-06-30 13:12:52 +09:00 committed by Xiang Xiao
parent 083c11ef1a
commit 745f443cbf
2 changed files with 7 additions and 2 deletions

View File

@ -31,6 +31,10 @@ config ARCH_CHIP_QEMU_A72
endchoice # Qemu Chip Selection
config ARCH_CHIP_QEMU_WITH_HV
bool "Qemu with hypvervisor (e.g. kvm, hvf)"
default n
endmenu # "Qemu Chip Selection"
endif # ARCH_CHIP_QEMU

View File

@ -154,9 +154,10 @@ void arm64_chip_boot(void)
arm64_mmu_init(true);
#if defined(CONFIG_SMP) || defined(CONFIG_ARCH_HAVE_PSCI)
#if defined(CONFIG_ARCH_CHIP_QEMU_WITH_HV)
arm64_psci_init("hvc");
#elif defined(CONFIG_SMP) || defined(CONFIG_ARCH_HAVE_PSCI)
arm64_psci_init("smc");
#endif
/* Perform board-specific device initialization. This would include