Add recipes for the Linux kernel. The recipe has a common include so that future versions can re-use the code (the recipe is not versioned itself).
Signed-off-by: Pawel Zalewski pzalewski@thegoodpenguin.co.uk Reviewed-by:Andrew Murray amurray@thegoodpenguin.co.uk Reviewed-by:Kevin Brodsky kevin.brodsky@arm.com --- recipes-kernel/linux/linux-morello-1.5.bb | 9 ++ .../morello_transitional_pcuabi_defconfig | 127 ++++++++++++++++++ recipes-kernel/linux/linux-morello.inc | 42 ++++++ 3 files changed, 178 insertions(+) create mode 100644 recipes-kernel/linux/linux-morello-1.5.bb create mode 100644 recipes-kernel/linux/linux-morello-1.5/morello_transitional_pcuabi_defconfig create mode 100644 recipes-kernel/linux/linux-morello.inc
diff --git a/recipes-kernel/linux/linux-morello-1.5.bb b/recipes-kernel/linux/linux-morello-1.5.bb new file mode 100644 index 0000000..ea3e0ca --- /dev/null +++ b/recipes-kernel/linux/linux-morello-1.5.bb @@ -0,0 +1,9 @@ +require linux-morello.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +SRCBRANCH = "morello/master" +SRCTAG = "morello-release-1.5.0" + +LINUX_VERSION = "5.18" +LINUX_VERSION_EXTENSION= "-yocto-purecap" \ No newline at end of file diff --git a/recipes-kernel/linux/linux-morello-1.5/morello_transitional_pcuabi_defconfig b/recipes-kernel/linux/linux-morello-1.5/morello_transitional_pcuabi_defconfig new file mode 100644 index 0000000..20f1454 --- /dev/null +++ b/recipes-kernel/linux/linux-morello-1.5/morello_transitional_pcuabi_defconfig @@ -0,0 +1,127 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_AUDIT=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_UCLAMP_TASK=y +CONFIG_NUMA_BALANCING=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_USER_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_COMPAT_BRK is not set +CONFIG_PROFILING=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARM64_VA_BITS_48=y +CONFIG_SCHED_MC=y +CONFIG_NUMA=y +CONFIG_KEXEC=y +CONFIG_CRASH_DUMP=y +CONFIG_COMPAT=y +CONFIG_RANDOMIZE_BASE=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_ENERGY_MODEL=y +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_ACPI=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=y +CONFIG_JUMP_LABEL=y +CONFIG_CHERI_PURECAP_UABI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_KSM=y +CONFIG_MEMORY_FAILURE=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_PCI=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_EFI_CAPSULE_LOADER=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_R8169=y +CONFIG_SMC91X=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_ARMMMCI=y +CONFIG_VIRTIO_MMIO=y +CONFIG_ARM_SMMU_V3=y +CONFIG_MEMORY=y +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y +CONFIG_AUTOFS4_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_HUGETLBFS=y +CONFIG_CONFIGFS_FS=y +# CONFIG_EFIVAR_FS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_SELINUX=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_FTRACE is not set +CONFIG_MEMTEST=y diff --git a/recipes-kernel/linux/linux-morello.inc b/recipes-kernel/linux/linux-morello.inc new file mode 100644 index 0000000..aace774 --- /dev/null +++ b/recipes-kernel/linux/linux-morello.inc @@ -0,0 +1,42 @@ +inherit llvm-morello-native +require recipes-kernel/linux/linux-yocto.inc +COMPATIBLE_MACHINE = "morello-linux" +SUMMARY = "Morello Linux kernel fork" +DESCRIPTION = "Arm's fork of CHERI LLVM toolchain that understands capabilities" +OUTPUTS_NAME = "morello-linux" +SECTION = "kernel" + +FILESEXTRAPATHS:prepend := "${THISDIR}:${THISDIR}/${PN}:" + +DEPENDS += "rsync-native" +PROVIDES += "virtual/${OUTPUTS_NAME}" + +SRC_URI = " \ + git://git.morello-project.org/morello/kernel/linux;protocol=https;tag=${SRCTAG};branch=${SRCBRANCH} \ + file://morello_transitional_pcuabi_defconfig \ + " + +PV = "${LINUX_VERSION}+git${SRCPV}" +S = "${WORKDIR}/git" + +BUILD_CC = "${LLVM_PATH}/clang" +BUILD_CPP = "${LLVM_PATH}/clang" +BUILD_CXX = "${LLVM_PATH}/clang++" +BUILD_LD = "${LLVM_PATH}/ld.lld" + +KERNEL_CC = "${LLVM_PATH}/clang" +KERNEL_LD = "${LLVM_PATH}/ld.lld" + +ARCH = "arm64" + +LINUX_KERNEL_TYPE ?= "standard" + +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_IMAGETYPE = "Image" + +do_kernel_configcheck[noexec] = "1" +do_kernel_configme[depends] += "llvm-morello-native:do_populate_sysroot" + +do_install:append() { + oe_runmake headers_install ARCH=arm64 INSTALL_HDR_PATH=${STAGING_KERNEL_BUILDDIR}/kernel-headers +} \ No newline at end of file