diff options
Diffstat (limited to 'recipes-kernel/linux')
14 files changed, 120 insertions, 185 deletions
diff --git a/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch b/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch deleted file mode 100644 index 66efde1..0000000 --- a/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 754e3030788702c1f013a88a4fc8546742d84e27 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 18 Jun 2020 13:45:04 -0700 -Subject: [PATCH] Revert "selftests/bpf: Skip perf hw events test if the setup - disabled it" - -This reverts commit da43712a7262891317883d4b3a909fb18dac4b1d. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - .../selftests/bpf/prog_tests/stacktrace_build_id_nmi.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c -index 437cb93e72ac..f62aa0eb959b 100644 ---- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c -+++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c -@@ -49,12 +49,8 @@ void test_stacktrace_build_id_nmi(void) - pmu_fd = syscall(__NR_perf_event_open, &attr, -1 /* pid */, - 0 /* cpu 0 */, -1 /* group id */, - 0 /* flags */); -- if (pmu_fd < 0 && errno == ENOENT) { -- printf("%s:SKIP:no PERF_COUNT_HW_CPU_CYCLES\n", __func__); -- test__skip(); -- goto close_prog; -- } -- if (CHECK(pmu_fd < 0, "perf_event_open", "err %d errno %d\n", -+ if (CHECK(pmu_fd < 0, "perf_event_open", -+ "err %d errno %d. Does the test host support PERF_COUNT_HW_CPU_CYCLES?\n", - pmu_fd, errno)) - goto close_prog; - --- -2.27.0 - diff --git a/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch b/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch deleted file mode 100644 index d18b942..0000000 --- a/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 366487b86a8c87954fb4ab7bd88ab49a929a32f6 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2020 11:25:58 -0700 -Subject: [PATCH 2/2] Revert "selftests/bpf: Fix perf_buffer test on systems w/ - offline CPUs" - -This reverts commit 77bb53cb094828a31cd3c5b402899810f63073c1. ---- - .../selftests/bpf/prog_tests/perf_buffer.c | 29 ++++--------------- - 1 file changed, 5 insertions(+), 24 deletions(-) - -diff --git a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c -index cf6c87936c69..3003fddc0613 100644 ---- a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c -+++ b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c -@@ -4,7 +4,6 @@ - #include <sched.h> - #include <sys/socket.h> - #include <test_progs.h> --#include "libbpf_internal.h" - - static void on_sample(void *ctx, int cpu, void *data, __u32 size) - { -@@ -20,7 +19,7 @@ static void on_sample(void *ctx, int cpu, void *data, __u32 size) - - void test_perf_buffer(void) - { -- int err, prog_fd, on_len, nr_on_cpus = 0, nr_cpus, i, duration = 0; -+ int err, prog_fd, nr_cpus, i, duration = 0; - const char *prog_name = "kprobe/sys_nanosleep"; - const char *file = "./test_perf_buffer.o"; - struct perf_buffer_opts pb_opts = {}; -@@ -30,27 +29,15 @@ void test_perf_buffer(void) - struct bpf_object *obj; - struct perf_buffer *pb; - struct bpf_link *link; -- bool *online; - - nr_cpus = libbpf_num_possible_cpus(); - if (CHECK(nr_cpus < 0, "nr_cpus", "err %d\n", nr_cpus)) - return; - -- err = parse_cpu_mask_file("/sys/devices/system/cpu/online", -- &online, &on_len); -- if (CHECK(err, "nr_on_cpus", "err %d\n", err)) -- return; -- -- for (i = 0; i < on_len; i++) -- if (online[i]) -- nr_on_cpus++; -- - /* load program */ - err = bpf_prog_load(file, BPF_PROG_TYPE_KPROBE, &obj, &prog_fd); -- if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) { -- obj = NULL; -- goto out_close; -- } -+ if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) -+ return; - - prog = bpf_object__find_program_by_title(obj, prog_name); - if (CHECK(!prog, "find_probe", "prog '%s' not found\n", prog_name)) -@@ -77,11 +64,6 @@ void test_perf_buffer(void) - /* trigger kprobe on every CPU */ - CPU_ZERO(&cpu_seen); - for (i = 0; i < nr_cpus; i++) { -- if (i >= on_len || !online[i]) { -- printf("skipping offline CPU #%d\n", i); -- continue; -- } -- - CPU_ZERO(&cpu_set); - CPU_SET(i, &cpu_set); - -@@ -99,8 +81,8 @@ void test_perf_buffer(void) - if (CHECK(err < 0, "perf_buffer__poll", "err %d\n", err)) - goto out_free_pb; - -- if (CHECK(CPU_COUNT(&cpu_seen) != nr_on_cpus, "seen_cpu_cnt", -- "expect %d, seen %d\n", nr_on_cpus, CPU_COUNT(&cpu_seen))) -+ if (CHECK(CPU_COUNT(&cpu_seen) != nr_cpus, "seen_cpu_cnt", -+ "expect %d, seen %d\n", nr_cpus, CPU_COUNT(&cpu_seen))) - goto out_free_pb; - - out_free_pb: -@@ -109,5 +91,4 @@ void test_perf_buffer(void) - bpf_link__destroy(link); - out_close: - bpf_object__close(obj); -- free(online); - } --- -2.26.0 - diff --git a/recipes-kernel/linux/files/default-cpu-governor.cfg b/recipes-kernel/linux/files/default-cpu-governor.cfg new file mode 100644 index 0000000..e2e201d --- /dev/null +++ b/recipes-kernel/linux/files/default-cpu-governor.cfg @@ -0,0 +1,9 @@ +# The defconfigs from the RPi Kernel set "powersave" as the default CPU governor. +# That is a bad idea as it reduces performance, so we unset that default option here. +# The option to build the powersave governor (but not as the default) is also enabled. +# A fix for this was sent to upstream: https://github.com/raspberrypi/linux/pull/5666 +# However, we need to carry this option override until those defconfigs are fixed on +# *all* the kernel branches that we support. So that can be a long time depending +# on wheter the above PR gets accepted and/or backported to the stable branches. +CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=n +CONFIG_CPU_FREQ_GOV_POWERSAVE=y diff --git a/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg b/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg deleted file mode 100644 index fd97ed7..0000000 --- a/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg +++ /dev/null @@ -1,2 +0,0 @@ -# see emmc node -CONFIG_MMC_SDHCI_IPROC=y diff --git a/recipes-kernel/linux/files/raspberrypi4/rpi4-nvmem.cfg b/recipes-kernel/linux/files/raspberrypi4/rpi4-nvmem.cfg new file mode 100644 index 0000000..0248162 --- /dev/null +++ b/recipes-kernel/linux/files/raspberrypi4/rpi4-nvmem.cfg @@ -0,0 +1 @@ +CONFIG_NVMEM_RMEM=y diff --git a/recipes-kernel/linux/linux-raspberrypi-dev.bb b/recipes-kernel/linux/linux-raspberrypi-dev.bb index 0dfa451..e0a4461 100644 --- a/recipes-kernel/linux/linux-raspberrypi-dev.bb +++ b/recipes-kernel/linux/linux-raspberrypi-dev.bb @@ -20,7 +20,7 @@ SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "li KMETA = "kernel-meta" SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ file://powersave.cfg \ file://android-drivers.cfg \ diff --git a/recipes-kernel/linux/linux-raspberrypi-v7.inc b/recipes-kernel/linux/linux-raspberrypi-v7.inc new file mode 100644 index 0000000..77debc4 --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi-v7.inc @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +KBUILD_DEFCONFIG:raspberrypi-armv7 = "bcm2709_defconfig" +KERNEL_PACKAGE_NAME = "${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" +PROVIDES:remove = "virtual/kernel" + +KERNEL_IMAGETYPE_DIRECT ?= "zImage" + +COMPATIBLE_MACHINE = "^raspberrypi-armv7$" + +KERNEL_DEVICETREE = "" diff --git a/recipes-kernel/linux/linux-raspberrypi-v7_6.1.bb b/recipes-kernel/linux/linux-raspberrypi-v7_6.1.bb new file mode 100644 index 0000000..ef77b0b --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi-v7_6.1.bb @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +require linux-raspberrypi-v7.inc +require linux-raspberrypi_6.1.bb diff --git a/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb b/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb new file mode 100644 index 0000000..a5695f6 --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# SPDX-License-Identifier: MIT + +require linux-raspberrypi-v7.inc +require linux-raspberrypi_6.6.bb diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc index 683253c..e62ff3f 100644 --- a/recipes-kernel/linux/linux-raspberrypi.inc +++ b/recipes-kernel/linux/linux-raspberrypi.inc @@ -1,9 +1,9 @@ DESCRIPTION = "Linux Kernel for Raspberry Pi" SECTION = "kernel" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -COMPATIBLE_MACHINE = "^rpi$" +COMPATIBLE_MACHINE ?= "^rpi$" PE = "1" PV = "${LINUX_VERSION}+git${SRCPV}" @@ -15,17 +15,25 @@ SRC_URI += " \ ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "file://wm8960.cfg", "", d)} \ + file://default-cpu-governor.cfg \ " +SRC_URI:append:raspberrypi4 = " \ + file://rpi4-nvmem.cfg \ +" + KCONFIG_MODE = "--alldefconfig" -KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig" -KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig" -KBUILD_DEFCONFIG_raspberrypi-cm3 ?= "bcm2709_defconfig" -KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" -KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig" -KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig" -KBUILD_DEFCONFIG_raspberrypi4 ?= "bcm2711_defconfig" -KBUILD_DEFCONFIG_raspberrypi4-64 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi0-wifi ?= "bcmrpi_defconfig" +KBUILD_DEFCONFIG:raspberrypi ?= "bcmrpi_defconfig" +KBUILD_DEFCONFIG:raspberrypi-cm3 ?= "bcm2709_defconfig" +KBUILD_DEFCONFIG:raspberrypi2 ?= "bcm2709_defconfig" +KBUILD_DEFCONFIG:raspberrypi3 ?= "bcm2709_defconfig" +KBUILD_DEFCONFIG:raspberrypi3-64 ?= "bcmrpi3_defconfig" +KBUILD_DEFCONFIG:raspberrypi4 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi4-64 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi-armv7 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi-armv8 ?= "bcm2711_defconfig" +KBUILD_DEFCONFIG:raspberrypi5 ?= "bcm2712_defconfig" LINUX_VERSION_EXTENSION ?= "" @@ -34,4 +42,7 @@ KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", # A LOADADDR is needed when building a uImage format kernel. This value is not # set by default in rpi-4.8.y and later branches so we need to provide it # manually. This value unused if KERNEL_IMAGETYPE is not uImage. -KERNEL_EXTRA_ARGS += "LOADADDR=0x00008000" +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" + +UBOOT_ENTRYPOINT = "0x00008000" +UBOOT_LOADADDRESS = "0x00008000" diff --git a/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/recipes-kernel/linux/linux-raspberrypi_5.10.bb deleted file mode 100644 index fc33559..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_5.10.bb +++ /dev/null @@ -1,19 +0,0 @@ -LINUX_VERSION ?= "5.10.31" -LINUX_RPI_BRANCH ?= "rpi-5.10.y" -LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10" - -SRCREV_machine = "89399e6e7e33d6260a954603ca03857df594ffd3" -SRCREV_meta = "a19886b00ea7d874fdd60d8e3435894bb16e6434" - -KMETA = "kernel-meta" - -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ - file://powersave.cfg \ - file://android-drivers.cfg \ - " - -require linux-raspberrypi.inc - -KERNEL_DTC_FLAGS += "-@ -H epapr" diff --git a/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/recipes-kernel/linux/linux-raspberrypi_5.4.bb deleted file mode 100644 index 3432283..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_5.4.bb +++ /dev/null @@ -1,23 +0,0 @@ -LINUX_VERSION ?= "5.4.83" -LINUX_RPI_BRANCH ?= "rpi-5.4.y" -LINUX_RPI_KMETA_BRANCH ?= "yocto-5.4" - -SRCREV_machine = "08ae2dd9e7dc89c20bff823a3ef045de09bfd090" -SRCREV_meta = "d676bf5ff7b7071e14f44498d2482c0a596f14cd" - -KMETA = "kernel-meta" - -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ - file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \ - file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \ - file://powersave.cfg \ - file://android-drivers.cfg \ - " - -require linux-raspberrypi.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -KERNEL_DTC_FLAGS += "-@ -H epapr" diff --git a/recipes-kernel/linux/linux-raspberrypi_6.1.bb b/recipes-kernel/linux/linux-raspberrypi_6.1.bb new file mode 100644 index 0000000..5731a81 --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi_6.1.bb @@ -0,0 +1,31 @@ +LINUX_VERSION ?= "6.1.77" +LINUX_RPI_BRANCH ?= "rpi-6.1.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-6.1" + +SRCREV_machine = "77fc1fbcb5c013329af9583307dd1ff3cd4752aa" +SRCREV_meta = "43d1723dbe0ce7b341cf32feeb35ecbe6b0ce29a" + +KMETA = "kernel-meta" + +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://powersave.cfg \ + file://android-drivers.cfg \ + " + +require linux-raspberrypi.inc + +KERNEL_DTC_FLAGS += "-@ -H epapr" + +RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base" +RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev" +RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux" +RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg" + +DEPLOYDEP = "" +DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy" +do_deploy[depends] += "${DEPLOYDEP}" diff --git a/recipes-kernel/linux/linux-raspberrypi_6.6.bb b/recipes-kernel/linux/linux-raspberrypi_6.6.bb new file mode 100644 index 0000000..b4d9953 --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi_6.6.bb @@ -0,0 +1,31 @@ +LINUX_VERSION ?= "6.6.22" +LINUX_RPI_BRANCH ?= "rpi-6.6.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6" + +SRCREV_machine = "c04af98514c26014a4f29ec87b3ece95626059bd" +SRCREV_meta = "6a24861d6504575a4a9f92366285332d47c7e111" + +KMETA = "kernel-meta" + +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://powersave.cfg \ + file://android-drivers.cfg \ + " + +require linux-raspberrypi.inc + +KERNEL_DTC_FLAGS += "-@ -H epapr" + +RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base" +RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev" +RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux" +RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg" + +DEPLOYDEP = "" +DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy" +do_deploy[depends] += "${DEPLOYDEP}" |