[OpenWrt-Devel] [PATCH 2/2] armvirt: 32: enable CONFIG_ARM_LPAE

Yousong Zhou yszhou4tech at gmail.com
Mon Feb 18 07:56:46 EST 2019


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 at 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 at 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 <yszhou4tech at gmail.com>
---
 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

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list