Commit Graph

71 Commits

Author SHA1 Message Date
Yousong Zhou
afe00a79ee 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 <yszhou4tech@gmail.com>
2019-02-19 13:13:49 +00:00
Yousong Zhou
0aedf5cfcb armvirt: 32: refresh kernel config
The diff was genereated by running the following command without
actually changing any kernel config options

	make kernel_menuconfig CONFIG_TARGET=subtarget

Here are some initial findings on the change

 - CONFIG_ARCH_OPTIONAL_KERNEL_RWX is now arch default
 - CONFIG_ARM_GIC_V3_ITS is selected by CONFIG_ARCH_VIRT
 - CONFIG_CPU_SPECTRE is select by CONFIG_CPU_V7
 - CONFIG_TIMER_OF is now a arch default
 - CONFIG_TIMER_PROBE is select by CONFIG_TIMER_OF

The following options should probably be moved to generic config

 - CONFIG_MIGRATION is a default on option
 - CONFIG_TREE_SRCU is a default on option for !PREEMPT && SMP system
 - CONFIG_RCU_NEED_SEGCBLIST

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-02-19 13:13:48 +00:00
Koen Vandeputte
ca88f4153f kernel: bump 4.14 to 4.14.77
Refreshed all patches.

Altered patches:
- 666-Add-support-for-MAP-E-FMRs-mesh-mode.patch

New symbol for arm targets:
- HARDEN_BRANCH_PREDICTOR

Compile-tested on: ar71xx, cns3xxx, imx6
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-10-19 10:01:57 +02:00
Felix Fietkau
212aa33226 kernel: enable memory compaction
Compaction is the only memory management component to form high order (larger
physically contiguous) memory blocks reliably. The page allocator relies on
compaction heavily and the lack of the feature can lead to unexpected OOM
killer invocations for high order memory requests. You shouldn't disable this
option unless there really is a strong reason for it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
2018-10-09 14:29:55 +02:00
Felix Fietkau
b7dd438f66 armvirt: remove linux 4.9 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-29 18:09:45 +02:00
Stijn Tintel
77e3e706ce kernel: add missing ARM64_SSBD symbol
In 4.14.57, a new symbol for Spectre v4 mitigation was introduced for
ARM64. Add this symbol to all ARM64 targets using kernel 4.14.

This mitigates CVE-2018-3639 on ARM64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-07-31 12:22:11 +03:00
Mathias Kresin
3877550114 arm64: enable harden branch predictor
Enable the harden branch predictor for arm64 as it is recommend.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-04-27 21:34:18 +02:00
Florian Fainelli
0cf7c54023 armvirt: Resync kernel configuration
The 4.14 kernel configuration defaulted to a v4/v5 multiplatform while
4.9 was using a v6/v7 default configuration. Resync 4.14 against 4.9 so
they are nearly identical.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-01-12 15:14:27 -08:00
Jo-Philipp Wich
57157618d4 armvirt: re-enable VFP support
Enable CONFIG_VFP again which was disabled during the 4.9 -> 4.14 bump.

Boot tested both 32 and 64 bit subtargets using initramfs images with the
qemu-system-arm and qemu-system-aarch64 emulators.

Fixes: aa100b66f2 ("armvirt: bump to v4.14")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-10 00:44:08 +01:00
Jo-Philipp Wich
7226c7850b armvirt: 64: add missing kernel config symbols
Fixes: aa100b66f2 ("armvirt: bump to v4.14")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-10 00:44:08 +01:00
John Crispin
aa100b66f2 armvirt: bump to v4.14
Signed-off-by: John Crispin <john@phrozen.org>
2018-01-09 14:40:54 +01:00
Stijn Tintel
8b35da1552 kernel: move CONFIG_KASAN to generic config
While bumping 4.14, the kernel build failed due to missing CONFIG_KASAN
symbol. Move it to generic config instead of defining it for all arm64
and x86/64 targets.

It was only added in 4.0, so not needed in config-3.18.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-02 21:55:46 +02:00
Zoltan HERPAI
7b5c989ab9 merge: targets: update image generation and targets
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
Florian Fainelli
ba792ee219 armvirt: Enable CONFIG_ARM_PMU
We will be prompted with this config symbol when performance monitoring is
enabled in the kernel.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-09-16 16:38:10 -07:00
Stijn Tintel
880f73c327 kernel: cleanup CONFIG_SCHED_HRTICK
Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the
generic config in b47fd76563.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-06-29 04:46:59 +02:00
Stijn Tintel
1e91855af2 armvirt: rename config-default to config-4.9
The kernel configs for all targets should have the version in the
filename, for clearness and consistency across all targets.
It is also expected by the update_kernel.sh script.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-06-29 03:36:19 +02:00
Yousong Zhou
6138d84243 armvirt: 64: enable usb support
It was originally only enabled for the "32" subtarget along with the
"usb" feature which is now also shared by the "64" target

This should fix the phase1 build of armvirt/64

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-05-03 23:20:12 +08:00
Yousong Zhou
88468f7e53 armvirt: merge arm64 as subtarget 64
Original armvirt target is now subtarget 32.  Other than that the built
result should remain the same as before

Besides old features already available with arm64, the new armvirt/64
subtarget will also have those features originally enabled for
armvirt/32 with commit 44ecfc2 ("armvirt: new target")
 - pl011, uart
 - pl031, rtc
 - pl061, gpio
 - pci-host-generic
 - virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
 - smp with NR_CPUS=4
 - cpu-hotplug
 - ext4
 - DEBUG_BUGVERBOSE for debug purposes

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-04-23 09:19:33 +08:00
Felix Fietkau
dcd8357365 armvirt: add kernel config change missing from 0d44f0cb
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-13 11:05:32 +01:00
Felix Fietkau
0d44f0cbbc armvirt: enable the USB feature flag
USB devices can be passed through from the host to the guest

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-13 09:15:09 +01:00
Yousong Zhou
44ecfc26eb armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.

Kernel drivers enabled:

 - pl011, uart
 - pl031, rtc
 - pl061, gpio
 - pci-host-generic
 - virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
 - smp with NR_CPUS=4
 - cpu-hotplug
 - ext4
 - neon, vfp extensions support (otherwise userland will fail with
   illegal instruction signal (code 0x00000004))
 - DEBUG_BUGVERBOSE for debug purposes

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-16 07:56:35 +01:00