summaryrefslogtreecommitdiff
path: root/meta-rt
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2010-12-20 15:02:40 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-20 21:36:58 +0000
commit0d7d5666509c013228242b87c1dfd15395af6701 (patch)
tree64e733a571982bc274e7a96a562de306b2731656 /meta-rt
parent4de544015b41cde2938d8bb00fec48f470e6d7fb (diff)
downloadopenembedded-core-0d7d5666509c013228242b87c1dfd15395af6701.tar.gz
openembedded-core-0d7d5666509c013228242b87c1dfd15395af6701.tar.bz2
openembedded-core-0d7d5666509c013228242b87c1dfd15395af6701.zip
meta-rt: Initial PREEMPT_RT layer and kernel recipes
The meta-rt layer provides a preempt_rt kernel recipe using the linux-yocto-stable git tree. It overrides the virtual/kernel provider and defines the compatible machines and per-machine SRCREVs. The initial layer supports only qemux86-64. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-rt')
-rw-r--r--meta-rt/conf/layer.conf22
-rw-r--r--meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb39
2 files changed, 61 insertions, 0 deletions
diff --git a/meta-rt/conf/layer.conf b/meta-rt/conf/layer.conf
new file mode 100644
index 0000000000..dbf4a326ba
--- /dev/null
+++ b/meta-rt/conf/layer.conf
@@ -0,0 +1,22 @@
+# Default to first disk/first partition
+RSP_ROOT ?= "sda1"
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH := "${BBPATH}:${LAYERDIR}"
+
+# We have an images and various recipe-* directories, add to BBFILES
+BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb ${LAYERDIR}/images/*.bbappend ${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*.bbappend"
+
+BBFILE_COLLECTIONS += "rt"
+BBFILE_PATTERN_rt := "^${LAYERDIR}/"
+BBFILE_PRIORITY_rt = "8"
+
+# This layer builds images using a PREEMPT_RT kernel. Override any machine
+# specified kernel providers and leave it up to the kernel recipe to
+# determine COMPATIBLE_MACHINE.
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
+
+# preempt_rt SRCREVs, one for meta, one per machine
+SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
+SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
+
diff --git a/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
new file mode 100644
index 0000000000..361b6806cd
--- /dev/null
+++ b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
@@ -0,0 +1,39 @@
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+KMACHINE_qemux86-64 = "common_pc_64"
+
+LINUX_VERSION ?= "2.6.34"
+LINUX_KERNEL_TYPE = "preempt_rt"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
+
+PR = "r0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRCREV_FORMAT = "meta_machine"
+
+COMPATIBLE_MACHINE = "(qemux86-64)"
+
+# this performs a fixup on the SRCREV for new/undefined BSPs
+python __anonymous () {
+ import bb, re, string
+
+ rev = bb.data.getVar("SRCREV_machine", d, 1)
+ if rev == "standard":
+ bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
+
+ kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
+ bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
+}
+
+SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
+ git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
+
+# Functionality flags
+KERNEL_REVISION_CHECKING ?= "t"
+KERNEL_FEATURES=features/netfilter
+
+# extra tasks
+addtask kernel_link_vmlinux after do_compile before do_install
+addtask validate_branches before do_patch after do_kernel_checkout
+
+require recipes-kernel/linux/linux-tools.inc