From afe00a79eea7395e8f6d0a59ac803ca705a33d65 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Sat, 16 Feb 2019 10:36:55 +0000 Subject: [PATCH] armvirt: 32: enable CONFIG_ARM_LPAE This is required for running armvirt_32 on QEMU 3.0 [1], otherwise the kernel will emit the following complaint and virtio-net-pci devices will fail to be initialized [ 1.124214] OF: PCI: host bridge /pcie@10000000 ranges: [ 1.125093] OF: PCI: IO 0x3eff0000..0x3effffff -> 0x00000000 [ 1.125942] OF: PCI: MEM 0x10000000..0x3efeffff -> 0x10000000 [ 1.126403] OF: PCI: MEM 0x8000000000..0xffffffffff -> 0x8000000000 [ 1.127748] pci-host-generic 4010000000.pcie: can't claim ECAM area [mem 0x10000000-0x1fffffff]: address conflict with /pcie@10000000 [mem 0x10000000-0x3efeffff] [ 1.129752] pci-host-generic: probe of 4010000000.pcie failed with error -16 Running QEMU with "-M virt,highmem=off" is an option, but "highmem" was only introduced as a default on flag since QEMU 2.5.0 and QEMU will fail and quit on encounter of unknown flags [1] Armv7 guest fails to boot with qemu-3.0.0-1, https://bugzilla.redhat.com/show_bug.cgi?id=1633328#c5 Signed-off-by: Yousong Zhou --- target/linux/armvirt/32/config-default | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/target/linux/armvirt/32/config-default b/target/linux/armvirt/32/config-default index cdac5ffe56..a31488749c 100644 --- a/target/linux/armvirt/32/config-default +++ b/target/linux/armvirt/32/config-default @@ -1,4 +1,5 @@ CONFIG_ALIGNMENT_TRAP=y +# CONFIG_ARCH_AXXIA is not set CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y @@ -12,6 +13,7 @@ CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_NR_GPIO=0 CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set CONFIG_ARCH_SUPPORTS_UPROBES=y @@ -26,7 +28,7 @@ CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_ARM_HEAVY_MB=y CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y -# CONFIG_ARM_LPAE is not set +CONFIG_ARM_LPAE=y CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_PSCI=y @@ -63,15 +65,19 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y # CONFIG_GRO_CELLS is not set CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_GENERIC_GUP=y CONFIG_HAVE_IDE=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_RCU_TABLE_FREE=y CONFIG_HAVE_SMP=y +# CONFIG_HUGETLBFS is not set CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y # CONFIG_MDIO_BUS is not set @@ -86,7 +92,8 @@ CONFIG_OUTER_CACHE=y CONFIG_OUTER_CACHE_SYNC=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_PERF_USE_VMALLOC=y -CONFIG_PGTABLE_LEVELS=2 +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHYS_ADDR_T_64BIT=y # CONFIG_PL310_ERRATA_588369 is not set # CONFIG_PL310_ERRATA_727915 is not set # CONFIG_PL310_ERRATA_753970 is not set @@ -98,6 +105,7 @@ CONFIG_SG_POOL=y CONFIG_SMP_ON_UP=y CONFIG_SWP_EMULATE=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y # CONFIG_THUMB2_KERNEL is not set CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y