[v4,02/14] qemu: arm: Initialise virtio devices in board_late_init

Message ID 20201230135712.5289-3-sughosh.ganu@linaro.org
State Accepted
Commit e1ee06dde7b133267d5780d48dc5a47e672fc36c
Headers show
Series
  • qemu: arm64: Add support for uefi capsule update on qemu arm platform
Related show

Commit Message

Sughosh Ganu Dec. 30, 2020, 1:57 p.m.
On the qemu arm platform, the virtio devices are initialised in the
board_init function, which gets called before the initr_pci. With
this sequence, the virtio block devices on the pci bus are not
initialised. Move the initialisation of the virtio devices to
board_late_init which gets called after the call to initr_pci.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>

---

Changes since V3: None

 arch/arm/mach-qemu/Kconfig          | 2 ++
 board/emulation/qemu-arm/qemu-arm.c | 5 +++++
 2 files changed, 7 insertions(+)

-- 
2.17.1

Patch

diff --git a/arch/arm/mach-qemu/Kconfig b/arch/arm/mach-qemu/Kconfig
index 588d2d3102..186c3582eb 100644
--- a/arch/arm/mach-qemu/Kconfig
+++ b/arch/arm/mach-qemu/Kconfig
@@ -16,12 +16,14 @@  choice
 config TARGET_QEMU_ARM_32BIT
 	bool "ARMv7-A, 32bit"
 	select ARCH_SUPPORT_PSCI
+	select BOARD_LATE_INIT
 	select CPU_V7A
 	select SYS_ARCH_TIMER
 
 config TARGET_QEMU_ARM_64BIT
 	bool "ARMv8, 64bit"
 	select ARM64
+	select BOARD_LATE_INIT
 
 endchoice
 
diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
index f18f2ed7da..aa68bef469 100644
--- a/board/emulation/qemu-arm/qemu-arm.c
+++ b/board/emulation/qemu-arm/qemu-arm.c
@@ -64,6 +64,11 @@  struct mm_region *mem_map = qemu_arm64_mem_map;
 #endif
 
 int board_init(void)
+{
+	return 0;
+}
+
+int board_late_init(void)
 {
 	/*
 	 * Make sure virtio bus is enumerated so that peripherals