diff options
302 files changed, 5950 insertions, 5902 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..ae174429 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.pyc +*.pyo +*.swp +*.orig +*.rej +*~ diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 00000000..a99cbb1f --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,87 @@ +This file will only list major changes that occur within a release. +For a full list of changes, view the git log of the repository. + +Rocko Release 11/2017 +===================== + +Moved qat support to separate layer +----------------------------------- +Quick Assist Technology (QAT) is more middleware and should not be part of the +core BSP. The new layer can be found here: +https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-qat/ + +Moved dpdk support to separate layer +------------------------------------ +We had some requests to make DPDK standalone so that it could be included +without bringing in anything else from meta-intel, as it is not specific to +Intel(R) hardware. The new layer is located here: +https://git.yoctoproject.org/cgit/cgit.cgi/meta-dpdk/ + +Added support for out-of-tree iwlwifi drivers +--------------------------------------------- +Backport-iwlwifi out-of-tree wifi modules are now available via meta-intel. +Backport-iwlwifi brings the latest iwlwifi drivers to almost any kernel +Note that mac80211 and cfg80211 backports are also necessary, which will most +likely cause incompatibility with other in-tree wifi drivers. +See https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi for more info. + +Added support for out-of-tree ixgbe drivers +------------------------------------------- +The out-of-tree ixgbe drivers bring ixgbe support to nearly any kernel. See +here: http://www.intel.com/network/connectivity/products/server_adapters.htm + +Added an implementation of Secure Boot +-------------------------------------- +meta-intel now supports a simple Secure Boot implementation. This implementation +consists of a single binary consisting of an EFI stub, the kernel, an +initrd, and a kernel command line. The binary is then signed via keys defined by +the variables SECUREBOOT_SIGNING_KEY and SECUREBOOT_SIGNING_CERT. These keys +should match the keys embedded in your hardware's firmware. +See documentation/secureboot/README for more information on this feature. + +Improved Yocto Project Compatibility status +------------------------------------------- +The common layer should now be considered Yocto Project compatible - it should +no longer modify OE-core values when adding the layer to your bblayers.conf. +The meta-tlk layer is still not Yocto Project compatible, however. + +Pyro Release 5/2017 +=================== + +Changed default kernel provider from linux-yocto to linux-intel. +---------------------------------------------------------------- +Linux-intel is an Intel(R)-maintained kernel based on the latest stable +branch, along with backports from upstream to better support Intel(R) +hardware. The intel-linux kernel also has a branch with the preempt-rt +patches applied, providing a preempt-rt kernel with no additional work. + +Added QEMU support. +------------------- +We now build several virtio drivers into the kernel by default, and +have qemuboot.conf files for intel-corei7-64 and intel-core2-32 +targets. This allows one to do basic testing on meta-intel images +without having to use hardware. The virtio drivers are added via +KERNEL_FEATURES_INTEL_COMMON. This prevents them from being added to +custom kernels by default. They can be removed by adding the +following to a conf or kernel bbappend file: + KERNEL_FEATURES_INTEL_COMMON_remove = ācfg/virtio.sccā +OVMF firmware is also built and can be used in order to emulate a UEFI +environment. A full runqemu command line for intel-corei7-64 could look +like this: + runqemu core-image-minimal intel-corei7-64 wic ovmf + +Musl support +------------ +Meta-intel is now compatible with the musl C library. You can specify musl +As your C library by adding the following to your local.conf: + TCLIBC = āmuslā +Note: there is a known failure with DPDK. + +X32 support +----------- +The meta-intel layer can now build with the x32 tune settings in a multi-lib +setting, it will not work in as the primary MACHINE tune as the bootloader needs +to be built as a 64bit binary. The setup for this would be as follows: + require conf/multilib.conf + MULTILIBS = "multilib:libx32 + DEFAULTTUNE_virtclass-multilib-libx32 = "corei7-64-x32" diff --git a/meta-crownbay/COPYING.MIT b/COPYING.MIT index fb950dc6..fb950dc6 100644 --- a/meta-crownbay/COPYING.MIT +++ b/COPYING.MIT diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..e57d3b90 --- /dev/null +++ b/LICENSE @@ -0,0 +1,5 @@ +All metadata files (including, but not limited to bb, bbappend, +bbclass, inc and conf files) are MIT licensed unless otherwise stated. +Source code included in tree for individual recipes is under the +LICENSE stated in the associated recipe (.bb file) unless otherwise +stated. diff --git a/MAINTAINERS b/MAINTAINERS index b7cd2a3d..73a9fe3a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18,8 +18,8 @@ Descriptions of section entries: M: Mail patches to: FullName <address@domain> F: Files and directories with wildcard patterns. A trailing slash includes all files and subdirectory files. - F: meta-crownbay/ all files in and below meta-crownbay - F: meta-crownbay/* all files in meta-crownbay, but not below + F: common/ all files in and below common + F: common/* all files in common, but not below One pattern per line. Multiple F: lines acceptable. Please keep this list in alphabetical order. @@ -27,38 +27,6 @@ Please keep this list in alphabetical order. Maintainers List (try to look for most precise areas first) ----------------------------------- -COMMON -M: Nitin A Kamble<nitin.a.kamble@intel.com> -F: common/ -CROWNBAY -M: Nitin A Kamble<nitin.a.kamble@intel.com> -F: meta-crownbay/ - -CRYSTALFOREST -M: Ong Boon Leong <boon.leong.ong@intel.com> -F: meta-crystalforest/ - -EMENLOW -M: Nitin A Kamble<nitin.a.kamble@intel.com> -F: meta-emenlow/ - -FRI2 -M: Darren Hart <dvhart@linux.intel.com> -F: meta-fri2/ - -JASPERFOREST -M: Nitin A Kamble<nitin.a.kamble@intel.com> -F: meta-jasperforest/ - -ROMLEY -M: Haw Foo Chien <foo.chien.haw@intel.com> -F: meta-romley/ - -SUGARBAY -M: Nitin A Kamble <nitin.a.kamble@intel.com> -F: meta-sugarbay/ - -TLK -M: Saul Wold <saul.wold@intel.com> -F: meta-tlk/ +M: Anuj Mittal <anuj.mittal@intel.com> +F: * @@ -1,11 +1,57 @@ meta-intel ========== -This is the location for Intel maintained BSPs. +This README file contains information on building and booting +meta-intel BSP layers. Please see the corresponding sections below +for details. -Please see the README files contained in the individual BSP layers for -BSP-specific information. For details on the intel-common BSPs, see the -conf/machine/README file. + +Yocto Project Compatible +======================== + +The BSPs contained in this layer are compatible with the Yocto Project +as per the requirements listed here: + + https://www.yoctoproject.org/webform/yocto-project-compatible-registration + + +Dependencies +============ + +This layer depends on: + + URI: git://git.openembedded.org/bitbake + + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: master + + +Table of Contents +================= + + I. Overview + II. Building and booting meta-intel BSP layers + a. Building the intel-common BSP layers + b. Booting the intel-common BSP images + c. Building the installer image + III. Technical Miscellany + Benefits of using meta-intel + The intel-common kernel package architecture + Intel-specific machine features + IV. Tested Hardware + V. Guidelines for submitting patches + + +I. Overview +=========== + +This is the location for Intel-maintained BSPs. + +For details on the intel-common, see the information below. + +For all others, please see the README files contained in the +individual BSP layers for BSP-specific information. If you have problems with or questions about a particular BSP, please contact the maintainer listed in the MAINTAINERS file directly (cc:ing @@ -32,61 +78,205 @@ submit the bug against the most likely category for the problem - if you're wrong, it's not a big deal and the bug will be recategorized upon triage. -Guidelines for submitting patches -================================= -Please submit any patches against meta-intel BSPs to the meta-intel -mailing list (meta-intel@yoctoproject.org). Also, if your patches are -available via a public git repository, please also include a URL to -the repo and branch containing your patches as that makes it easier -for maintainers to grab and test your patches. +II. Building and booting meta-intel BSP layers +============================================== -There are patch submission scripts available that will, among other -things, automatically include the repo URL and branch as mentioned. -Please see the Yocto Project Development Manual sections entitled -'Using Scripts to Push a Change Upstream and Request a Pull' and -'Using Email to Submit a Patch' for details. +The following sections contain information on building and booting the +BSPs contained in the meta-intel layer. -Regardless of how you submit a patch or patchset, the patches should -at minimum follow the suggestions outlined in the 'How to Submit a -Change' secion in the Yocto Project Development Manual. Specifically, -they should: +Note that these instructions specifically cover the intel-common, which +may or may not be applicable to other BSPs contained in this layer - if +a given BSP contains its own README, that version should be used instead, +and these instructions can be ignored. - - Include a 'Signed-off-by:' line. A commit can't legally be pulled - in without this. +a. Building the intel-common BSP layers +------------------------------------------------- - - Provide a single-line, short summary of the change. This short - description should be prefixed by the BSP or recipe name, as - appropriate, followed by a colon. Capitalize the first character - of the summary (following the colon). +In order to build an image with BSP support for a given release, you +need to download the corresponding BSP tarball from the 'Board Support +Package (BSP) Downloads' page of the Yocto Project website (or +equivalently, check out the appropriate branch from the meta-intel git +repository, see below). For the intel-common BSPs, those tarballs would +correspond to the following choices in the BSP downloads section: - - For the body of the commit message, provide detailed information - that describes what you changed, why you made the change, and the - approach you used. + - Intel-core2-32 IntelĀ® Common Core BSP (Intel-core2-32) + - Intel-corei7-64 IntelĀ® Common Core BSP (Intel-corei7-64) - - If the change addresses a specific bug or issue that is associated - with a bug-tracking ID, include a reference to that ID in your - detailed description in the following format: [YOCTO #<bug-id>]. +The intel-* BSPs, also known as the intel-common BSPs, provide a few +carefully selected tune options and generic hardware support to cover +the majority of current Intel CPUs and devices. The naming follows the +convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type +(used with mtune and march typically) and BITS is either 32 bit or 64 +bit. - - Pay attention to line length - please don't allow any particular - line in the commit message to stretch past 72 characters. +Having done that, and assuming you extracted the BSP tarball contents +at the top-level of your yocto build tree, you can build a BSP image +by adding the location of the meta-intel layer to bblayers.conf e.g.: - - For any non-trivial patch, provide information about how you - tested the patch, and for any non-trivial or non-obvious testing - setup, provide details of that setup. + yocto/meta-intel \ -Doing a quick 'git log' in meta-intel will provide you with many -examples of good example commits if you have questions about any -aspect of the preferred format. +To enable a particular machine, you need to add a MACHINE line naming +the BSP to the local.conf file: -The meta-intel maintainers will do their best to review and/or pull in -a patch or patchset within 24 hours of the time it was posted. For -larger and/or more involved patches and patchsets, the review process -may take longer. + MACHINE ?= "xxx" + +where 'xxx' is replaced by one of the following BSP names: + + - intel-core2-32 + + This BSP is optimized for the Core2 family of CPUs as well as all + Atom CPUs prior to the Silvermont core. + + - intel-corei7-64 + + This BSP is optimized for Nehalem and later Core and Xeon CPUs as + well as Silvermont and later Atom CPUs, such as the Baytrail SoCs. + +You should then be able to build an image as such: + + $ source oe-init-build-env + $ bitbake core-image-sato + +At the end of a successful build, you should have an image that +you can boot from a USB flash drive (see instructions on how to do +that below, in the section 'Booting the intel-common BSP images'). + +As an alternative to downloading the BSP tarball, you can also work +directly from the meta-intel git repository. For each BSP in the +'meta-intel' repository, there are multiple branches, one +corresponding to each major release starting with 'laverne' (0.90), in +addition to the latest code which tracks the current master (note that +not all BSPs are present in every release). Instead of extracting +a BSP tarball at the top level of your yocto build tree, you can +equivalently check out the appropriate branch from the meta-intel +repository at the same location. + +b. Booting the intel-common BSP images +-------------------------------------- + +If you've built your own image, either from the downloaded BSP layer +or from the meta-intel git repository, you'll find the bootable +image in the build/tmp/deploy/images/xxx directory, where again +'xxx' refers to the machine name used in the build. + +Under Linux, insert a USB flash drive. Assuming the USB flash drive +takes device /dev/sdf, use dd to copy the image to it. Before the image +can be burned onto a USB drive, it should be un-mounted. Some Linux distros +may automatically mount a USB drive when it is plugged in. Using USB device +/dev/sdf as an example, find all mounted partitions: + $ mount | grep sdf + +and un-mount those that are mounted, for example: + + $ umount /dev/sdf1 + $ umount /dev/sdf2 + +Now burn the image onto the USB drive: + + $ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress + $ sync + $ eject /dev/sdf + +This should give you a bootable USB flash device. Insert the device +into a bootable USB socket on the target, and power on. This should +result in a system booted to the Sato graphical desktop. + +If you want a terminal, use the arrows at the top of the UI to move to +different pages of available applications, one of which is named +'Terminal'. Clicking that should give you a root terminal. + +If you want to ssh into the system, you can use the root terminal to +ifconfig the IP address and use that to ssh in. The root password is +empty, so to log in type 'root' for the user name and hit 'Enter' at +the Password prompt: and you should be in. + +If you find you're getting corrupt images on the USB (it doesn't show +the syslinux boot: prompt, or the boot: prompt contains strange +characters), try doing this first: + + $ dd if=/dev/zero of=/dev/sdf bs=1M count=512 + +c. Building the installer image +----------------------------------------------- + +If you plan to install your image to your target machine, you can build a wic +based installer image instead of default wic image. To build it, you need to +add below configuration to local.conf : + + WKS_FILE = "image-installer.wks.in" + IMAGE_FSTYPES_append = " ext4" + IMAGE_TYPEDEP_wic = "ext4" + INITRD_IMAGE_LIVE="core-image-minimal-initramfs" + do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete" + do_rootfs[depends] += "virtual/kernel:do_deploy" + IMAGE_BOOT_FILES_append = "\ + ${KERNEL_IMAGETYPE} \ + microcode.cpio \ + ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \ + ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} " + +Burn the wic image onto USB flash device, insert the device to target machine +and power on. This should start the installation process. + +III. Technical Miscellany +========================= + +Benefits of using meta-intel +---------------------------- + +Using meta-intel has the following benefits over a generic BSP: + +tune flags +++++++++++ +intel-* MACHINEs each have different compilation flags appropriate for their +targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern +64-bit Intel Core i microarchitecture, and includes instruction sets up to +SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2 +microarchitecture, and includes instruction sets up to SSE3. + +linux-intel kernel +++++++++++++++++++ +The linux-intel kernel is an initiative to bring better Intel(R) hardware +support to the current LTS linux kernel. It contains a base LTS kernel with +additional backports from upstream Intel drivers. In addition, a default kernel +config containing most features found on Intel boards is supplied via the +yocto-kernel-cache. + +graphics stack +++++++++++++++ +Meta-intel provides the latest Intel Graphics Linux Stack drivers to support +Intel hardware as defined by the https://01.org/linuxgraphics. + +Other software +++++++++++++++ + * intel ucode - provides the latest microcode updates for Intel processors + + * thermald - which proactively controls thermal, using P-states, T-states, and +the Intel power clamp driver. +(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon) + +The intel-common kernel package architecture +-------------------------------------------- + +These BSPs use what we call the intel-common Linux kernel package +architecture. This includes core2-32-intel-common and +corei7-64-intel-common. These kernel packages can also be used by any +of the BSPs in meta-intel that choose to include the +intel-common-pkgarch.inc file. + +To minimize the proliferation of vendor trees, reduce the sources we +must support, and consolidate QA efforts, all BSP maintainers are +encouraged to make use of the intel-common Linux kernel package +architecture. Intel-specific machine features -=============================== +------------------------------- The meta-intel layer makes some additional machine features available to BSPs. These machine features can be used in a BSP layer in the @@ -94,7 +284,7 @@ same way that machine features are used in other layers based on oe-core, via the MACHINE_FEATURES variable. Requirements ------------- +++++++++++++ The meta-intel-specific machine features are only available to a BSP when the meta-intel layer is included in the build configuration, and @@ -104,15 +294,15 @@ that BSP. To make these features available for your machine, you will need to: 1. include a configuration line such as the below in bblayers.conf - BBLAYERS += "<local path>/meta-intel" + BBLAYERS += "<local path>/meta-intel" 2. include the following line in the machine configuration file - require conf/machine/include/meta-intel.inc + require conf/machine/include/meta-intel.inc Once the above requirements are met, the machine features provided by the meta-intel layer will be available for the BSP to use. Available machine features --------------------------- +++++++++++++++++++++++++++ Currently, the meta-intel layer makes the following set of Intel-specific machine features available: @@ -123,10 +313,10 @@ These machine features can be included by listing them in the MACHINE_FEATURES variable in the machine configuration file. For example: - MACHINE_FEATURES += "intel-ucode" + MACHINE_FEATURES += "intel-ucode" Machine feature details ------------------------ ++++++++++++++++++++++++ * intel-ucode @@ -178,7 +368,7 @@ Machine feature details the fri2 BSP, the cpuid can be determined as such: [root@fri2 ~]# iucode_tool -S - iucode_tool: system has processor(s) with signature 0x00020661 + iucode_tool: system has processor(s) with signature 0x00020661 Given that output, a suitable UCODE_FILTER_PARAMETERS variable definition could be specified in the machine configuration as @@ -194,3 +384,76 @@ Machine feature details highly sensitive to target image size and which are not experiencing microcode-related issues might consider not enabling this feature. + + +IV. Tested Hardware +=================== + +The following undergo regular basic testing with their respective MACHINE types. +Note that both 64-bit and 32-bit firmware is available for the MinnowBoard +Turbot, so it is tested against both intel-corei7-64 and intel-core2-32. + +intel-corei7-64: + NUC6i5SYH + NUC7i7BNH + Coffee Lake-H + +intel-core2-32: + MinnowBoard Turbot + + +V. Guidelines for submitting patches +==================================== + +Please submit any patches against meta-intel BSPs to the meta-intel +mailing list (meta-intel@lists.yoctoproject.org). Also, if your patches are +available via a public git repository, please also include a URL to +the repo and branch containing your patches as that makes it easier +for maintainers to grab and test your patches. + +There are patch submission scripts available that will, among other +things, automatically include the repo URL and branch as mentioned. +Please see the Yocto Project Development Manual sections entitled +'Using Scripts to Push a Change Upstream and Request a Pull' and +'Using Email to Submit a Patch' for details. + +Regardless of how you submit a patch or patchset, the patches should +at minimum follow the suggestions outlined in the 'Submitting a Change +to the Yocto Project' section in the Yocto Project Development Manual. +Specifically, they should: + + - Include a 'Signed-off-by:' line. A commit can't legally be pulled + in without this. + + - Provide a single-line, short summary of the change. This short + description should be prefixed by the BSP or recipe name, as + appropriate, followed by a colon. Capitalize the first character + of the summary (following the colon). + + - For the body of the commit message, provide detailed information + that describes what you changed, why you made the change, and the + approach you used. + + - If the change addresses a specific bug or issue that is associated + with a bug-tracking ID, include a reference to that ID in your + detailed description in the following format: [YOCTO #<bug-id>]. + + - Pay attention to line length - please don't allow any particular + line in the commit message to stretch past 72 characters. + + - For any non-trivial patch, provide information about how you + tested the patch, and for any non-trivial or non-obvious testing + setup, provide details of that setup. + +Doing a quick 'git log' in meta-intel will provide you with many +examples of good example commits if you have questions about any +aspect of the preferred format. + +The meta-intel maintainers will do their best to review and/or pull in +a patch or patchset within 24 hours of the time it was posted. For +larger and/or more involved patches and patchsets, the review process +may take longer. + +Please see the meta-intel/MAINTAINERS file for the list of maintainers +and their specific areas; it's also a good idea to cc: the specific +maintainer, if applicable. diff --git a/meta-emenlow/README.sources b/README.sources index 0d4d849a..9b483ee0 100644 --- a/meta-emenlow/README.sources +++ b/README.sources @@ -7,7 +7,7 @@ The metadata used to generate the images shipped with this BSP, in addition to the code contained in this BSP, can be found at the following location: -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 +http://downloads.yoctoproject.org/releases/yocto/yocto-2.7/poky-warrior-21.0.0.tar.bz2 The metadata used to generate the images shipped with this BSP, in addition to the code contained in this BSP, can also be found at the diff --git a/classes/uefi-comboapp.bbclass b/classes/uefi-comboapp.bbclass new file mode 100644 index 00000000..4ecc5535 --- /dev/null +++ b/classes/uefi-comboapp.bbclass @@ -0,0 +1,151 @@ +# This class brings a more generic version of the UEFI combo app from refkit to meta-intel. +# It uses a combo file, containing kernel, initramfs and +# command line, presented to the BIOS as UEFI application, by prepending +# it with the efi stub obtained from systemd-boot. + +# Don't add syslinux or build an ISO +PCBIOS_forcevariable = "0" +NOISO_forcevariable = "1" + +# image-live.bbclass will default INITRD_LIVE to the image INITRD_IMAGE creates. +# We want behavior to be consistent whether or not "live" is in IMAGE_FSTYPES, so +# we default INITRD_LIVE to the INITRD_IMAGE as well. +INITRD_IMAGE ?= "core-image-minimal-initramfs" +INITRD_LIVE ?= " ${@ ('${DEPLOY_DIR_IMAGE}/' + d.getVar('INITRD_IMAGE', expand=True) + '-${MACHINE}.cpio.gz') if d.getVar('INITRD_IMAGE', True) else ''}" + +do_uefiapp[depends] += " \ + intel-microcode:do_deploy \ + systemd-boot:do_deploy \ + virtual/kernel:do_deploy \ + " + +# INITRD_IMAGE is added to INITRD_LIVE, which we use to create our initrd, so depend on it if it is set +do_uefiapp[depends] += "${@ '${INITRD_IMAGE}:do_image_complete' if d.getVar('INITRD_IMAGE') else ''}" + +# The image does without traditional bootloader. +# In its place, instead, it uses a single UEFI executable binary, which is +# composed by: +# - an UEFI stub +# The linux kernel can generate a UEFI stub, however the one from systemd-boot can fetch +# the command line from a separate section of the EFI application, avoiding the need to +# rebuild the kernel. +# - the kernel +# - an initramfs (optional) + +def create_uefiapp(d, uuid=None, app_suffix=''): + import glob, re + from subprocess import check_call + + build_dir = d.getVar('B') + deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE') + image_link_name = d.getVar('IMAGE_LINK_NAME') + + cmdline = '%s/cmdline.txt' % build_dir + linux = '%s/%s' % (deploy_dir_image, d.getVar('KERNEL_IMAGETYPE')) + initrd = '%s/initrd' % build_dir + + stub_path = '%s/linux*.efi.stub' % deploy_dir_image + stub = glob.glob(stub_path)[0] + m = re.match(r"\S*(ia32|x64)(.efi)\S*", os.path.basename(stub)) + app = "boot%s%s%s" % (m.group(1), app_suffix, m.group(2)) + executable = '%s/%s.%s' % (deploy_dir_image, image_link_name, app) + + if d.getVar('INITRD_LIVE'): + with open(initrd, 'wb') as dst: + for cpio in d.getVar('INITRD_LIVE').split(): + with open(cpio, 'rb') as src: + dst.write(src.read()) + initrd_cmd = "--add-section .initrd=%s --change-section-vma .initrd=0x3000000 " % initrd + else: + initrd_cmd = "" + + root = 'root=PARTUUID=%s' % uuid if uuid else '' + + with open(cmdline, 'w') as f: + f.write('%s %s' % (d.getVar('APPEND'), root)) + + objcopy_cmd = ("objcopy " + "--add-section .cmdline=%s --change-section-vma .cmdline=0x30000 " + "--add-section .linux=%s --change-section-vma .linux=0x40000 " + "%s %s %s") % \ + (cmdline, linux, initrd_cmd, stub, executable) + + check_call(objcopy_cmd, shell=True) + +python create_uefiapps () { + # We must clean up anything that matches the expected output pattern, to ensure that + # the next steps do not accidentally use old files. + import glob + pattern = d.expand('${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi') + for old_efi in glob.glob(pattern): + os.unlink(old_efi) + uuid = d.getVar('DISK_SIGNATURE_UUID') + create_uefiapp(d, uuid=uuid) +} + +# This is intentionally split into different parts. This way, derived +# classes or images can extend the individual parts. We can also use +# whatever language (shell script or Python) is more suitable. +python do_uefiapp() { + bb.build.exec_func('create_uefiapps', d) +} + +do_uefiapp[vardeps] += "APPEND DISK_SIGNATURE_UUID INITRD_LIVE KERNEL_IMAGETYPE IMAGE_LINK_NAME" + +uefiapp_deploy_at() { + dest=$1 + for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do + target=`basename $i` + target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'` + cp --preserve=timestamps -r $i $dest/$target + done +} + +fakeroot do_uefiapp_deploy() { + rm -rf ${IMAGE_ROOTFS}/boot/* + dest=${IMAGE_ROOTFS}/boot/EFI/BOOT + mkdir -p $dest + uefiapp_deploy_at $dest +} + +do_uefiapp_deploy[depends] += "${PN}:do_uefiapp virtual/fakeroot-native:do_populate_sysroot" + + +# This decides when/how we add our tasks to the image +python () { + image_fstypes = d.getVar('IMAGE_FSTYPES', True) + initramfs_fstypes = d.getVar('INITRAMFS_FSTYPES', True) + + # Don't add any of these tasks to initramfs images + if initramfs_fstypes not in image_fstypes: + bb.build.addtask('uefiapp', 'do_image', 'do_rootfs', d) + bb.build.addtask('uefiapp_deploy', 'do_image', 'do_rootfs', d) +} + +SIGN_AFTER ?= "do_uefiapp" +SIGN_BEFORE ?= "do_uefiapp_deploy" +SIGNING_DIR ?= "${DEPLOY_DIR_IMAGE}" +SIGNING_BINARIES ?= "${IMAGE_LINK_NAME}.boot*.efi" +inherit uefi-sign + +# Legacy hddimg support below this line +efi_hddimg_populate() { + uefiapp_deploy_at "$1" +} + +build_efi_cfg() { + # The command line is built into the combo app, so this is a null op + : +} + +populate_kernel_append() { + # The kernel and initrd are built into the app, so we don't need these + if [ -f $dest/initrd ]; then + rm $dest/initrd + fi + if [ -f $dest/vmlinuz ]; then + rm $dest/vmlinuz + fi +} + +IMAGE_FEATURES[validitems] += "secureboot" diff --git a/classes/uefi-sign.bbclass b/classes/uefi-sign.bbclass new file mode 100644 index 00000000..e8f203b9 --- /dev/null +++ b/classes/uefi-sign.bbclass @@ -0,0 +1,50 @@ +# By default, sign all .efi binaries in ${B} after compiling and before deploying +SIGNING_DIR ?= "${B}" +SIGNING_BINARIES ?= "*.efi" +SIGN_AFTER ?= "do_compile" +SIGN_BEFORE ?= "do_deploy" + +python () { + import os + import hashlib + + # Ensure that if the signing key or cert change, we rerun the uefiapp process + if bb.utils.contains('IMAGE_FEATURES', 'secureboot', True, False, d): + for varname in ('SECURE_BOOT_SIGNING_CERT', 'SECURE_BOOT_SIGNING_KEY'): + filename = d.getVar(varname) + if filename is None: + bb.fatal('%s is not set.' % varname) + if not os.path.isfile(filename): + bb.fatal('%s=%s is not a file.' % (varname, filename)) + with open(filename, 'rb') as f: + data = f.read() + hash = hashlib.sha256(data).hexdigest() + d.setVar('%s_HASH' % varname, hash) + + # Must reparse and thus rehash on file changes. + bb.parse.mark_dependency(d, filename) + + bb.build.addtask('uefi_sign', d.getVar('SIGN_BEFORE'), d.getVar('SIGN_AFTER'), d) + + # Original binary needs to be regenerated if the hash changes since we overwrite it + # SIGN_AFTER isn't necessarily when it gets generated, but its our best guess + d.appendVarFlag(d.getVar('SIGN_AFTER'), 'vardeps', 'SECURE_BOOT_SIGNING_CERT_HASH SECURE_BOOT_SIGNING_KEY_HASH') +} + +do_uefi_sign() { + if [ -f ${SECURE_BOOT_SIGNING_KEY} ] && [ -f ${SECURE_BOOT_SIGNING_CERT} ]; then + for i in `find ${SIGNING_DIR}/ -name '${SIGNING_BINARIES}'`; do + sbsign --key ${SECURE_BOOT_SIGNING_KEY} --cert ${SECURE_BOOT_SIGNING_CERT} $i + sbverify --cert ${SECURE_BOOT_SIGNING_CERT} $i.signed + mv $i.signed $i + done + fi +} + +do_uefi_sign[depends] += "sbsigntool-native:do_populate_sysroot" + +do_uefi_sign[vardeps] += "SECURE_BOOT_SIGNING_CERT_HASH \ + SECURE_BOOT_SIGNING_KEY_HASH \ + SIGNING_BINARIES SIGNING_DIR \ + SIGN_BEFORE SIGN_AFTER \ + " diff --git a/common/custom-licenses/BSD_LMS b/common/custom-licenses/BSD_LMS deleted file mode 100755 index 2ea28ff4..00000000 --- a/common/custom-licenses/BSD_LMS +++ /dev/null @@ -1,30 +0,0 @@ -Copyright (C) 2004-2012 Intel Corporation. All rights reserved. - - This license covers the sources of the Local Manageability Service (LMS). -For licensing information for the LMS build scripts, please refer to the file build_script_license.txt. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of Intel Corporation. nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/common/custom-licenses/Intel-Microcode-License b/common/custom-licenses/Intel-Microcode-License deleted file mode 100644 index af5b41c2..00000000 --- a/common/custom-licenses/Intel-Microcode-License +++ /dev/null @@ -1,123 +0,0 @@ -INTEL SOFTWARE LICENSE AGREEMENT - -IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. -Do not use or load this software and any associated materials (collectively, -the "Software") until you have carefully read the following terms and -conditions. By loading or using the Software, you agree to the terms of this -Agreement. If you do not wish to so agree, do not install or use the Software. - -LICENSES: Please Note: -- If you are a network administrator, the "Site License" below shall -apply to you. -- If you are an end user, the "Single User License" shall apply to you. -- If you are an original equipment manufacturer (OEM), the "OEM License" -shall apply to you. - -SITE LICENSE. You may copy the Software onto your organization's computers -for your organization's use, and you may make a reasonable number of -back-up copies of the Software, subject to these conditions: - -1. This Software is licensed for use only in conjunction with Intel -component products. Use of the Software in conjunction with non-Intel -component products is not licensed hereunder. -2. You may not copy, modify, rent, sell, distribute or transfer any part -of the Software except as provided in this Agreement, and you agree to -prevent unauthorized copying of the Software. -3. You may not reverse engineer, decompile, or disassemble the Software. -4. You may not sublicense or permit simultaneous use of the Software by -more than one user. -5. The Software may include portions offered on terms in addition to those -set out here, as set out in a license accompanying those portions. - -SINGLE USER LICENSE. You may copy the Software onto a single computer for -your personal, noncommercial use, and you may make one back-up copy of the -Software, subject to these conditions: - -1. This Software is licensed for use only in conjunction with Intel -component products. Use of the Software in conjunction with non-Intel -component products is not licensed hereunder. -2. You may not copy, modify, rent, sell, distribute or transfer any part -of the Software except as provided in this Agreement, and you agree to -prevent unauthorized copying of the Software. -3. You may not reverse engineer, decompile, or disassemble the Software. -4. You may not sublicense or permit simultaneous use of the Software by -more than one user. -5. The Software may include portions offered on terms in addition to those -set out here, as set out in a license accompanying those portions. - -OEM LICENSE: You may reproduce and distribute the Software only as an -integral part of or incorporated in Your product or as a standalone -Software maintenance update for existing end users of Your products, -excluding any other standalone products, subject to these conditions: - -1. This Software is licensed for use only in conjunction with Intel -component products. Use of the Software in conjunction with non-Intel -component products is not licensed hereunder. -2. You may not copy, modify, rent, sell, distribute or transfer any part -of the Software except as provided in this Agreement, and you agree to -prevent unauthorized copying of the Software. -3. You may not reverse engineer, decompile, or disassemble the Software. -4. You may only distribute the Software to your customers pursuant to a -written license agreement. Such license agreement may be a "break-the- -seal" license agreement. At a minimum such license shall safeguard -Intel's ownership rights to the Software. -5. The Software may include portions offered on terms in addition to those -set out here, as set out in a license accompanying those portions. - -NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly -or by implication, with respect to any proprietary information or patent, -copyright, mask work, trademark, trade secret, or other intellectual property -right owned or controlled by Intel, except as expressly provided in this -Agreement. - -OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software -remains with Intel or its suppliers. The Software is copyrighted and -protected by the laws of the United States and other countries, and -international treaty provisions. You may not remove any copyright notices -from the Software. Intel may make changes to the Software, or to items -referenced therein, at any time without notice, but is not obligated to -support or update the Software. Except as otherwise expressly provided, Intel -grants no express or implied right under Intel patents, copyrights, -trademarks, or other intellectual property rights. You may transfer the -Software only if the recipient agrees to be fully bound by these terms and if -you retain no copies of the Software. - -LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on -physical media, Intel warrants the media to be free from material physical -defects for a period of ninety days after delivery by Intel. If such a defect -is found, return the media to Intel for replacement or alternate delivery of -the Software as Intel may select. - -EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS -PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND -INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A -PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the -accuracy or completeness of any information, text, graphics, links or other -items contained within the Software. - -LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE -FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, -BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR -INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR -LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL -DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE -OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. - -TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time -if you violate its terms. Upon termination, you will immediately destroy the -Software or return all copies of the Software to Intel. - -APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the -laws of California, excluding its principles of conflict of laws and the -United Nations Convention on Contracts for the Sale of Goods. You may not -export the Software in violation of applicable export laws and regulations. -Intel is not obligated under any other agreements unless they are in writing -and signed by an authorized representative of Intel. - -GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED -RIGHTS." Use, duplication, or disclosure by the Government is subject to -restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its -successor. Use of the Software by the Government constitutes acknowledgment -of Intel's proprietary rights therein. Contractor or Manufacturer is Intel -2200 Mission College Blvd., Santa Clara, CA 95052. diff --git a/common/recipes-bsp/amt/files/atnetworktool-printf-fix.patch b/common/recipes-bsp/amt/files/atnetworktool-printf-fix.patch deleted file mode 100644 index 6bb03e3a..00000000 --- a/common/recipes-bsp/amt/files/atnetworktool-printf-fix.patch +++ /dev/null @@ -1,20 +0,0 @@ -Add a missing debug ifdef causing compilation problems. - -Upstream-Status: Submitted - -Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com> - -Index: lms-7.1.20/src/tools/ATNetworkTool.cpp -=================================================================== ---- lms-7.1.20.orig/src/tools/ATNetworkTool.cpp 2012-04-30 23:24:56.693879920 -0500 -+++ lms-7.1.20/src/tools/ATNetworkTool.cpp 2012-04-30 23:25:32.363473948 -0500 -@@ -302,7 +302,9 @@ - close(s); - return -1; - } -+#ifdef LMS_NET_DEBUG - printf("successfully binded local\n"); -+#endif - - } - if (bind(s, addr, addrlen) == -1) { diff --git a/common/recipes-bsp/amt/files/readlink-declaration.patch b/common/recipes-bsp/amt/files/readlink-declaration.patch deleted file mode 100644 index 0246d501..00000000 --- a/common/recipes-bsp/amt/files/readlink-declaration.patch +++ /dev/null @@ -1,18 +0,0 @@ -Add a missing include causing compilation (missing declaration) problems. - -Upstream-Status: Submitted - -Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com> - -Index: lms-7.1.20/src/tools/ATVersion.cpp -=================================================================== ---- lms-7.1.20.orig/src/tools/ATVersion.cpp 2012-05-29 20:34:34.061997035 -0500 -+++ lms-7.1.20/src/tools/ATVersion.cpp 2012-05-29 20:35:22.671412948 -0500 -@@ -40,6 +40,7 @@ - #include <cerrno> - #include <fstream> - #include <dirent.h> -+#include <unistd.h> - - #define AT_VERSION_ARGUMENT "--version" - #define AT_VERSION_MAXSIZE 40 diff --git a/common/recipes-bsp/amt/lms7_7.1.20.bb b/common/recipes-bsp/amt/lms7_7.1.20.bb deleted file mode 100644 index acc08c1e..00000000 --- a/common/recipes-bsp/amt/lms7_7.1.20.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "Intel Local Manageability Service allows applications \ -to access the Intel Active Management Technology (AMT) firmware via \ -the Intel Management Engine Interface (MEI)." -HOMEPAGE = "http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers" - -LICENSE = "BSD_LMS" - -PR = "r0" -BPN="lms" -PV_SUB = "25" -SRC_URI = "http://software.intel.com/sites/default/files/m/4/e/a/9/b/37962-${BPN}_${PV}.${PV_SUB}.zip \ - file://atnetworktool-printf-fix.patch \ - file://readlink-declaration.patch" - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -LIC_FILES_CHKSUM = "file://COPYING;md5=7264184cf88d9f27b719a9656255b47b" - -SRC_URI[md5sum] = "687b76e78bfdbcf567c0e842c1fe240a" -SRC_URI[sha256sum] = "cc0457f0044e924794bb1aeae9a72c28666a525cd8a963d0d92970222946e75b" - -inherit autotools update-rc.d - -INITSCRIPT_NAME = "lms7" -INITSCRIPT_PARAMS = "defaults" - -do_unpack2() { - cd ${WORKDIR} - tar -xvzf ${WORKDIR}/outputdir/${BPN}-${PV}-${PV_SUB}.tar.gz -} - -addtask unpack2 after do_unpack before do_patch - -do_install_append () { - mv ${D}/${sbindir}/lms ${D}/${sbindir}/lms7 - install -d ${D}${sysconfdir}/init.d - # The configure script looks at the host to decide where to put init - # scripts, so move it at the same time as renaming it. - if test -f ${D}${sysconfdir}/rc.d/init.d/lms ; then - mv ${D}${sysconfdir}/rc.d/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - else - mv ${D}${sysconfdir}/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - fi - sed -i 's/^NAME=lms/NAME=lms7/' ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - rmdir ${D}${datadir} || : -} diff --git a/common/recipes-bsp/amt/lms8_8.0.0-7.bb b/common/recipes-bsp/amt/lms8_8.0.0-7.bb deleted file mode 100644 index 65c413a8..00000000 --- a/common/recipes-bsp/amt/lms8_8.0.0-7.bb +++ /dev/null @@ -1,38 +0,0 @@ -DESCRIPTION = "Intel Local Manageability Service allows applications \ -to access the Intel Active Management Technology (AMT) firmware via \ -the Intel Management Engine Interface (MEI)." -HOMEPAGE = "http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers" - -LICENSE = "BSD_LMS" - -PR = "r0" -BPN="lms" -SRC_URI = "http://software.intel.com/sites/default/files/${BPN}-${PV}.tar.gz \ - file://readlink-declaration.patch" - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -LIC_FILES_CHKSUM = "file://COPYING;md5=ec77c894e8a1a89fa07aed2c76680ab8" - -SRC_URI[md5sum] = "3cbd027a0e6e9ced8238478b24cde3c6" -SRC_URI[sha256sum] = "7077db6f2f381e67cb37565b20c40ff0c7d3f98f014e65622a4b4b66c2b1d637" - -inherit autotools update-rc.d - -INITSCRIPT_NAME = "lms8" -INITSCRIPT_PARAMS = "defaults" - - -do_install_append () { - mv ${D}/${sbindir}/lms ${D}/${sbindir}/lms8 - install -d ${D}${sysconfdir}/init.d - # The configure script looks at the host to decide where to put init - # scripts, so move it at the same time as renaming it. - if test -f ${D}${sysconfdir}/rc.d/init.d/lms ; then - mv ${D}${sysconfdir}/rc.d/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - else - mv ${D}${sysconfdir}/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - fi - sed -i 's/^NAME=lms/NAME=lms8/' ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} - rmdir ${D}${datadir} || : -} diff --git a/common/recipes-bsp/efilinux/efilinux_1.0.bb b/common/recipes-bsp/efilinux/efilinux_1.0.bb deleted file mode 100644 index 854fab6d..00000000 --- a/common/recipes-bsp/efilinux/efilinux_1.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "A UEFI OS loader" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://efilinux.h;beginline=5;endline=31;md5=2316abda893ef24e6cd55cef33aa0edd" - -DEPENDS = "gnu-efi" - -inherit deploy - -SRCREV = "75b62111f83dab433e901c1a7b0f05e058aa29de" -PV = "1.0+git${SRCPV}" -PR = "r0" - -SRC_URI = "git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git" - -S = "${WORKDIR}/git" - -COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)' - -EXTRA_OEMAKE = "INCDIR=${STAGING_INCDIR} LIBDIR=${STAGING_LIBDIR}" - -# syslinux uses $LD for linking, strip `-Wl,' so it can work -export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`" - -do_deploy () { - install ${S}/efilinux.efi ${DEPLOYDIR}/efilinux.efi -} -addtask deploy before do_build after do_compile - diff --git a/common/recipes-corpus/calgary-corpus/calgary-corpus.bb b/common/recipes-corpus/calgary-corpus/calgary-corpus.bb deleted file mode 100644 index 17b8fdf8..00000000 --- a/common/recipes-corpus/calgary-corpus/calgary-corpus.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Set of files for testing losless compression algorithms" -DESCRIPTION = "Set of files for testing losless compression algorithms" -HOMEPAGE = "http://corpus.canterbury.ac.nz" -SECTION = "misc" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - -# The tarball doesn't extract a directory, so ask bitbake to make one -SRC_URI = "http://corpus.canterbury.ac.nz/resources/calgary.tar.gz;subdir=${BP}" -SRC_URI[md5sum] = "651d06b35d3d39522157cf8dc4a3d01c" -SRC_URI[sha256sum] = "e109eebdc19c5cee533c58bd6a49a4be3a77cc52f84ba234a089148a4f2093b7" - -inherit allarch - -do_install () { - # do_unpack creates this directory but we don't want to install it, so - # delete it now. - rm -rf ${S}/patches - - install -d ${D}/lib/firmware - install -m 664 ${S}/* ${D}/lib/firmware -} - -FILES_${PN} = "/lib/firmware/*" diff --git a/common/recipes-corpus/canterbury-corpus/canterbury-corpus.bb b/common/recipes-corpus/canterbury-corpus/canterbury-corpus.bb deleted file mode 100644 index db64e534..00000000 --- a/common/recipes-corpus/canterbury-corpus/canterbury-corpus.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Intel Quick Assist Driver - Canterbury Corpus" -DESCRIPTION = "Set of files for testing losless compression algorithms \ - for Intel Crystal Forest BSP Quick Assist Technology Software Package" - -HOMEPAGE = "http://corpus.canterbury.ac.nz" -SECTION = "misc" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - -inherit allarch - -# The tarball doesn't extract a directory, so ask bitbake to make one -SRC_URI = "http://corpus.canterbury.ac.nz/resources/cantrbry.tar.gz;subdir=${BP}" -SRC_URI[md5sum] = "442e56cfffdf460d25b0b91650a55908" -SRC_URI[sha256sum] = "f140e8a5b73d3f53198555a63bfb827889394a42f20825df33c810c3d5e3f8fb" - -FILES_${PN} = "/lib/firmware/*" - -do_install () { - # do_unpack creates this directory but we don't want to install it, so - # delete it now. - rm -rf ${S}/patches - - install -d ${D}${base_libdir}/firmware - install -m 644 ${S}/* ${D}${base_libdir}/firmware -} - -# The corpus contains Sparc binaries with unexpected symbol hash tables, so -# silence the QA tests that will otherwise emit errors. -INSANE_SKIP_${PN} = "arch ldflags" diff --git a/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.9.bb b/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.9.bb deleted file mode 100644 index b98fc757..00000000 --- a/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.9.bb +++ /dev/null @@ -1,19 +0,0 @@ -require ${COREBASE}/meta/recipes-graphics/xorg-app/xorg-app-common.inc - -SUMMARY = "Intel GPU tools" -DESCRIPTION = "Variety of small tools for testing intel graphics." - -SRC_URI[md5sum] = "1e768f2b1edc8613911b1d33bb361a7f" -SRC_URI[sha256sum] = "1de4c28ae0fe1e6c198ab559dbffcec6762798dc4adbdfdac54b2c7a9b0a1ed3" - -LIC_FILES_CHKSUM = "file://COPYING;md5=0918806acfedc3e8c0488f2dd61616dd" - -DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 libxv libx11 libxext libxrandr" - -EXTRA_OECONF = "--disable-nouveau --disable-shader-debugger --disable-dumper" -COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux" - -gputools_sysroot_preprocess() { - rm -f ${SYSROOT_DESTDIR}${libdir}/pkgconfig/intel-gen4asm.pc -} -SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess" diff --git a/common/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb b/common/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb deleted file mode 100644 index ab43ef59..00000000 --- a/common/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require recipes-graphics/xorg-driver/xorg-driver-input.inc - -SUMMARY = "X.Org X server -- event devices (evdev) input driver" - -DESCRIPTION = "evdev is an Xorg input driver for Linux's generic event \ -devices. It therefore supports all input devices that the kernel knows \ -about, including most mice and keyboards. \ -\ -The evdev driver can serve as both a pointer and a keyboard input \ -device, and may be used as both the core keyboard and the core pointer. \ -Multiple input devices are supported by multiple instances of this \ -driver, with one Load directive for evdev in the Module section of your \ -xorg.conf for each input device that will use this driver. " - -LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16" - -PR = "${INC_PR}.0" - -SRC_URI[md5sum] = "f33fe9413bde68936d8909206a13e8a1" -SRC_URI[sha256sum] = "b0e7f3991a8183a4743196c3e16d7184d439b80bf43653aa2f45b0756a6753ac" diff --git a/common/recipes-graphics/xorg-driver/xf86-input-synaptics_1.6.3.bb b/common/recipes-graphics/xorg-driver/xf86-input-synaptics_1.6.3.bb deleted file mode 100644 index cc582a12..00000000 --- a/common/recipes-graphics/xorg-driver/xf86-input-synaptics_1.6.3.bb +++ /dev/null @@ -1,23 +0,0 @@ -require recipes-graphics/xorg-driver/xorg-driver-input.inc - -#SRC_URI += "file://configurefix.patch" - -SUMMARY = "X.Org X server -- synaptics touchpad input driver" - -DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \ -Synaptics Incorporated. Even though these touchpads (by default, \ -operating in a compatibility mode emulating a standard mouse) can be \ -handled by the normal evdev or mouse drivers, this driver allows more \ -advanced features of the touchpad to become available." - -LIC_FILES_CHKSUM = "file://COPYING;md5=e395e21f3c21d4fc3a243783e85e9ab5" - -PR = "${INC_PR}.0" - -SRC_URI[md5sum] = "3568930b0bda522e00272b64c0ca2ca2" -SRC_URI[sha256sum] = "b40c9dbd5f743ff1eb2ac81a23b9676df72e76ed3fa6408de3f8a3a260248604" - -DEPENDS += "libxi mtdev" - -FILES_${PN} += "${datadir}/X11/xorg.conf.d" - diff --git a/common/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/common/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch deleted file mode 100644 index ceae6dfb..00000000 --- a/common/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch +++ /dev/null @@ -1,68 +0,0 @@ -Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Thu, 29 Nov 2012 11:00:43 +0000 -Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI - -Automatically enabling or disabling a feature based on installed files isn't -deterministic, and AC_CHECK_FILE returns an error when cross-compiling. - -Fix this by enabling DRI by default, and removing the explicit file checks as -pkg-config is good enough. - -(#57606) - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - configure.ac | 25 ++----------------------- - 1 file changed, 2 insertions(+), 23 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fca1a9c..d2aa2ed 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir, - [moduledir="$libdir/xorg/modules"]) - - AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], -- [Disable DRI support [[default=auto]]]), -+ [Disable DRI support [[default=enabled]]]), - [DRI="$enableval"], -- [DRI=auto]) -+ [DRI=yes]) - AC_ARG_ENABLE(exa, - AS_HELP_STRING([--disable-exa], - [Disable EXA support [[default=enabled]]]), -@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` - - # Checks for libraries. - --if test "x$DRI" != xno; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -- [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -- [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -- [have_dristruct_h="yes"], [have_dristruct_h="no"]) --fi -- --AC_MSG_CHECKING([whether to include DRI support]) --if test "x$DRI" = xauto; then -- if test "x$have_dri_h" = xyes && \ -- test "x$have_sarea_h" = xyes && \ -- test "x$have_dristruct_h" = xyes; then -- DRI="yes" -- else -- DRI="no" -- fi --fi --AC_MSG_RESULT([$DRI]) -- - AM_CONDITIONAL(DRI, test "x$DRI" = xyes) - if test "x$DRI" = xyes; then - PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto]) --- -1.7.10.4 - diff --git a/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.2.bb b/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.2.bb deleted file mode 100644 index 8d9e4ae7..00000000 --- a/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -require recipes-graphics/xorg-driver/xorg-driver-video.inc - -SUMMARY = "X.Org X server -- Matrox MGA display driver" - -DESCRIPTION = "mga is an Xorg driver for Matrox video cards" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc" - -SRC_URI += "file://checkfile.patch" - -DEPENDS += "virtual/libx11 libpciaccess" - -PR = "r1" - -COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' - -SRC_URI[md5sum] = "f543877db4e260d8b43c7da3095605ed" -SRC_URI[sha256sum] = "3f89ce250eea93f0de890954687790e06c0bab9e3e303df393e8759a187eca6c" - -PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}" -PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xf86driproto,xserver-xorg-extension-dri" - -RDEPENDS_${PN} = "xserver-xorg-module-exa" diff --git a/common/recipes-graphics/xorg-driver/xorg-driver-common.inc b/common/recipes-graphics/xorg-driver/xorg-driver-common.inc deleted file mode 100644 index 1ed2742d..00000000 --- a/common/recipes-graphics/xorg-driver/xorg-driver-common.inc +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "X driver" -HOMEPAGE = "http://www.x.org" -BUGTRACKER = "https://bugs.freedesktop.org" -SECTION = "x11/drivers" -LICENSE = "MIT-X" - -PE = "2" -INC_PR = "r0" - -DEPENDS = "virtual/xserver xproto randrproto util-macros" - -SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" - -S = "${WORKDIR}/${BPN}-${PV}" - -FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so" -FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug" - -inherit autotools pkgconfig - -# AC_CHECK_FILE doesn't work when cross compiling, so we create a replacement -# macro that simply assumes the test succeeds. -do_configure_prepend () { - echo 'AC_DEFUN(CC_AC_CHECK_FILE, $2)' > configure.ac.new - sed 's/AC_CHECK_FILE/CC_AC_CHECK_FILE/g' configure.ac >> configure.ac.new - mv configure.ac.new configure.ac -} - -# FIXME: We don't want to include the libtool archives (*.la) from modules -# directory, as they serve no useful purpose. Upstream should fix Makefile.am -do_install_append() { - find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- -} diff --git a/common/recipes-graphics/xorg-driver/xorg-driver-video.inc b/common/recipes-graphics/xorg-driver/xorg-driver-video.inc deleted file mode 100644 index 57c80d10..00000000 --- a/common/recipes-graphics/xorg-driver/xorg-driver-video.inc +++ /dev/null @@ -1,4 +0,0 @@ -include xorg-driver-common.inc - -DEPENDS =+ "renderproto videoproto xextproto fontsproto" - diff --git a/common/recipes-kernel/linux/linux-yocto-rt_3.14.bbappend b/common/recipes-kernel/linux/linux-yocto-rt_3.14.bbappend deleted file mode 100644 index a5edfff9..00000000 --- a/common/recipes-kernel/linux/linux-yocto-rt_3.14.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -LINUX_VERSION_core2-32-intel-common = "3.14.4" -COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" -SRCREV_meta_core2-32-intel-common = "fb6271a942b57bdc40c6e49f0203be153699f81c" -SRCREV_machine_core2-32-intel-common = "08229402523bdb153dceed0a7260180837396e7f" -KMACHINE_core2-32-intel-common = "intel-core2-32" -KBRANCH_core2-32-intel-common = "standard/preempt-rt/base" -KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - -LINUX_VERSION_corei7-64-intel-common = "3.14.4" -COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}" -SRCREV_meta_corei7-64-intel-common = "fb6271a942b57bdc40c6e49f0203be153699f81c" -SRCREV_machine_corei7-64-intel-common = "08229402523bdb153dceed0a7260180837396e7f" -KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KBRANCH_corei7-64-intel-common = "standard/preempt-rt/base" -KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" diff --git a/common/recipes-kernel/linux/linux-yocto_3.14.bbappend b/common/recipes-kernel/linux/linux-yocto_3.14.bbappend deleted file mode 100644 index 3177b7e6..00000000 --- a/common/recipes-kernel/linux/linux-yocto_3.14.bbappend +++ /dev/null @@ -1,28 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -# For NUC -KERNEL_FEATURES_INTEL_COMMON += "features/amt/mei/mei.scc" - -LINUX_VERSION_core2-32-intel-common = "3.14.19" -COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" -SRCREV_meta_core2-32-intel-common = "28e39741b8b3018334021d981369d3fd61f18f5b" -SRCREV_machine_core2-32-intel-common = "902f34d36102a4b2008b776ecae686f80d307e12" -KMACHINE_core2-32-intel-common = "intel-core2-32" -KBRANCH_core2-32-intel-common = "standard/base" -KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - -LINUX_VERSION_corei7-64-intel-common = "3.14.19" -COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}" -SRCREV_meta_corei7-64-intel-common = "28e39741b8b3018334021d981369d3fd61f18f5b" -SRCREV_machine_corei7-64-intel-common = "902f34d36102a4b2008b776ecae686f80d307e12" -KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KBRANCH_corei7-64-intel-common = "standard/base" -KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - -# For Crystalforest and Romley -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" - -# For FRI2, NUC -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi" diff --git a/common/recipes-kernel/linux/linux-yocto_3.19.bbappend b/common/recipes-kernel/linux/linux-yocto_3.19.bbappend deleted file mode 100644 index 1ebadf33..00000000 --- a/common/recipes-kernel/linux/linux-yocto_3.19.bbappend +++ /dev/null @@ -1,28 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -# For NUC -KERNEL_FEATURES_INTEL_COMMON += "features/amt/mei/mei.scc" - -LINUX_VERSION_core2-32-intel-common = "3.19.0" -COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" -SRCREV_meta_core2-32-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" -SRCREV_machine_core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" -KMACHINE_core2-32-intel-common = "intel-core2-32" -KBRANCH_core2-32-intel-common = "standard/base" -KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - -LINUX_VERSION_corei7-64-intel-common = "3.19.0" -COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}" -SRCREV_meta_corei7-64-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" -SRCREV_machine_corei7-64-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" -KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KBRANCH_corei7-64-intel-common = "standard/base" -KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - -# For Crystalforest and Romley -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" - -# For FRI2, NUC -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi" diff --git a/common/recipes-multimedia/gstreamer/gstreamer-vaapi-1.0_0.5.10.bb b/common/recipes-multimedia/gstreamer/gstreamer-vaapi-1.0_0.5.10.bb deleted file mode 100644 index c1c4f5ac..00000000 --- a/common/recipes-multimedia/gstreamer/gstreamer-vaapi-1.0_0.5.10.bb +++ /dev/null @@ -1,5 +0,0 @@ -require gstreamer-vaapi.inc - -DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" - -GST_API_VERSION = "1.4" diff --git a/common/recipes-multimedia/gstreamer/gstreamer-vaapi.inc b/common/recipes-multimedia/gstreamer/gstreamer-vaapi.inc deleted file mode 100644 index 64c61313..00000000 --- a/common/recipes-multimedia/gstreamer/gstreamer-vaapi.inc +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "VA-API support to GStreamer" -DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \ -based plugins for GStreamer and helper libraries: `vaapidecode', \ -`vaapiconvert', and `vaapisink'." - -REALPN = "gstreamer-vaapi" -FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${REALPN}", "${FILE_DIRNAME}/${REALPN}"], d)}" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "libva" - -SRC_URI = "http://www.freedesktop.org/software/vaapi/releases/${REALPN}/${REALPN}-${PV}.tar.bz2 \ - file://install-tests.patch \ - " - -SRC_URI[md5sum] = "3bd90b696b644be943450ba0c1497193" -SRC_URI[sha256sum] = "0dd236c7bf225322b8934fdba99a7a9e4542566a2acbe7564cdc3ec2c8b73c9d" - -S = "${WORKDIR}/${REALPN}-${PV}" - -inherit autotools pkgconfig gtk-doc - -PACKAGES =+ "${PN}-tests" - -EXTRA_OECONF += "--with-gstreamer-api=${GST_API_VERSION} --disable-builtin-libvpx" - -PACKAGECONFIG ??= "drm \ - ${@base_contains("DISTRO_FEATURES", "opengl x11", "glx", "", d)} \ - ${@base_contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \ - ${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)}" - -PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/mesa" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" - -FILES_${PN} += "${libdir}/gstreamer-*/*.so" -FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug" -FILES_${PN}-dev += "${libdir}/gstreamer-*/*.la ${libdir}/gstreamer-*/*.a" -FILES_${PN}-tests = "${bindir}/*" diff --git a/common/recipes-multimedia/gstreamer/gstreamer-vaapi/install-tests.patch b/common/recipes-multimedia/gstreamer/gstreamer-vaapi/install-tests.patch deleted file mode 100644 index 9281b048..00000000 --- a/common/recipes-multimedia/gstreamer/gstreamer-vaapi/install-tests.patch +++ /dev/null @@ -1,31 +0,0 @@ -Install tests. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton <ross.burton@intel.com> - ---- - tests/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 2e7f191..8f65446 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1,4 +1,4 @@ --noinst_PROGRAMS = \ -+bin_PROGRAMS = \ - simple-decoder \ - test-decode \ - test-display \ -@@ -9,7 +9,7 @@ noinst_PROGRAMS = \ - $(NULL) - - if USE_GLX --noinst_PROGRAMS += \ -+bin_PROGRAMS += \ - test-textures \ - $(NULL) - endif --- -1.7.10.4 - diff --git a/common/recipes-multimedia/libva/libva-intel-driver/0001-Workaround-for-concurrently-playing-VC1-and-H264-vid.patch b/common/recipes-multimedia/libva/libva-intel-driver/0001-Workaround-for-concurrently-playing-VC1-and-H264-vid.patch deleted file mode 100644 index e0006323..00000000 --- a/common/recipes-multimedia/libva/libva-intel-driver/0001-Workaround-for-concurrently-playing-VC1-and-H264-vid.patch +++ /dev/null @@ -1,440 +0,0 @@ -Upstream-Status: Pending - -From 43c3fd3ea485a0b9ad12c248a0a94a959ab4d5ee Mon Sep 17 00:00:00 2001 -From: "Xiang, Haihao" <haihao.xiang@intel.com> -Date: Mon, 29 Oct 2012 10:01:16 +0800 -Subject: [PATCH] Workaround for concurrently playing VC1 and H264 video on SNB - -Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> ---- - src/gen6_mfd.c | 379 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- - src/gen6_mfd.h | 3 + - 2 files changed, 380 insertions(+), 2 deletions(-) - -diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c -index fa2f128..b8c671b 100755 ---- a/src/gen6_mfd.c -+++ b/src/gen6_mfd.c -@@ -50,6 +50,377 @@ static const uint32_t zigzag_direct[64] = { - 53, 60, 61, 54, 47, 55, 62, 63 - }; - -+/* Workaround for VC1 decoding */ -+ -+VAStatus -+i965_DestroySurfaces(VADriverContextP ctx, -+ VASurfaceID *surface_list, -+ int num_surfaces); -+VAStatus -+i965_CreateSurfaces(VADriverContextP ctx, -+ int width, -+ int height, -+ int format, -+ int num_surfaces, -+ VASurfaceID *surfaces); -+ -+static struct { -+ int width; -+ int height; -+ int mb_count; -+ unsigned char data[32]; -+ int data_size; -+ int data_bit_offset; -+ -+ unsigned int f_code:16; -+ unsigned int intra_dc_precision:2; -+ unsigned int picture_structure:2; -+ unsigned int top_field_first:1; -+ unsigned int frame_pred_frame_dct:1; -+ unsigned int concealment_motion_vectors:1; -+ unsigned int q_scale_type:1; -+ unsigned int intra_vlc_format:1; -+ unsigned int alternate_scan:1; -+ unsigned int picture_coding_type:1; -+ unsigned int pad0: 5; -+ -+ unsigned int quantiser_scale_code; -+ -+ unsigned char qm[2][64]; -+} gen6_dwa_clip = { -+ width: 32, -+ height: 16, -+ mb_count: 2, -+ data: { -+ 0x00, 0x00, 0x01, 0x01, 0x1b, 0xfb, 0xfd, 0xf8, -+ 0x02, 0x97, 0xef, 0xf8, 0x8b, 0x97, 0xe0, 0x0a, -+ 0x5f, 0xbf, 0xe2, 0x20, 0x00, 0x00, 0x01, 0x00 -+ }, -+ data_size: 20, -+ data_bit_offset: 38, -+ -+ f_code: 0xffff, -+ intra_dc_precision: 0, -+ picture_structure: 3, -+ top_field_first: 0, -+ frame_pred_frame_dct: 1, -+ concealment_motion_vectors: 0, -+ q_scale_type: 0, -+ intra_vlc_format: 0, -+ alternate_scan: 0, -+ picture_coding_type: 1, /* I frame */ -+ -+ quantiser_scale_code: 3, -+ -+ qm: { -+ { -+ 8, 16, 19, 22, 26, 27, 29, 34, -+ 16, 16, 22, 24, 27, 29, 34, 37, -+ 19, 22, 26, 27, 29, 34, 34, 38, -+ 22, 22, 26, 27, 29, 34, 37, 40, -+ 22, 26, 27, 29, 32, 35, 40, 48, -+ 26, 27, 29, 32, 35, 40, 48, 58, -+ 26, 27, 29, 34, 38, 46, 56, 69, -+ 27, 29, 35, 38, 46, 56, 69, 83 -+ }, -+ -+ { -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ 16, 16, 16, 16, 16, 16, 16, 16, -+ } -+ }, -+}; -+ -+static void -+gen6_dwa_init(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct i965_driver_data *i965 = i965_driver_data(ctx); -+ VAStatus status; -+ struct object_surface *obj_surface; -+ -+ if (gen6_mfd_context->dwa_surface_id != VA_INVALID_SURFACE) -+ i965_DestroySurfaces(ctx, -+ &gen6_mfd_context->dwa_surface_id, -+ 1); -+ -+ status = i965_CreateSurfaces(ctx, -+ gen6_dwa_clip.width, -+ gen6_dwa_clip.height, -+ VA_RT_FORMAT_YUV420, -+ 1, -+ &gen6_mfd_context->dwa_surface_id); -+ assert(status == VA_STATUS_SUCCESS); -+ -+ obj_surface = SURFACE(gen6_mfd_context->dwa_surface_id); -+ assert(obj_surface); -+ i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N', 'V', '1', '2'), SUBSAMPLE_YUV420); -+ -+ if (!gen6_mfd_context->dwa_slice_data_bo) -+ dri_bo_unreference(gen6_mfd_context->dwa_slice_data_bo); -+ -+ gen6_mfd_context->dwa_slice_data_bo = dri_bo_alloc(i965->intel.bufmgr, -+ "WA data", -+ 0x1000, -+ 0x1000); -+ dri_bo_subdata(gen6_mfd_context->dwa_slice_data_bo, -+ 0, -+ gen6_dwa_clip.data_size, -+ gen6_dwa_clip.data); -+} -+ -+static void -+gen6_dwa_pipe_mode_select(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ -+ BEGIN_BCS_BATCH(batch, 4); -+ OUT_BCS_BATCH(batch, MFX_PIPE_MODE_SELECT | (4 - 2)); -+ OUT_BCS_BATCH(batch, -+ (MFD_MODE_VLD << 16) | /* VLD mode */ -+ (0 << 10) | /* disable Stream-Out */ -+ (0 << 9) | /* Post Deblocking Output */ -+ (1 << 8) | /* Pre Deblocking Output */ -+ (0 << 7) | /* disable TLB prefectch */ -+ (0 << 5) | /* not in stitch mode */ -+ (MFX_CODEC_DECODE << 4) | /* decoding mode */ -+ (MFX_FORMAT_MPEG2 << 0)); -+ OUT_BCS_BATCH(batch, -+ (0 << 20) | /* round flag in PB slice */ -+ (0 << 19) | /* round flag in Intra8x8 */ -+ (0 << 7) | /* expand NOA bus flag */ -+ (1 << 6) | /* must be 1 */ -+ (0 << 5) | /* disable clock gating for NOA */ -+ (0 << 4) | /* terminate if AVC motion and POC table error occurs */ -+ (0 << 3) | /* terminate if AVC mbdata error occurs */ -+ (0 << 2) | /* terminate if AVC CABAC/CAVLC decode error occurs */ -+ (0 << 1) | /* AVC long field motion vector */ -+ (0 << 0)); /* always calculate AVC ILDB boundary strength */ -+ OUT_BCS_BATCH(batch, 0); -+ ADVANCE_BCS_BATCH(batch); -+} -+ -+static void -+gen6_dwa_surface_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ struct i965_driver_data *i965 = i965_driver_data(ctx); -+ struct object_surface *obj_surface = SURFACE(gen6_mfd_context->dwa_surface_id); -+ -+ BEGIN_BCS_BATCH(batch, 6); -+ OUT_BCS_BATCH(batch, MFX_SURFACE_STATE | (6 - 2)); -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, -+ ((obj_surface->orig_width - 1) << 19) | -+ ((obj_surface->orig_height - 1) << 6)); -+ OUT_BCS_BATCH(batch, -+ (MFX_SURFACE_PLANAR_420_8 << 28) | /* 420 planar YUV surface */ -+ (1 << 27) | /* interleave chroma */ -+ (0 << 22) | /* surface object control state, ignored */ -+ ((obj_surface->width - 1) << 3) | /* pitch */ -+ (0 << 2) | /* must be 0 */ -+ (1 << 1) | /* must be tiled */ -+ (I965_TILEWALK_YMAJOR << 0)); /* tile walk, must be 1 */ -+ OUT_BCS_BATCH(batch, -+ (0 << 16) | /* X offset for U(Cb), must be 0 */ -+ (obj_surface->y_cb_offset << 0)); /* Y offset for U(Cb) */ -+ OUT_BCS_BATCH(batch, -+ (0 << 16) | /* X offset for V(Cr), must be 0 */ -+ (0 << 0)); /* Y offset for V(Cr), must be 0 for video codec */ -+ ADVANCE_BCS_BATCH(batch); -+} -+ -+static void -+gen6_dwa_pipe_buf_addr_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ struct i965_driver_data *i965 = i965_driver_data(ctx); -+ struct object_surface *obj_surface = SURFACE(gen6_mfd_context->dwa_surface_id); -+ dri_bo *intra_bo; -+ int i; -+ -+ intra_bo = dri_bo_alloc(i965->intel.bufmgr, -+ "intra row store", -+ 128 * 64, -+ 0x1000); -+ -+ BEGIN_BCS_BATCH(batch, 24); -+ OUT_BCS_BATCH(batch, MFX_PIPE_BUF_ADDR_STATE | (24 - 2)); -+ OUT_BCS_RELOC(batch, -+ obj_surface->bo, -+ I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION, -+ 0); -+ -+ OUT_BCS_BATCH(batch, 0); /* post deblocking */ -+ -+ OUT_BCS_BATCH(batch, 0); /* ignore for decoding */ -+ OUT_BCS_BATCH(batch, 0); /* ignore for decoding */ -+ -+ OUT_BCS_RELOC(batch, -+ intra_bo, -+ I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION, -+ 0); -+ -+ OUT_BCS_BATCH(batch, 0); -+ -+ /* DW 7..22 */ -+ for (i = 0; i < MAX_GEN_REFERENCE_FRAMES; i++) { -+ OUT_BCS_BATCH(batch, 0); -+ } -+ -+ OUT_BCS_BATCH(batch, 0); /* ignore DW23 for decoding */ -+ ADVANCE_BCS_BATCH(batch); -+ -+ dri_bo_unreference(intra_bo); -+} -+ -+static void -+gen6_dwa_bsp_buf_base_addr_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct i965_driver_data *i965 = i965_driver_data(ctx); -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ dri_bo *bsd_mpc_bo; -+ -+ bsd_mpc_bo = dri_bo_alloc(i965->intel.bufmgr, -+ "bsd mpc row store", -+ 11520, /* 1.5 * 120 * 64 */ -+ 0x1000); -+ -+ BEGIN_BCS_BATCH(batch, 4); -+ OUT_BCS_BATCH(batch, MFX_BSP_BUF_BASE_ADDR_STATE | (4 - 2)); -+ -+ OUT_BCS_RELOC(batch, -+ bsd_mpc_bo, -+ I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION, -+ 0); -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, 0); -+ ADVANCE_BCS_BATCH(batch); -+ -+ dri_bo_unreference(bsd_mpc_bo); -+} -+ -+static void -+gen6_dwa_mpeg2_pic_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+ -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ unsigned int width_in_mbs = ALIGN(gen6_dwa_clip.width, 16) / 16; -+ unsigned int height_in_mbs = ALIGN(gen6_dwa_clip.height, 16) / 16; -+ -+ BEGIN_BCS_BATCH(batch, 4); -+ OUT_BCS_BATCH(batch, MFX_MPEG2_PIC_STATE | (4 - 2)); -+ OUT_BCS_BATCH(batch, -+ gen6_dwa_clip.f_code << 16 | -+ gen6_dwa_clip.intra_dc_precision << 14 | -+ gen6_dwa_clip.picture_structure << 12 | -+ gen6_dwa_clip.top_field_first << 11 | -+ gen6_dwa_clip.frame_pred_frame_dct << 10 | -+ gen6_dwa_clip.concealment_motion_vectors << 9 | -+ gen6_dwa_clip.q_scale_type << 8 | -+ gen6_dwa_clip.intra_vlc_format << 7 | -+ gen6_dwa_clip.alternate_scan << 6); -+ OUT_BCS_BATCH(batch, -+ gen6_dwa_clip.picture_coding_type << 9); -+ OUT_BCS_BATCH(batch, -+ height_in_mbs << 16 | -+ width_in_mbs); -+ ADVANCE_BCS_BATCH(batch); -+} -+ -+static void -+gen6_dwa_mpeg2_qm_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ int i; -+ -+ for (i = 0; i < 2; i++) { -+ BEGIN_BCS_BATCH(batch, 18); -+ OUT_BCS_BATCH(batch, MFX_MPEG2_QM_STATE | (18 - 2)); -+ OUT_BCS_BATCH(batch, i); -+ intel_batchbuffer_data(batch, gen6_dwa_clip.qm[i], 64); -+ ADVANCE_BCS_BATCH(batch); -+ } -+} -+ -+static void -+gen6_dwa_ind_obj_base_addr_state(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ -+ BEGIN_BCS_BATCH(batch, 11); -+ OUT_BCS_BATCH(batch, MFX_IND_OBJ_BASE_ADDR_STATE | (11 - 2)); -+ OUT_BCS_RELOC(batch, -+ gen6_mfd_context->dwa_slice_data_bo, -+ I915_GEM_DOMAIN_INSTRUCTION, 0, -+ 0); -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */ -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */ -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */ -+ OUT_BCS_BATCH(batch, 0); -+ OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */ -+ OUT_BCS_BATCH(batch, 0); -+ ADVANCE_BCS_BATCH(batch); -+} -+ -+static void -+gen6_dwa_mpeg2_bsd_object(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ -+ BEGIN_BCS_BATCH(batch, 5); -+ OUT_BCS_BATCH(batch, MFD_MPEG2_BSD_OBJECT | (5 - 2)); -+ OUT_BCS_BATCH(batch, -+ gen6_dwa_clip.data_size - (gen6_dwa_clip.data_bit_offset >> 3)); -+ OUT_BCS_BATCH(batch, gen6_dwa_clip.data_bit_offset >> 3); -+ OUT_BCS_BATCH(batch, -+ (0 << 24) | -+ (0 << 16) | -+ (gen6_dwa_clip.mb_count << 8) | -+ (1 << 5) | -+ (1 << 3) | -+ (gen6_dwa_clip.data_bit_offset & 0x7)); -+ OUT_BCS_BATCH(batch, -+ gen6_dwa_clip.quantiser_scale_code << 24); -+ ADVANCE_BCS_BATCH(batch); -+} -+ -+static void -+gen6_mfd_dwa(VADriverContextP ctx, -+ struct gen6_mfd_context *gen6_mfd_context) -+{ -+ struct intel_batchbuffer *batch = gen6_mfd_context->base.batch; -+ gen6_dwa_init(ctx, gen6_mfd_context); -+ intel_batchbuffer_emit_mi_flush(batch); -+ gen6_dwa_pipe_mode_select(ctx, gen6_mfd_context); -+ gen6_dwa_surface_state(ctx, gen6_mfd_context); -+ gen6_dwa_pipe_buf_addr_state(ctx, gen6_mfd_context); -+ gen6_dwa_bsp_buf_base_addr_state(ctx, gen6_mfd_context); -+ gen6_dwa_mpeg2_qm_state(ctx, gen6_mfd_context); -+ gen6_dwa_mpeg2_pic_state(ctx, gen6_mfd_context); -+ gen6_dwa_ind_obj_base_addr_state(ctx, gen6_mfd_context); -+ gen6_dwa_mpeg2_bsd_object(ctx, gen6_mfd_context); -+} -+ -+/* end of workaround */ -+ - static void - gen6_mfd_avc_frame_store_index(VADriverContextP ctx, - VAPictureParameterBufferH264 *pic_param, -@@ -1055,7 +1426,8 @@ gen6_mfd_avc_decode_picture(VADriverContextP ctx, - } - } - -- gen6_mfd_avc_phantom_slice(ctx, pic_param, gen6_mfd_context); -+ gen6_mfd_dwa(ctx, gen6_mfd_context); -+ - intel_batchbuffer_end_atomic(batch); - intel_batchbuffer_flush(batch); - } -@@ -1944,6 +2316,8 @@ gen6_mfd_vc1_decode_picture(VADriverContextP ctx, - } - } - -+ gen6_mfd_dwa(ctx, gen6_mfd_context); -+ - intel_batchbuffer_end_atomic(batch); - intel_batchbuffer_flush(batch); - } -@@ -2031,6 +2405,7 @@ gen6_dec_hw_context_init(VADriverContextP ctx, VAProfile profile) - } - - gen6_mfd_context->wa_mpeg2_slice_vertical_position = -1; -- -+ gen6_mfd_context->dwa_surface_id = VA_INVALID_ID; -+ - return (struct hw_context *)gen6_mfd_context; - } -diff --git a/src/gen6_mfd.h b/src/gen6_mfd.h -index de131d6..7c4a619 100644 ---- a/src/gen6_mfd.h -+++ b/src/gen6_mfd.h -@@ -72,6 +72,9 @@ struct gen6_mfd_context - GenBuffer bitplane_read_buffer; - - int wa_mpeg2_slice_vertical_position; -+ -+ VASurfaceID dwa_surface_id; -+ dri_bo *dwa_slice_data_bo; - }; - - #endif /* _GEN6_MFD_H_ */ --- -1.7.9.5 - diff --git a/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch b/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch deleted file mode 100644 index 4a467733..00000000 --- a/common/recipes-multimedia/libva/libva-intel-driver/wayland-include.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix a compile error when building without X11. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From a5c44e48dc73b2892f161bd21591c7ee0a3b7842 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Mon, 21 Oct 2013 16:25:18 +0100 -Subject: [PATCH] i965_output_wayland: add missing include - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - src/i965_output_wayland.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/i965_output_wayland.h b/src/i965_output_wayland.h -index 61ca39f..acea8d9 100644 ---- a/src/i965_output_wayland.h -+++ b/src/i965_output_wayland.h -@@ -26,6 +26,7 @@ - #define I965_OUTPUT_WAYLAND_H - - #include <stdbool.h> -+#include <va/va_backend.h> - - bool - i965_output_wayland_init(VADriverContextP ctx); --- -1.7.10.4 - diff --git a/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb b/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb deleted file mode 100644 index ba09c2c6..00000000 --- a/common/recipes-multimedia/libva/libva-intel-driver_1.5.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "VA driver for Intel G45 & HD Graphics family" -DESCRIPTION = "libva-driver-intel is the VA-API implementation \ -for Intel G45 chipsets and Intel HD Graphics for Intel Core \ -processor family." - -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi" -BUGTRACKER = "https://bugs.freedesktop.org" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -DEPENDS = "libva libdrm" - -SRC_URI = "http://www.freedesktop.org/software/vaapi/releases/${BPN}/${BPN}-${PV}.tar.bz2" -SRC_URI += "file://wayland-include.patch" - -SRC_URI[md5sum] = "16752f1584398265072129553b7907ce" -SRC_URI[sha256sum] = "d0b448193ab34b622cd14e4db8ca29991a4038b4eb459a8fbbcbd7db843da3dc" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ - ${@base_contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland virtual/egl" - -FILES_${PN} += "${libdir}/dri/*.so" -FILES_${PN}-dev += "${libdir}/dri/*.la" -FILES_${PN}-dbg += "${libdir}/dri/.debug" diff --git a/common/recipes-multimedia/libva/libva_1.5.0.bb b/common/recipes-multimedia/libva/libva_1.5.0.bb deleted file mode 100644 index 85fe4cdb..00000000 --- a/common/recipes-multimedia/libva/libva_1.5.0.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Video Acceleration (VA) API for Linux" -DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \ -and API specification which enables and provides access to graphics \ -hardware (GPU) acceleration for video processing on Linux and UNIX \ -based operating systems. Accelerated processing includes video \ -decoding, video encoding, subpicture blending and rendering. The \ -specification was originally designed by Intel for its GMA (Graphics \ -Media Accelerator) series of GPU hardware, the API is however not \ -limited to GPUs or Intel specific hardware, as other hardware and \ -manufacturers can also freely use this API for hardware accelerated \ -video decoding." - -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi" -BUGTRACKER = "https://bugs.freedesktop.org" - -SECTION = "x11" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" - -SRC_URI = "http://www.freedesktop.org/software/vaapi/releases/libva/${BP}.tar.bz2" -SRC_URI[md5sum] = "ad0b55794308ec397d249a0a2a6df27a" -SRC_URI[sha256sum] = "e946d4b3110e4e23ec6a588e0c828937e502c67196d1266214441fefc4b83486" - -DEPENDS = "libdrm virtual/mesa virtual/libgles1 virtual/libgles2 virtual/egl" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-dummy-driver" - -PACKAGECONFIG ??= "${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ - ${@base_contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" - -PACKAGES =+ "${PN}-x11 ${PN}-tpi ${PN}-glx ${PN}-egl ${PN}-wayland" - -RDEPENDS_${PN}-tpi =+ "${PN}" -RDEPENDS_${PN}-x11 =+ "${PN}" -RDEPENDS_${PN}-glx =+ "${PN}-x11" -RDEPENDS_${PN}-egl =+ "${PN}-x11" - -FILES_${PN}-dbg += "${libdir}/dri/.debug" - -FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" -FILES_${PN}-tpi =+ "${libdir}/libva-tpi*${SOLIBS}" -FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" -FILES_${PN}-egl =+ "${libdir}/libva-egl*${SOLIBS}" -FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/common/recipes-multimedia/libva/va-intel.bb b/common/recipes-multimedia/libva/va-intel.bb deleted file mode 100644 index 93df94d2..00000000 --- a/common/recipes-multimedia/libva/va-intel.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Video Acceleration Add-ons for Intel BSPs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -PR = "r1" - -def map_valibs(d): - # The intel implementation requires the libva-intel-driver package - if base_contains('MACHINE_FEATURES', 'va-impl-intel', "1", "0", d) == "1": - return "libva libva-intel-driver" - # All meta-intel video acceleration requires libva - return "libva" - -VA_IMPL = "${@map_valibs(d)}" - -PACKAGES = "\ - va-intel \ - " - -ALLOW_EMPTY_va-intel = "1" - -RDEPENDS_va-intel = " \ - ${VA_IMPL} \ - " - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux*' diff --git a/conf/include/maintainers.inc b/conf/include/maintainers.inc new file mode 100644 index 00000000..b9218e7b --- /dev/null +++ b/conf/include/maintainers.inc @@ -0,0 +1,24 @@ +# This file contains a list of recipe maintainers for meta-intel + +RECIPE_MAINTAINER_pn-core-image-rt = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-core-image-rt-sdk = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-gmmlib = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-intel-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-intel-media-driver = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-intel-mediasdk = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-iucode-tool = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-intel-vaapi-driver = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-libyami = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-libyami-utils = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-linux-intel = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-linux-intel-rt = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-mkl-dnn = "Ankit Navik <ankit.tarot@gmail.com>" +RECIPE_MAINTAINER_pn-metrics-discovery = "Ankit Navik <ankit.tarot@gmail.com>" +RECIPE_MAINTAINER_pn-libxcam = "Ankit Navik <ankit.tarot@gmail.com>" +RECIPE_MAINTAINER_pn-isa-l = "Ankit Navik <ankit.tarot@gmail.com>" +RECIPE_MAINTAINER_pn-libipt = "Ankit Navik <ankit.tarot@gmail.com>" +RECIPE_MAINTAINER_pn-librealsense = "Ankit Navik <ankit.tarot@gmail.com>" diff --git a/conf/layer.conf b/conf/layer.conf index 3b7de9aa..eb55b70b 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -2,16 +2,47 @@ BBPATH .= ":${LAYERDIR}" # We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/common/recipes-*/*/*.bb \ - ${LAYERDIR}/common/recipes-*/*/*.bbappend" +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" BBFILE_COLLECTIONS += "intel" -BBFILE_PATTERN_intel := "^${LAYERDIR}/common/" +BBFILE_PATTERN_intel := "^${LAYERDIR}/" BBFILE_PRIORITY_intel = "5" # Additional license directories. -LICENSE_PATH += "${LAYERDIR}/common/custom-licenses" +LICENSE_PATH += "${LAYERDIR}/custom-licenses" + +LAYERDEPENDS_intel = "core" +LAYERRECOMMENDS_intel = "dpdk intel-qat" # This should only be incremented on significant changes that will # cause compatibility issues with other layers -LAYERVERSION_intel = "2" +LAYERVERSION_intel = "5" +LAYERSERIES_COMPAT_intel = " zeus dunfell" + +BBFILES_DYNAMIC += " \ + clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \ + clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bbappend \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \ + meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \ + virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bb \ + virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bbappend \ +" + +require ${LAYERDIR}/conf/include/maintainers.inc + +PREFERRED_PROVIDER_zlib ?= "zlib" +PREFERRED_PROVIDER_zlib-native ?= "zlib-native" +PREFERRED_PROVIDER_nativesdk-zlib ?= "nativesdk-zlib" + +PREFERRED_PROVIDER_libva ?= "libva" +PREFERRED_PROVIDER_libva-native ?= "libva-native" +PREFERRED_PROVIDER_nativesdk-libva ?= "nativesdk-libva" + +PREFERRED_PROVIDER_libva-utils ?= "libva-utils" +PREFERRED_PROVIDER_libva-native ?= "libva-utils-native" +PREFERRED_PROVIDER_nativesdk-libva-utils ?= "nativesdk-libva-utils" + +COMPAT_DISTRO_FEATURE_CHECK = "${@bb.utils.contains('LAYERSERIES_CORENAMES', 'zeus', 'distro_features_check', 'features_check', d)}" diff --git a/conf/machine/README b/conf/machine/README deleted file mode 100644 index 4bab5c14..00000000 --- a/conf/machine/README +++ /dev/null @@ -1,40 +0,0 @@ -The intel-* BSPs, also known as the intel-common BSPs, provide a few -carefully selected tune options and generic hardware support to cover -the majority of current Intel CPUs and devices. The naming follows the -convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type (used -with mtune and march typically) and BITS is either 32 bit or 64 bit. - -intel-core2-32 -This BSP is optimized for the Core2 family of CPUs as well as all Atom -CPUs prior to the Silvermont core. - -intel-corei7-64 -This BSP is optimized for Nehalem and later Core and Xeon CPUs as well -as Silvermont and later Atom CPUs, such as the Baytrail SoCs. - -These BSPs use what we call the intel-common Linux kernel package -architecture. This includes core2-32-intel-common and -corei7-64-intel-common. These kernel packages can also be used by any of -the BSPs in meta-intel that choose to include the -intel-common-pkgarch.inc file. To minimize the proliferation of vendor -trees, reduce the sources we must support, and consolidate QA efforts, -all BSP maintainers are encouraged to make use of the intel-common Linux -kernel package architecture. - -Of the BSPs presently included in meta-intel, the following have passed -initial testing with the intel-common BSPs (rather than the named BSP): - -For intel-corei7-64: - crystalforest-server - crystalforest-gladden - haswell-wc - nuc (Ivy Bridge and Haswell, manual audio config required) - romley - sugarbay - -For intel-core2-32: - <currently under test> - -If you are interested in a BSP not listed here, chances are we are -currently working on resolving some configuration issues with it. Please -check the bugzilla and check in with us on the meta-intel mailing list. diff --git a/conf/machine/include/intel-common-pkgarch.inc b/conf/machine/include/intel-common-pkgarch.inc index 66aac126..d0f208bd 100644 --- a/conf/machine/include/intel-common-pkgarch.inc +++ b/conf/machine/include/intel-common-pkgarch.inc @@ -1,7 +1,15 @@ INTEL_COMMON_PACKAGE_ARCH ?= "${TUNE_PKGARCH}-intel-common" +PACKAGE_ARCH_pn-linux-intel = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-rt = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-tiny = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-dev = "${INTEL_COMMON_PACKAGE_ARCH}" PACKAGE_ARCH_pn-linux-yocto = "${INTEL_COMMON_PACKAGE_ARCH}" PACKAGE_ARCH_pn-linux-yocto-rt = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-yocto-tiny = "${INTEL_COMMON_PACKAGE_ARCH}" PACKAGE_ARCH_pn-linux-yocto-dev = "${INTEL_COMMON_PACKAGE_ARCH}" PACKAGE_ARCH_pn-intel-microcode = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-backport-iwlwifi = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-ixgbe = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-ixgbevf = "${INTEL_COMMON_PACKAGE_ARCH}" PACKAGE_EXTRA_ARCHS_append += "${INTEL_COMMON_PACKAGE_ARCH}" MACHINEOVERRIDES =. "${INTEL_COMMON_PACKAGE_ARCH}:" diff --git a/conf/machine/include/meta-intel.inc b/conf/machine/include/meta-intel.inc index 7dc0095d..dd37d018 100644 --- a/conf/machine/include/meta-intel.inc +++ b/conf/machine/include/meta-intel.inc @@ -4,26 +4,55 @@ # to use them. # -# -# XSERVER subcomponents, used to build the XSERVER variable -# +PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel" +PREFERRED_PROVIDER_virtual/kernel_poky-tiny ?= "linux-intel" -# for Xserver older than 1.13.0 -OLD_XSERVER_X86_EXT = "xserver-xorg-extension-dri \ - xserver-xorg-extension-dri2 \ - xserver-xorg-extension-extmod \ - xserver-xorg-extension-dbe \ - " +# Only use the Intel-tuned zlib for target builds to improve reuse +PREFERRED_PROVIDER_zlib = "zlib-intel" +PREFERRED_PROVIDER_zlib-native = "zlib-native" +PREFERRED_PROVIDER_nativesdk-zlib = "nativesdk-zlib" -XSERVER_X86_MATROX_MGA = "xf86-video-mga \ - " +PREFERRED_PROVIDER_libva = "libva-intel" +PREFERRED_PROVIDER_libva-native = "libva-intel-native" +PREFERRED_PROVIDER_nativesdk-libva = "nativesdk-libva-intel" + +PREFERRED_PROVIDER_libva-utils = "libva-utils-intel" +PREFERRED_PROVIDER_libva-native = "libva-utils-intel-native" +PREFERRED_PROVIDER_nativesdk-libva-utils = "nativesdk-libva-utils-intel" + +PREFERRED_VERSION_linux-intel ?= "5.4%" +PREFERRED_VERSION_linux-intel-rt ?= "5.4%" +PREFERRED_VERSION_linux-intel_poky-altcfg ?= "4.19%" +PREFERRED_VERSION_linux-intel-rt_poky-altcfg ?= "4.19%" + +PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVMVERSION', '9.0.1', '9.0.0', '10.0.0', d)}" +PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVMVERSION', '9.0.1', '9.0.0', '10.0.0', d)}" XSERVER_X86_ASPEED_AST = "xf86-video-ast \ " # include the user space intel microcode loading support in the generated images. -MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)}" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)} thermald" + +# recommended extra packages common to all intel machines +MACHINE_EXTRA_RRECOMMENDS_append = " kernel-modules linux-firmware" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append = " kernel-module-i915 linux-firmware-i915" # for the early boot time kernel microcode loading support, # merge the microcode data in the final initrd image. -INITRD_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}" +INITRD_LIVE_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}" + +DISK_SIGNATURE_UUID ??= "deadbeef-dead-beef-dead-beefdeadbeef" + +EFI_PROVIDER ?= "systemd-boot" +EFI_PROVIDER_x86-x32 = "grub-efi" + +# Add general MACHINEOVERRIDE for meta-intel +MACHINEOVERRIDES =. "intel-x86-common:" + +# Definition of (more or less) suitable virtual machines. +require conf/machine/include/qemuboot-intel.inc + +# Ensure that the extra tools needed by qemu are built when building images +# and tweak machine definition to make the result more usable under qemu. +require conf/machine/include/qemu-intel.inc diff --git a/conf/machine/include/qemu-intel.inc b/conf/machine/include/qemu-intel.inc new file mode 100644 index 00000000..81510404 --- /dev/null +++ b/conf/machine/include/qemu-intel.inc @@ -0,0 +1,19 @@ +# Similar to meta/conf/machine/include/qemu.inc but influences the +# distro content (in particular the kernel) less than qemu.inc. + +# Ensure that qemu gets built when building images. +EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" + +# Build ovmf firmware for uefi support in qemu. +EXTRA_IMAGEDEPENDS += "ovmf" + +# runqemu uses virtio, so we have to enable the corresponding +# kernel drivers. +KERNEL_FEATURES_INTEL_COMMON += "cfg/virtio.scc" + +# Other useful extensions which are not enabled by default: +# rng-tools to take advantage of qemu's virtio-rng-pci device. +# MACHINE_EXTRA_RRECOMMENDS += "rng-tools" + +# Creates the necessary .qemuboot.conf file for each image. +IMAGE_CLASSES += "qemuboot" diff --git a/conf/machine/include/qemuboot-intel.inc b/conf/machine/include/qemuboot-intel.inc new file mode 100644 index 00000000..befcc250 --- /dev/null +++ b/conf/machine/include/qemuboot-intel.inc @@ -0,0 +1,19 @@ +# For runqemu +IMAGE_CLASSES += "qemuboot" +QB_SYSTEM_NAME_intel-core2-32 = "qemu-system-i386" +QB_CPU_intel-core2-32 = "-cpu coreduo" +QB_CPU_KVM_intel-core2-32 = "-cpu kvm32" + +QB_SYSTEM_NAME_intel-corei7-64 = "qemu-system-x86_64" +QB_CPU_intel-corei7-64 = "-cpu Nehalem" +QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64" + +QB_SYSTEM_NAME_intel-skylake-64 = "qemu-system-x86_64" +QB_CPU_intel-skylake-64 = "-cpu Skylake-Client" +QB_CPU_KVM_intel-skylake-64 = "-cpu Skylake-Client" + +QB_AUDIO_DRV = "alsa" +QB_AUDIO_OPT = "-soundhw ac97,es1370" +QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci" diff --git a/conf/machine/include/tune-skylake.inc b/conf/machine/include/tune-skylake.inc new file mode 100644 index 00000000..4882600b --- /dev/null +++ b/conf/machine/include/tune-skylake.inc @@ -0,0 +1,48 @@ +# Settings for the GCC(1) cpu-type "skylake": +# +# Intel Skylake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, +# SSE4.2, AVX, AVX2 and POPCNT instruction set support. +# +# This tune is recommended for Intel Skylake CPU (and beyond). +# +DEFAULTTUNE ?= "skylake-64" + +# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS +require conf/machine/include/tune-corei7.inc + +# Extra tune features +TUNEVALID[skylake] = "Enable skylake specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'skylake', ' -march=skylake ${SKYLAKE_TUNE} -mfpmath=sse', '', d)}" + +# Extra tune selections + +AVAILTUNES += "skylake-64" +TUNE_FEATURES_tune-skylake-64 = "${TUNE_FEATURES_tune-x86-64} skylake" +BASE_LIB_tune-skylake-64 = "lib64" +TUNE_PKGARCH_tune-skylake-64 = "skylake-64" +PACKAGE_EXTRA_ARCHS_tune-skylake-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} skylake-64" +QEMU_EXTRAOPTIONS_skylake-64 = " -cpu Skylake-Client" + + +# Disable QEMU usermode by default (get avx2) +MACHINE_FEATURES_remove = "qemu-usermode" + +# If qemu-usermode is enabled, we have to disable avx2 ISA extensions, but we can keep mtune as skylake vs generic +SKYLAKE_TUNE .= "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', ' -mtune=skylake ${QEMU_UNAVAILABLE_ISA}', '-mtune=generic -mavx2', d)}" + +QEMU_UNAVAILABLE_ISA = " \ +-mno-avx \ +-mno-avx2 \ +-mno-avx512f \ +-mno-avx512er \ +-mno-avx512cd \ +-mno-avx512pf \ +-mno-avx512dq \ +-mno-avx512bw \ +-mno-avx512vl \ +-mno-avx512ifma \ +-mno-avx512vbmi \ +-mno-avx512vbmi2 \ +-mno-avx512vnni \ +-mno-avx512bitalg \ +" diff --git a/conf/machine/intel-core2-32.conf b/conf/machine/intel-core2-32.conf index 2b79165f..20c98726 100644 --- a/conf/machine/intel-core2-32.conf +++ b/conf/machine/intel-core2-32.conf @@ -7,17 +7,14 @@ require conf/machine/include/meta-intel.inc require conf/machine/include/intel-core2-32-common.inc require conf/machine/include/intel-common-pkgarch.inc -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.19%" - MACHINE_FEATURES += "pcbios efi" -MACHINE_FEATURES += "va-impl-intel" -MACHINE_FEATURES += "wifi 3g" +MACHINE_FEATURES += "wifi 3g nfc" MACHINE_FEATURES += "intel-ucode" -MACHINE_HWCODECS ?= "va-intel gstreamer-vaapi-1.0" +MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi" -MACHINE_EXTRA_RRECOMMENDS += "linux-firmware" +# Enable optional QAT items: +COMPATIBLE_MACHINE_pn-qat17 = "intel-core2-32" XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_EXT} \ @@ -26,8 +23,13 @@ XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_I965} \ ${XSERVER_X86_MODESETTING} \ ${XSERVER_X86_VESA} \ + ${XSERVER_X86_ASPEED_AST} \ " SYSLINUX_OPTS = "serial 0 115200" -SERIAL_CONSOLE = "115200 ttyS0" -APPEND += "console=ttyS0,115200 console=tty0" +SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyPCH0" +APPEND += "rootwait console=ttyS0,115200 console=ttyPCH0,115200 console=tty0" + +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}" +WKS_FILE_DEPENDS_append = " intel-microcode" diff --git a/conf/machine/intel-corei7-64.conf b/conf/machine/intel-corei7-64.conf index 491ef04e..6164bf3e 100644 --- a/conf/machine/intel-corei7-64.conf +++ b/conf/machine/intel-corei7-64.conf @@ -7,28 +7,34 @@ require conf/machine/include/meta-intel.inc require conf/machine/include/intel-corei7-64-common.inc require conf/machine/include/intel-common-pkgarch.inc -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.19%" - MACHINE_FEATURES += "pcbios efi" -MACHINE_FEATURES += "va-impl-intel" -MACHINE_FEATURES += "wifi 3g" +MACHINE_FEATURES += "wifi 3g nfc" MACHINE_FEATURES += "intel-ucode" -MACHINE_HWCODECS ?= "va-intel gstreamer-vaapi-1.0" +MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver intel-mediasdk', d)} intel-vaapi-driver gstreamer1.0-vaapi" + +# Enable optional dpdk: +COMPATIBLE_MACHINE_pn-dpdk = "intel-corei7-64" -MACHINE_EXTRA_RRECOMMENDS += "linux-firmware lms8" +# Enable optional QAT items: +COMPATIBLE_MACHINE_pn-qat16 = "intel-corei7-64" +COMPATIBLE_MACHINE_pn-qat17 = "intel-corei7-64" +COMPATIBLE_MACHINE_pn-zlib-qat = "intel-corei7-64" XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_EXT} \ ${XSERVER_X86_FBDEV} \ ${XSERVER_X86_I915} \ ${XSERVER_X86_I965} \ - ${XSERVER_X86_MATROX_MGA} \ ${XSERVER_X86_MODESETTING} \ ${XSERVER_X86_VESA} \ + ${XSERVER_X86_ASPEED_AST} \ " SYSLINUX_OPTS = "serial 0 115200" -SERIAL_CONSOLE = "115200 ttyS0" -APPEND += "console=ttyS0,115200 console=tty0" +SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2" +APPEND += "rootwait console=ttyS0,115200 console=tty0" + +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}" +WKS_FILE_DEPENDS_append = " intel-microcode" diff --git a/conf/machine/intel-skylake-64.conf b/conf/machine/intel-skylake-64.conf new file mode 100644 index 00000000..6ae80a5a --- /dev/null +++ b/conf/machine/intel-skylake-64.conf @@ -0,0 +1,35 @@ +#@TYPE: Machine +#@NAME: intel-skylake-64 + +#@DESCRIPTION: Machine configuration for 64 bit Intel Skylake CPU (and later) with MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, and AVX2 instruction set support. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware. + +require conf/machine/include/meta-intel.inc +require conf/machine/include/x86-base.inc +require conf/machine/include/tune-skylake.inc +require conf/machine/include/intel-common-pkgarch.inc + +MACHINE_FEATURES += "efi" +MACHINE_FEATURES += "wifi 3g nfc" +MACHINE_FEATURES += "intel-ucode" + +MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk intel-vaapi-driver gstreamer1.0-vaapi" + +COMPATIBLE_MACHINE_pn-dpdk = "intel-skylake-64" + +XSERVER ?= "${XSERVER_X86_BASE} \ + ${XSERVER_X86_EXT} \ + ${XSERVER_X86_FBDEV} \ + ${XSERVER_X86_I915} \ + ${XSERVER_X86_I965} \ + ${XSERVER_X86_MODESETTING} \ + ${XSERVER_X86_VESA} \ + ${XSERVER_X86_ASPEED_AST} \ + " + +SYSLINUX_OPTS = "serial 0 115200" +SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2" +APPEND += "rootwait console=ttyS0,115200 console=tty0" + +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}" +WKS_FILE_DEPENDS_append = " intel-microcode" diff --git a/custom-licenses/ACE-TAO-CIAO b/custom-licenses/ACE-TAO-CIAO new file mode 100644 index 00000000..67fc5632 --- /dev/null +++ b/custom-licenses/ACE-TAO-CIAO @@ -0,0 +1,111 @@ + + _________________________________________________________________ + + Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), + DAnCE(TM), and CoSMIC(TM) + + [1]ACE(TM), [2]TAO(TM), [3]CIAO(TM), DAnCE(TM), and [4]CoSMIC(TM) + (henceforth referred to as "DOC software") are copyrighted by + [5]Douglas C. Schmidt and his [6]research group at [7]Washington + University, [8]University of California, Irvine, and [9]Vanderbilt + University, Copyright (c) 1993-2018, all rights reserved. Since DOC + software is open-source, freely available software, you are free to + use, modify, copy, and distribute--perpetually and irrevocably--the + DOC software source code and object code produced from the source, as + well as copy and distribute modified versions of this software. You + must, however, include this copyright statement along with any code + built using DOC software that you release. No copyright statement + needs to be provided if you just ship binary executables of your + software products. + + You can use DOC software in commercial and/or binary software releases + and are under no obligation to redistribute any of your source code + that is built using DOC software. Note, however, that you may not + misappropriate the DOC software code, such as copyrighting it yourself + or claiming authorship of the DOC software code, in a way that will + prevent DOC software from being distributed freely using an + open-source development model. You needn't inform anyone that you're + using DOC software in your software, though we encourage you to let + [10]us know so we can promote your project in the [11]DOC software + success stories. + + The [12]ACE, [13]TAO, [14]CIAO, [15]DAnCE, and [16]CoSMIC web sites + are maintained by the [17]DOC Group at the [18]Institute for Software + Integrated Systems (ISIS) and the [19]Center for Distributed Object + Computing of Washington University, St. Louis for the development of + open-source software as part of the open-source software community. + Submissions are provided by the submitter ``as is'' with no warranties + whatsoever, including any warranty of merchantability, noninfringement + of third party intellectual property, or fitness for any particular + purpose. In no event shall the submitter be liable for any direct, + indirect, special, exemplary, punitive, or consequential damages, + including without limitation, lost profits, even if advised of the + possibility of such damages. Likewise, DOC software is provided as is + with no warranties of any kind, including the warranties of design, + merchantability, and fitness for a particular purpose, + noninfringement, or arising from a course of dealing, usage or trade + practice. Washington University, UC Irvine, Vanderbilt University, + their employees, and students shall have no liability with respect to + the infringement of copyrights, trade secrets or any patents by DOC + software or any part thereof. Moreover, in no event will Washington + University, UC Irvine, or Vanderbilt University, their employees, or + students be liable for any lost revenue or profits or other special, + indirect and consequential damages. + + DOC software is provided with no support and without any obligation on + the part of Washington University, UC Irvine, Vanderbilt University, + their employees, or students to assist in its use, correction, + modification, or enhancement. A [20]number of companies around the + world provide commercial support for DOC software, however. DOC + software is Y2K-compliant, as long as the underlying OS platform is + Y2K-compliant. Likewise, DOC software is compliant with the new US + daylight savings rule passed by Congress as "The Energy Policy Act of + 2005," which established new daylight savings times (DST) rules for + the United States that expand DST as of March 2007. Since DOC software + obtains time/date and calendaring information from operating systems + users will not be affected by the new DST rules as long as they + upgrade their operating systems accordingly. + + The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), + Washington University, UC Irvine, and Vanderbilt University, may not + be used to endorse or promote products or services derived from this + source without express written permission from Washington University, + UC Irvine, or Vanderbilt University. This license grants no permission + to call products or services derived from this source ACE(TM), + TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant + permission for the name Washington University, UC Irvine, or + Vanderbilt University to appear in their names. + + If you have any suggestions, additions, comments, or questions, please + let [21]me know. + + [22]Douglas C. Schmidt + _________________________________________________________________ + + Back to the [23]ACE home page. + +References + + 1. http://www.dre.vanderbilt.edu/~schmidt/ACE.html + 2. http://www.dre.vanderbilt.edu/~schmidt/TAO.html + 3. http://www.dre.vanderbilt.edu/CIAO/ + 4. http://www.dre.vanderbilt.edu/cosmic/ + 5. http://www.dre.vanderbilt.edu/~schmidt/ + 6. http://www.dre.vanderbilt.edu/~schmidt/ACE-members.html + 7. http://www.wustl.edu/ + 8. http://www.uci.edu/ + 9. http://www.vanderbilt.edu/ + 10. mailto:doc_group@cs.wustl.edu + 11. http://www.dre.vanderbilt.edu/~schmidt/ACE-users.html + 12. http://www.dre.vanderbilt.edu/~schmidt/ACE.html + 13. http://www.dre.vanderbilt.edu/~schmidt/TAO.html + 14. http://www.dre.vanderbilt.edu/CIAO/ + 15. http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/DAnCE/ + 16. http://www.dre.vanderbilt.edu/cosmic/ + 17. http://www.dre.vanderbilt.edu/ + 18. http://www.isis.vanderbilt.edu/ + 19. http://www.cs.wustl.edu/~schmidt/doc-center.html + 20. http://www.dre.vanderbilt.edu/~schmidt/commercial-support.html + 21. mailto:d.schmidt@vanderbilt.edu + 22. http://www.dre.vanderbilt.edu/~schmidt/ + 23. http://www.dre.vanderbilt.edu/~schmidt/ACE.html diff --git a/custom-licenses/ISSL b/custom-licenses/ISSL new file mode 100644 index 00000000..5435ee04 --- /dev/null +++ b/custom-licenses/ISSL @@ -0,0 +1,63 @@ +Intel Simplified Software License (Version April 2018) + +Copyright (c) 2018 Intel Corporation. + +Use and Redistribution. You may use and redistribute the software (the "Software"), without modification, +provided the following conditions are met: + +* Redistributions must reproduce the above copyright notice and the following terms of use in the Software +and in the documentation and/or other materials provided with the distribution. + +* Neither the name of Intel nor the names of its suppliers may be used to endorse or promote products derived +from this Software without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this Software is permitted. + +Limited patent license. Intel grants you a world-wide, royalty-free, non-exclusive license under patents +it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") +this Software, but solely to the extent that any such patent is necessary to Utilize the Software alone. +The patent license shall not apply to any combinations which include this software. No hardware per se +is licensed hereunder. + +Third party and other Intel programs. "Third Party Programs" are the files listed in the +"third-party-programs.txt" text file that is included with the Software and may include Intel programs +under separate license terms. Third Party Programs, even if included with the distribution of the Materials, +are governed by separate license terms and those license terms solely govern your use of those programs. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +AND NON-INFRINGEMENT ARE DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS +WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE THAT YOU ARE FULLY RESPONSIBLE +FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND ATTORNEYSā FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM +ALLEGES THAT INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS. + +LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU AGREE TO +INDEMNIFY AND HOLD INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR UNAUTHORIZED +USE OF THE SOFTWARE. + +No support. Intel may make changes to the Software, at any time without notice, and is not obligated to +support, update or provide training for the Software. + +Termination. Intel may terminate your right to use the Software in the event of your breach of this Agreement +and you fail to cure the breach within a reasonable period of time. + +Feedback. Should you provide Intel with comments, modifications, corrections, enhancements or other input +("Feedback") related to the Software Intel will be free to use, disclose, reproduce, license or otherwise +distribute or exploit the Feedback in its sole discretion without any obligations or restrictions of any +kind, including without limitation, intellectual property rights or licensing obligations. + +Compliance with laws. You agree to comply with all relevant laws and regulations governing your use, +transfer, import or export (or prohibition thereof) of the Software. + +Governing law. All disputes will be governed by the laws of the United States of America and the State +of Delaware without reference to conflict of law principles and subject to the exclusive jurisdiction of +the state or federal courts sitting in the State of Delaware, and each party agrees that it submits to +the personal jurisdiction and venue of those courts and waives any objections. The United Nations +Convention on Contracts for the International Sale of Goods (1980) is specifically excluded and will +not apply to the Software. + +*Other names and brands may be claimed as the property of others.
\ No newline at end of file diff --git a/custom-licenses/Intel-Microcode-License b/custom-licenses/Intel-Microcode-License new file mode 100644 index 00000000..707d0908 --- /dev/null +++ b/custom-licenses/Intel-Microcode-License @@ -0,0 +1,37 @@ +Copyright (c) 2018-2019 Intel Corporation.
+All rights reserved.
+
+Redistribution.
+
+Redistribution and use in binary form, without modification, are permitted,
+provided that the following conditions are met:
+
+1. Redistributions must reproduce the above copyright notice and the
+ following disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+2. Neither the name of Intel Corporation nor the names of its suppliers may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+3. No reverse engineering, decompilation, or disassembly of this software
+ is permitted.
+
+
+"Binary form" includes any format that is commonly used for electronic
+conveyance that is a reversible, bit-exact translation of binary
+representation to ASCII or ISO text, for example "uuencode".
+
+DISCLAIMER.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/documentation/secureboot/README b/documentation/secureboot/README new file mode 100644 index 00000000..3d5703bb --- /dev/null +++ b/documentation/secureboot/README @@ -0,0 +1,38 @@ +Currently, only one implementation of Secure Boot is available out of the box, +which is using a single signed EFI application to directly boot the kernel with +an optional initramfs. + +This can be added to your build either through local.conf, or via your own +custom image recipe. + +If you are adding it via local.conf, set the following variables: + +IMAGE_FEATURES += "secureboot" +WKS_FILE = "generic-bootdisk.wks.in" +SECURE_BOOT_SIGNING_KEY = "/path/to/your/signing/key" +SECURE_BOOT_SIGNING_CERT = "/path/to/your/signing/cert" +IMAGE_CLASSES += "uefi-comboapp" + +If working with an image recipe, you can inherit uefi-comboapp directly instead +of using the IMAGE_CLASSES variable. + +The signing keys and certs can be created via openssl commands. Here's an +example: +openssl req -new -x509 -newkey rsa:2048 -subj "/CN=your-subject/" -keyout \ +your-key.key -out your-key.crt -days 365 -nodes -sha256 +openssl x509 -in your-key.crt -out your-key.cer -outform DER + +The .crt file is your SECURE_BOOT_SIGNING_CERT, and the .key file is your +SECURE_BOOT_SIGNING_KEY. + +You should enroll the .crt key in your firmware under the PK, KEK, and DB +options (methods are different depending on your firmware). If a key should ever +become invalid, enroll it under DBX to blacklist it. + +The comboapp can be further manipulated in a number of ways. You can modify the +kernel command line via the APPEND variable, you can change the default UUID via +the DISK_SIGNATURE_UUID variable, and you can modify the contents of the +initramfs via the INITRD_IMAGE or INITRD_LIVE variables. + +A simple Secure Boot enabled image used for testing can be viewed at: +common/recipes-selftest/images/secureboot-selftest-image-signed.bb diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/files/0001-src-CMakeLists.txt-fix-FindOpenCL.cmake-source-path.patch b/dynamic-layers/clang-layer/recipes-core/dnn/files/0001-src-CMakeLists.txt-fix-FindOpenCL.cmake-source-path.patch new file mode 100644 index 00000000..aee0934a --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/files/0001-src-CMakeLists.txt-fix-FindOpenCL.cmake-source-path.patch @@ -0,0 +1,34 @@ +From 89ebbee73ff0af48eaaec63335b749a176a317bb Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 21 Apr 2020 09:18:09 +0800 +Subject: [PATCH 1/2] src/CMakeLists.txt: fix FindOpenCL.cmake source path + +The existing logic doesn't work when DESTDIR is being passed to cmake. +The file is installed in DESTDIR/CMAKE_INSTALL_PREFIX/libdir while we're +trying to copy it from CMAKE_INSTALL_PREFIX/libdir. + +Use the file from source tree instead. + +Upstream-Status: Submitted + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 88e318923..0c99fefae 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -203,7 +203,7 @@ if(DNNL_GPU_RUNTIME STREQUAL "OCL") + install(FILES + "../cmake/FindOpenCL.cmake" + DESTINATION ${LIB_CONFIG_INSTALL_DIR}) +- install(FILES "${CMAKE_INSTALL_PREFIX}/${LIB_CONFIG_INSTALL_DIR}/FindOpenCL.cmake" ++ install(FILES "../cmake/FindOpenCL.cmake" + DESTINATION ${LIB_CONFIG_INSTALL_DIR_COMPAT}) + endif() + +-- +2.25.3 + diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/files/0002-src-CMakeLists.txt-use-value-of-DESTDIR.patch b/dynamic-layers/clang-layer/recipes-core/dnn/files/0002-src-CMakeLists.txt-use-value-of-DESTDIR.patch new file mode 100644 index 00000000..02c0f81e --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/files/0002-src-CMakeLists.txt-use-value-of-DESTDIR.patch @@ -0,0 +1,33 @@ +From 3693305c9497f940b011e3e8b9d707d4f8075234 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 21 Apr 2020 09:19:38 +0800 +Subject: [PATCH 2/2] src/CMakeLists.txt: use value of DESTDIR + +Make sure that we're using the value of DESTDIR for the paths that are +being created to look into paths of installed files. Ensure that +cmake_install.cmake actually has $ENV{DESTDIR} which gets expanded if +it's being passed to cmake. + +Upstream-Status: Submitted + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0c99fefae..2f1499d0d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -137,7 +137,7 @@ install(EXPORT ${LIB_EXPORT_NAME} + + # Intel MKL-DNN compat cmake files + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} +- -DDIR=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake ++ -DDIR=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake + -P ${PROJECT_SOURCE_DIR}/cmake/gen_mkldnn_compat_cmakes.cmake)") + + # Intel MKL-DNN compat libraries +-- +2.25.3 + diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest new file mode 100755 index 00000000..82d4df58 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh + +cd tests +./api-c +if [ $? -eq 0 ]; then + echo 'PASS: api-c' +else + echo 'FAIL: api-c' +fi +./test_c_symbols-c +if [ $? -eq 0 ]; then + echo 'PASS: test_c_symbols-c' +else + echo 'FAIL: test_c_symbols-c' +fi diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_1.4.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_1.4.bb new file mode 100644 index 00000000..bf452890 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_1.4.bb @@ -0,0 +1,58 @@ +HOMEPAGE = "https://www.oneapi.com" +SUMMARY = "Deep Neural Network Library" +DESCRIPTION = "This software is a user mode library that accelerates\ +deep-learning applications and frameworks on Intel architecture." +LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3c6ff4426dbd618bcfd552ac4a7c1c56 \ + file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ + file://src/cpu/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ + file://src/cpu/jit_utils/jitprofiling/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ + file://doc/assets/mathjax/MathJax.js;endline=17;md5=25a014ad78c3d72a0e15d15f1d007c20 \ + file://src/common/primitive_hashing.hpp;beginline=52;endline=55;md5=f56de33cb6ec02de60006b10e027b300 \ + " +SECTION = "lib" + +inherit pkgconfig cmake ptest + +S = "${WORKDIR}/git" +SRCREV = "f7c41dc7b5471ad8bf7905e459bbed27f9094caa" +SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v1.4 \ + file://0001-src-CMakeLists.txt-fix-FindOpenCL.cmake-source-path.patch \ + file://0002-src-CMakeLists.txt-use-value-of-DESTDIR.patch \ + file://run-ptest \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" + +CVE_PRODUCT = "intel:math_kernel_library" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = 'null' + +EXTRA_OECMAKE += " \ + -DDNNL_LIBRARY_TYPE=SHARED \ + -DDNNL_BUILD_EXAMPLES=ON \ + -DDNNL_BUILD_TESTS=ON \ + -DDNNL_CPU_RUNTIME=OMP \ + -DDNNL_ARCH_OPT_FLAGS="" \ + -DCMAKE_SKIP_RPATH=ON \ + " + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-icd-loader, intel-compute-runtime" + +do_install_append () { + install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs + install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn + cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/api-c ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/test_c_symbols-c ${D}${PTEST_PATH}/tests +} + +PACKAGES =+ "${PN}-test" + +FILES_${PN}-test = "${bindir}/mkl-dnn/*" diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch new file mode 100644 index 00000000..da2475f9 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch @@ -0,0 +1,68 @@ +From 559fb8f82295ec4dc64a132b6566939b85c1b6fe Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Thu, 15 Aug 2019 22:34:31 +0800 +Subject: [PATCH] dont export targets for binaries + +The projects using LLVM cmake modules look for target binaries in +sysroot as a result which isn't desirable in this case and isn't needed +either. + +Upstream-Status: Inappropriate [cross-compile specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + llvm/cmake/modules/AddLLVM.cmake | 9 --------- + llvm/cmake/modules/TableGen.cmake | 6 ------ + 2 files changed, 15 deletions(-) + +diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake +index 619e986b8aa..d2bc1a25dd9 100644 +--- a/llvm/cmake/modules/AddLLVM.cmake ++++ b/llvm/cmake/modules/AddLLVM.cmake +@@ -898,12 +898,6 @@ macro(add_llvm_tool name) + + if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + if( LLVM_BUILD_TOOLS ) +- set(export_to_llvmexports) +- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR +- NOT LLVM_DISTRIBUTION_COMPONENTS) +- set(export_to_llvmexports EXPORT LLVMExports) +- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) +- endif() + + install(TARGETS ${name} + ${export_to_llvmexports} +@@ -917,9 +911,6 @@ macro(add_llvm_tool name) + endif() + endif() + endif() +- if( LLVM_BUILD_TOOLS ) +- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) +- endif() + set_target_properties(${name} PROPERTIES FOLDER "Tools") + endmacro(add_llvm_tool name) + +diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake +index 36c026b5c0f..537acd696d8 100644 +--- a/llvm/cmake/modules/TableGen.cmake ++++ b/llvm/cmake/modules/TableGen.cmake +@@ -148,15 +148,9 @@ macro(add_tablegen target project) + endif() + + if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) +- set(export_to_llvmexports) +- if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR +- NOT LLVM_DISTRIBUTION_COMPONENTS) +- set(export_to_llvmexports EXPORT LLVMExports) +- endif() + + install(TARGETS ${target} + ${export_to_llvmexports} + RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) + endif() +- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target}) + endmacro() +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch new file mode 100644 index 00000000..cd519971 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch @@ -0,0 +1,111 @@ +From eeb816d95f0910bd246e37bb2bb3923acf0edf6b Mon Sep 17 00:00:00 2001 +From: Aleksander Us <aleksander.us@intel.com> +Date: Mon, 26 Aug 2019 15:47:41 +0300 +Subject: [PATCH] [BasicBlockUtils] Add metadata fixing in + SplitBlockPredecessors. + +In case when BB is header of some loop and predecessor is latch of +this loop, metadata was not attached to newly created basic block. +This led to loss of loop metadata for other passes. + +Upstream-Status: Submitted [https://reviews.llvm.org/D66892] + +https://github.com/intel/llvm-patches/commit/8af4449e2d201707f7f2f832b473a0439e255f32 + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + lib/Transforms/Utils/BasicBlockUtils.cpp | 23 ++++++++---- + test/Transforms/LoopSimplify/loop_metadata.ll | 36 +++++++++++++++++++ + 2 files changed, 52 insertions(+), 7 deletions(-) + create mode 100644 test/Transforms/LoopSimplify/loop_metadata.ll + +diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp +index 5fa371377c8..3a90ae061fb 100644 +--- a/lib/Transforms/Utils/BasicBlockUtils.cpp ++++ b/lib/Transforms/Utils/BasicBlockUtils.cpp +@@ -579,24 +579,33 @@ BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB, + + // The new block unconditionally branches to the old block. + BranchInst *BI = BranchInst::Create(BB, NewBB); ++ bool IsBBHeader = LI && LI->isLoopHeader(BB); ++ Loop *BBLoop = LI ? LI->getLoopFor(BB) : nullptr; + // Splitting the predecessors of a loop header creates a preheader block. +- if (LI && LI->isLoopHeader(BB)) ++ if (IsBBHeader) + // Using the loop start line number prevents debuggers stepping into the + // loop body for this instruction. +- BI->setDebugLoc(LI->getLoopFor(BB)->getStartLoc()); ++ BI->setDebugLoc(BBLoop->getStartLoc()); + else + BI->setDebugLoc(BB->getFirstNonPHIOrDbg()->getDebugLoc()); + + // Move the edges from Preds to point to NewBB instead of BB. +- for (unsigned i = 0, e = Preds.size(); i != e; ++i) { ++ for (BasicBlock *Pred : Preds) { ++ Instruction *PI = Pred->getTerminator(); + // This is slightly more strict than necessary; the minimum requirement + // is that there be no more than one indirectbr branching to BB. And + // all BlockAddress uses would need to be updated. +- assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && ++ assert(!isa<IndirectBrInst>(PI) && + "Cannot split an edge from an IndirectBrInst"); +- assert(!isa<CallBrInst>(Preds[i]->getTerminator()) && +- "Cannot split an edge from a CallBrInst"); +- Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB); ++ assert(!isa<CallBrInst>(PI) && "Cannot split an edge from a CallBrInst"); ++ if (IsBBHeader && BBLoop->contains(Pred) && BBLoop->isLoopLatch(Pred)) { ++ // Update loop metadata if it exists. ++ if (MDNode *LoopMD = PI->getMetadata(LLVMContext::MD_loop)) { ++ BI->setMetadata(LLVMContext::MD_loop, LoopMD); ++ PI->setMetadata(LLVMContext::MD_loop, nullptr); ++ } ++ } ++ PI->replaceUsesOfWith(BB, NewBB); + } + + // Insert a new PHI node into NewBB for every PHI node in BB and that new PHI +diff --git a/test/Transforms/LoopSimplify/loop_metadata.ll b/test/Transforms/LoopSimplify/loop_metadata.ll +new file mode 100644 +index 00000000000..c15c92fe3ae +--- /dev/null ++++ b/test/Transforms/LoopSimplify/loop_metadata.ll +@@ -0,0 +1,36 @@ ++; RUN: opt -S -loop-simplify < %s | FileCheck %s ++ ++; CHECK: for.cond.loopexit: ++; CHECK: br label %for.cond, !llvm.loop !0 ++; CHECK: br i1 %cmp1, label %for.body1, label %for.cond.loopexit ++ ++define void @foo() { ++entry: ++ br label %for.cond ++ ++for.cond: ; preds = %for.cond1, %entry ++ %j = phi i32 [ 0, %entry ], [ %add, %for.cond1 ] ++ %cmp = icmp ult i32 %j, 8 ++ br i1 %cmp, label %for.body, label %for.end ++ ++for.body: ; preds = %for.cond ++ %dummy1 = add i32 1, 1 ++ %add = add nuw nsw i32 %j, 1 ++ br label %for.cond1 ++ ++for.cond1: ; preds = %for.body1, %for.body ++ %i.0 = phi i32 [ 1, %for.body ], [ %inc, %for.body1 ] ++ %cmp1 = icmp ult i32 %i.0, 8 ++ br i1 %cmp1, label %for.body1, label %for.cond, !llvm.loop !0 ++ ++for.body1: ; preds = %for.cond1 ++ %dummy2 = add i32 1, 1 ++ %inc = add nuw nsw i32 %i.0, 1 ++ br label %for.cond1 ++ ++for.end: ; preds = %for.cond ++ ret void ++} ++ ++!0 = distinct !{!0, !1} ++!1 = !{!"llvm.loop.unroll.full"} +-- +2.18.0 + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch new file mode 100644 index 00000000..48307deb --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch @@ -0,0 +1,146 @@ +From 35e218a886f4c066eabd18685240d55270bd5a6d Mon Sep 17 00:00:00 2001 +From: Aleksander Us <aleksander.us@intel.com> +Date: Mon, 26 Aug 2019 15:45:47 +0300 +Subject: [PATCH] [IndVarSimplify] Do not use SCEV expander for IVCount in + LFTR when possible. + +SCEV analysis cannot properly cache instruction with poison flags +(for example, add nsw outside of loop will not be reused by expander). +This can lead to generating of additional instructions by SCEV expander. + +Example IR: + + ... + %maxval = add nuw nsw i32 %a1, %a2 + ... +for.body: + ... + %cmp22 = icmp ult i32 %ivadd, %maxval + br i1 %cmp22, label %for.body, label %for.end + ... + +SCEV expander will generate copy of %maxval in preheader but without +nuw/nsw flags. This can be avoided by explicit check that iv count +value gives the same SCEV expressions as calculated by LFTR. + +Upstream-Status: Submitted [https://reviews.llvm.org/D66890] + +https://github.com/intel/llvm-patches/commit/fd6a6c97341a56fd21bc32bc940afea751312e8f + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + lib/Transforms/Scalar/IndVarSimplify.cpp | 12 +++++++++- + test/Transforms/IndVarSimplify/add_nsw.ll | 23 ++++++++++++++++++++ + test/Transforms/IndVarSimplify/lftr-reuse.ll | 9 +++----- + test/Transforms/IndVarSimplify/udiv.ll | 1 + + 4 files changed, 38 insertions(+), 7 deletions(-) + create mode 100644 test/Transforms/IndVarSimplify/add_nsw.ll + +diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp +index f9fc698a4a9..5e04dac8aa6 100644 +--- a/lib/Transforms/Scalar/IndVarSimplify.cpp ++++ b/lib/Transforms/Scalar/IndVarSimplify.cpp +@@ -2375,6 +2375,17 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, + if (UsePostInc) + IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType())); + ++ // If computed limit is equal to old limit then do not use SCEV expander ++ // because it can lost NUW/NSW flags and create extra instructions. ++ BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); ++ if (ICmpInst *Cmp = dyn_cast<ICmpInst>(BI->getOperand(0))) { ++ Value *Limit = Cmp->getOperand(0); ++ if (!L->isLoopInvariant(Limit)) ++ Limit = Cmp->getOperand(1); ++ if (SE->getSCEV(Limit) == IVLimit) ++ return Limit; ++ } ++ + // Expand the code for the iteration count. + assert(SE->isLoopInvariant(IVLimit, L) && + "Computed iteration count is not loop invariant!"); +@@ -2383,7 +2394,6 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, + // SCEV expression (IVInit) for a pointer type IV value (IndVar). + Type *LimitTy = ExitCount->getType()->isPointerTy() ? + IndVar->getType() : ExitCount->getType(); +- BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); + return Rewriter.expandCodeFor(IVLimit, LimitTy, BI); + } + } +diff --git a/test/Transforms/IndVarSimplify/add_nsw.ll b/test/Transforms/IndVarSimplify/add_nsw.ll +new file mode 100644 +index 00000000000..abd1cbb6c51 +--- /dev/null ++++ b/test/Transforms/IndVarSimplify/add_nsw.ll +@@ -0,0 +1,23 @@ ++; RUN: opt -indvars -S %s | FileCheck %s ++ ++target datalayout = "e-p:32:32-i64:64-n8:16:32" ++ ++; CHECK: for.body.preheader: ++; CHECK-NOT: add ++; CHECK: for.body: ++ ++define void @foo(i32 %a1, i32 %a2) { ++entry: ++ %maxval = add nuw nsw i32 %a1, %a2 ++ %cmp = icmp slt i32 %maxval, 1 ++ br i1 %cmp, label %for.end, label %for.body ++ ++for.body: ; preds = %entry, %for.body ++ %j.02 = phi i32 [ 0, %entry ], [ %add31, %for.body ] ++ %add31 = add nuw nsw i32 %j.02, 1 ++ %cmp22 = icmp slt i32 %add31, %maxval ++ br i1 %cmp22, label %for.body, label %for.end ++ ++for.end: ; preds = %for.body ++ ret void ++} +diff --git a/test/Transforms/IndVarSimplify/lftr-reuse.ll b/test/Transforms/IndVarSimplify/lftr-reuse.ll +index 14ae9738696..509d662b767 100644 +--- a/test/Transforms/IndVarSimplify/lftr-reuse.ll ++++ b/test/Transforms/IndVarSimplify/lftr-reuse.ll +@@ -67,11 +67,9 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { + ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 0, [[SUB1]] + ; CHECK-NEXT: br i1 [[CMP1]], label [[OUTER_PREHEADER:%.*]], label [[EXIT:%.*]] + ; CHECK: outer.preheader: +-; CHECK-NEXT: [[TMP0:%.*]] = add i32 [[ARG]], -1 + ; CHECK-NEXT: br label [[OUTER:%.*]] + ; CHECK: outer: +-; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i32 [ [[TMP0]], [[OUTER_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[OUTER_INC:%.*]] ] +-; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC]] ], [ 0, [[OUTER_PREHEADER]] ] ++; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC:%.*]] ], [ 0, [[OUTER_PREHEADER]] ] + ; CHECK-NEXT: [[SUB2:%.*]] = sub nsw i32 [[ARG]], [[I]] + ; CHECK-NEXT: [[SUB3:%.*]] = sub nsw i32 [[SUB2]], 1 + ; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 0, [[SUB3]] +@@ -81,14 +79,13 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { + ; CHECK: inner: + ; CHECK-NEXT: [[J:%.*]] = phi i32 [ 0, [[INNER_PH]] ], [ [[J_INC:%.*]], [[INNER]] ] + ; CHECK-NEXT: [[J_INC]] = add nuw nsw i32 [[J]], 1 +-; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[INDVARS_IV]] ++; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[SUB3]] + ; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNER]], label [[OUTER_INC_LOOPEXIT:%.*]] + ; CHECK: outer.inc.loopexit: + ; CHECK-NEXT: br label [[OUTER_INC]] + ; CHECK: outer.inc: + ; CHECK-NEXT: [[I_INC]] = add nuw nsw i32 [[I]], 1 +-; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i32 [[INDVARS_IV]], -1 +-; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[TMP0]] ++; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[SUB1]] + ; CHECK-NEXT: br i1 [[EXITCOND1]], label [[OUTER]], label [[EXIT_LOOPEXIT:%.*]] + ; CHECK: exit.loopexit: + ; CHECK-NEXT: br label [[EXIT]] +diff --git a/test/Transforms/IndVarSimplify/udiv.ll b/test/Transforms/IndVarSimplify/udiv.ll +index b3f2c2a6a66..3530343ef4a 100644 +--- a/test/Transforms/IndVarSimplify/udiv.ll ++++ b/test/Transforms/IndVarSimplify/udiv.ll +@@ -133,6 +133,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind + ; CHECK-LABEL: @foo( + ; CHECK: for.body.preheader: + ; CHECK-NOT: udiv ++; CHECK: for.body: + + define void @foo(double* %p, i64 %n) nounwind { + entry: +-- +2.18.0 + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch new file mode 100644 index 00000000..d69d2a97 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch @@ -0,0 +1,30 @@ +From a6d4ccf082858e63e139ca06c02a071c343d2657 Mon Sep 17 00:00:00 2001 +From: Andrea Bocci <andrea.bocci@cern.ch> +Date: Sun, 15 Mar 2020 17:35:44 +0100 +Subject: [PATCH] Fix building in-tree with cmake -DLLVM_LINK_LLVM_DYLIB=ON + +Building in-tree with LLVM 11.0 master with the LLVM_LINK_LLVM_DYLIB +cmake flag fails to link with the LLVMSPIRVLib library. + +Add an explicit dependency to force the correct build order and linking. + +Signed-off-by: Andrea Bocci <andrea.bocci@cern.ch> +Upstream-Status: Backport +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + tools/llvm-spirv/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/llvm-spirv/CMakeLists.txt b/tools/llvm-spirv/CMakeLists.txt +index 9aa96d9c..501c0daf 100644 +--- a/tools/llvm-spirv/CMakeLists.txt ++++ b/tools/llvm-spirv/CMakeLists.txt +@@ -14,7 +14,7 @@ add_llvm_tool(llvm-spirv + NO_INSTALL_RPATH + ) + +-if (LLVM_SPIRV_BUILD_EXTERNAL) ++if (LLVM_SPIRV_BUILD_EXTERNAL OR LLVM_LINK_LLVM_DYLIB) + target_link_libraries(llvm-spirv PRIVATE LLVMSPIRVLib) + endif() + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch new file mode 100644 index 00000000..8e58ec25 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch @@ -0,0 +1,51 @@ +From 455ce9c25df5313f4a6649cc27075bdfbe25af18 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Wed, 21 Aug 2019 14:35:31 +0800 +Subject: [PATCH] llvm-spirv: skip building tests + +Some of these need clang to be built and since we're building this in-tree, +that leads to problems when compiling libcxx, compiler-rt which aren't built +in-tree. + +Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to +all components, disable the building of tests altogether. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + CMakeLists.txt | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b718c00..9805140 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,13 +24,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) + set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + +- if(LLVM_SPIRV_INCLUDE_TESTS) +- set(LLVM_TEST_COMPONENTS +- llvm-as +- llvm-dis +- ) +- endif(LLVM_SPIRV_INCLUDE_TESTS) +- + find_package(LLVM 10.0.0 REQUIRED + COMPONENTS + Analysis +@@ -61,9 +54,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) + + add_subdirectory(lib/SPIRV) + add_subdirectory(tools/llvm-spirv) +-if(LLVM_SPIRV_INCLUDE_TESTS) +- add_subdirectory(test) +-endif(LLVM_SPIRV_INCLUDE_TESTS) + + install( + FILES +-- +2.7.4 + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm9-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm9-skip-building-tests.patch new file mode 100644 index 00000000..9a7b8445 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm9-skip-building-tests.patch @@ -0,0 +1,51 @@ +From 48e50f06b1bbed94cdf5207587161d4bfce7366e Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Wed, 21 Aug 2019 14:35:31 +0800 +Subject: [PATCH] llvm-spirv: skip building tests + +Some of these need clang to be built and since we're building this in-tree, +that leads to problems when compiling libcxx, compiler-rt which aren't built +in-tree. + +Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to +all components, disable the building of tests altogether. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + CMakeLists.txt | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1208741..20ca3e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,13 +15,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + +- if(LLVM_INCLUDE_TESTS) +- set(LLVM_TEST_COMPONENTS +- llvm-as +- llvm-dis +- ) +- endif(LLVM_INCLUDE_TESTS) +- + find_package(LLVM 9.0.0 REQUIRED + COMPONENTS + Analysis +@@ -56,9 +49,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) + + add_subdirectory(lib/SPIRV) + add_subdirectory(tools/llvm-spirv) +-if(LLVM_INCLUDE_TESTS) +- add_subdirectory(test) +-endif(LLVM_INCLUDE_TESTS) + + install( + FILES +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend new file mode 100644 index 00000000..80752172 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend @@ -0,0 +1,23 @@ +FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" + +SPIRV_BRANCH = "${@bb.utils.contains('LLVMVERSION', '9.0.1', 'llvm_release_90', 'llvm_release_100', d)}" + +SPIRV9_SRCREV = "70420631144a6a25613ae37178f2cc1d3607b65b" +SPIRV10_SRCREV = "7743482f2053582be990e93ca46d15239c509c9d" +SPIRV_SRCREV = "${@bb.utils.contains('LLVMVERSION', '9.0.1', '${SPIRV9_SRCREV}', '${SPIRV10_SRCREV}', d)}" + +LLVM9_PATCH_LIST = " file://0001-dont-export-targets-for-binaries.patch \ + file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \ + file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \ + file://llvm9-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ + " +LLVM10_PATCH_LIST = " file://llvm10-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ + file://fix-shared-libs.patch;patchdir=llvm/projects/llvm-spirv \ + " + +SRC_URI_append_intel-x86-common = " \ + git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=${SPIRV_BRANCH};destsuffix=git/llvm/projects/llvm-spirv;name=spirv \ + " +SRC_URI_append_intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '9.0.1', '${LLVM9_PATCH_LIST}', '${LLVM10_PATCH_LIST}', d)}" + +SRCREV_spirv = "${SPIRV_SRCREV}" diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.15.16524.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.15.16524.bb new file mode 100644 index 00000000..5525b66a --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.15.16524.bb @@ -0,0 +1,43 @@ +SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)" +DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \ +is an open source project to converge Intel's development efforts \ +on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ +architecture." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae27f47fd6755510247c19e547e4c804 \ + file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b" + +SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https \ + " + +SRCREV = "e0633548a9bd025c70bc7f3539eef094b1bc9ce1" + +S = "${WORKDIR}/git" + +DEPENDS += " intel-graphics-compiler gmmlib clang" +DEPENDS_append_class-target = " intel-compute-runtime-native" + +RDEPENDS_${PN} += " intel-graphics-compiler gmmlib" + +inherit cmake pkgconfig + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = "null" + +EXTRA_OECMAKE = " \ + -DIGC_DIR=${STAGING_INCDIR}/igc \ + -DBUILD_TYPE=Release \ + -DSKIP_UNIT_TESTS=1 \ + -DCCACHE_ALLOWED=FALSE \ + -Dcloc_cmd_prefix=ocloc \ + " + +FILES_${PN} += " \ + ${libdir}/intel-opencl/libigdrcl.so \ + ${libdir}/intel-opencl/libocloc.so \ + " + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch new file mode 100644 index 00000000..65342d9c --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch @@ -0,0 +1,43 @@ +From 5501fab763aa2b11437fbdb19e07a11157a7d3e6 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Thu, 6 Feb 2020 14:56:56 +0800 +Subject: [PATCH] skip execution of ElfPackager + +ElfPackager adds the ability to convert llvm bitcode into elf files for +easier partitioning. Skip for now until we start building a native +version for this. + +Upstream-Status: Inappropriate [configuration specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + IGC/ElfPackager/CMakeLists.txt | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt +index 563ac9d6..c6c74ce9 100644 +--- a/IGC/ElfPackager/CMakeLists.txt ++++ b/IGC/ElfPackager/CMakeLists.txt +@@ -71,12 +71,12 @@ include_directories ( + ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ + ) + +-if(NOT ANDROID) +- add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} +- POST_BUILD +- COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin +- ) +-endif() ++#if(NOT ANDROID) ++# add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} ++# POST_BUILD ++# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin ++# ) ++#endif() + + + add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.3771.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.3771.bb new file mode 100644 index 00000000..93484c47 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.3771.bb @@ -0,0 +1,34 @@ +SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" +DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ +llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ +hardware architecture." + +LICENSE = "MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ + file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb" + +SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https; \ + file://0001-skip-execution-of-ElfPackager.patch \ + " + +SRCREV = "577887bf74c51a6084058836720fe58f8c35ca58" + +S = "${WORKDIR}/git" + +inherit cmake + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = "null" + +DEPENDS += " flex-native bison-native clang opencl-clang" +DEPENDS_append_class-target = " clang-cross-x86_64" + +RDEPENDS_${PN} += "opencl-clang" + +LLVM_COMPAT_VER = "${@bb.utils.contains('LLVMVERSION', '9.0.1', '9.0.0', '10.0.0', d)}" + +EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=${LLVM_COMPAT_VER} -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch new file mode 100644 index 00000000..8ffa853b --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch @@ -0,0 +1,35 @@ +From 7fc05c52dd91902fa324a7aac9b90715cfca4717 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Wed, 15 Apr 2020 17:55:32 +0800 +Subject: [PATCH] Building in-tree with LLVM 10.0 with the LLVM_LINK_LLVM_DYLIB + +Failed to link with the LLVMSPIRVLib library. + +Add an explicit dependency to force the correct build order and linking. + +Reference: +https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/a6d4ccf082858e63e139ca06c02a071c343d2657 + +Upstream-Status: Submitted [https://github.com/intel/opencl-clang/pull/118] + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51c140d..b8b514e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -208,7 +208,7 @@ link_directories( + + set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS}) + +-if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS) ++if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS OR (USE_PREBUILT_LLVM AND LLVM_LINK_LLVM_DYLIB)) + # SPIRV-LLVM-Translator is not included into LLVM as a component. + # So, we need to list it here explicitly as an external library + list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib) +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch new file mode 100644 index 00000000..8df7e3ab --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch @@ -0,0 +1,32 @@ +From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Thu, 2 Apr 2020 08:59:20 +0800 +Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE + +Use the value that has been passed by the user. + +Upstream-Status: Submitted +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6893e97..941b0ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM) + set (COMPILE_OPTIONS_TD opencl_clang_options.td) + set (COMPILE_OPTIONS_INC opencl_clang_options.inc) + +-set(LLVM_TABLEGEN_EXE "llvm-tblgen") ++if(NOT DEFINED LLVM_TABLEGEN_EXE) ++ set(LLVM_TABLEGEN_EXE "llvm-tblgen") ++endif() ++ + set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD}) + if(USE_PREBUILT_LLVM) + set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS}) +-- +2.25.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch new file mode 100644 index 00000000..473f4d24 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch @@ -0,0 +1,42 @@ +From b29e00e6fe428a031cf577dfb703cf13eff837f6 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Wed, 15 Apr 2020 18:05:14 +0800 +Subject: [PATCH 2/2] make sure only static libraries linked for native build + +LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use +LLVM_AVAILABLE_LIBS instead. Reported: + +https://github.com/intel/opencl-clang/issues/114 + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8707487..ad2dbda 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,7 +218,7 @@ add_subdirectory(cl_headers) + + set(LLVM_REQUIRES_EH ON) + +-if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB) ++if(false) + list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp) + else() + list(APPEND OPENCL_CLANG_LINK_LIBS +@@ -266,6 +266,7 @@ add_llvm_library(${TARGET_NAME} SHARED + all + LINK_LIBS + ${OPENCL_CLANG_LINK_LIBS} ++ ${LLVM_AVAILABLE_LIBS} + ) + + # Configure resource file on Windows +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch new file mode 100644 index 00000000..417e0221 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch @@ -0,0 +1,43 @@ +From 2ce2619b544678541e0cc56494e2927086718613 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 26 Mar 2019 14:11:29 +0800 +Subject: [PATCH] point to correct llvm-tblgen + +Let llvm-tblgen path be passed from recipe itself. + +Also since we're going to do the patching ourselves, no need to look for +git through cmake. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1371a67..f83ffcc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,7 @@ endif(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + include(AddLLVM) + include(TableGen) + +-find_package(Git REQUIRED) ++#find_package(Git REQUIRED) + + if (NOT WIN32) + add_subdirectory( linux_linker ) +@@ -138,7 +138,7 @@ endif(NOT USE_PREBUILT_LLVM) + set (COMPILE_OPTIONS_TD opencl_clang_options.td) + set (COMPILE_OPTIONS_INC opencl_clang_options.inc) + +-set(LLVM_TABLEGEN_EXE "llvm-tblgen") ++#set(LLVM_TABLEGEN_EXE "llvm-tblgen") + set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD}) + if(USE_PREBUILT_LLVM) + set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS}) +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc new file mode 100644 index 00000000..c099a509 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc @@ -0,0 +1,27 @@ +SUMMARY = "Common clang is a thin wrapper library around clang" +DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \ + to compile OpenCL C kernels to SPIR-V modules." + +LICENSE = "NCSA" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" + +S = "${WORKDIR}/git" + +inherit cmake +DEPENDS += "clang" +DEPENDS_append_class-target = " opencl-clang-native" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = "null" + +EXTRA_OECMAKE += "\ + -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ + -DCMAKE_SKIP_RPATH=TRUE \ + " + +do_install_append_class-native() { + install -d ${D}${bindir} + install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb new file mode 100644 index 00000000..dcee4fa0 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb @@ -0,0 +1,9 @@ +require opencl-clang.inc + +SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-100;protocol=https \ + file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ + file://0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch \ + " +SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" + +SRCREV = "9f0c2c0f5ddea1accc921aed4c94bc52c1b85637" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb new file mode 100644 index 00000000..f262a5eb --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb @@ -0,0 +1,7 @@ +require opencl-clang.inc + +SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-90;protocol=https \ + file://point-to-correct-llvm-tblgen.patch \ + " + +SRCREV = "6f8c329bea44321aef1a1716dd206c1f7bed23cf" diff --git a/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2020r1.bb b/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2020r1.bb new file mode 100644 index 00000000..26068acc --- /dev/null +++ b/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2020r1.bb @@ -0,0 +1,33 @@ +SUMMARY = "OpenVINO Model Optimzer" +DESCRIPTION = "Model Optimizer is a cross-platform command-line tool that \ +facilitates the transition between the training and deployment \ +environment, performs static model analysis, and adjusts deep \ +learning models for optimal execution on end-point target devices." +HOMEPAGE = "https://01.org/openvinotoolkit" + +SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2020 \ + " +SRCREV = "b2140c083a068a63591e8c2e9b5f6b240790519d" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +CVE_PRODUCT = "intel:openvino" + +S = "${WORKDIR}/git" + +do_install() { + mkdir -p ${D}${datadir}/openvino/model-optimizer + cp -r model-optimizer ${D}${datadir}/openvino/ +} + +RDEPENDS_${PN} += " \ + python3-numpy \ + python3-protobuf \ + python3-defusedxml \ + python3-networkx \ + python3-test-generator \ + bash \ + " + +FILES_${PN} += "${datadir}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_2011.0.0.0.diff b/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_2011.0.0.0.diff new file mode 100644 index 00000000..e000a160 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_2011.0.0.0.diff @@ -0,0 +1,30 @@ +From ec7d732a6a23e90be34840b0f1a57e5199d393cf Mon Sep 17 00:00:00 2001 +From: Alexander Usyskin <alexander.usyskin@intel.com> +Date: Mon, 17 Jun 2019 13:27:33 +0300 +Subject: [PATCH] lms: drop rpath definitions + +Yocto fail to compile with this definitions. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> +--- + CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e22ff05..14d5dd1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -112,9 +112,6 @@ install (DIRECTORY Docs/Licenses + FILES_MATCHING PATTERN "LICENSE.*" + ) + +-list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/UNS/GMS_COMMON") +-list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/WsmanClient") +- + if (BUILD_TESTS) + include (gtest.cmake) + endif (BUILD_TESTS) +-- +2.7.4 + diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2011.0.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2011.0.0.0.bb new file mode 100644 index 00000000..d5793500 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2011.0.0.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Intel(R) Local Managability Service" +DESCRIPTION = "Intel Local Manageability Service allows applications \ +to access the Intel Active Management Technology (AMT) firmware via \ +the Intel Management Engine Interface (MEI)." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +COMPATIBLE_HOST_libc-musl = "null" + +inherit cmake systemd + +DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native connman" + +EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" + +REQUIRED_DISTRO_FEATURES= "systemd" + +FILES_${PN} += "${datadir}/dbus-1/system-services/*.service" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = "lms.service" + +SRC_URI = "git://github.com/intel/lms.git" +SRCREV = "b3e27d4f39f7388a1676d855771e21846e75469c" + +SRC_URI_append = " file://lms_drop_rpath_${PV}.diff" + +do_install_append() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir} +} + +RDEPENDS_${PN} += "ace" diff --git a/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.33.1.bb b/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.33.1.bb new file mode 100644 index 00000000..2679f68c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.33.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "IntelĀ® RealSenseā¢ SDK" +HOMEPAGE = "https://www.intelrealsense.com/" +DESCRIPTION = "IntelĀ® RealSenseā¢ SDK 2.0 is a cross-platform library for \ +IntelĀ® RealSenseā¢ depth cameras (D400 series and the SR300) and the T265 \ +tracking camera" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a1692f06943fa281fd047a22d7e10800" +SECTION = "lib" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/IntelRealSense/librealsense.git" +SRCREV = "842ee1e1e5c4bb96d63582a7fde061dbc1bebf69" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" + +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" +EXTRA_OECMAKE += "-DBUILD_EXAMPLES=true" +EXTRA_OECMAKE += "-DBUILD_GRAPHICAL_EXAMPLES=${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'true', 'false', d)}" +EXTRA_OECMAKE += "-DBUILD_WITH_TM2=false" +EXTRA_OECMAKE += "-DUSE_SYSTEM_LIBUSB=true" + +do_install_append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${S}/config/99-realsense-libusb.rules ${D}${sysconfdir}/udev/rules.d/99-${BPN}-libusb.rules +} + +DEPENDS = "udev libusb1" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libpng libglu glfw gtk+3', '', d)}" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2020r1.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2020r1.bb new file mode 100644 index 00000000..42d223c9 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2020r1.bb @@ -0,0 +1,131 @@ +SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" +HOMEPAGE = "https://github.com/opencv/dldt" +DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ +deep learning models through a high-level C++ Inference Engine API \ +integrated with application logic." + +SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2020 \ + https://download.01.org/opencv/2020/openvinotoolkit/2020.1/inference_engine/firmware_usb-ma2450_942_R10.15.zip;name=ma2450 \ + https://download.01.org/opencv/2020/openvinotoolkit/2020.1/inference_engine/firmware_pcie-ma248x_942_R10.15.zip;name=ma248x \ + https://download.01.org/opencv/2020/openvinotoolkit/2020.1/inference_engine/firmware_usb-ma2x8x_942_R10.15.zip;name=ma2x8x \ + file://0001-Installation-and-build-fixes.patch \ + file://run-ptest \ + " + +SRCREV = "b2140c083a068a63591e8c2e9b5f6b240790519d" + +SRC_URI[ma2450.sha256sum] = "32747515f0a387a8f878a88670aefe2788132fa24828b3775df791144627d9f6" +SRC_URI[ma248x.sha256sum] = "f32cd6396d0e6f0e4b24c8ee15e9f0b1b493ebbfc0f03371ca732f75b763d4a2" +SRC_URI[ma2x8x.sha256sum] = "c00f77692bfdccf92f32233b3dd1189f51dee73c15d79f35a612c7ba841d9c8d" + +LICENSE = "Apache-2.0 & ISSL & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://inference-engine/thirdparty/mkl-dnn/LICENSE;md5=afa44a3d001cc203032135324f9636b7 \ + file://inference-engine/tests/libs/gtest/googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ + file://inference-engine/thirdparty/mkl-dnn/src/cpu/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ + file://inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/LICENSE.txt;md5=88b295a48d2b3244ba65d3c055472c8a \ +" +LICENSE_${PN}-vpu-firmware = "ISSL" + +inherit cmake ptest python3native + +S = "${WORKDIR}/git" + +EXTRA_OECMAKE += " \ + -DENABLE_OPENCV=0 \ + -DENABLE_PLUGIN_RPATH=0 \ + -DENABLE_GNA=0 \ + -DPYTHON_EXECUTABLE=${PYTHON} \ + -DCMAKE_BUILD_TYPE=DebugWithRelInfo \ + -DTHREADING=TBB -DTBB_DIR=${STAGING_LIBDIR} \ + -DENABLE_TESTS="${@bb.utils.contains('PTEST_ENABLED', '1', '1', '0', d)}" \ + -DBUILD_GMOCK=1 \ + -DBUILD_GTEST=0 \ + -DINSTALL_GMOCK=0 \ + -DINSTALL_GTEST=0 \ + -DENABLE_SAMPLES=1 \ + -DENABLE_NGRAPH=ON \ + -DENABLE_MKL_DNN=ON \ + -DIE_CPACK_IE_DIR=${prefix} \ + " + +DEPENDS += "libusb1 \ + ade \ + opencv \ + pugixml \ + ngraph \ + tbb \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'gflags', '', d)} \ + " + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = "null" + +PACKAGECONFIG ?= "vpu" +PACKAGECONFIG[opencl] = "-DENABLE_CLDNN=1 -DCLDNN__IOCL_ICD_INCDIRS=${STAGING_INCDIR} -DCLDNN__IOCL_ICD_STLDIRS=${STAGING_LIBDIR} -DCLDNN__IOCL_ICD_SHLDIRS=${STAGING_LIBDIR}, -DENABLE_CLDNN=0, opencl-icd-loader libva, intel-compute-runtime" +PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native, python3 python3-numpy python3-opencv python3-progress python3-cython" +PACKAGECONFIG[vpu] = "-DENABLE_VPU=ON -DVPU_FIRMWARE_USB-MA2450_FILE=../mvnc/usb-ma2450.mvcmd -DVPU_FIRMWARE_USB-MA2X8X_FILE=../mvnc/usb-ma2x8x.mvcmd -DVPU_FIRMWARE_PCIE-MA248X_FILE=../mvnc/pcie-ma248x.mvcmd,-DENABLE_VPU=OFF,,${PN}-vpu-firmware" +PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" + +do_install_append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'vpu', 'true', 'false', d)}; then + install -m0644 ${WORKDIR}/mvnc/usb-ma2450.mvcmd ${D}${libdir}/ + install -m0644 ${WORKDIR}/mvnc/usb-ma2x8x.mvcmd ${D}${libdir}/ + install -m0644 ${WORKDIR}/mvnc/pcie-ma248x.mvcmd ${D}${libdir}/ + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then + cp -r ${S}/inference-engine/src/cldnn_engine/cldnn_global_custom_kernels ${D}${libdir}/ + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then + install -d ${D}${datadir}/inference_engine + mv ${D}/usr/samples/python ${D}${datadir}/inference_engine/ + + install -d ${D}${PYTHON_SITEPACKAGES_DIR} + mv ${D}${prefix}/python/${PYTHON_DIR}/openvino ${D}${PYTHON_SITEPACKAGES_DIR}/ + + rm -rf ${D}${prefix}/python + fi + + # Remove the samples source directory. We install the built samples. + rm -rf ${D}/usr/samples +} + +do_install_ptest_base_prepend() { + # While not a Makefile based project that strictly falls into the category of + # what ptest helps with, adding the unit tests here as ptest would help. + # Create a dummy Makefile so installation doesn't fail. + touch ${WORKDIR}/Makefile + mv ${D}${bindir}/InferenceEngineUnitTests ${D}${PTEST_PATH}/ + mv ${D}${libdir}/libmock_engine.so ${D}${PTEST_PATH}/ +} + +# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR +# instead of RSS +SSTATE_SCAN_FILES_append = " *.cmake" + +FILES_${PN}-dev = "${includedir} \ + ${libdir}/cmake \ + " + +FILES_${PN} += "${libdir}/lib*${SOLIBSDEV} \ + ${datadir}/openvino \ + ${libdir}/cldnn_global_custom_kernels \ + ${libdir}/custom_kernels \ + ${libdir}/plugins.xml \ + ${libdir}/cache.json \ + " + +# Move inference engine samples into a separate package +PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware" + +FILES_${PN}-samples = "${datadir}/inference_engine \ + ${bindir} \ + " +FILES_${PN}-vpu-firmware += "${libdir}/*.mvcmd" + +# Package for inference engine python API +PACKAGES =+ "${PN}-${PYTHON_PN}" + +FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-Installation-and-build-fixes.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-Installation-and-build-fixes.patch new file mode 100644 index 00000000..c4c7bd01 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-Installation-and-build-fixes.patch @@ -0,0 +1,383 @@ +From 1c78ff3ff1f77c78a618f7a780985cef1933bb2b Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Mon, 13 Apr 2020 15:20:28 +0800 +Subject: [PATCH] Installation and build fixes + +- Install libs, samples and binaries at appropriate places. +- Use system installed pugixml, ade, gflags, ngraph, opencl-headers +and icd-loader. +- Disable usage of Werror. +- Use find_library to look for tbb instead of looking for cmake module. + +Upstream-Status: Inappropriate [OS-specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 2 -- + cmake/developer_package.cmake | 8 +++++--- + cmake/os_flags.cmake | 1 - + inference-engine/CMakeLists.txt | 7 ++----- + inference-engine/cmake/ie_parallel.cmake | 10 ++-------- + .../include/gpu/gpu_ocl_wrapper.hpp | 2 +- + inference-engine/samples/CMakeLists.txt | 8 +++----- + .../samples/common/format_reader/CMakeLists.txt | 2 ++ + .../src/cldnn_engine/CMakeLists.txt | 1 + + .../src/inference_engine/CMakeLists.txt | 17 +---------------- + .../src/vpu/myriad_plugin/CMakeLists.txt | 2 +- + .../tests/mock_engine/CMakeLists.txt | 2 ++ + inference-engine/tests/unit/CMakeLists.txt | 2 ++ + inference-engine/thirdparty/CMakeLists.txt | 4 +--- + .../clDNN/CMakeCompilerLinkerOpts.txt | 2 -- + .../thirdparty/clDNN/CMakeLists.txt | 1 - + .../clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp | 2 +- + .../tools/compile_tool/CMakeLists.txt | 2 +- + .../tools/vpu/vpu_compile/CMakeLists.txt | 4 ++-- + .../tools/vpu/vpu_perfcheck/CMakeLists.txt | 2 +- + 20 files changed, 28 insertions(+), 53 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e48cee57..e9598455 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,8 +120,6 @@ function(build_ngraph) + endif() + + ie_cpack_add_component(ngraph) +- +- add_subdirectory(ngraph) + endfunction() + + build_ngraph() +diff --git a/cmake/developer_package.cmake b/cmake/developer_package.cmake +index e59edb2b..35672cac 100644 +--- a/cmake/developer_package.cmake ++++ b/cmake/developer_package.cmake +@@ -5,7 +5,9 @@ + include(CPackComponent) + unset(IE_CPACK_COMPONENTS_ALL CACHE) + +-set(IE_CPACK_IE_DIR deployment_tools/inference_engine) ++if (NOT DEFINED IE_CPACK_IE_DIR) ++ set(IE_CPACK_IE_DIR deployment_tools/inference_engine) ++endif() + + function(ie_cpack_set_library_dir) + string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} ARCH) +@@ -18,7 +20,7 @@ function(ie_cpack_set_library_dir) + if(WIN32) + set(IE_CPACK_LIBRARY_PATH ${IE_CPACK_IE_DIR}/lib/$<CONFIG>/${ARCH} PARENT_SCOPE) + else() +- set(IE_CPACK_LIBRARY_PATH ${IE_CPACK_IE_DIR}/lib/${ARCH} PARENT_SCOPE) ++ set(IE_CPACK_LIBRARY_PATH ${CMAKE_INSTALL_LIBDIR} PARENT_SCOPE) + endif() + endfunction() + +@@ -99,7 +101,7 @@ if(UNIX) + SET(LIB_DL ${CMAKE_DL_LIBS}) + endif() + +-set(OUTPUT_ROOT ${OpenVINO_MAIN_SOURCE_DIR}) ++set(OUTPUT_ROOT ${CMAKE_CURRENT_BINARY_DIR}) + + # Enable postfixes for Debug/Release builds + set(IE_DEBUG_POSTFIX_WIN "d") +diff --git a/cmake/os_flags.cmake b/cmake/os_flags.cmake +index 6f70768f..40141aca 100644 +--- a/cmake/os_flags.cmake ++++ b/cmake/os_flags.cmake +@@ -139,7 +139,6 @@ if(WIN32) + else() + # TODO: enable for C sources as well + # ie_add_compiler_flags(-Werror) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + ie_add_compiler_flags(-ffunction-sections -fdata-sections) + ie_add_compiler_flags(-fvisibility=hidden) + ie_add_compiler_flags(-fdiagnostics-show-option) +diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt +index d5feedb4..1ee656a1 100644 +--- a/inference-engine/CMakeLists.txt ++++ b/inference-engine/CMakeLists.txt +@@ -123,12 +123,13 @@ install(FILES samples/CMakeLists.txt + + # install Python samples + ++if (ENABLE_PYTHON) + ie_cpack_add_component(python_samples REQUIRED DEPENDS core) + + install(DIRECTORY ${ie_python_api_SOURCE_DIR}/sample/ + DESTINATION ${IE_CPACK_IE_DIR}/samples/python + COMPONENT python_samples) +- ++endif() + # Custom target to build only Inference Engine Developer Package targets + + add_custom_target(ie_dev_targets ALL DEPENDS inference_engine HeteroPlugin) +@@ -136,10 +137,6 @@ add_custom_target(ie_dev_targets ALL DEPENDS inference_engine HeteroPlugin) + # Developer package + ie_developer_export_targets(format_reader) + +-if (ENABLE_NGRAPH) +- ie_developer_export_targets(${NGRAPH_LIBRARIES}) +-endif() +- + export(TARGETS ${IEDeveloperPackageTargets} NAMESPACE IE:: + APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") + +diff --git a/inference-engine/cmake/ie_parallel.cmake b/inference-engine/cmake/ie_parallel.cmake +index 9ea885be..71733fd9 100644 +--- a/inference-engine/cmake/ie_parallel.cmake ++++ b/inference-engine/cmake/ie_parallel.cmake +@@ -42,14 +42,8 @@ function(set_ie_threading_interface_for TARGET_NAME) + set(IE_THREAD_DEFINE "IE_THREAD_SEQ") + + if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") +- find_package(TBB COMPONENTS tbb tbbmalloc) +- if (TBB_FOUND) +- set(IE_THREAD_DEFINE "IE_THREAD_TBB") +- ie_target_link_libraries(${TARGET_NAME} PUBLIC ${TBB_IMPORTED_TARGETS}) +- else () +- ext_message(WARNING "TBB was not found by the configured TBB_DIR path. \ +- SEQ method will be used for ${TARGET_NAME}") +- endif () ++ set(IE_THREAD_DEFINE "IE_THREAD_TBB") ++ target_link_libraries(${TARGET_NAME} PUBLIC tbb tbbmalloc) + elseif (THREADING STREQUAL "OMP") + if (WIN32) + set(omp_lib_name libiomp5md) +diff --git a/inference-engine/include/gpu/gpu_ocl_wrapper.hpp b/inference-engine/include/gpu/gpu_ocl_wrapper.hpp +index fce7d8f1..827e5764 100644 +--- a/inference-engine/include/gpu/gpu_ocl_wrapper.hpp ++++ b/inference-engine/include/gpu/gpu_ocl_wrapper.hpp +@@ -21,4 +21,4 @@ + # pragma GCC system_header + #endif + +-#include <CL/cl2.hpp> ++#include <cl2.hpp> +diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt +index f355e7b9..d24c7c78 100644 +--- a/inference-engine/samples/CMakeLists.txt ++++ b/inference-engine/samples/CMakeLists.txt +@@ -24,7 +24,7 @@ endif() + + if(IE_MAIN_SOURCE_DIR) + # in case if samples are built from IE repo +- set(IE_MAIN_SAMPLES_DIR ${OpenVINO_MAIN_SOURCE_DIR}) ++ set(IE_MAIN_SAMPLES_DIR ${CMAKE_BINARY_DIR}) + # hint for find_package(InferenceEngine in the samples folder) + set(InferenceEngine_DIR "${CMAKE_BINARY_DIR}") + else() +@@ -91,10 +91,6 @@ set (HAVE_INTTYPES_H 1) + set (INTTYPES_FORMAT C99) + set (BUILD_TESTING OFF) + +-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags") +- add_subdirectory(thirdparty/gflags) +-endif() +- + if (CMAKE_CXX_COMPILER_ID STREQUAL GNU) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + endif() +@@ -203,6 +199,8 @@ macro(ie_add_sample) + if(COMMAND add_cpplint_target AND NOT IE_SAMPLE_EXCLUDE_CPPLINT) + add_cpplint_target(${IE_SAMPLE_NAME}_cpplint FOR_TARGETS ${IE_SAMPLE_NAME}) + endif() ++ ++ install(TARGETS ${IE_SAMPLE_NAME} DESTINATION bin) + endmacro() + + # collect all samples subdirectories +diff --git a/inference-engine/samples/common/format_reader/CMakeLists.txt b/inference-engine/samples/common/format_reader/CMakeLists.txt +index 6d935135..fe12eeb7 100644 +--- a/inference-engine/samples/common/format_reader/CMakeLists.txt ++++ b/inference-engine/samples/common/format_reader/CMakeLists.txt +@@ -40,3 +40,5 @@ target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/..") + + set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) ++ ++install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/inference-engine/src/cldnn_engine/CMakeLists.txt b/inference-engine/src/cldnn_engine/CMakeLists.txt +index 43344e7f..50beda23 100644 +--- a/inference-engine/src/cldnn_engine/CMakeLists.txt ++++ b/inference-engine/src/cldnn_engine/CMakeLists.txt +@@ -32,6 +32,7 @@ target_include_directories(${TARGET_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CLDNN__IOCL_ICD_INCDIRS} + ${CLDNN_TOP_FOLDER} ++ ${CLDNN_TOP_FOLDER}/common/khronos_ocl_clhpp + ${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src) + + # copy default global xml file describing the custom kernels and the *.cl files +diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt +index 54e264c8..e3809654 100644 +--- a/inference-engine/src/inference_engine/CMakeLists.txt ++++ b/inference-engine/src/inference_engine/CMakeLists.txt +@@ -292,20 +292,6 @@ if(threading_tbb) + ie_cpack_add_component(tbb REQUIRED) + list(APPEND core_components tbb) + +- install(DIRECTORY "${TBB}/include" +- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb +- COMPONENT tbb) +- install(DIRECTORY "${TBB}/lib" +- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb +- COMPONENT tbb) +- if(EXISTS "${TBB}/bin") +- install(DIRECTORY "${TBB}/bin" +- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb +- COMPONENT tbb) +- endif() +- install(FILES "${TBB}/LICENSE" +- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb +- COMPONENT tbb) + endif() + + ie_cpack_add_component(core REQUIRED DEPENDS ${core_components}) +@@ -318,10 +304,9 @@ install(TARGETS ${TARGET_NAME} ${TARGET_NAME}_nn_builder + LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} + COMPONENT core) + install(FILES "${OpenVINO_BINARY_DIR}/share/ie_parallel.cmake" +- "${OpenVINO_BINARY_DIR}/share/ie_rh_decoder.cmake" + "${OpenVINO_BINARY_DIR}/share/InferenceEngineConfig.cmake" + "${OpenVINO_BINARY_DIR}/share/InferenceEngineConfig-version.cmake" +- DESTINATION ${IE_CPACK_IE_DIR}/share ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine + COMPONENT core) + install(FILES $<TARGET_FILE_DIR:${TARGET_NAME}>/plugins.xml + DESTINATION ${IE_CPACK_LIBRARY_PATH} +diff --git a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt +index 32cb534a..858ffefc 100644 +--- a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt ++++ b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt +@@ -41,5 +41,5 @@ target_link_libraries(${TARGET_NAME} + # install + + install(FILES ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/mvnc/src/97-myriad-usbboot.rules +- DESTINATION deployment_tools/inference_engine/external ++ DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d + COMPONENT myriad) +diff --git a/inference-engine/tests/mock_engine/CMakeLists.txt b/inference-engine/tests/mock_engine/CMakeLists.txt +index f3fb53e1..09fb66ce 100644 +--- a/inference-engine/tests/mock_engine/CMakeLists.txt ++++ b/inference-engine/tests/mock_engine/CMakeLists.txt +@@ -38,3 +38,5 @@ target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLU + set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 11) + set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) + set_property(TARGET ${TARGET_NAME} PROPERTY COMPILE_PDB_NAME ${TARGET_NAME}) ++ ++install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt +index a5c945ae..eabe70d3 100644 +--- a/inference-engine/tests/unit/CMakeLists.txt ++++ b/inference-engine/tests/unit/CMakeLists.txt +@@ -187,3 +187,5 @@ add_test(NAME ${TARGET_NAME} + COMMAND ${TARGET_NAME}) + + add_dependencies(${TARGET_NAME} mock_engine) ++ ++install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/inference-engine/thirdparty/CMakeLists.txt b/inference-engine/thirdparty/CMakeLists.txt +index ec22761d..3962d924 100644 +--- a/inference-engine/thirdparty/CMakeLists.txt ++++ b/inference-engine/thirdparty/CMakeLists.txt +@@ -35,14 +35,12 @@ function(build_with_lto) + add_subdirectory(clDNN) + endif() + +- add_subdirectory(pugixml) + add_subdirectory(stb_lib) +- add_subdirectory(ade) + add_subdirectory(fluid/modules/gapi) + + # developer package + +- ie_developer_export_targets(ade fluid pugixml) ++ ie_developer_export_targets(fluid) + if(TARGET pugixml_mt) + ie_developer_export_targets(pugixml_mt) + endif() +diff --git a/inference-engine/thirdparty/clDNN/CMakeCompilerLinkerOpts.txt b/inference-engine/thirdparty/clDNN/CMakeCompilerLinkerOpts.txt +index 6b799cdd..91755b35 100644 +--- a/inference-engine/thirdparty/clDNN/CMakeCompilerLinkerOpts.txt ++++ b/inference-engine/thirdparty/clDNN/CMakeCompilerLinkerOpts.txt +@@ -206,7 +206,6 @@ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + ALIAS RttiDisabled "-fno-rtti" + ALIAS RttiEnabled "-frtti" + ALIAS TreatWarnAsErrorDisabled TreatWarnAsError REMOVE_GROUP +- ALIAS TreatWarnAsErrorEnabled "-Werror" "-pedantic-errors" + ALIAS WarnLevel0 "-w" + ALIAS WarnLevel1 WarnLevels REMOVE_GROUP + ALIAS WarnLevel2 "-Wall" +@@ -290,7 +289,6 @@ elseif((CMAKE_C_COMPILER_ID MATCHES "^Clang$") OR (CMAKE_CXX_COMPILER_ID MATCHES + ALIAS RttiDisabled "-fno-rtti" + ALIAS RttiEnabled Rtti REMOVE_GROUP + ALIAS TreatWarnAsErrorDisabled TreatWarnAsError REMOVE_GROUP +- ALIAS TreatWarnAsErrorEnabled "-Werror" + ALIAS WarnLevel0 "-w" + ALIAS WarnLevel1 WarnLevels REMOVE_GROUP + ALIAS WarnLevel2 "-Wall" +diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt +index b08c2744..42ca79e6 100644 +--- a/inference-engine/thirdparty/clDNN/CMakeLists.txt ++++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt +@@ -767,7 +767,6 @@ foreach(__CLDNN_CompilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS") + MultiProcessorCompilation + DeadCodeEliminate + ExtensionsEnabled +- TreatWarnAsErrorEnabled + WarnLevel4 + NoFastMath + StackProtector +diff --git a/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp b/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp +index a9e379bd..8b822223 100644 +--- a/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp ++++ b/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp +@@ -30,7 +30,7 @@ typedef cl_d3d11_device_set_khr cl_device_set_intel; + typedef cl_va_api_device_source_intel cl_device_source_intel; + typedef cl_va_api_device_set_intel cl_device_set_intel; + #endif +-#include <CL/cl_intel_planar_yuv.h> ++#include <CL/cl_ext_intel.h> + + namespace cl { + typedef CL_API_ENTRY cl_int(CL_API_CALL *PFN_clEnqueueAcquireMediaSurfacesINTEL)( +diff --git a/inference-engine/tools/compile_tool/CMakeLists.txt b/inference-engine/tools/compile_tool/CMakeLists.txt +index 25168bac..1c57116f 100644 +--- a/inference-engine/tools/compile_tool/CMakeLists.txt ++++ b/inference-engine/tools/compile_tool/CMakeLists.txt +@@ -48,5 +48,5 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) + # install + + install(TARGETS compile_tool +- RUNTIME DESTINATION ${IE_CPACK_LIBRARY_PATH} ++ RUNTIME DESTINATION bin + COMPONENT core) +diff --git a/inference-engine/tools/vpu/vpu_compile/CMakeLists.txt b/inference-engine/tools/vpu/vpu_compile/CMakeLists.txt +index 4123de6f..52179fac 100644 +--- a/inference-engine/tools/vpu/vpu_compile/CMakeLists.txt ++++ b/inference-engine/tools/vpu/vpu_compile/CMakeLists.txt +@@ -50,5 +50,5 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) + # install + + install(TARGETS ${TARGET_NAME} +- RUNTIME DESTINATION ${IE_CPACK_LIBRARY_PATH} +- COMPONENT myriad) +\ No newline at end of file ++ RUNTIME DESTINATION bin ++ COMPONENT myriad) +diff --git a/inference-engine/tools/vpu/vpu_perfcheck/CMakeLists.txt b/inference-engine/tools/vpu/vpu_perfcheck/CMakeLists.txt +index a7a801d4..b8f9e26f 100644 +--- a/inference-engine/tools/vpu/vpu_perfcheck/CMakeLists.txt ++++ b/inference-engine/tools/vpu/vpu_perfcheck/CMakeLists.txt +@@ -55,6 +55,6 @@ if(ENABLE_MYRIAD) + add_perfcheck_target(myriad_perfcheck myriadPlugin) + + install(TARGETS myriad_perfcheck +- RUNTIME DESTINATION ${IE_CPACK_LIBRARY_PATH} ++ RUNTIME DESTINATION bin + COMPONENT myriad) + endif() +-- +2.25.2 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest new file mode 100644 index 00000000..92f238a9 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest @@ -0,0 +1,13 @@ +#!/bin/sh + +# InferenceEngineUnitTests requires libmock_engine.so, since they are +# installed in the same directory we will need to set LD_LIBRARY_PATH +# so that libmock_engine.so is picked up correctly. We also assume that +# this script is only execute within the same directory where it is +# installed. + +export LD_LIBRARY_PATH=. + +./InferenceEngineUnitTests |sed \ + -e 's|\[.*OK.*\]\(.*\)|PASS:\1|' \ + -e 's|\[.*FAILED.*\]\(.*\)|FAIL:\1|' diff --git a/dynamic-layers/virtualization-layer/recipes-kernel/linux/linux-intel_4.19.bbappend b/dynamic-layers/virtualization-layer/recipes-kernel/linux/linux-intel_4.19.bbappend new file mode 100644 index 00000000..078b684f --- /dev/null +++ b/dynamic-layers/virtualization-layer/recipes-kernel/linux/linux-intel_4.19.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'recipes-kernel/linux/linux-yocto_virtualization.inc', '', d)} diff --git a/lib/oeqa/runtime/cases/cyclictest.py b/lib/oeqa/runtime/cases/cyclictest.py new file mode 100644 index 00000000..8890651a --- /dev/null +++ b/lib/oeqa/runtime/cases/cyclictest.py @@ -0,0 +1,39 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +import os +import subprocess +import datetime + +class CyclicTest(OERuntimeTestCase): + + @OEHasPackage(['rt-tests']) + @OETestDepends(['ssh.SSHTest.test_ssh']) + def test_cyclic(self): + # Cyclictest command and argument based on public setup for Intel(R) Core(TM) i7-6700 + # https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1 + # Command line: cyclictest -l100000000 -m -Sp99 -i200 -h400 -q + status, output = self.target.run('cyclictest -l100000000 -m -Sp99 -i200 -h400') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + test_log_dir = self.td.get('TEST_LOG_DIR', '') + + if not test_log_dir: + test_log_dir = os.path.join(self.td.get('WORKDIR', ''), 'testimage') + + cyclic_log_dir = os.path.join(test_log_dir, '%s.%s' % ('cyclic_test', datetime.datetime.now().strftime('%Y%m%d%H%M%S'))) + os.makedirs(cyclic_log_dir) + log_path = os.path.join(cyclic_log_dir, 'cyclic_log') + with open(log_path, 'w') as f: + f.write(output) + + max_latency = subprocess.check_output(('grep "Max Latencies" %s | tr " " "\n" | sort -n | tail -1 | sed s/^0*//') % log_path, shell=True).strip() + max_latency = int(max_latency) + + # Default target latency based on max latency (24us) captured at public execution multiple by 1.2 (20% buffer) + # https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1 + target_latency = 1.2*24 + user_defined_target_latency = self.tc.td.get("RTKERNEL_TARGET_LATENCY") + if user_defined_target_latency: + target_latency = int(user_defined_target_latency) + self.assertTrue(max_latency < target_latency, + msg="Max latency (%sus) is greater than target (%sus)." % (max_latency, target_latency)) diff --git a/lib/oeqa/runtime/cases/dldt_inference_engine.py b/lib/oeqa/runtime/cases/dldt_inference_engine.py new file mode 100644 index 00000000..288f7261 --- /dev/null +++ b/lib/oeqa/runtime/cases/dldt_inference_engine.py @@ -0,0 +1,109 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget +from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest +from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest +from oeqa.runtime.miutils.tests.dldt_inference_engine_test import DldtInferenceEngineTest +from oeqa.runtime.miutils.dldtutils import get_testdata_config + +class DldtInferenceEngine(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/ie/md') + cls.sqn_download.setup() + cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/ie/ir') + cls.dldt_mo.setup() + cls.dldt_ie = DldtInferenceEngineTest(OEQATarget(cls.tc.target), '/tmp/ie/inputs') + cls.dldt_ie.setup() + cls.ir_files_dir = cls.dldt_mo.work_dir + + @classmethod + def tearDownClass(cls): + cls.dldt_ie.tear_down() + cls.dldt_mo.tear_down() + cls.sqn_download.tear_down() + + @OEHasPackage(['dldt-model-optimizer']) + @OEHasPackage(['wget']) + def test_dldt_ie_can_create_ir_and_download_input(self): + proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY') + if not proxy_port: + self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").') + (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR') + if not mo_exe_dir: + self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").') + mo_files_dir = self.sqn_download.work_dir + (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + (status, output) = self.dldt_ie.test_can_download_input_file(proxy_port) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-samples']) + def test_dldt_ie_classification_with_cpu(self): + (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('CPU', self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-samples']) + @OEHasPackage(['intel-compute-runtime']) + @OEHasPackage(['opencl-icd-loader']) + def test_dldt_ie_classification_with_gpu(self): + (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('GPU', self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-samples']) + @OEHasPackage(['dldt-inference-engine-vpu-firmware']) + def test_dldt_ie_classification_with_myriad(self): + device = 'MYRIAD' + (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device) + if not status: + self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output)) + (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device(device, self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-python3']) + @OEHasPackage(['python3-opencv']) + @OEHasPackage(['python3-numpy']) + def test_dldt_ie_classification_python_api_with_cpu(self): + (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('CPU', self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-python3']) + @OEHasPackage(['intel-compute-runtime']) + @OEHasPackage(['opencl-icd-loader']) + @OEHasPackage(['python3-opencv']) + @OEHasPackage(['python3-numpy']) + def test_dldt_ie_classification_python_api_with_gpu(self): + (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('GPU', self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input']) + @OEHasPackage(['dldt-inference-engine']) + @OEHasPackage(['dldt-inference-engine-python3']) + @OEHasPackage(['dldt-inference-engine-vpu-firmware']) + @OEHasPackage(['python3-opencv']) + @OEHasPackage(['python3-numpy']) + def test_dldt_ie_classification_python_api_with_myriad(self): + device = 'MYRIAD' + (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device) + if not status: + self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output)) + (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device(device, self.ir_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/dldt_model_optimizer.py b/lib/oeqa/runtime/cases/dldt_model_optimizer.py new file mode 100644 index 00000000..736ea661 --- /dev/null +++ b/lib/oeqa/runtime/cases/dldt_model_optimizer.py @@ -0,0 +1,38 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget +from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest +from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest +from oeqa.runtime.miutils.dldtutils import get_testdata_config + +class DldtModelOptimizer(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md') + cls.sqn_download.setup() + cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir') + cls.dldt_mo.setup() + + @classmethod + def tearDownClass(cls): + cls.dldt_mo.tear_down() + cls.sqn_download.tear_down() + + @OEHasPackage(['dldt-model-optimizer']) + @OEHasPackage(['wget']) + def test_dldt_mo_can_create_ir(self): + proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY') + if not proxy_port: + self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").') + (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR') + if not mo_exe_dir: + self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").') + mo_files_dir = self.sqn_download.work_dir + (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/intel_mediasdk.py b/lib/oeqa/runtime/cases/intel_mediasdk.py new file mode 100644 index 00000000..4ae7d580 --- /dev/null +++ b/lib/oeqa/runtime/cases/intel_mediasdk.py @@ -0,0 +1,34 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends + +class MsdkTest(OERuntimeTestCase): + + @classmethod + def tearDownClass(cls): + cls.tc.target.run("rm /tmp/mtest_h264.mp4") + + @OEHasPackage(['gstreamer1.0-plugins-base']) + @OEHasPackage(['gstreamer1.0-plugins-good']) + @OEHasPackage(['gstreamer1.0-plugins-bad']) + @OEHasPackage(['intel-mediasdk']) + @OEHasPackage(['intel-media-driver', 'libigfxcmrt7']) + def test_gstreamer_can_encode_with_msdk_and_intel_media_driver(self): + (status, output) = self.target.run('gst-inspect-1.0 msdk') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + (status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; ' + 'gst-launch-1.0 -ev videotestsrc num-buffers=120 ! timeoverlay ! ' + 'msdkh264enc ! video/x-h264,profile=main ! h264parse ! ' + 'filesink location=/tmp/mtest_h264.mp4') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['intel_mediasdk.MsdkTest.test_gstreamer_can_encode_with_msdk_and_intel_media_driver']) + def test_gstreamer_can_decode_with_msdk_and_intel_media_driver(self): + (status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; ' + 'gst-launch-1.0 filesrc location=/tmp/mtest_h264.mp4 ! ' + 'h264parse ! msdkh264dec ! ' + 'msdkh265enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! ' + 'video/x-h265,profile=main ! h265parse ! fakesink') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + diff --git a/lib/oeqa/runtime/cases/intel_vaapi_driver.py b/lib/oeqa/runtime/cases/intel_vaapi_driver.py new file mode 100644 index 00000000..85d2dd39 --- /dev/null +++ b/lib/oeqa/runtime/cases/intel_vaapi_driver.py @@ -0,0 +1,29 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends + +class VaapiDriverTest(OERuntimeTestCase): + + @classmethod + def tearDownClass(cls): + cls.tc.target.run("rm /tmp/vtest_h264.mp4") + + @OEHasPackage(['gstreamer1.0-plugins-base']) + @OEHasPackage(['gstreamer1.0-plugins-good']) + @OEHasPackage(['gstreamer1.0-vaapi']) + @OEHasPackage(['intel-vaapi-driver']) + def test_gstreamer_can_encode_with_intel_vaapi_driver(self): + (status, output) = self.target.run('gst-inspect-1.0 vaapi') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + (status, output) = self.target.run('export LIBVA_DRIVER_NAME=i965; ' + 'gst-launch-1.0 -ev videotestsrc num-buffers=60 ! ' + 'timeoverlay ! vaapih264enc ! mp4mux ! filesink location=/tmp/vtest_h264.mp4') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['intel_vaapi_driver.VaapiDriverTest.test_gstreamer_can_encode_with_intel_vaapi_driver']) + def test_gstreamer_can_decode_with_intel_vaapi_driver(self): + (status, output) = self.target.run('export LIBVA_DRIVER_NAME=i965; ' + 'gst-launch-1.0 filesrc location=/tmp/vtest_h264.mp4 ! ' + 'qtdemux ! h264parse ! vaapih264dec ! vaapisink') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/isal.py b/lib/oeqa/runtime/cases/isal.py new file mode 100644 index 00000000..5025f986 --- /dev/null +++ b/lib/oeqa/runtime/cases/isal.py @@ -0,0 +1,24 @@ +import os +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends + +class IsalTest(OERuntimeTestCase): + + @OEHasPackage(['isa-l']) + def test_isal_igzip_version(self): + command = 'igzip -V' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + + @OETestDepends(['isal.IsalTest.test_isal_igzip_version']) + def test_isal_igzip_can_compress(self): + command = 'echo "hello" > /tmp/igzip_sample' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + command = 'igzip -z /tmp/igzip_sample' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + command = 'rm /tmp/igzip_sample*' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) diff --git a/lib/oeqa/runtime/cases/jhi.py b/lib/oeqa/runtime/cases/jhi.py new file mode 100644 index 00000000..7a24b6da --- /dev/null +++ b/lib/oeqa/runtime/cases/jhi.py @@ -0,0 +1,41 @@ +import os +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends + +class JhiTest(OERuntimeTestCase): + + @classmethod + def tearDownClass(cls): + _, output = cls.tc.target.run('pidof jhid') + cls.tc.target.run('kill %s' % output) + + @OEHasPackage(['openssh-sshd']) + @OEHasPackage(['jhi']) + def test_jhi_mei_driver(self): + command = 'ls /dev/mei*' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + + @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) + def test_jhi_daemon_version(self): + command = 'jhid -v' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + + @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) + def test_jhi_daemon_can_initialized(self): + command = 'jhid -d' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) + + @OEHasPackage(['jhi-test']) + @OETestDepends(['jhi.JhiTest.test_jhi_daemon_can_initialized']) + def test_jhi_bist(self): + (status, output) = self.target.run('uname -m') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + if 'x86_64' not in output: + self.skipTest("Skipped jhi bist test if not x86_64 machine (current machine: %s)." % output) + command = 'bist' + (status, output) = self.target.run(command) + self.assertEqual(status, 0, msg="Error messages: %s" % output) diff --git a/lib/oeqa/runtime/cases/libipt.py b/lib/oeqa/runtime/cases/libipt.py new file mode 100644 index 00000000..4adb13f0 --- /dev/null +++ b/lib/oeqa/runtime/cases/libipt.py @@ -0,0 +1,23 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends + +class LibiptTest(OERuntimeTestCase): + libipt_bin_dir = '/usr/bin/libipt/' + + @classmethod + def tearDownClass(cls): + cls.tc.target.run('rm /tmp/loop-tnt*') + + @OEHasPackage(['libipt', 'libipt2']) + @OEHasPackage(['libipt-test']) + @OEHasPackage(['yasm']) + def test_libipt_can_generate_trace_packet(self): + (status, output) = self.target.run('cd /tmp; %spttc %s/tests/loop-tnt.ptt' % + (self.libipt_bin_dir, self.libipt_bin_dir)) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['libipt.LibiptTest.test_libipt_can_generate_trace_packet']) + def test_libipt_can_perform_trace_packet_dump(self): + (status, output) = self.target.run('cd /tmp; %sptdump loop-tnt.pt' % self.libipt_bin_dir) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/libxcam.py b/lib/oeqa/runtime/cases/libxcam.py new file mode 100644 index 00000000..57192f07 --- /dev/null +++ b/lib/oeqa/runtime/cases/libxcam.py @@ -0,0 +1,37 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends + +class LibxcamTest(OERuntimeTestCase): + yuv_file = 'vtest.yuv' + soft_test_app_file = 'test-soft-image' + libxcam_test_app_dir = '/usr/bin/libxcam/' + libxcam_file_dir = '/tmp/' + + @classmethod + def tearDownClass(cls): + cls.tc.target.run("rm %s%s" % (cls.libxcam_file_dir, cls.yuv_file)) + + @OEHasPackage(['gstreamer1.0-plugins-base']) + @OEHasPackage(['gstreamer1.0-plugins-good']) + @OEHasPackage(['gstreamer1.0-vaapi']) + @OEHasPackage(['intel-vaapi-driver']) + def test_libxcam_can_generate_yuv_file_with_gstreamer(self): + (status, output) = self.target.run('gst-inspect-1.0 vaapi') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + (status, output) = self.target.run('gst-launch-1.0 -ev videotestsrc num-buffers=60 ! ' + 'timeoverlay ! filesink location=%s%s' % + (self.libxcam_file_dir, self.yuv_file)) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OEHasPackage(['libxcam']) + @OEHasPackage(['libxcam-test']) + @OETestDepends(['libxcam.LibxcamTest.test_libxcam_can_generate_yuv_file_with_gstreamer']) + def test_libxcam_can_execute_soft_image_sample_app(self): + (status, output) = self.target.run('%s%s --type remap --input0 %s%s --output soft_out.nv12 --save false' % + (self.libxcam_test_app_dir, + self.soft_test_app_file, + self.libxcam_file_dir, + self.yuv_file)) + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/microcode.py b/lib/oeqa/runtime/cases/microcode.py new file mode 100644 index 00000000..6ce36a6f --- /dev/null +++ b/lib/oeqa/runtime/cases/microcode.py @@ -0,0 +1,36 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +import re + +class MicrocodeTest(OERuntimeTestCase): + + def get_revision_from_microcode_string_list(self, microcode_string_list, re_pattern): + re_compile = re.compile(re_pattern) + rev_list = [] + for s in microcode_string_list: + matched_revs = re_compile.findall(s) + if matched_revs: + for mr in matched_revs: + rev_list.append(int(mr, 16)) + return rev_list + + @OEHasPackage(["iucode-tool"]) + def test_microcode_update(self): + (status, output) = self.target.run('iucode_tool /lib/firmware/intel-ucode/ -tb -lS | grep rev') + if status: + self.skipTest("The iucode_tool detected no microcode for update.") + + selected_microcodes = output.splitlines() + selected_rev_list = self.get_revision_from_microcode_string_list(selected_microcodes, "rev (\w*)") + self.assertTrue(selected_rev_list, msg="Could not find any rev from iucode_tool selected microcode.") + + (status, output) = self.target.run('dmesg | grep microcode') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + updated_microcodes = output.splitlines() + updated_rev_list = self.get_revision_from_microcode_string_list(updated_microcodes, "revision=(\w*)") + self.assertTrue(updated_rev_list, msg="Could not find any updated revision from microcode dmesg.") + + for ul in updated_rev_list: + self.assertTrue(ul in selected_rev_list, msg="Updated revision, %s, not in selected revision list (%s)" % + (ul, selected_rev_list)) diff --git a/lib/oeqa/runtime/cases/mkl_dnn.py b/lib/oeqa/runtime/cases/mkl_dnn.py new file mode 100644 index 00000000..c7994b13 --- /dev/null +++ b/lib/oeqa/runtime/cases/mkl_dnn.py @@ -0,0 +1,67 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget +from oeqa.runtime.miutils.tests.mkl_dnn_test import MkldnnTest + +class MklDnn(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + cls.mkldnntest = MkldnnTest(OEQATarget(cls.tc.target)) + + @classmethod + def tearDownClass(cls): + cls.mkldnntest.tear_down() + + @OEHasPackage(['libdnnl', 'libdnnl1']) + @OEHasPackage(['libdnnl-src']) + @OEHasPackage(['libdnnl-dev']) + @OEHasPackage(['gcc']) + @OEHasPackage(['gcc-symlinks']) + @OEHasPackage(['libstdc++-dev']) + @OEHasPackage(['binutils']) + def test_mkldnn_can_compile_and_execute(self): + (status, output) = self.mkldnntest.test_mkldnn_can_compile_and_execute() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OEHasPackage(['mkl-dnn', 'libdnnl1']) + @OEHasPackage(['mkl-dnn-test', 'libdnnl-test']) + def test_mkldnn_benchdnn_package_available(self): + (status, output) = self.mkldnntest.test_mkldnn_benchdnn_package_available() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_conv_api(self): + (status, output) = self.mkldnntest.test_mkldnn_conv_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_bnorm_api(self): + (status, output) = self.mkldnntest.test_mkldnn_bnorm_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_deconv_api(self): + (status, output) = self.mkldnntest.test_mkldnn_deconv_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_ip_api(self): + (status, output) = self.mkldnntest.test_mkldnn_ip_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_reorder_api(self): + (status, output) = self.mkldnntest.test_mkldnn_reorder_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_rnn_api(self): + (status, output) = self.mkldnntest.test_mkldnn_rnn_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available']) + def test_mkldnn_shuffle_api(self): + (status, output) = self.mkldnntest.test_mkldnn_shuffle_api() + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/cases/thermald.py b/lib/oeqa/runtime/cases/thermald.py new file mode 100644 index 00000000..b0efecd8 --- /dev/null +++ b/lib/oeqa/runtime/cases/thermald.py @@ -0,0 +1,45 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +import threading +import time +import re + +class ThermaldTest(OERuntimeTestCase): + def get_thermal_zone_with_target_type(self, target_type): + i = 0 + while True: + status, output = self.target.run('cat /sys/class/thermal/thermal_zone%s/type' % i) + if status: + return -1 + if output == target_type: + return i + i = i + 1 + + def run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process(self, run_args): + time.sleep(2) + self.target.run('echo 106000 > /sys/class/thermal/thermal_zone%s/emul_temp' % run_args) + time.sleep(2) + __, output = self.target.run('pidof thermald') + self.target.run('kill -9 %s' % output) + + def test_thermald_emulation_mode(self): + # Thermald test depend on thermal emulation, where CONFIG_THERMAL_EMULATION=y was required + # To enable thermal emulation, refer to https://github.com/intel/thermal_daemon/blob/master/test/readme_test.txt + (status, output) = self.target.run('gzip -dc /proc/config.gz | grep CONFIG_THERMAL_EMULATION=y') + self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + + @OEHasPackage(['thermald']) + @OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode']) + def test_thermald_can_track_thermal_exceed_setpoint(self): + x86_thermal_zone_index = self.get_thermal_zone_with_target_type('x86_pkg_temp') + if x86_thermal_zone_index < 0: + self.skipTest('Could not get the thermal zone index for target type (%s)' % 'x86_pkg_temp') + td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process, + args=(x86_thermal_zone_index,)) + td_thread.start() + status, output = self.target.run('thermald --no-daemon --loglevel=info') + regex_search = ".*thd_cdev_set_state.*106000" + regex_comp = re.compile(regex_search) + m = regex_comp.search(output) + self.assertTrue(m, msg='status and output: %s and %s' % (status, output)) diff --git a/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py b/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py new file mode 100644 index 00000000..1906e9fe --- /dev/null +++ b/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +""" + Copyright (C) 2018-2019 Intel Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" +from __future__ import print_function +import sys +import os +from argparse import ArgumentParser, SUPPRESS +import cv2 +import numpy as np +import logging as log +from time import time +from openvino.inference_engine import IENetwork, IECore + + +def build_argparser(): + parser = ArgumentParser(add_help=False) + args = parser.add_argument_group('Options') + args.add_argument('-h', '--help', action='help', default=SUPPRESS, help='Show this help message and exit.') + args.add_argument("-m", "--model", help="Required. Path to an .xml file with a trained model.", required=True, + type=str) + args.add_argument("-i", "--input", help="Required. Path to a folder with images or path to an image files", + required=True, + type=str, nargs="+") + args.add_argument("-l", "--cpu_extension", + help="Optional. Required for CPU custom layers. " + "MKLDNN (CPU)-targeted custom layers. Absolute path to a shared library with the" + " kernels implementations.", type=str, default=None) + args.add_argument("-d", "--device", + help="Optional. Specify the target device to infer on; CPU, GPU, FPGA, HDDL, MYRIAD or HETERO: is " + "acceptable. The sample will look for a suitable plugin for device specified. Default " + "value is CPU", + default="CPU", type=str) + args.add_argument("--labels", help="Optional. Path to a labels mapping file", default=None, type=str) + args.add_argument("-nt", "--number_top", help="Optional. Number of top results", default=10, type=int) + + return parser + + +def main(): + log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout) + args = build_argparser().parse_args() + model_xml = args.model + model_bin = os.path.splitext(model_xml)[0] + ".bin" + + # Plugin initialization for specified device and load extensions library if specified + log.info("Creating Inference Engine") + ie = IECore() + if args.cpu_extension and 'CPU' in args.device: + ie.add_extension(args.cpu_extension, "CPU") + # Read IR + log.info("Loading network files:\n\t{}\n\t{}".format(model_xml, model_bin)) + net = IENetwork(model=model_xml, weights=model_bin) + + if "CPU" in args.device: + supported_layers = ie.query_network(net, "CPU") + not_supported_layers = [l for l in net.layers.keys() if l not in supported_layers] + if len(not_supported_layers) != 0: + log.error("Following layers are not supported by the plugin for specified device {}:\n {}". + format(args.device, ', '.join(not_supported_layers))) + log.error("Please try to specify cpu extensions library path in sample's command line parameters using -l " + "or --cpu_extension command line argument") + sys.exit(1) + + assert len(net.inputs.keys()) == 1, "Sample supports only single input topologies" + assert len(net.outputs) == 1, "Sample supports only single output topologies" + + log.info("Preparing input blobs") + input_blob = next(iter(net.inputs)) + out_blob = next(iter(net.outputs)) + net.batch_size = len(args.input) + + # Read and pre-process input images + n, c, h, w = net.inputs[input_blob].shape + images = np.ndarray(shape=(n, c, h, w)) + for i in range(n): + image = cv2.imread(args.input[i]) + if image.shape[:-1] != (h, w): + log.warning("Image {} is resized from {} to {}".format(args.input[i], image.shape[:-1], (h, w))) + image = cv2.resize(image, (w, h)) + image = image.transpose((2, 0, 1)) # Change data layout from HWC to CHW + images[i] = image + log.info("Batch size is {}".format(n)) + + # Loading model to the plugin + log.info("Loading model to the plugin") + exec_net = ie.load_network(network=net, device_name=args.device) + + # Start sync inference + log.info("Starting inference in synchronous mode") + res = exec_net.infer(inputs={input_blob: images}) + + # Processing output blob + log.info("Processing output blob") + res = res[out_blob] + log.info("Top {} results: ".format(args.number_top)) + if args.labels: + with open(args.labels, 'r') as f: + labels_map = [x.split(sep=' ', maxsplit=1)[-1].strip() for x in f] + else: + labels_map = None + classid_str = "classid" + probability_str = "probability" + for i, probs in enumerate(res): + probs = np.squeeze(probs) + top_ind = np.argsort(probs)[-args.number_top:][::-1] + print("Image {}\n".format(args.input[i])) + print(classid_str, probability_str) + print("{} {}".format('-' * len(classid_str), '-' * len(probability_str))) + for id in top_ind: + det_label = labels_map[id] if labels_map else "{}".format(id) + label_length = len(det_label) + space_num_before = (len(classid_str) - label_length) // 2 + space_num_after = len(classid_str) - (space_num_before + label_length) + 2 + space_num_before_prob = (len(probability_str) - len(str(probs[id]))) // 2 + print("{}{}{}{}{:.7f}".format(' ' * space_num_before, det_label, + ' ' * space_num_after, ' ' * space_num_before_prob, + probs[id])) + print("\n") + log.info("This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool\n") + +if __name__ == '__main__': + sys.exit(main() or 0) diff --git a/lib/oeqa/runtime/miutils/dldtutils.py b/lib/oeqa/runtime/miutils/dldtutils.py new file mode 100644 index 00000000..45bf2e12 --- /dev/null +++ b/lib/oeqa/runtime/miutils/dldtutils.py @@ -0,0 +1,3 @@ + +def get_testdata_config(testdata, config): + return testdata.get(config) diff --git a/lib/oeqa/runtime/miutils/targets/oeqatarget.py b/lib/oeqa/runtime/miutils/targets/oeqatarget.py new file mode 100644 index 00000000..a9f7f1b4 --- /dev/null +++ b/lib/oeqa/runtime/miutils/targets/oeqatarget.py @@ -0,0 +1,11 @@ + +class OEQATarget(object): + + def __init__(self, target): + self.target = target + + def run(self, cmd): + return self.target.run(cmd) + + def copy_to(self, source, destination_dir): + self.target.copyTo(source, destination_dir) diff --git a/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py b/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py new file mode 100644 index 00000000..31bfb539 --- /dev/null +++ b/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py @@ -0,0 +1,56 @@ +import os +script_path = os.path.dirname(os.path.realpath(__file__)) +files_path = os.path.join(script_path, '../../files/') + +class DldtInferenceEngineTest(object): + ie_input_files = {'ie_python_sample': 'classification_sample.py', + 'input': 'chicky_512.png', + 'input_download': 'https://raw.githubusercontent.com/opencv/opencv/master/samples/data/chicky_512.png', + 'model': 'squeezenet_v1.1.xml'} + + def __init__(self, target, work_dir): + self.target = target + self.work_dir = work_dir + + def setup(self): + self.target.run('mkdir -p %s' % self.work_dir) + self.target.copy_to(os.path.join(files_path, 'dldt-inference-engine', self.ie_input_files['ie_python_sample']), + self.work_dir) + python_cmd = 'from openvino.inference_engine import IENetwork, IECore; ie = IECore(); print(ie.available_devices)' + __, output = self.target.run('python3 -c "%s"' % python_cmd) + self.available_devices = output + + def tear_down(self): + self.target.run('rm -rf %s' % self.work_dir) + + def test_check_if_openvino_device_available(self, device): + if device not in self.available_devices: + return False, self.available_devices + return True, self.available_devices + + def test_can_download_input_file(self, proxy_port): + return self.target.run('cd %s; wget %s -e https_proxy=%s' % + (self.work_dir, + self.ie_input_files['input_download'], + proxy_port)) + + def test_dldt_ie_classification_with_device(self, device, ir_files_dir): + return self.target.run('classification_sample_async -d %s -i %s -m %s' % + (device, + os.path.join(self.work_dir, self.ie_input_files['input']), + os.path.join(ir_files_dir, self.ie_input_files['model']))) + + def test_dldt_ie_classification_python_api_with_device(self, device, ir_files_dir, extension=''): + if extension: + return self.target.run('python3 %s -d %s -i %s -m %s -l %s' % + (os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']), + device, + os.path.join(self.work_dir, self.ie_input_files['input']), + os.path.join(ir_files_dir, self.ie_input_files['model']), + extension)) + else: + return self.target.run('python3 %s -d %s -i %s -m %s' % + (os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']), + device, + os.path.join(self.work_dir, self.ie_input_files['input']), + os.path.join(ir_files_dir, self.ie_input_files['model']))) diff --git a/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py b/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py new file mode 100644 index 00000000..7d3db15b --- /dev/null +++ b/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py @@ -0,0 +1,23 @@ +import os + +class DldtModelOptimizerTest(object): + mo_input_files = {'model': 'squeezenet_v1.1.caffemodel', + 'prototxt': 'deploy.prototxt'} + mo_exe = 'mo.py' + + def __init__(self, target, work_dir): + self.target = target + self.work_dir = work_dir + + def setup(self): + self.target.run('mkdir -p %s' % self.work_dir) + + def tear_down(self): + self.target.run('rm -rf %s' % self.work_dir) + + def test_dldt_mo_can_create_ir(self, mo_exe_dir, mo_files_dir): + return self.target.run('python3 %s --input_model %s --input_proto %s --output_dir %s --data_type FP16' % + (os.path.join(mo_exe_dir, self.mo_exe), + os.path.join(mo_files_dir, self.mo_input_files['model']), + os.path.join(mo_files_dir, self.mo_input_files['prototxt']), + self.work_dir)) diff --git a/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py b/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py new file mode 100644 index 00000000..13afd1a4 --- /dev/null +++ b/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py @@ -0,0 +1,57 @@ + +class MkldnnTest(object): + mkldnn_target_test_filename = 'mkl-dnn-c' + + def __init__(self, target): + self.target = target + + def tear_down(self): + self.target.run('rm /tmp/%s' % self.mkldnn_target_test_filename) + + def test_mkldnn_can_compile_and_execute(self): + mkldnn_src_dir = '/usr/src/debug/mkl-dnn/' + mkldnn_src_test_filename = 'api.c' + mkldnn_src_test_file = '' + + (status, output) = self.target.run('cd %s; find -name %s' % (mkldnn_src_dir, mkldnn_src_test_filename)) + if status: + return status, output + + mkldnn_src_test_file = os.path.join(mkldnn_src_dir, output) + (status, output) = self.target.run('gcc %s -o /tmp/%s -ldnnl' % (mkldnn_src_test_file, self.mkldnn_target_test_filename)) + if status: + return status, output + + (status, output) = self.target.run('cd /tmp; ./%s' % self.mkldnn_target_test_filename) + return status, output + + def test_mkldnn_benchdnn_package_available(self): + (status, output) = self.target.run('ls /usr/bin/mkl-dnn/tests/benchdnn') + return status, output + + def _run_mkldnn_benchdnn_test(self, cmd): + (status, output) = self.target.run('cd /usr/bin/mkl-dnn/tests/benchdnn; %s' % cmd) + return status, output + + def test_mkldnn_conv_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --conv --batch=inputs/conv/test_conv_3d') + + def test_mkldnn_bnorm_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --bnorm --batch=inputs/bnorm/test_bnorm_regressions') + + def test_mkldnn_deconv_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --deconv --batch=inputs/deconv/test_deconv_bfloat16') + + def test_mkldnn_ip_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --ip --batch=inputs/ip/test_ip_bfloat16') + + def test_mkldnn_reorder_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --reorder --batch=inputs/reorder/test_reorder_bfloat16') + + def test_mkldnn_rnn_api(self): + # test_rnn_inference was not yet ready and was expected to fail + # while waiting it to be ready, use test_rnn_small for now + return self._run_mkldnn_benchdnn_test('./benchdnn --rnn --batch=inputs/rnn/test_rnn_small') + + def test_mkldnn_shuffle_api(self): + return self._run_mkldnn_benchdnn_test('./benchdnn --shuffle --batch=inputs/shuffle/test_shuffle_bfloat16')
\ No newline at end of file diff --git a/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py b/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py new file mode 100644 index 00000000..a3e46a0a --- /dev/null +++ b/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py @@ -0,0 +1,25 @@ +class SqueezenetModelDownloadTest(object): + download_files = {'squeezenet1.1.prototxt': 'https://raw.githubusercontent.com/DeepScale/SqueezeNet/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/deploy.prototxt', + 'squeezenet1.1.caffemodel': 'https://github.com/DeepScale/SqueezeNet/raw/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel'} + + def __init__(self, target, work_dir): + self.target = target + self.work_dir = work_dir + + def setup(self): + self.target.run('mkdir -p %s' % self.work_dir) + + def tear_down(self): + self.target.run('rm -rf %s' % self.work_dir) + + def test_can_download_squeezenet_model(self, proxy_port): + return self.target.run('cd %s; wget %s -e https_proxy=%s' % + (self.work_dir, + self.download_files['squeezenet1.1.caffemodel'], + proxy_port)) + + def test_can_download_squeezenet_prototxt(self, proxy_port): + return self.target.run('cd %s; wget %s -e https_proxy=%s' % + (self.work_dir, + self.download_files['squeezenet1.1.prototxt'], + proxy_port)) diff --git a/lib/oeqa/selftest/cases/secureboot.py b/lib/oeqa/selftest/cases/secureboot.py new file mode 100644 index 00000000..4c059e25 --- /dev/null +++ b/lib/oeqa/selftest/cases/secureboot.py @@ -0,0 +1,176 @@ +#!/usr/bin/env python +# ex:ts=4:sw=4:sts=4:et +# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# Copyright (c) 2017, Intel Corporation. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# AUTHORS +# Mikko Ylinen <mikko.ylinen@linux.intel.com> +# +# Based on meta/lib/oeqa/selftest/* and meta-refkit/lib/oeqa/selftest/* + +"""Test cases for secure boot with QEMU running OVMF.""" + +import os +import unittest +import re +import glob +from shutil import rmtree, copy + +from oeqa.core.decorator.depends import OETestDepends +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu + +class SecureBootTests(OESelftestTestCase): + """Secure Boot test class.""" + + ovmf_keys_enrolled = False + ovmf_qemuparams = '' + ovmf_dir = '' + test_image_unsigned = 'secureboot-selftest-image-unsigned' + test_image_signed = 'secureboot-selftest-image-signed' + correct_key = 'refkit-db' + incorrect_key = 'incorrect' + + @classmethod + def setUpLocal(self): + + if not SecureBootTests.ovmf_keys_enrolled: + bitbake('ovmf ovmf-shell-image-enrollkeys', output_log=self.logger) + + bb_vars = get_bb_vars(['TMPDIR', 'DEPLOY_DIR_IMAGE']) + + SecureBootTests.ovmf_dir = os.path.join(bb_vars['TMPDIR'], 'oeselftest', 'secureboot', 'ovmf') + bb.utils.mkdirhier(SecureBootTests.ovmf_dir) + + # Copy (all) OVMF in a temporary location + for src in glob.glob('%s/ovmf.*' % bb_vars['DEPLOY_DIR_IMAGE']): + copy(src, SecureBootTests.ovmf_dir) + + SecureBootTests.ovmf_qemuparams = '-drive if=pflash,format=qcow2,file=%s/ovmf.secboot.qcow2' % SecureBootTests.ovmf_dir + + cmd = ("runqemu " + "qemuparams='%s' " + "ovmf-shell-image-enrollkeys wic intel-corei7-64 " + "nographic slirp") % SecureBootTests.ovmf_qemuparams + print('Running "%s"' % cmd) + status = runCmd(cmd) + + if not re.search('info: success', status.output, re.M): + self.fail('Failed to enroll keys. EFI shell log:\n%s' % status.output) + else: + # keys enrolled in ovmf.secboot.vars + SecureBootTests.ovmf_keys_enrolled = True + + @classmethod + def tearDownLocal(self): + # Seems this is mandatory between the tests (a signed image is booted + # when running test_boot_unsigned_image after test_boot_signed_image). + # bitbake('-c clean %s' % test_image, output_log=self.logger) + # + # Whatever the problem was, it no longer seems to be necessary, so + # we can skip the time-consuming clean + full rebuild (5:04 min instead + # of 6:55min here). + pass + + @classmethod + def tearDownClass(self): + bitbake('ovmf-shell-image-enrollkeys:do_cleanall', output_log=self.logger) + rmtree(self.ovmf_dir, ignore_errors=True) + + def secureboot_with_image(self, boot_timeout=300, signing_key=None): + """Boot the image with UEFI SecureBoot enabled and see the result. """ + + config = "" + + if signing_key: + test_image = self.test_image_signed + config += 'SECURE_BOOT_SIGNING_KEY = "${THISDIR}/files/%s.key"\n' % signing_key + config += 'SECURE_BOOT_SIGNING_CERT = "${THISDIR}/files/%s.crt"\n' % signing_key + else: + test_image = self.test_image_unsigned + + self.write_config(config) + bitbake(test_image, output_log=self.logger) + self.remove_config(config) + + # Some of the cases depend on the timeout to expire. Allow overrides + # so that we don't have to wait 1000s which is the default. + overrides = { + 'TEST_QEMUBOOT_TIMEOUT': boot_timeout, + } + + print('Booting %s' % test_image) + + try: + with runqemu(test_image, ssh=False, + runqemuparams='nographic slirp', + qemuparams=self.ovmf_qemuparams, + overrides=overrides, + image_fstype='wic') as qemu: + + cmd = 'uname -a' + + status, output = qemu.run_serial(cmd) + + self.assertTrue(status, 'Could not run \'uname -a\' (status=%s):\n%s' % (status, output)) + + # if we got this far without a correctly signed image, something went wrong + if signing_key != self.correct_key: + self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output) + + + except Exception: + + # Currently runqemu() fails if 'login:' prompt is not seen and it's + # not possible to login as 'root'. Those conditions aren't met when + # booting to EFI shell (See [YOCTO #11438]). We catch the failure + # and parse the boot log to determine the success. Note: the + # timeout triggers verbose bb.error() but that's normal with some + # of the test cases. + + workdir = get_bb_var('WORKDIR', test_image) + bootlog = "%s/testimage/qemu_boot_log" % workdir + + with open(bootlog, "r") as log: + + # This isn't right but all we can do at this point. The right + # approach would run commands in the EFI shell to determine + # the BIOS rejects unsigned and/or images signed with keys in + # dbx key store but that needs changes in oeqa framework. + + output = log.read() + + # PASS if we see a security violation on unsigned or incorrectly signed images, otherwise fail + if signing_key == self.correct_key: + self.fail('Correctly signed image failed to boot. Boot log:\n%s' % output) + elif not re.search('Security Violation', output): + self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output) + + def test_boot_unsigned_image(self): + """ Boot unsigned image with secureboot enabled in UEFI.""" + self.secureboot_with_image(boot_timeout=120, signing_key=None) + + @OETestDepends(['secureboot.SecureBootTests.test_boot_unsigned_image']) + def test_boot_incorrectly_signed_image(self): + """ Boot (correctly) signed image with secureboot enabled in UEFI.""" + self.secureboot_with_image(boot_timeout=120, signing_key=self.incorrect_key) + + @OETestDepends(['secureboot.SecureBootTests.test_boot_incorrectly_signed_image']) + def test_boot_correctly_signed_image(self): + """ Boot (correctly) signed image with secureboot enabled in UEFI.""" + self.secureboot_with_image(boot_timeout=150, signing_key=self.correct_key) diff --git a/meta-crownbay/README b/meta-crownbay/README deleted file mode 100644 index d0d9fe6d..00000000 --- a/meta-crownbay/README +++ /dev/null @@ -1,140 +0,0 @@ -This README file contains information on building the meta-crownbay -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The Crown Bay platform consists of the Intel Atom E6xx processor, -plus the Intel EG20T Platform Controller Hub (Tunnel Creek + Topcliff). - -Further information on the platforms supported by this BSP can be -found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/atom-e6xx/overview - -And information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Nitin A Kamble <nitin.a.kamble@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-crownbay BSP layer - II. Booting the images in /binary - - -I. Building the meta-crownbay BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a crownbay -image by adding the location of the meta-crownbay layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-crownbay \ - -The meta-crownbay layer contains support for the crownbay-noemgd machine -configuration. The previously supported crownbay machine with the -proprietary EMGD graphics driver has been retired. The 'crownbay-noemgd' -machine configuration uses the open source 'vesa' kernel driver. - -To enable the layer add the following to the local.conf file: - - MACHINE ?= "crownbay-noemgd" - -You should then be able to build a crownbay image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting -a BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-crownbay-noemgd.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-crownbay/README.sources b/meta-crownbay/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-crownbay/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-crownbay/binary/.gitignore b/meta-crownbay/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-crownbay/binary/.gitignore +++ /dev/null diff --git a/meta-crownbay/conf/layer.conf b/meta-crownbay/conf/layer.conf deleted file mode 100644 index e6cc2a02..00000000 --- a/meta-crownbay/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "crownbay" -BBFILE_PATTERN_crownbay := "^${LAYERDIR}/" -BBFILE_PRIORITY_crownbay = "6" - -LAYERDEPENDS_crownbay = "intel" diff --git a/meta-crownbay/conf/machine/crownbay-noemgd.conf b/meta-crownbay/conf/machine/crownbay-noemgd.conf deleted file mode 100644 index 9f0aa300..00000000 --- a/meta-crownbay/conf/machine/crownbay-noemgd.conf +++ /dev/null @@ -1,22 +0,0 @@ -#@TYPE: Machine -#@NAME: crownbay-noemgd - -#@WEBTITLE: Intel Atom E6xx Processor With Intel EG20T Controller Hub Development Kit (Crown Bay) With Open Source VESA Graphics - -#@DESCRIPTION: Machine configuration for Crown Bay systems, without Intel-proprietary graphics bits -# i.e. E660 + EG20T - -PREFERRED_VERSION_linux-yocto ?= "3.19%" - -require conf/machine/include/meta-intel.inc -require conf/machine/include/intel-core2-32-common.inc -require conf/machine/include/intel-common-pkgarch.inc - -MACHINE_FEATURES += "intel-ucode" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_VESA} \ - " - -APPEND += "video=vesafb vga=0x318" diff --git a/meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig b/meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend b/meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend deleted file mode 100644 index 56d8fcb0..00000000 --- a/meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -do_install_append () { - echo "blacklist gma500_gfx" > ${D}${sysconfdir}/modprobe.d/prohibit_gma500_gfx.conf -} diff --git a/meta-crystalforest/COPYING.MIT b/meta-crystalforest/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-crystalforest/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-crystalforest/README b/meta-crystalforest/README deleted file mode 100644 index 210df563..00000000 --- a/meta-crystalforest/README +++ /dev/null @@ -1,191 +0,0 @@ -This README file contains information on building the meta-crystalforest -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The 'Crystal Forest' platform consists of two versions. -1. GLADDEN -2. SERVER - -The Gladden Platform consists of Intel Xeon E3-1125C/E3-1105C Processor, -plus the Intel Communication Chipset 89xx for Smaller Form Factor -Communication Infrastructure. -(Gladden + Cave Creek) also known as CrystalForest-Gladden - -The Server Platform consists of Intel Xeon E5-2600 and E5-2400 Processors, -plus the Intel Communication Chipset 89xx for Large-Scale Communications -Infrastructure. -(Ivy Bridge-EP/EN + Coleto Creek) also known as HighlandForest -(Sandy Bridge-EP/EN + Cave Creek) also known as CrystalForest-Server - -Both Platforms use Matrox graphics Card. - -Further information about the Crystal Forest Gladden platform supported -by this BSP can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-core-pentium-celeron-89xx/overview - -Further information about the Crystal Forest server platform supported -by this BSP can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-e5-89xx/overview - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing -list (meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Chan Wei Sern <wei.sern.chan@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-crystalforest BSP layer - II. Booting the images in /binary -III. Device Notes - a. Boot Loader - b. I/O drivers -IV. Enabling Intel DPDK and QuickAssist Technology - -I. Building the meta-crystalforest BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a crystalforest -image by adding the location of the meta-crystalforest layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-crystalforest \ - -Crystal Forest layer is meant for building both Crystal Forest Gladden -and Crystal Forest Server platforms. By enabling Crystal Forest layer, -the image you build is able to boot on both supported platforms. - -To enable the Crystal Forest layer, add the Crystal Forest MACHINE to -build/local.conf: - - MACHINE ?= "crystalforest" - -You should then be able to build a crystalforest image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -To boot on both Gladden and Server Platforms: - -# dd if=core-image-sato-crystalforest.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - -III. Device Notes -================= - -a. Boot Loader --------------- -- Support BIOS version at Shumway board (HighlandForest/CrystalForest-server): - CCFRCLC0.019 - -- Support BIOS version at Stargo board ( CrystalForest-Gladden ): - CIVGCCK1.86C.0003.P00 - -b. I/O drivers --------------- --Support Matrox graphic card. --Support SATA, USB Host v2.0 --Supported I/O devices (APIC, RTC, SPI, UART, I2C, LPS, SMBus i801, - WDT, and HPET) - - -IV. Enabling Intel DPDK and QuickAssist Technology -=================================================== - -There are recipes available for the 'Intel Data Plane Development Kit and -Intel QuickAssist Technology components for use with this BSP. Please -contact your Intel Field Sales Representative or visit Intel Embedded Design -Center (www.intel.com/p/en_US/embedded/designcenter) for instructions on how -to locate and use these recipes. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-crystalforest/README.sources b/meta-crystalforest/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-crystalforest/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-crystalforest/binary/.gitignore b/meta-crystalforest/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-crystalforest/binary/.gitignore +++ /dev/null diff --git a/meta-crystalforest/conf/layer.conf b/meta-crystalforest/conf/layer.conf deleted file mode 100644 index daa2ba7c..00000000 --- a/meta-crystalforest/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "crystalforest" -BBFILE_PATTERN_crystalforest := "^${LAYERDIR}/" -BBFILE_PRIORITY_crystalforest = "6" - -LAYERDEPENDS_crystalforest = "intel" diff --git a/meta-crystalforest/conf/machine/crystalforest.conf b/meta-crystalforest/conf/machine/crystalforest.conf deleted file mode 100644 index 44b9bb2d..00000000 --- a/meta-crystalforest/conf/machine/crystalforest.conf +++ /dev/null @@ -1,40 +0,0 @@ -#@TYPE: Machine -#@NAME: crystalforest - -#@WEBTITLE: Intel Xeon E3-1125C/E3-1105C (Formerly Sandy Bridge-Gladden) -#Processors with Intel Communication Chipset 89xx (Crystal Forest Gladden Platform) - -#@DESCRIPTION: Machine configuration for Crystal Forest Gladden systems -#for Smaller Form Factor Communication Infrastructure -# i.e. Xeon E3-1125C/E3-1105C + Intel 89xx communication Chipset - -#@WEBTITLE: Intel Xeon E5-2600 and E5-2400 (Formerly Sandy Bridge-EP/EN) -#Processors with Intel Communication Chipset 89xx (Crystal Forest Server Platform) - -#@DESCRIPTION: Machine configuration for Crystal Forest Server systems -#for Large-Scale Communications Infrastructure -# i.e. Xeon E5-2600 and E5-2400 + Intel 89xx Communication Chipsets - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_MATROX_MGA} \ - " -MACHINE_EXTRA_RRECOMMENDS += "calgary-corpus \ - canterbury-corpus \ - " -#This Kernel Option is required for Intel Quick Assist Technology Software. -APPEND += "acpi_enforce_resources=lax" - -#Uncomment the below Kernel Option if Virtualization is not needed. -#APPEND += "intel_iommu=off" - -SYSLINUX_OPTS = "serial 0 115200" -SERIAL_CONSOLE = "115200 ttyS0" -APPEND += "console=ttyS0,115200 console=tty0" diff --git a/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-gladden/machconfig b/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-gladden/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-gladden/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-server/machconfig b/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-server/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-crystalforest/recipes-bsp/formfactor/formfactor/crystalforest-server/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-crystalforest/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-crystalforest/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-crystalforest/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-emenlow/COPYING.MIT b/meta-emenlow/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-emenlow/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-emenlow/README b/meta-emenlow/README deleted file mode 100644 index 0bf0cbcb..00000000 --- a/meta-emenlow/README +++ /dev/null @@ -1,148 +0,0 @@ -This README file contains information on building the meta-emenlow -BSP layer using any of the supported machine configurations, and -booting the images contained in the /binary directory. - -The 'eMenlow' platform consists of the Intel Atom Z5xx processor, -plus the Intel US15W System Controller Hub. - -Further information on the platform supported by this BSP can be -found here: - - http://www.portwell.com/products/detail.asp?CUSTCHAR1=WEBS-2120 - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - -If you're only interested in booting the images in the /binary -directory of a BSP tarball you've downloaded, there's nothing special -to do - the appropriate images are already in the /binary directory -depending on which BSP tarball you downloaded. - -Please see the corresponding sections below for details. - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Nitin A Kamble <nitin.a.kamble@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-emenlow BSP layer -II. Booting the images in /binary - - -I. Building the meta-emenlow BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build an emenlow -image by adding the location of the meta-emenlow layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-emenlow \ - -The meta-emenlow layer contains support for emenlow-noemgd machine -configuration. The previously supported emenlow machine with the -proprietary EMGD graphics driver has been retired. The 'emenlow-noemgd' -machine configuration uses the open source 'gma500' kernel DRM driver -along with the 'modesetting' X driver. - -To enable the layer add the following to the local.conf file: - - MACHINE ?= "emenlow-noemgd" - -You should then be able to build an emenlow image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-emenlow-noemgd.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-emenlow/binary/.gitignore b/meta-emenlow/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-emenlow/binary/.gitignore +++ /dev/null diff --git a/meta-emenlow/conf/layer.conf b/meta-emenlow/conf/layer.conf deleted file mode 100644 index b5832e4f..00000000 --- a/meta-emenlow/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "emenlow" -BBFILE_PATTERN_emenlow := "^${LAYERDIR}/" -BBFILE_PRIORITY_emenlow = "6" - -LAYERDEPENDS_emenlow = "intel" diff --git a/meta-emenlow/conf/machine/emenlow-noemgd.conf b/meta-emenlow/conf/machine/emenlow-noemgd.conf deleted file mode 100644 index 0a92845c..00000000 --- a/meta-emenlow/conf/machine/emenlow-noemgd.conf +++ /dev/null @@ -1,20 +0,0 @@ -#@TYPE: Machine -#@NAME: emenlow-noemgd - -#@WEBTITLE: Intel Atom Z5xx Processor With Intel US15W Controller Hub (eMenlow) with open source graphics - -#@DESCRIPTION: Machine configuration for eMenlow based systems, like the Webs-2120 box, without the Intel-proprietary graphics bits - -PREFERRED_VERSION_linux-yocto ?= "3.19%" - -require conf/machine/include/intel-core2-32-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -MACHINE_FEATURES += "intel-ucode" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_MODESETTING} \ - " -APPEND += "reboot=pci" diff --git a/meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig b/meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf deleted file mode 100644 index 3316e541..00000000 --- a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf +++ /dev/null @@ -1,22 +0,0 @@ -Section "Device" - Identifier "gma500" - Driver "modesetting" - Option "SWCursor" "ON" -EndSection - -Section "Monitor" - Identifier "Generic Monitor" - Option "DPMS" -EndSection - -Section "Screen" - Identifier "Default Screen" - Device "gma500" - Monitor "Generic Monitor" - DefaultDepth 24 -EndSection - -Section "ServerLayout" - Identifier "Default Layout" - Screen "Default Screen" -EndSection diff --git a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend deleted file mode 100644 index e6c4c7ec..00000000 --- a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PR := "${PR}.2" diff --git a/meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index 61aed2f4..00000000 --- a/meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd" -KMACHINE_emenlow-noemgd = "emenlow" -KBRANCH_emenlow-noemgd = "standard/emenlow" -KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500" - -# NOTE: We do not set SRCREVs here as -dev is intended to be built with AUTOREV -# and setting them here breaks the default mechanism to use AUTOREV if the -# default SRCREV is set and linux-yocto-dev is the preferred provider. diff --git a/meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend b/meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend deleted file mode 100644 index 6906a67b..00000000 --- a/meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd" -KMACHINE_emenlow-noemgd = "emenlow" -KBRANCH_emenlow-noemgd = "standard/base" -KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500" - -LINUX_VERSION_emenlow-noemgd = "3.14.19" -SRCREV_machine_emenlow-noemgd = "902f34d36102a4b2008b776ecae686f80d307e12" -SRCREV_meta_emenlow-noemgd = "28e39741b8b3018334021d981369d3fd61f18f5b" diff --git a/meta-fri2/COPYING.MIT b/meta-fri2/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-fri2/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-fri2/README b/meta-fri2/README deleted file mode 100644 index 6e90c335..00000000 --- a/meta-fri2/README +++ /dev/null @@ -1,339 +0,0 @@ -This README file contains information on building the meta-fri2 BSP -layer and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The Fish River Island II BSP supports the Kontron M2M Smart Services -Developer Kit, as described here: - -http://us.kontron.com/products/systems+and+platforms/m2m/m2m+smart+services+developer+kit.html - -The 'Queens Bay' platform consists of the Intel Atom E640T processor plus the -Intel EG20T Platform Controller Hub (Tunnel Creek + Topcliff). The Fish River -Island II includes a variety of communications options and other -machine-to-machine (m2m) capabilities. - -Information on all Intel embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Darren Hart <dvhart@linux.intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-fri2 BSP layer - II. Booting the images in /binary -III. Device Notes - a. BIOS and Firmware - b. Serial Port - c. HDMI - d. Power Reset - e. Accelerometer - f. GPIO - g. MMC - h. 802.11 - i. 802.15.4 - j. Audio - k. Optional Devices - IV. Known Issues - a. EFI boot fails - b. Client USB is disabled - c. Audio over secondary HDMI port only - V. Additional Resources - - -I. Building the meta-fri2 BSP layer -=================================== - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build an fri2 image -by adding the location of the meta-intel and meta-fri2 layers to -bblayers.conf, e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-fri2 \ - -The meta-fri2 layer contains support for fri2-noemgd machine configuration. -The previously supported fri2 machine with the proprietary EMGD graphics -driver has been retired. The 'fri2-noemgd' machine configuration uses -the open source 'vesa' kernel driver. - -To enable the layer add the following to the local.conf file: - - MACHINE ?= "fri2-noemgd" - -You should then be able to build an fri2 image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-fri2-noemgd.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into one of the USB host ports on the target, and power on. This -should result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - -If instead of a live image, you would like to prepare an EFI bootable -partitioned image, use the mkefidisk.sh script provided in the scripts -directory of this BSP. Future versions of the images have an EFI -installer integrated into the live image. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 - - -III. Device Notes -================================ -a. BIOS and Firmware - -Units provided from the Yocto Project Fish River Island 2 Giveaway -Program are preconfigured with the Intel provided Fast Boot EFI -firmware. This firmware will search the available devices (USB, SD, -and mSATA) for a valid EFI payload at "EFI\BOOT\BOOTIA32.EFI". If it -fails to find one, it will launch the EFI shell and optionally execute -a "startup.nsh" script if it finds the script on the available storage -devices. It searches the devices in the following order: USB, SD, -mSATA. - -Units acquired via other channels may have the Kontron supplied APTIO -(AMI) BIOS. This is a PCBIOS and EFI firmware with a traditional BIOS -configuration menu which can be used to define a variety of boot -configurations. - -b. Serial Port --------------- -The FRI2 has an optional serial daughter card providing a serial -console via the micro-USB port on the top of the device adjacent the -SIM card slot. - -The UART from the EG20T is connected to a TI UART-to-USB device -(TUSB3410) which appears as a serial port on the host computer. From a -Linux host, load the driver with the following options: - -# modprobe ti_usb_3410_5052 vendor_3410=0x0451 product_3410=0x5053 - -In future versions of the Linux kernel (3.4 and later), the -vendor and product codes are detected automatically. - -When you power on your FRI2, your host will discover a serial device -and name it /dev/ttyUSB0 (or similar). You can communicate with this -device at 115200 8N1 using your preferred terminal emulator. - -If using the Intel provided Fast Boot EFI firmware, no additional -configuration is required. If using the APTIO (AMI) BIOS, use the -following settings to configure console redirection in the BIOS menu: - - Advanced - Serial Port Console Redirection - COM2 - Console Redirection [Enabled] - Console Redirection Settings - Terminal Type [ANSI] - Bits per second [115200] - Data Bits [8] - Parity [None] - Stop Bits [1] - Flow Control [None] - Recorder Mode [Disabled] - Resolution 100x31 [Disabled] - Legacy OS Redirection [80x24] - -c. HDMI -------- -The FRI2 has two micro HDMI ports. For the Intel provided Fast Boot -EFI firmware, the one closest to the bottom of the device is the -primary display. For the APTIO (AMI) BIOS, the jack nearest the 1/8" -audio jacks is the primary display. - -d. Power Reset --------------- -The recessed button adjacent the LEDs on the top of the device is a -power reset button. - -e. Accelerometer ----------------- -The LIS331DLH accelerometer is connected to the I2C bus on the CPLD on -the compute module. The driver for this chip is under active -development and will be included in the BSP once completed. - -f. GPIO -------- -The FRI2 has two I2C PCA555x GPIO devices used for internal control -signals. These have not been exposed in the current release of the -BSP, but may be in the future. Regardless, these would not provide -general purpose IO with which to read or drive additional signals. - -g. MMC ------- -The FRI2 provides two microSD card MMC devices. One is located -adjacent the 1/8" audio jacks, another is located on the board inside -the chassis. These devices can be used to boot the device, or as -secondary storage. - -h. 802.11 ---------- -The Intel Corporation Centrino Advanced-N 6205 that ships with the -FRI2 is supported. You can use connman-gnome to configures the -interface. - -i. 802.15.4 ------------ -The TI CC2531 802.15.4 radio is a USB ACM modem. The MAC is enabled by -issuing the following command: - -# echo J > /dev/ttyACM0 - -The bank of 3 LEDs nearest the power reset button will change if this -command is executed successfully. If you have a 3G modem installed, -the 802.15.4 device may appear as /dev/ttyACM3 instead. - -No further testing or integration has been done. - -j. Audio --------------------- -The FRI2 has an 1/8" analog output (nearest the antennae), a line-in -input below that, as well as SPDIF over HDMI. These can be tested -using the alsa-utils package. The aplay -l command will list both -playback devices: - -# aplay -l -**** List of PLAYBACK Hardware Devices **** -card 0: MID [HDA Intel MID], device 0: ALC262 Analog [ALC262 Analog] - Subdevices: 1/1 - Subdevice #0: subdevice #0 -card 0: MID [HDA Intel MID], device 3: ALC262 Digital [ALC262 Digital] - Subdevices: 1/1 - Subdevice #0: subdevice #0 - -Using a sample WAV file, you can use aplay to play to either device: - -Over analog: -# aplay -D plughw:0,0 sample.wav - -Over HDMI: -# aplay -D plughw:0,3 sample.wav - - -k. Optional Devices -------------------- -The FRI2 has two mini-PCIe slots internally. The device ships with a -half-length wireless card installed. This can be replaced with a -wireless + bluetooth card. The other slot is available for use with -cellular cards or mSATA SSDs. - -The Ericsson F5521gw 3G modem has been verifed with the FRI2 images. -Note that the connman-gnome UI does not allow for configuring the -cellular interface. The ofono-tests package can be used to configure -the modem and bring up an interface. - - -IV. Known Issues ----------------- -a. EFI ------- -The APTIO (AMI) BIOS does not yet boot the EFI payload provided on the -FRI2 live image. This is a known issue under investigation. If using -this firmware, boot using PCBIOS mode, rather than EFI. The Intel -provided Fast Boot EFI firmware will boot the EFI payload. - -b. Client USB is disabled -------------------------- -The micro-USB port adjacent the primary HDMI port is intended for Client -USB functionality, but is not supported on current revisions of the -device. - -c. Audio over secondary HDMI port only --------------------------------------- -While audio over HDMI has been shown to work, it seems to only work over -the secondary (bottom-most) HDMI port. There does not appear to be a -deterministic way of getting the device to output the signal (video and -audio) over the secondary port. - - -V. Additional Resources ------------------------ -In addition to this README, please see the following wiki page for tips -on using the FRI2 with the Yocto Project: - -https://wiki.yoctoproject.org/wiki/BSPs/FRI2 diff --git a/meta-fri2/README.sources b/meta-fri2/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-fri2/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-fri2/binary/.gitignore b/meta-fri2/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-fri2/binary/.gitignore +++ /dev/null diff --git a/meta-fri2/conf/layer.conf b/meta-fri2/conf/layer.conf deleted file mode 100644 index 0bb29a13..00000000 --- a/meta-fri2/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "fri2" -BBFILE_PATTERN_fri2 := "^${LAYERDIR}/" -BBFILE_PRIORITY_fri2 = "6" - -LAYERDEPENDS_fri2 = "intel" diff --git a/meta-fri2/conf/machine/fri2-noemgd.conf b/meta-fri2/conf/machine/fri2-noemgd.conf deleted file mode 100644 index bdf4b0dd..00000000 --- a/meta-fri2/conf/machine/fri2-noemgd.conf +++ /dev/null @@ -1,36 +0,0 @@ -#@TYPE: Machine -#@NAME: fri2 - -#@WEBTITLE: Intel Atom E640T Processor with Intel EG20T Controller Hub Development Kit (Queens Bay) with Open Source VESA Graphics for Fish River Island II systems - -#@DESCRIPTION: Machine configuration for Fish River Island II systems, without Intel-proprietary graphics bits - -require conf/machine/include/intel-core2-32-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -MACHINE_FEATURES += "wifi 3g pcbios efi" -MACHINE_FEATURES += "intel-ucode" - -MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-iwlwifi-6000g2a-5" - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.19%" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_FBDEV} \ - " - -# Syslinux does not know about the 64MHz uart clock and it does not detect the -# serial device by number. Use the IO port directly and divide the baud down to -# trick syslinux into configuring a 115200 baud. -SYSLINUX_OPTS = "serial 0xb060 3318" -SERIAL_CONSOLE = "115200 ttyPCH1" -APPEND += "console=ttyPCH1,115200 console=tty0" - -# EFI boot will ignore this and use the EFI framebuffer at 800x600 -APPEND += "video=vesafb vga=0x318" - -# MSI interrupts fail for the HDA device when using the EFI firmware -APPEND += "snd_hda_intel.enable_msi=0" diff --git a/meta-fri2/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-fri2/recipes-bsp/alsa-state/alsa-state.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-fri2/recipes-bsp/alsa-state/alsa-state.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-fri2/recipes-bsp/alsa-state/alsa-state/fri2-noemgd/asound.state b/meta-fri2/recipes-bsp/alsa-state/alsa-state/fri2-noemgd/asound.state deleted file mode 100644 index 8a89f0bc..00000000 --- a/meta-fri2/recipes-bsp/alsa-state/alsa-state/fri2-noemgd/asound.state +++ /dev/null @@ -1,411 +0,0 @@ -state.MID { - control.1 { - iface MIXER - name 'PCM Playback Volume' - value.0 24 - value.1 24 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 30' - dbmin -4500 - dbmax 0 - dbvalue.0 -900 - dbvalue.1 -900 - } - } - control.2 { - iface MIXER - name 'PCM Playback Switch' - value.0 true - value.1 true - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.3 { - iface MIXER - name 'Headphone Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 30' - dbmin -4500 - dbmax 0 - dbvalue.0 -4500 - dbvalue.1 -4500 - } - } - control.4 { - iface MIXER - name 'Headphone Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.5 { - iface MIXER - name 'Rear Mic Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.6 { - iface MIXER - name 'Rear Mic Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.7 { - iface MIXER - name 'Front Mic Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.8 { - iface MIXER - name 'Front Mic Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.9 { - iface MIXER - name 'Line Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.10 { - iface MIXER - name 'Line Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.11 { - iface MIXER - name 'CD Playback Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -3450 - dbmax 1200 - dbvalue.0 -3450 - dbvalue.1 -3450 - } - } - control.12 { - iface MIXER - name 'CD Playback Switch' - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.13 { - iface MIXER - name 'Auto-Mute Mode' - value Disabled - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 Disabled - item.1 Enabled - } - } - control.14 { - iface MIXER - name 'Rear Mic Boost Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 3' - dbmin 0 - dbmax 3000 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.15 { - iface MIXER - name 'Front Mic Boost Volume' - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 3' - dbmin 0 - dbmax 3000 - dbvalue.0 0 - dbvalue.1 0 - } - } - control.16 { - iface MIXER - name 'Capture Switch' - value.0 true - value.1 true - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.17 { - iface MIXER - name 'Capture Switch' - index 1 - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.18 { - iface MIXER - name 'Capture Switch' - index 2 - value.0 false - value.1 false - comment { - access 'read write' - type BOOLEAN - count 2 - } - } - control.19 { - iface MIXER - name 'Capture Volume' - value.0 25 - value.1 25 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -1200 - dbmax 3450 - dbvalue.0 2550 - dbvalue.1 2550 - } - } - control.20 { - iface MIXER - name 'Capture Volume' - index 1 - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -1200 - dbmax 3450 - dbvalue.0 -1200 - dbvalue.1 -1200 - } - } - control.21 { - iface MIXER - name 'Capture Volume' - index 2 - value.0 0 - value.1 0 - comment { - access 'read write' - type INTEGER - count 2 - range '0 - 31' - dbmin -1200 - dbmax 3450 - dbvalue.0 -1200 - dbvalue.1 -1200 - } - } - control.22 { - iface MIXER - name 'Input Source' - value Line - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 'Rear Mic' - item.1 'Front Mic' - item.2 Line - item.3 CD - } - } - control.23 { - iface MIXER - name 'Input Source' - index 1 - value 'Rear Mic' - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 'Rear Mic' - item.1 'Front Mic' - item.2 Line - item.3 CD - } - } - control.24 { - iface MIXER - name 'Input Source' - index 2 - value 'Rear Mic' - comment { - access 'read write' - type ENUMERATED - count 1 - item.0 'Rear Mic' - item.1 'Front Mic' - item.2 Line - item.3 CD - } - } - control.25 { - iface MIXER - name 'IEC958 Playback Con Mask' - value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access read - type IEC958 - count 1 - } - } - control.26 { - iface MIXER - name 'IEC958 Playback Pro Mask' - value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access read - type IEC958 - count 1 - } - } - control.27 { - iface MIXER - name 'IEC958 Playback Default' - value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - comment { - access 'read write' - type IEC958 - count 1 - } - } - control.28 { - iface MIXER - name 'IEC958 Playback Switch' - value true - comment { - access 'read write' - type BOOLEAN - count 1 - } - } - control.29 { - iface MIXER - name 'IEC958 Default PCM Playback Switch' - value true - comment { - access 'read write' - type BOOLEAN - count 1 - } - } - control.30 { - iface MIXER - name 'Master Playback Volume' - value 24 - comment { - access 'read write' - type INTEGER - count 1 - range '0 - 30' - dbmin -4500 - dbmax 0 - dbvalue.0 -900 - } - } - control.31 { - iface MIXER - name 'Master Playback Switch' - value true - comment { - access 'read write' - type BOOLEAN - count 1 - } - } -} diff --git a/meta-fri2/recipes-bsp/formfactor/formfactor/fri2-noemgd/machconfig b/meta-fri2/recipes-bsp/formfactor/formfactor/fri2-noemgd/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-fri2/recipes-bsp/formfactor/formfactor/fri2-noemgd/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-fri2/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-fri2/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-fri2/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-fri2/recipes-bsp/grub/grub-efi_2.00.bbappend b/meta-fri2/recipes-bsp/grub/grub-efi_2.00.bbappend deleted file mode 100644 index f6105711..00000000 --- a/meta-fri2/recipes-bsp/grub/grub-efi_2.00.bbappend +++ /dev/null @@ -1,13 +0,0 @@ -# The Intel provided Fast Boot Firmware may not initialize the USB keyboard -# before launching the grub.efi payload. Ensure GRUB has keyboard control by -# building in the usb, usb_keyboard, and ohci modules. - -do_deploy() { - # Search for the grub.cfg on the local boot media by using the - # built in cfg file provided via this recipe - grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ - -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \ - boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 search \ - usb usb_keyboard ohci - install -m 644 ${B}/${GRUB_IMAGE} ${DEPLOYDIR} -} diff --git a/meta-fri2/recipes-core/init-ifupdown/files/fri2-noemgd/interfaces b/meta-fri2/recipes-core/init-ifupdown/files/fri2-noemgd/interfaces deleted file mode 100644 index f5bb9468..00000000 --- a/meta-fri2/recipes-core/init-ifupdown/files/fri2-noemgd/interfaces +++ /dev/null @@ -1,9 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - -# Wired or wireless interfaces -auto eth0 -iface eth0 inet dhcp diff --git a/meta-fri2/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-fri2/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend deleted file mode 100644 index 81fe7b79..00000000 --- a/meta-fri2/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" diff --git a/meta-fri2/recipes-kernel/kmod/kmod_git.bbappend b/meta-fri2/recipes-kernel/kmod/kmod_git.bbappend deleted file mode 100644 index 56d8fcb0..00000000 --- a/meta-fri2/recipes-kernel/kmod/kmod_git.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -do_install_append () { - echo "blacklist gma500_gfx" > ${D}${sysconfdir}/modprobe.d/prohibit_gma500_gfx.conf -} diff --git a/meta-isg/MAINTAINERS b/meta-isg/MAINTAINERS deleted file mode 100644 index 98b8a5e0..00000000 --- a/meta-isg/MAINTAINERS +++ /dev/null @@ -1,51 +0,0 @@ -This file contains a list of BSP maintainers for the BSPs contained in -the meta-intel/meta-isg repository. - -Please submit any patches against meta-intel/meta-isg BSPs to the -maintainer of the BSP in question and to the meta-intel mailing list -(meta-intel@yoctoproject.org). Also, if your patches are available -via a public git repository, please also include a URL to the repo and -branch containing your patches as that makes it easier for maintainers -to grab and test your patches. - -If you have problems with or questions about a particular BSP, feel -free to contact the maintainer directly (cc:ing the meta-intel mailing -list puts it in the archive and helps other people who might have the -same questions in the future), but please try to do the following -first: - - - look in the Yocto Project Bugzilla - (http://bugzilla.yoctoproject.org/) to see if a problem has - already been reported - - - look through recent entries of the meta-intel - (https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto - (https://lists.yoctoproject.org/pipermail/yocto/) mailing list - archives to see if other people have run into similar problems or - had similar questions answered. - -Descriptions of section entries: - - M: Mail patches to: FullName <address@domain> - F: Files and directories with wildcard patterns. - A trailing slash includes all files and subdirectory files. - F: meta-haswell-wc/ all files in and below meta-haswell-wc - F: meta-haswell-wc/* all files in meta-haswell-wc, but not below - One pattern per line. Multiple F: lines acceptable. - -Please keep this list in alphabetical order. - -Maintainers List (try to look for most precise areas first) - - ----------------------------------- -HASWELL-WC -M: Ong Boon Leong <boon.leong.ong@intel.com> -F: meta-haswell-wc/ - -MOHONPEAK -M: Ong Boon Leong <boon.leong.ong@intel.com> -F: meta-mohonpeak/ - -VALLEYISLAND -M: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> -F: meta-valleyisland/ diff --git a/meta-isg/README b/meta-isg/README deleted file mode 100644 index d25a87d2..00000000 --- a/meta-isg/README +++ /dev/null @@ -1,7 +0,0 @@ -meta-intel/meta-isg -=================== - -This is the location for Intel ISG-maintained BSPs. - -Please see the README files contained in the individual BSP layers for -BSP-specific information. diff --git a/meta-isg/meta-haswell-wc/COPYING.MIT b/meta-isg/meta-haswell-wc/COPYING.MIT deleted file mode 100644 index 89de3547..00000000 --- a/meta-isg/meta-haswell-wc/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-isg/meta-haswell-wc/README b/meta-isg/meta-haswell-wc/README deleted file mode 100644 index 3e344467..00000000 --- a/meta-isg/meta-haswell-wc/README +++ /dev/null @@ -1,172 +0,0 @@ -This README file contains information on building the meta-haswell-wc -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The BSP is made specifically for 4th Gen Intel Core Processor (Haswell) -Development Kit with Mobile Intel QM87 & HM86 Chipset (formerly known as -Shark Bay). This BSP assumes that integrated graphics are being used. -The "haswell-wc" BSP is meant to support "Walnut Canyon" Shark Bay -development kit. - -Further information about the Haswell Platforms supported by this BSP can be -found here: - - http://www.intel.com/content/www/us/en/intelligent-systems/shark-bay/4th-generation-core-qm87-hm86-chipsets.html - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Compliance -========== - -This BSP is compliant with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - -Patches -======= - -Please submit any patches against this BSP to the Yocto mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Ong Boon Leong <boon.leong.ong@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-haswell-wc BSP layer - II. Booting the images in /binary -III. Device Notes - a. Boot Loader - b. I/O drivers - - -I. Building the meta-haswell-wc BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a haswell-wc -image by adding the location of the meta-haswell-wc layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-isg/meta-haswell-wc \ - -To enable the haswell-wc layer, add the haswell-wc MACHINE to local.conf: - - MACHINE ?= "haswell-wc" - -You should then be able to build a haswell-wc image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -NOTE: The 'haswell-wc' machine will include support for hardware video -acceleration via gstreamer if and only if the "commercial" string is -added to the the LICENSE_FLAGS_WHITELIST variable in your local.conf. - -For example: - - LICENSE_FLAGS_WHITELIST = "commercial" - -The reason this is needed is to prevent the image from including -anything that might violate the license terms of the packages used to -implement the the video acceleration feature, such as gst-ffmpeg and -ffmpeg. As always, please consult the licenses included in the -specific packages for details if you use packages that require -particular LICENSE_FLAGS. - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-haswell-wc.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 - - -III. Device Notes -================= - -a. Boot Loader --------------- -BIOS: HSWLPTU1.86C.0131.R05.1308140140 - -b. I/O drivers --------------- -Support integrated graphics driver (i965) - -Support SATA, USB Host v2.0 - -Supported I/O devices (APIC, RTC, SPI, UART, I2C, LPS, SMBus i801, -WDT, and HPET) diff --git a/meta-isg/meta-haswell-wc/README.sources b/meta-isg/meta-haswell-wc/README.sources deleted file mode 100644 index 8cde68e8..00000000 --- a/meta-isg/meta-haswell-wc/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.4/poky-dylan-9.0.2.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-isg/meta-haswell-wc/conf/layer.conf b/meta-isg/meta-haswell-wc/conf/layer.conf deleted file mode 100644 index bfd1f823..00000000 --- a/meta-isg/meta-haswell-wc/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "haswell-wc" -BBFILE_PATTERN_haswell-wc := "^${LAYERDIR}/" -BBFILE_PRIORITY_haswell-wc = "6" - -LAYERDEPENDS_haswell-wc = "intel" diff --git a/meta-isg/meta-haswell-wc/conf/machine/haswell-wc.conf b/meta-isg/meta-haswell-wc/conf/machine/haswell-wc.conf deleted file mode 100644 index eef4c130..00000000 --- a/meta-isg/meta-haswell-wc/conf/machine/haswell-wc.conf +++ /dev/null @@ -1,29 +0,0 @@ -#@TYPE: Machine -#@NAME: haswell-wc - -#@WEBTITLE: 4th Generation Intel Core Processors with Mobile -# Intel QM87 and HM86 Chipsets (Formerly Shark Bay) - -#@DESCRIPTION: Machine configuration for "Walnut Canyon", -# a Shark Bay development kit. - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -MACHINE_FEATURES += "pcbios efi va-impl-intel" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -MACHINE_HWCODECS ?= "va-intel gstreamer-vaapi-1.0" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_I965} \ - " - -#Since intel-common-standard.scc turn on CONFIG_FB_EFI -#This Kernel Option is required in order to disable FB-EFI -#If not the SATO image will be freezed. -APPEND += "video=efifb:off" diff --git a/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor/haswell-wc/machconfig b/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor/haswell-wc/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor/haswell-wc/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 6644a842..00000000 --- a/meta-isg/meta-haswell-wc/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PRINC := "${@int(PRINC) + 2}" diff --git a/meta-isg/meta-mohonpeak/COPYING.MIT b/meta-isg/meta-mohonpeak/COPYING.MIT deleted file mode 100644 index 89de3547..00000000 --- a/meta-isg/meta-mohonpeak/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-isg/meta-mohonpeak/README b/meta-isg/meta-mohonpeak/README deleted file mode 100644 index cd948dea..00000000 --- a/meta-isg/meta-mohonpeak/README +++ /dev/null @@ -1,164 +0,0 @@ -This README file contains information on building the meta-mohonpeak -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The mohonpeak platform consists of two versions: -1. 32-bit Mohon Peak -2. 64-bit Mohon Peak - -The Mohon Peak platform consists of the Intel Atom Processor C2000 -Product Family (Formerly Rangeley) - -This BSP assumes ASPEED Technology graphics card is being used. - -Further information about the platforms supported by this BSP can be -found here: - - http://www.intel.com/content/www/us/en/intelligent-systems/rangeley/ - atom-c2000-product-family-based-platforms-overview.html - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the Yocto mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Ong Boon Leong <boon.leong.ong@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-mohonpeak BSP layer - II. Booting the images in /binary -III. Device Notes - a. Boot Loader - b. I/O drivers - - -I. Building the meta-mohonpeak BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a mohonpeak -image by adding the location of the meta-mohonpeak layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-isg/meta-mohonpeak \ - -To enable the 32-bit Mohon Peak layer, add the mohonpeak-32 MACHINE to local.conf: - - MACHINE ?= "mohonpeak-32" - -To enable the 64-bit Mohon Peak layer, add the mohonpeak-64 MACHINE to local.conf: - - MACHINE ?= "mohonpeak-64" - -You should then be able to build a mohonpeak image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-mohonpeak-64.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 - - -III. Device Notes -================= - -a. Boot Loader --------------- -BIOS : EDVLCRB1.86B.0024.R00.1308061601 - -b. I/O drivers --------------- -Support Intel Legacy Block Drivers (APIC, RTC HPET, UART, LPC, WDT, -SMBus i801, SMBus iSMT, USB Host v2.0, SATA) - -Support Aspeed Technology Graphic Card diff --git a/meta-isg/meta-mohonpeak/README.sources b/meta-isg/meta-mohonpeak/README.sources deleted file mode 100644 index b6f7c9f8..00000000 --- a/meta-isg/meta-mohonpeak/README.sources +++ /dev/null @@ -1,18 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://www.yoctoproject.org/downloads/yocto-1.5.0/poky-dora-10.0.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git - -git://git.yoctoproject.org/meta-intel.git diff --git a/meta-isg/meta-mohonpeak/conf/layer.conf b/meta-isg/meta-mohonpeak/conf/layer.conf deleted file mode 100644 index 93ec112d..00000000 --- a/meta-isg/meta-mohonpeak/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "mohonpeak" -BBFILE_PATTERN_mohonpeak := "^${LAYERDIR}/" -BBFILE_PRIORITY_mohonpeak = "6" - -LAYERDEPENDS_mohonpeak = "intel" diff --git a/meta-isg/meta-mohonpeak/conf/machine/mohonpeak32.conf b/meta-isg/meta-mohonpeak/conf/machine/mohonpeak32.conf deleted file mode 100644 index 32ded79c..00000000 --- a/meta-isg/meta-mohonpeak/conf/machine/mohonpeak32.conf +++ /dev/null @@ -1,22 +0,0 @@ -#@TYPE: Machine -#@NAME: mohonpeak 32bit - -#@DESCRIPTION: Machine configuration for Mohon Peak systems - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-core2-32-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_ASPEED_AST} \ - " - -MACHINE_FEATURES += "pcbios efi" - -SYSLINUX_OPTS = "serial 1 115200" -SERIAL_CONSOLE = "115200 ttyS1" -APPEND += "console=ttyS1,115200 console=tty1" diff --git a/meta-isg/meta-mohonpeak/conf/machine/mohonpeak64.conf b/meta-isg/meta-mohonpeak/conf/machine/mohonpeak64.conf deleted file mode 100644 index 05e2f6f1..00000000 --- a/meta-isg/meta-mohonpeak/conf/machine/mohonpeak64.conf +++ /dev/null @@ -1,22 +0,0 @@ -#@TYPE: Machine -#@NAME: mohonpeak 64 bit - -#@DESCRIPTION: Machine configuration for Mohon Peak systems - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_ASPEED_AST} \ - " - -MACHINE_FEATURES += "pcbios efi" - -SYSLINUX_OPTS = "serial 1 115200" -SERIAL_CONSOLE = "115200 ttyS1" -APPEND += "console=ttyS1,115200 console=tty1" diff --git a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak32/machconfig b/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak32/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak32/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak64/machconfig b/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak64/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor/mohonpeak64/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-isg/meta-mohonpeak/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-isg/meta-valleyisland/COPYING.MIT b/meta-isg/meta-valleyisland/COPYING.MIT deleted file mode 100644 index 89de3547..00000000 --- a/meta-isg/meta-valleyisland/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-isg/meta-valleyisland/README b/meta-isg/meta-valleyisland/README deleted file mode 100644 index 073af2a3..00000000 --- a/meta-isg/meta-valleyisland/README +++ /dev/null @@ -1,234 +0,0 @@ -This README file contains information on building the meta-valleyisland -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The Valley Island BSP consists of two versions: -1. 32-bit Valley Island -2. 64-bit Valley Island - -The BSP is made specifically for IntelĀ® Atom E3800 Processor -Development Kit (formerly known as Valley Island). This BSP integrates -Intel Graphics for Linux driver (i965) as the integrated graphics. - -Valley Island BSP is meant to support the following platforms: -1. Valley Island Development Kit -2. Bayley Bay CRB -3. Bakersport CRB -4. MinnowBoard MAX - -Further information on the platforms supported by this BSP can be -found here: - - http://www.intel.com/content/www/us/en/intelligent-systems/bay-trail/atom-processor-e3800-family-overview.html - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - -Patches -======= - -Please submit any patches against this BSP to the Meta-Intel Yocto mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> - -Please see the meta-isg/MAINTAINERS file for more details. - -Table of Contents -================= - - I. Building the meta-valleyisland BSP layer - II. Booting the images in /binary -III. Device Notes - a. Boot Loader - b. I/O drivers - c. LPIO ACPI enumeration support - IV. Known Issues - a. I/O drivers - - -I. Building the meta-valleyisland BSP layer -=========================================== - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having that done, and assuming you have extracted the BSP tarball contents -at the top-level of your Yocto build tree, you can build a valleyisland -image by adding the location of the meta-valleyisland layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-isg/meta-valleyisland \ - -To enable the 32-bit Valley Island layer, add the valleyisland-32 MACHINE to local.conf: - - MACHINE ?= "valleyisland-32" - -To enable the 64-bit Valley Island layer, add the valleyisland-64 MACHINE to local.conf: - - MACHINE ?= "valleyisland-64" - -The meta-valleyisland contains support for Intel HD Audio. However, HD Audio -driver is dependent on gstreamer plugins and ffmpeg plugins to work properly. -These gstreamer plugins require license flags in order to be included in the build. - -Add "commercial" in the LICENSE_FLAGS_WHITELIST in local.conf. For example: - - LICENSE_FLAGS_WHITELIST = "commercial" - -You should then be able to build a valleyisland image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - -II. Booting the images in /binary -================================= - -This BSP contains (or builds) live images which must be converted to a -partitioned image format in order to boot them on the Valley Island -Development Kit, Bayley Bay CRB and Bakersport CRB. - -You can deploy the hddimg image to a USB or SATA device. You will -need to know the device name on your host as well as the device name on -the target. Be careful with this step as using the wrong host device can -result in overwriting data on your host machine. - -Under Linux, USB and SATA devices typically appears as /dev/sdb, -/dev/sdc, etc. Watching your system messages as you connect the device -will tell you exactly which device name is assigned to the device. -On the Valley Island platform, assuming only one storage device is -attached at boot, a USB or SATA device will be /dev/sda. - -After inserting the boot media into your host machine and determining -your host and target device, create the image using the mkefidisk.sh -script, provided by poky under scripts/contrib/. Note that root -privileges are required. For example, using an USB device which appears -as /dev/sdc on the host: - -$ sudo ./mkefidisk.sh /dev/sdc core-image-sato-valleyisland-32.hddimg /dev/sda - -Follow the prompts on the screen to confirm the action. - -Insert the device into the Valley Island platform and power on. This -should result in a system booted to the Sato graphical desktop. - -The root password is empty on the Poky reference distribution images. - - -III. Device Notes -================= -a. Boot Loader --------------- -Valley Island Development Kit -BIOS : EBC MF01X003 -Note : It is recommended to use the default settings of this BIOS version. - -Bayley Bay/ Bakersport CRB/ MinnowBoard MAX -BIOS : ISG BIOS 092_032 -EC : KSC v3.14 - -Required settings in ISG BIOS - - OS Selection: - Device Manager -> Boot -> OS Selection -> Yocto Linux - - Turn off Secure-boot: - Device Manager -> Secure Boot Configuration -> Attempt Secure Boot -> - Uncheck - - Turn off LPE Audio Support: - Device Manager -> System Setup -> South Cluster Configuration -> - Audio Configuration -> LPE Audio Support -> Disable - - Turn on HD Audio Support: - Device Manager -> System Setup -> South Cluster Configuration -> - Audio Configuration -> Azalia Controller -> Enable - -Please use EFI mode for all boot medium types, i.e. USB disk and Hard Disk. -Setting in BIOS: - - Choose boot medium: - Boot Manager -> EFI (Hard Drive/USB Device) - - Save settings: - Boot Maintenance Manager -> Boot Options -> Change Boot Order -> - Change the order -> Commmit Changes and Exit - - -b. I/O drivers --------------- -The I2C controller driver supports fast mode by default. -To enable standard mode, appends the arguments to kernel command line. - - "i2c-designware-pci.force_std_mode=1" (PCI mode) - "i2c-designware-platform.force_std_mode=1" (ACPI mode) - - -c. LPIO ACPI enumeration support --------------------------------- -Required settings in ISG BIOS - - Turn on ACPI mode - Device Manager -> System Setup -> South Cluster Configuration -> - LPSS & SCC Configuration -> LPSS & SCC Device Mode -> ACPI mode - -Some LPSS devices are hidden in ACPI mode to support Windows. To enable -these devices, toggle the following in the BIOS Menu. - - Device Manager -> System Setup -> South Cluster Configuration -> Miscellaneous - Configuration -> Unsupported LPSS Device and select "Unhide" - - -IV. Known Limitations -===================== -a. I/O drivers --------------- -HSUART: - -When runninig PCI mode HSUART at baud rate 2M and above, you may observe -kernel message "serial8250: too much work for irq...". Most of the time it -won't disrupt the transfer and able to complete without data corruption. -However, occasionally your transfer may halt when that kernel message appear. -In this case, you would need to re-open the HSUART port. diff --git a/meta-isg/meta-valleyisland/README.sources b/meta-isg/meta-valleyisland/README.sources deleted file mode 100644 index eef58fec..00000000 --- a/meta-isg/meta-valleyisland/README.sources +++ /dev/null @@ -1,18 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.5/poky-dora-10.0.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git - -git://git.yoctoproject.org/meta-intel diff --git a/meta-isg/meta-valleyisland/conf/layer.conf b/meta-isg/meta-valleyisland/conf/layer.conf deleted file mode 100644 index 00eea9cd..00000000 --- a/meta-isg/meta-valleyisland/conf/layer.conf +++ /dev/null @@ -1,14 +0,0 @@ -#We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "valleyisland" -BBFILE_PATTERN_valleyisland := "^${LAYERDIR}/" -BBFILE_PRIORITY_valleyisland = "6" - -LAYERDEPENDS_valleyisland = "intel" - -LICENSE_PATH += "${LAYERDIR}/custom-licenses" diff --git a/meta-isg/meta-valleyisland/conf/machine/valleyisland-32.conf b/meta-isg/meta-valleyisland/conf/machine/valleyisland-32.conf deleted file mode 100644 index 6bbae7a0..00000000 --- a/meta-isg/meta-valleyisland/conf/machine/valleyisland-32.conf +++ /dev/null @@ -1,23 +0,0 @@ -#@TYPE: Machine -#@NAME: valleyisland-32 - -#@WEBTITLE: Intel Atom E38xx Processor (Valley Island) 32-bit with Open Source Frame Buffer Graphics - -#@DESCRIPTION: Machine configuration for Valley Island 32-bit systems, without Intel-proprietary graphics bits - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-core2-32-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -MACHINE_FEATURES += "pcbios efi" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_FBDEV} \ - ${XSERVER_X86_I965} \ - " - -APPEND += "acpi_enforce_resources=lax video=efifb:off vga=0x318" diff --git a/meta-isg/meta-valleyisland/conf/machine/valleyisland-64.conf b/meta-isg/meta-valleyisland/conf/machine/valleyisland-64.conf deleted file mode 100644 index a13cc171..00000000 --- a/meta-isg/meta-valleyisland/conf/machine/valleyisland-64.conf +++ /dev/null @@ -1,25 +0,0 @@ -#@TYPE: Machine -#@NAME: valleyisland-64 - -#@WEBTITLE: Intel Atom E38xx Processor (Valley Island) 64-bit with Open Source Frame Buffer Graphics - -#@DESCRIPTION: Machine configuration for Valley Island 64-bit systems, without Intel-proprietary graphics bits - - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -MACHINE_FEATURES += "pcbios efi" - - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_FBDEV} \ - ${XSERVER_X86_I965} \ - " - -APPEND += "acpi_enforce_resources=lax video=efifb:off vga=0x318" diff --git a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-32/machconfig b/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-32/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-32/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-64/machconfig b/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-64/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor/valleyisland-64/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-isg/meta-valleyisland/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-jasperforest/COPYING.MIT b/meta-jasperforest/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-jasperforest/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-jasperforest/README b/meta-jasperforest/README deleted file mode 100644 index 7e1fe9ca..00000000 --- a/meta-jasperforest/README +++ /dev/null @@ -1,137 +0,0 @@ -This README file contains information on building the -meta-jasperforest BSP layer, and booting the images contained in the -/binary directory. Please see the corresponding sections below for -details. - -'Jasper Forest' refers to the Intel Xeon C5500/C3500 processors, which -combined with the Intel 3420 PCH chipset (Ibex Peak) make up the -'Picket Post' CRB this BSP was developed on. - -Further information on the platforms supported by this BSP can be -found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-c5500-c3500-3420/overview - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Nitin A Kamble <nitin.a.kamble@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-jasperforest BSP layer - II. Booting the images in /binary - - -I. Building the meta-jasperforest BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a -jasperforest image by adding the location of the meta-jasperforest -layer to bblayers.conf, along with the meta-intel layer itself (to -access common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-jasperforest \ - -To enable the jasperforest layer, add the jasperforest MACHINE to local.conf: - - MACHINE ?= "jasperforest" - -You should then be able to build a jasperforest image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-jasperforest.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-jasperforest/README.sources b/meta-jasperforest/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-jasperforest/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-jasperforest/binary/.gitignore b/meta-jasperforest/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-jasperforest/binary/.gitignore +++ /dev/null diff --git a/meta-jasperforest/conf/layer.conf b/meta-jasperforest/conf/layer.conf deleted file mode 100644 index 6d096e7e..00000000 --- a/meta-jasperforest/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "jasperforest" -BBFILE_PATTERN_jasperforest := "^${LAYERDIR}/" -BBFILE_PRIORITY_jasperforest = "6" - -LAYERDEPENDS_jasperforest = "intel" diff --git a/meta-jasperforest/conf/machine/jasperforest.conf b/meta-jasperforest/conf/machine/jasperforest.conf deleted file mode 100644 index e0948eb0..00000000 --- a/meta-jasperforest/conf/machine/jasperforest.conf +++ /dev/null @@ -1,22 +0,0 @@ -#@TYPE: Machine -#@NAME: jasperforest - -#@WEBTITLE: Intel Xeon C5500/C3500 Series Processors With Intel 3420 PCH Chipset (Jasper Forest) - -#@DESCRIPTION: Machine configuration for Jasper Forest Picket Post -# systems i.e. Xeon C5500/C3500 (Nehalem) + Intel 3420 chipset (Ibex Peak) - -PREFERRED_VERSION_linux-yocto ?= "3.19%" - -require conf/machine/include/meta-intel.inc -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc - -MACHINE_FEATURES += "intel-ucode" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_VESA} \ - " - -APPEND += "video=vesafb vga=0x318" diff --git a/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig b/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-jasperforest/recipes-bsp/formfactor/formfactor/jasperforest/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-jasperforest/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-nuc/COPYING.MIT b/meta-nuc/COPYING.MIT deleted file mode 100644 index 89de3547..00000000 --- a/meta-nuc/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-nuc/README b/meta-nuc/README deleted file mode 100644 index 20b53f0f..00000000 --- a/meta-nuc/README +++ /dev/null @@ -1,156 +0,0 @@ -This README file contains information on building the meta-nuc -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -This BSP is made specifically for "Next Unit of Computing Kit DC3217IYE" -with Intel Centrino Advanced-N 6235 Wireless mini PCI Express card. - -Further information on this NUC platform can be found here: - - http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-boards-d33217gke-dc3217iye.html - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Nitin A Kamble <nitin.a.kamble@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-nuc BSP layer - II. Booting the images in /binary - - -I. Building the meta-nuc BSP layer -========================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a nuc -image by adding the location of the meta-nuc layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-nuc \ - -To enable the nuc layer, add the nuc MACHINE to local.conf: - - MACHINE ?= "nuc" - -You should then be able to build a nuc image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -NOTE: The 'nuc' machine will include support for hardware video -acceleration via gstreamer if and only if the "commercial" string is -added to the the LICENSE_FLAGS_WHITELIST variable in your local.conf. - -For example: - - LICENSE_FLAGS_WHITELIST = "commercial" - -The reason this is needed is to prevent the image from including -anything that might violate the license terms of the packages used to -implement the the video acceleration feature, such as gst-ffmpeg and -ffmpeg. As always, please consult the licenses included in the -specific packages for details if you use packages that require -particular LICENSE_FLAGS. - -The xf86-video-intel recipe depends on Xorg's dri and glx modules, -which are built only when 'opengl' is listed in DISTRO_FEATURES. So -if the distro doesn't list 'opengl' in the DISTRO_FEATURES, then you -would need this additional line in your local.conf: - - DISTRO_FEATURES_append = " opengl" - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-nuc.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-nuc/README.sources b/meta-nuc/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-nuc/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-nuc/conf/layer.conf b/meta-nuc/conf/layer.conf deleted file mode 100644 index 174411ff..00000000 --- a/meta-nuc/conf/layer.conf +++ /dev/null @@ -1,10 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "nuc" -BBFILE_PATTERN_nuc := "^${LAYERDIR}/" -BBFILE_PRIORITY_nuc = "6" diff --git a/meta-nuc/conf/machine/nuc.conf b/meta-nuc/conf/machine/nuc.conf deleted file mode 100644 index bdc4bca1..00000000 --- a/meta-nuc/conf/machine/nuc.conf +++ /dev/null @@ -1,27 +0,0 @@ -#@TYPE: Machine -#@NAME: chiefriver - -#@WEBTITLE: Intel Next Unit of Computing (NUC) Model: DC3217IYE - -#@DESCRIPTION: Machine configuration for Intel NUC model DC3217IYE -# i.e. Ivy Bridge + Panther Point - -PREFERRED_VERSION_linux-yocto ?= "3.19%" -MACHINE_FEATURES += "va-impl-intel wifi efi" -MACHINE_FEATURES += "intel-ucode" - -require conf/machine/include/meta-intel.inc -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc - -MACHINE_HWCODECS ?= "va-intel gstreamer-vaapi-1.0" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_I965} \ - " - -MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-iwlwifi-6000g2b-6 lms8" - -# disable the serial port configuration -SERIAL_CONSOLE = "" diff --git a/meta-nuc/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-nuc/recipes-bsp/alsa-state/alsa-state.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-nuc/recipes-bsp/alsa-state/alsa-state.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-nuc/recipes-bsp/alsa-state/alsa-state/nuc/asound.conf b/meta-nuc/recipes-bsp/alsa-state/alsa-state/nuc/asound.conf deleted file mode 100644 index 1defe77d..00000000 --- a/meta-nuc/recipes-bsp/alsa-state/alsa-state/nuc/asound.conf +++ /dev/null @@ -1,24 +0,0 @@ -pcm.!default { - type plug - slave.pcm "dmixer" -} - -pcm.dmixer { - type dmix - ipc_key 1024 - ipc_key_add_uid 0 - ipc_perm 0666 - slave { - pcm "hw:0,3" # HDMI CARD AND DEVICE - period_time 0 - period_size 1024 - buffer_size 8192 - rate 48000 #or 44100 - } -} - -ctl.dmixer { - type hw - card 0 -} - diff --git a/meta-nuc/recipes-bsp/formfactor/formfactor/nuc/machconfig b/meta-nuc/recipes-bsp/formfactor/formfactor/nuc/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-nuc/recipes-bsp/formfactor/formfactor/nuc/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-nuc/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-nuc/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-nuc/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh b/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh deleted file mode 100644 index 69d8a53f..00000000 --- a/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: -# Required-Start: -# Required-Stop: -# Default-Start: S -# Default-Stop: -# Short-Description: Configure ALSA audio output to the connected HDMI port -### END INIT INFO - -# -# If both HDMI ports are connected then use HDMI0 for default ALSA audio out.. - -ALSA_CONF_FILE="/etc/asound.conf" - -HDMI0_STATUS_FILE="/sys/class/drm/card0-HDMI-A-1/status" -HDMI1_STATUS_FILE="/sys/class/drm/card0-HDMI-A-2/status" - -HDMI0_ALSA_CONF="hw:0,3" -HDMI1_ALSA_CONF="hw:0,7" - -if [ -f "${HDMI0_STATUS_FILE}" ] && [ "`cat ${HDMI0_STATUS_FILE}`" == "connected" ] -then - sed -i "s/pcm *\"hw:[0-9]*,[0-9]*\"/pcm \"${HDMI0_ALSA_CONF}\"/" ${ALSA_CONF_FILE} -elif [ -f "${HDMI1_STATUS_FILE}" ] && [ "`cat ${HDMI1_STATUS_FILE}`" == "connected" ] -then - sed -i "s/pcm \"hw:[0-9]*,[0-9]*\"/pcm \"${HDMI1_ALSA_CONF}\"/" ${ALSA_CONF_FILE} -fi diff --git a/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend b/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend deleted file mode 100644 index abc5fe01..00000000 --- a/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://hdmi_port_audio.sh" - -PR .= ".1" - -do_install_append() { - install -m 0755 ${WORKDIR}/hdmi_port_audio.sh ${D}${sysconfdir}/init.d - ln -sf ../init.d/hdmi_port_audio.sh ${D}${sysconfdir}/rcS.d/S66hdmi_port_audio.sh -} diff --git a/meta-romley/COPYING.MIT b/meta-romley/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-romley/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-romley/README b/meta-romley/README deleted file mode 100644 index acdcb99d..00000000 --- a/meta-romley/README +++ /dev/null @@ -1,199 +0,0 @@ -This README file contains information on building the meta-romley -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The romley platform consists of two versions: -1. romley - Sandy Bridge -2. romley - Ivy Bridge - -The romley - Sandy Bridge platform consists of the Intel Xeon E5-2600 -and E5-2400 Series processors, plus the Intel C604/C602-J chipset -(Sandy Bridge-EP/EN + Patsburg). - -The romley - Ivy Bridge platform consists of the Intel Xeon E5-2600 -and E5-2400 v2 Series processors with the Intel C604/C602-J chipset -(Ivy Bridge-EP/EN + Patsburg). - -This BSP assumes Matrox graphics is being used. - -Further information about the platforms supported by this BSP can be -found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-e5-c604/overview - -Information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing -list (meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Chan Wei Sern <wei.sern.chan@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-romley BSP layer - II. Booting the images in /binary -III. Device Notes - a. Boot Loader - b. I/O drivers -IV. Enabling Intel DPDK Technology - -I. Building the meta-romley BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a romley -image by adding the location of the meta-romley layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-romley \ - -To enable the romley Sandy Bridge layer, add the romley MACHINE to local.conf: - - MACHINE ?= "romley" - -To enable the romley Ivy Bridge layer, add the romley-ivb MACHINE to local.conf: - - MACHINE ?= "romley-ivb" - -You should then be able to build a romley image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-romley.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - -If you're using Rose City and does not have ME firmware and struggling with -rebooting the machine. This is because broken ME firmware can contribute to long wait of -reboot. We have to changing the kernel command line to blacklist MEI driver to be loaded: - -1. Open your syslinux in VI editor eg: - # vi /media/sda/syslinux.cfg - -2. Look for the line that has kernel command line which has certain similiarity - as below: - - "APPEND initrd=/initrd LABEL=boot root=/dev/ram0 ....." - - or - - "APPEND initrd=/initrd LABEL=install root=/dev/ram0 ...." - -3. Add "mei_me.blacklist=yes"at the end of that line and it will be like below: - "APPEND inird=/initRD LABEL=boot root=/dev/ram0 .... mei_me.blacklist=yes" - -4. Save this syslinux.cfg - -5. Boot up the Romley with this new changed. - - -III. Device Notes -================= - -a. Boot Loader --------------- -- Support BIOS version at RoseCity board :RMLCRB.86J.R0.45.D018 - -b. I/O drivers --------------- --Support Matrox graphic card. --Support SATA, USB Host v2.0 --Supported I/O devices (APIC, RTC, SPI, UART, I2C, LPS, SMBus i801, - WDT, and HPET) - -IV. Enabling Intel DPDK Technology -=================================== - -There are recipes available for the 'Intel Data Plane Development Kit -Technology components for use with this BSP. Please contact your -Intel Field Sales Representative or visit Intel Embedded Design -Center (www.intel.com/p/en_US/embedded/designcenter) for instructions on how -to locate and use these recipes. ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-romley/README.sources b/meta-romley/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-romley/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-romley/binary/.gitignore b/meta-romley/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-romley/binary/.gitignore +++ /dev/null diff --git a/meta-romley/conf/layer.conf b/meta-romley/conf/layer.conf deleted file mode 100644 index 7b6a5bc3..00000000 --- a/meta-romley/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "romley" -BBFILE_PATTERN_romley := "^${LAYERDIR}/" -BBFILE_PRIORITY_romley = "6" - -LAYERDEPENDS_romley = "intel" diff --git a/meta-romley/conf/machine/romley-ivb.conf b/meta-romley/conf/machine/romley-ivb.conf deleted file mode 100644 index af528978..00000000 --- a/meta-romley/conf/machine/romley-ivb.conf +++ /dev/null @@ -1,20 +0,0 @@ -#@TYPE: Machine -#@NAME: romley-ivb - -#@WEBTITLE: Intel Xeon E5-2600 and E5-2400 v2 Series (Formerly Ivy Bridge-EP/EN) -#Processors with Intel C604/C602-J Chipset (Romley-EP/EN Platform) - -#@DESCRIPTION: Machine configuration for Romley systems -# i.e. Xeon E5-2600 and E5-2400 + Intel CC604/C602-J - - -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_MATROX_MGA} \ - " diff --git a/meta-romley/conf/machine/romley.conf b/meta-romley/conf/machine/romley.conf deleted file mode 100644 index ed52a1ec..00000000 --- a/meta-romley/conf/machine/romley.conf +++ /dev/null @@ -1,20 +0,0 @@ -#@TYPE: Machine -#@NAME: romley - -#@WEBTITLE: Intel Xeon E5-2600 and E5-2400 Series (Formerly Sandy Bridge-EP/EN) -#Processors with Intel C604/C602-J Chipset (Romley-EP/EN Platform) - -#@DESCRIPTION: Machine configuration for Romley systems -# i.e. Xeon E5-2600 and E5-2400 + Intel CC604/C602-J - - -PREFERRED_VERSION_linux-yocto ?= "3.10%" - -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc -require conf/machine/include/meta-intel.inc - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_MATROX_MGA} \ - " diff --git a/meta-romley/recipes-bsp/formfactor/formfactor/romley-ivb/machconfig b/meta-romley/recipes-bsp/formfactor/formfactor/romley-ivb/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-romley/recipes-bsp/formfactor/formfactor/romley-ivb/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-romley/recipes-bsp/formfactor/formfactor/romley/machconfig b/meta-romley/recipes-bsp/formfactor/formfactor/romley/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-romley/recipes-bsp/formfactor/formfactor/romley/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-romley/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-romley/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-romley/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-romley/recipes-extended/dpdk/dpdk.inc b/meta-romley/recipes-extended/dpdk/dpdk.inc deleted file mode 100644 index 0547c7e8..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk.inc +++ /dev/null @@ -1,140 +0,0 @@ -DESCRIPTION = "Intel(r) Data Plane Development Kit" -HOMEPAGE = "http://dpdk.org" -LICENSE = "BSD & LGPLv2 & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe" - -COMPATIBLE_MACHINE = "romley|romley-ivb" - -RDEPENDS_${PN} += "python-subprocess" - -inherit module - -export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" -export RTE_SDK = "${S}" -export RTE_TARGET="${TARGET_ARCH}-ivshmem-${TARGET_OS}app-gcc" -export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include" -export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib" -export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}" -export INSTALL_PATH = "${prefix}/dpdk" - - -do_configure () { - ############################################################# - ### default value for prefix is "usr", unsetting it, so it - ### will not be concatenated in ${RTE_TARGET}/Makefile - ### which will cause compilation failure - ############################################################# - unset prefix - - make O=$RTE_TARGET T=$RTE_TARGET config - -} - - -do_compile () { - unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS - - cd ${S}/${RTE_TARGET} - oe_runmake EXTRA_LDFLAGS=" --sysroot=${STAGING_DIR_HOST}" \ - EXTRA_CFLAGS=" --sysroot=${STAGING_DIR_HOST}" \ - CROSS="${TARGET_PREFIX}" \ - prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 - -} - - -do_install () { - - install -m 0755 -d ${D}/${INSTALL_PATH} \ - ${D}/${INSTALL_PATH}/doc \ - ${D}/${INSTALL_PATH}/tools \ - ${D}/${INSTALL_PATH}/${RTE_TARGET} \ - ${D}/${INSTALL_PATH}/${RTE_TARGET}/app \ - ${D}${includedir} \ - ${D}${includedir}/arch \ - ${D}${includedir}/exec-env \ - ${D}${libdir} \ - ${D}${MODULE_DIR} - - install -m 0755 ${S}/${RTE_TARGET}/kmod/igb_uio.ko ${D}${MODULE_DIR}/ - install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}${MODULE_DIR}/ - - install -m 640 ${S}/${RTE_TARGET}/lib/*.a ${D}${libdir} - - install -m 640 ${S}/${RTE_TARGET}/.config ${D}/${INSTALL_PATH}/${RTE_TARGET}/ - install -m 640 ${S}/${RTE_TARGET}/include/*.h ${D}${includedir}/ - install -m 640 ${S}/${RTE_TARGET}/include/arch/* ${D}${includedir}/arch/ - install -m 640 ${S}/${RTE_TARGET}/include/exec-env/* ${D}${includedir}/exec-env/ - install -m 0755 ${S}/tools/*.py ${D}/${INSTALL_PATH}/tools/ - - - #Install test applications - install -m 0755 ${S}/${RTE_TARGET}/app/test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${S}/${RTE_TARGET}/app/dump_cfg ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${S}/${RTE_TARGET}/app/cmdline_test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - - - # Install example applications - # It is expected that user of this include file should define EXAMPLES_BUILD_DIR - for app in ${S}/examples/* - do - case `basename ${app}` in - "dpdk_qat" | "vhost" | "vhost_xen" | "Makefile" ) continue - ;; - "l2fwd-ivshmem") - install -m 0755 ${app}/guest/${EXAMPLES_BUILD_DIR}/app/guest ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${app}/host/${EXAMPLES_BUILD_DIR}/app/host ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - "multi_process") - install -m 0755 ${app}/client_server_mp/mp_client/${EXAMPLES_BUILD_DIR}/app/mp_client ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${app}/client_server_mp/mp_server/${EXAMPLES_BUILD_DIR}/app/mp_server ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${app}/simple_mp/${EXAMPLES_BUILD_DIR}/app/simple_mp ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${app}/symmetric_mp/${EXAMPLES_BUILD_DIR}/app/symmetric_mp ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - "netmap_compat") - install -m 0755 ${app}/bridge/${EXAMPLES_BUILD_DIR}/app/bridge ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - "quota_watermark") - install -m 0755 ${app}/qw/${EXAMPLES_BUILD_DIR}/app/qw ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - install -m 0755 ${app}/qwctl/${EXAMPLES_BUILD_DIR}/app/qwctl ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - "vmdq") - install -m 0755 ${app}/${EXAMPLES_BUILD_DIR}/app/`basename ${app}`_app ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - "vmdq_dcb") - install -m 0755 ${app}/${EXAMPLES_BUILD_DIR}/app/`basename ${app}`_app ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - continue - ;; - esac - - install -m 0755 ${app}/${EXAMPLES_BUILD_DIR}/app/`basename ${app}` ${D}/${INSTALL_PATH}/${RTE_TARGET}/app - done -} - -PACKAGES += "${PN}-examples" - -FILES_${PN}-dbg += " \ - ${INSTALL_PATH}/.debug \ - ${INSTALL_PATH}/${RTE_TARGET}/app/.debug \ - " - -FILES_${PN}-doc += "\ - ${INSTALL_PATH}/doc \ - " - -FILES_${PN}-dev += " \ - ${INSTALL_PATH}/${RTE_TARGET}/.config \ - ${includedir} \ - ${includedir}/arch \ - ${includedir}/exec-env \ - " - -FILES_${PN} += " ${INSTALL_PATH}/tools/ " - -FILES_${PN}-examples += " ${INSTALL_PATH}/${RTE_TARGET}/app/ " diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch deleted file mode 100644 index 87d2ef77..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch +++ /dev/null @@ -1,53 +0,0 @@ -From cf953d2bfa7df9aa67459b333db4d4d8a9e72fd6 Mon Sep 17 00:00:00 2001 -From: Thomas Monjalon <thomas.monjalon@6wind.com> -Date: Fri, 27 Jun 2014 11:21:11 +0200 -Subject: [PATCH] app/test: fix build switches to enable cmdline tests - -Upstream-Status: backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -There were 2 typos since these commits (in 1.6.0 releases): - 21a7f4e264 fix build without librte_cmdline - cac6d08c8b replace --use-device option by --pci-whitelist and --vdev -In makefiles, the build options are prefixed with CONFIG_RTE_ -but in .c file, it is only RTE_. - -These typos were disabling cmdline unit tests and test of "--vdev eth_ring" option. - -Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> -Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Signed-off-by: Chan Wei Sern <wei.sern.chan@intel.com> ---- - app/test/test_cmdline.c | 2 +- - app/test/test_eal_flags.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c -index 77475c4..10a3f77 100644 ---- a/app/test/test_cmdline.c -+++ b/app/test/test_cmdline.c -@@ -39,7 +39,7 @@ - int - test_cmdline(void) - { --#ifdef CONFIG_RTE_LIBRTE_CMDLINE -+#ifdef RTE_LIBRTE_CMDLINE - printf("Testind parsing ethernet addresses...\n"); - if (test_parse_etheraddr_valid() < 0) - return -1; -diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c -index a862654..1b80b80 100644 ---- a/app/test/test_eal_flags.c -+++ b/app/test/test_eal_flags.c -@@ -317,7 +317,7 @@ test_whitelist_flag(void) - const char *wlval3[] = {prgname, prefix, mp_flag, "-n", "1", "-c", "1", - pci_whitelist, "09:0B.3,type=test", - pci_whitelist, "08:00.1,type=normal", --#ifdef CONFIG_RTE_LIBRTE_PMD_RING -+#ifdef RTE_LIBRTE_PMD_RING - vdev, "eth_ring,arg=test", - #endif - }; --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch deleted file mode 100644 index e724591e..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch +++ /dev/null @@ -1,35 +0,0 @@ -From be1816f59e772e427fc5815281f9458a9314973a Mon Sep 17 00:00:00 2001 -From: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Date: Thu, 19 Jun 2014 16:35:22 +0100 -Subject: [PATCH] eal: fix option --base-virtaddr - -Upstream-Status: backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -When parsing EAL option --base-virtaddr -errno was not being set to 0 before calling strtoull, -therefore function might fail unnecesarily. - -Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Signed-off-by: Aaron Campbell <aaron@arbor.net> -Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> -Signed-off-by: Chan Wei Sern <wei.sern.chan@intel.com> ---- - lib/librte_eal/linuxapp/eal/eal.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c -index 6994303..d204387 100644 ---- a/lib/librte_eal/linuxapp/eal/eal.c -+++ b/lib/librte_eal/linuxapp/eal/eal.c -@@ -562,6 +562,7 @@ eal_parse_base_virtaddr(const char *arg) - char *end; - uint64_t addr; - -+ errno = 0; - addr = strtoull(arg, &end, 16); - - /* check for errors */ --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch deleted file mode 100644 index 47b5ece7..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ea9a59b26c3c86b498337e968ee8f68c4e263614 Mon Sep 17 00:00:00 2001 -From: Olivier Matz <olivier.matz@6wind.com> -Date: Fri, 16 May 2014 10:18:59 +0200 -Subject: [PATCH] examples/qos_sched: fix makefile - -Upstream-Status: backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -The example does not compile as the linker complains about duplicated -symbols. - -Remove -lsched from LDLIBS, it is already present in rte.app.mk and -added by the DPDK framework automatically. - -Signed-off-by: Olivier Matz <olivier.matz@6wind.com> -Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com> -Signed-off-by: Chan Wei Sern <wei.sern.chan@intel.com> ---- - examples/qos_sched/Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile -index b91fe37..9366efe 100755 ---- a/examples/qos_sched/Makefile -+++ b/examples/qos_sched/Makefile -@@ -54,6 +54,4 @@ CFLAGS += $(WERROR_FLAGS) - CFLAGS_args.o := -D_GNU_SOURCE - CFLAGS_cfg_file.o := -D_GNU_SOURCE - --LDLIBS += -lrte_sched -- - include $(RTE_SDK)/mk/rte.extapp.mk --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-Add-config-variables-to-enable-disable-dpdk.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-Add-config-variables-to-enable-disable-dpdk.patch deleted file mode 100644 index d0721ca0..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-Add-config-variables-to-enable-disable-dpdk.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 63f8ccc5a305b193e219d288ef9e43b9a9fa6aa8 Mon Sep 17 00:00:00 2001 -From: Sreeju Selvaraj <sreeju.armughanx.selvaraj@intel.com> -Date: Wed, 17 Sep 2014 19:10:01 +0800 -Subject: [PATCH] examples: Add config variables to enable/disable dpdk_qat and - vhost - -Upstream-Status: Inappropriate [configuration] - -This can be used to export CONFIG_EXAMPLE_DPDK_QAT=n if dpdk_qat is not -in PACKAGECONFIG and also allow to export CONFIG_EXAMPLE_DPDK_VHOST=n -if vhost is not in PACKAGECONFIG. - -Signed-off-by: Sreeju Selvaraj <sreeju.armughanx.selvaraj@intel.com> ---- - examples/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/examples/Makefile b/examples/Makefile -index d0624f6..885c938 100644 ---- a/examples/Makefile -+++ b/examples/Makefile -@@ -39,7 +39,7 @@ include $(RTE_SDK)/mk/rte.vars.mk - - DIRS-y += cmdline - ifneq ($(ICP_ROOT),) --DIRS-y += dpdk_qat -+DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat - endif - DIRS-y += exception_path - DIRS-y += helloworld -@@ -61,7 +61,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter - DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched - DIRS-y += quota_watermark - DIRS-y += timer --DIRS-y += vhost -+DIRS-$(CONFIG_EXAMPLE_DPDK_VHOST) += vhost - DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen - DIRS-y += vmdq - DIRS-y += vmdq_dcb --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-pipeline-build-with-all-examples.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-pipeline-build-with-all-examples.patch deleted file mode 100644 index 25f029fe..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-examples-pipeline-build-with-all-examples.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 15aef6e666ee2eb0befa153d277d47754f3656e4 Mon Sep 17 00:00:00 2001 -From: Thomas Monjalon <thomas.monjalon@6wind.com> -Date: Thu, 17 Jul 2014 10:30:52 +0200 -Subject: [PATCH] examples/pipeline: build with all examples - -Upstream-Status: Backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -When adding this packet framework sample (commit 77a3346), -it has been forgotten to add it into the global makefile for -"make examples". - -Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> -(cherry picked from commit a6664a09a7caa5e63f9ae625cf1946b0eef7794e) -Signed-off-by: Sreeju Selvaraj <sreeju.armughanx.selvaraj@intel.com> ---- - examples/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/examples/Makefile b/examples/Makefile -index 885c938..1788d6e 100644 ---- a/examples/Makefile -+++ b/examples/Makefile -@@ -43,6 +43,7 @@ DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat - endif - DIRS-y += exception_path - DIRS-y += helloworld -+DIRS-y += ip_pipeline - DIRS-y += ip_reassembly - DIRS-$(CONFIG_RTE_MBUF_SCATTER_GATHER) += ip_fragmentation - DIRS-$(CONFIG_RTE_MBUF_SCATTER_GATHER) += ipv4_multicast --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-remove-extra-devices-creation-with-vdev-option.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-remove-extra-devices-creation-with-vdev-option.patch deleted file mode 100644 index 25a4ea80..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-remove-extra-devices-creation-with-vdev-option.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 70d3d9a6757e0c56ad3c6da0292479433e16aed3 Mon Sep 17 00:00:00 2001 -From: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Date: Wed, 9 Jul 2014 15:35:35 +0100 -Subject: [PATCH] ring: remove extra devices creation with --vdev option - -Upstream-Status: Backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -When passing extra arguments in EAL option --vdev, to create -ring ethdevs, API was creating three ethdevs, even if there -was just one argument, such as CREATE. - -Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Acked-by: Neil Horman <nhorman@tuxdriver.com> -(cherry picked from commit 546afbc6827f9f0f7ed501d2af1fc51755e40224) -Signed-off-by: Sreeju Selvaraj <sreeju.armughanx.selvaraj@intel.com> ---- - lib/librte_pmd_ring/rte_eth_ring.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/librte_pmd_ring/rte_eth_ring.c b/lib/librte_pmd_ring/rte_eth_ring.c -index 73c649e..4f1b6ed 100644 ---- a/lib/librte_pmd_ring/rte_eth_ring.c -+++ b/lib/librte_pmd_ring/rte_eth_ring.c -@@ -493,7 +493,6 @@ rte_pmd_ring_devinit(const char *name, const char *params) - eth_dev_ring_create(name, rte_socket_id(), DEV_CREATE); - return 0; - } else { -- eth_dev_ring_create(name, rte_socket_id(), DEV_CREATE); - ret = rte_kvargs_count(kvlist, ETH_RING_NUMA_NODE_ACTION_ARG); - info = rte_zmalloc("struct node_action_list", sizeof(struct node_action_list) + - (sizeof(struct node_action_pair) * ret), 0); -@@ -510,7 +509,7 @@ rte_pmd_ring_devinit(const char *name, const char *params) - goto out_free; - - for (info->count = 0; info->count < info->total; info->count++) { -- eth_dev_ring_pair_create(name, info->list[info->count].node, -+ eth_dev_ring_create(name, info->list[info->count].node, - info->list[info->count].action); - } - } --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-simplify-unit-tests.patch b/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-simplify-unit-tests.patch deleted file mode 100644 index c17137b2..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk/dpdk-1.7.0-ring-simplify-unit-tests.patch +++ /dev/null @@ -1,380 +0,0 @@ -From 545a5fac5d6bd0b64693dfcb15b321280418ac13 Mon Sep 17 00:00:00 2001 -From: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Date: Wed, 9 Jul 2014 15:35:36 +0100 -Subject: [PATCH] ring: simplify unit tests - -Upstream-Status: Backport -Imported patch from: http://dpdk.org/browse/dpdk/log/ - -As this unit test does not create devices anymore, -and uses devices created by EAL option --vdev, -there were unnecesary tests that were repeated, -so they have been removed. - -So now there are three tests: - -1 - Test two devices that share a ring, one device - with just one RX queue and the other with one - TX queue. - -2 - Test a device connected to itself (loopback) by - a ring, with both RX and TX queue. - -3 - Test two devices that share a ring, but both devices - with RX and TX queue, so they can send packets to themselves - and to the other device. - -Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> -Acked-by: Neil Horman <nhorman@tuxdriver.com> -(cherry picked from commit 572eb3cd834c5e21d7fa946432b89c1c9d63fe61) -Signed-off-by: Sreeju Selvaraj <sreeju.armughanx.selvaraj@intel.com> ---- - app/test/test_pmd_ring.c | 202 +++++++++++++++++------------------------------ - 1 file changed, 72 insertions(+), 130 deletions(-) - -diff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c -index 0d3d95c..19ad0e9 100644 ---- a/app/test/test_pmd_ring.c -+++ b/app/test/test_pmd_ring.c -@@ -39,18 +39,13 @@ - #include <rte_eth_ring.h> - #include <rte_ethdev.h> - --/* two test rings, r1 is used by two ports, r2 just by one */ --static struct rte_ring *r1[2], *r2; -- - static struct rte_mempool *mp; --static uint8_t start_idx; /* will store the port id of the first of our new ports */ -- --#define TX_PORT (uint8_t)(start_idx + 1) --#define RX_PORT (uint8_t)(start_idx + 2) --#define RXTX_PORT (uint8_t)(start_idx + 3) --#define RXTX_PORT2 (uint8_t)(start_idx + 4) --#define RXTX_PORT4 (uint8_t)(start_idx + 6) --#define RXTX_PORT5 (uint8_t)(start_idx + 7) -+ -+#define TX_PORT 0 -+#define RX_PORT 1 -+#define RXTX_PORT 2 -+#define RXTX_PORT2 3 -+#define RXTX_PORT3 4 - #define SOCKET0 0 - - #define RING_SIZE 256 -@@ -86,7 +81,7 @@ test_ethdev_configure(void) - return -1; - } - if (rte_eth_dev_configure(RXTX_PORT, 1, 1, &null_conf) < 0) { -- printf("Configure failed for RX port\n"); -+ printf("Configure failed for RXTX port\n"); - return -1; - } - -@@ -250,197 +245,162 @@ test_stats_reset(void) - } - - static int --test_pmd_ring_init(void) -+test_pmd_ring_pair_create_attach(void) - { -- struct rte_eth_stats stats; -+ struct rte_eth_stats stats, stats2; - struct rte_mbuf buf, *pbuf = &buf; - struct rte_eth_conf null_conf; - -- printf("Testing ring pmd init\n"); -- -- if (RXTX_PORT2 >= RTE_MAX_ETHPORTS) { -+ if ((RXTX_PORT2 >= RTE_MAX_ETHPORTS) || (RXTX_PORT3 >= RTE_MAX_ETHPORTS)) { - printf(" TX/RX port exceed max eth ports\n"); - return -1; - } -- if (rte_eth_dev_configure(RXTX_PORT2, 1, 1, &null_conf) < 0) { -+ if ((rte_eth_dev_configure(RXTX_PORT2, 1, 1, &null_conf) < 0) -+ || (rte_eth_dev_configure(RXTX_PORT3, 1, 1, &null_conf) < 0)) { - printf("Configure failed for RXTX port\n"); - return -1; - } - -- if (rte_eth_tx_queue_setup(RXTX_PORT2, 0, RING_SIZE, SOCKET0, NULL) < 0) { -+ if ((rte_eth_tx_queue_setup(RXTX_PORT2, 0, RING_SIZE, SOCKET0, NULL) < 0) -+ || (rte_eth_tx_queue_setup(RXTX_PORT3, 0, RING_SIZE, SOCKET0, NULL) < 0)) { - printf("TX queue setup failed\n"); - return -1; - } - -- if (rte_eth_rx_queue_setup(RXTX_PORT2, 0, RING_SIZE, SOCKET0, -- NULL, mp) < 0) { -+ if ((rte_eth_rx_queue_setup(RXTX_PORT2, 0, RING_SIZE, SOCKET0, NULL, mp) < 0) -+ || (rte_eth_rx_queue_setup(RXTX_PORT3, 0, RING_SIZE, SOCKET0, NULL, mp) < 0)) { - printf("RX queue setup failed\n"); - return -1; - } - -- if (rte_eth_dev_start(RXTX_PORT2) < 0) { -- printf("Error starting RX port\n"); -+ if ((rte_eth_dev_start(RXTX_PORT2) < 0) -+ || (rte_eth_dev_start(RXTX_PORT3) < 0)) { -+ printf("Error starting RXTX port\n"); - return -1; - } - -- /* send and receive 1 packet and check for stats update */ -+ /* -+ * send and receive 1 packet (RXTX_PORT2 -> RXTX_PORT3) -+ * and check for stats update -+ */ - if (rte_eth_tx_burst(RXTX_PORT2, 0, &pbuf, 1) != 1) { - printf("Error sending packet to RXTX port\n"); - return -1; - } - -- if (rte_eth_rx_burst(RXTX_PORT2, 0, &pbuf, 1) != 1) { -+ if (rte_eth_rx_burst(RXTX_PORT3, 0, &pbuf, 1) != 1) { - printf("Error receiving packet from RXTX port\n"); - return -1; - } - - rte_eth_stats_get(RXTX_PORT2, &stats); -- if (stats.ipackets != 1 || stats.opackets != 1 || -+ rte_eth_stats_get(RXTX_PORT3, &stats2); -+ if (stats.ipackets != 0 || stats.opackets != 1 || - stats.ibytes != 0 || stats.obytes != 0 || - stats.ierrors != 0 || stats.oerrors != 0) { - printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- rte_eth_dev_stop(RXTX_PORT2); -- -- return 0; --} -- --static int --test_pmd_ring_pair_create(void) --{ -- struct rte_eth_stats stats, stats2; -- struct rte_mbuf buf, *pbuf = &buf; -- struct rte_eth_conf null_conf; -- -- if ((RXTX_PORT4 >= RTE_MAX_ETHPORTS) || (RXTX_PORT5 >= RTE_MAX_ETHPORTS)) { -- printf(" TX/RX port exceed max eth ports\n"); -- return -1; -- } -- if ((rte_eth_dev_configure(RXTX_PORT4, 1, 1, &null_conf) < 0) -- || (rte_eth_dev_configure(RXTX_PORT5, 1, 1, &null_conf) < 0)) { -- printf("Configure failed for RXTX port\n"); -- return -1; -- } -- -- if ((rte_eth_tx_queue_setup(RXTX_PORT4, 0, RING_SIZE, SOCKET0, NULL) < 0) -- || (rte_eth_tx_queue_setup(RXTX_PORT5, 0, RING_SIZE, SOCKET0, NULL) < 0)) { -- printf("TX queue setup failed\n"); -- return -1; -- } -- -- if ((rte_eth_rx_queue_setup(RXTX_PORT4, 0, RING_SIZE, SOCKET0, NULL, mp) < 0) -- || (rte_eth_rx_queue_setup(RXTX_PORT5, 0, RING_SIZE, SOCKET0, NULL, mp) < 0)) { -- printf("RX queue setup failed\n"); -- return -1; -- } -- -- if ((rte_eth_dev_start(RXTX_PORT4) < 0) -- || (rte_eth_dev_start(RXTX_PORT5) < 0)) { -- printf("Error starting RXTX port\n"); -+ if (stats2.ipackets != 1 || stats2.opackets != 0 || -+ stats2.ibytes != 0 || stats2.obytes != 0 || -+ stats2.ierrors != 0 || stats2.oerrors != 0) { -+ printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- /* send and receive 1 packet and check for stats update */ -- if (rte_eth_tx_burst(RXTX_PORT4, 0, &pbuf, 1) != 1) { -+ /* -+ * send and receive 1 packet (RXTX_PORT3 -> RXTX_PORT2) -+ * and check for stats update -+ */ -+ if (rte_eth_tx_burst(RXTX_PORT3, 0, &pbuf, 1) != 1) { - printf("Error sending packet to RXTX port\n"); - return -1; - } - -- if (rte_eth_rx_burst(RXTX_PORT5, 0, &pbuf, 1) != 1) { -+ if (rte_eth_rx_burst(RXTX_PORT2, 0, &pbuf, 1) != 1) { - printf("Error receiving packet from RXTX port\n"); - return -1; - } - -- rte_eth_stats_get(RXTX_PORT4, &stats); -- rte_eth_stats_get(RXTX_PORT5, &stats2); -- if (stats.ipackets != 0 || stats.opackets != 1 || -+ rte_eth_stats_get(RXTX_PORT2, &stats); -+ rte_eth_stats_get(RXTX_PORT3, &stats2); -+ if (stats.ipackets != 1 || stats.opackets != 1 || - stats.ibytes != 0 || stats.obytes != 0 || - stats.ierrors != 0 || stats.oerrors != 0) { - printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- if (stats2.ipackets != 1 || stats2.opackets != 0 || -+ if (stats2.ipackets != 1 || stats2.opackets != 1 || - stats2.ibytes != 0 || stats2.obytes != 0 || - stats2.ierrors != 0 || stats2.oerrors != 0) { - printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- rte_eth_dev_stop(RXTX_PORT4); -- rte_eth_dev_stop(RXTX_PORT5); -- -- return 0; --} -- --static int --test_pmd_ring_pair_attach(void) --{ -- struct rte_eth_stats stats, stats2; -- struct rte_mbuf buf, *pbuf = &buf; -- struct rte_eth_conf null_conf; -- -- if ((RXTX_PORT4 >= RTE_MAX_ETHPORTS) || (RXTX_PORT5 >= RTE_MAX_ETHPORTS)) { -- printf(" TX/RX port exceed max eth ports\n"); -- return -1; -- } -- if ((rte_eth_dev_configure(RXTX_PORT4, 1, 1, &null_conf) < 0) -- || (rte_eth_dev_configure(RXTX_PORT5, 1, 1, &null_conf) < 0)) { -- printf("Configure failed for RXTX port\n"); -+ /* -+ * send and receive 1 packet (RXTX_PORT2 -> RXTX_PORT2) -+ * and check for stats update -+ */ -+ if (rte_eth_tx_burst(RXTX_PORT2, 0, &pbuf, 1) != 1) { -+ printf("Error sending packet to RXTX port\n"); - return -1; - } - -- if ((rte_eth_tx_queue_setup(RXTX_PORT4, 0, RING_SIZE, SOCKET0, NULL) < 0) -- || (rte_eth_tx_queue_setup(RXTX_PORT5, 0, RING_SIZE, SOCKET0, NULL) < 0)) { -- printf("TX queue setup failed\n"); -+ if (rte_eth_rx_burst(RXTX_PORT2, 0, &pbuf, 1) != 1) { -+ printf("Error receiving packet from RXTX port\n"); - return -1; - } - -- if ((rte_eth_rx_queue_setup(RXTX_PORT4, 0, RING_SIZE, SOCKET0, NULL, mp) < 0) -- || (rte_eth_rx_queue_setup(RXTX_PORT5, 0, RING_SIZE, SOCKET0, NULL, mp) < 0)) { -- printf("RX queue setup failed\n"); -+ rte_eth_stats_get(RXTX_PORT2, &stats); -+ rte_eth_stats_get(RXTX_PORT3, &stats2); -+ if (stats.ipackets != 2 || stats.opackets != 2 || -+ stats.ibytes != 0 || stats.obytes != 0 || -+ stats.ierrors != 0 || stats.oerrors != 0) { -+ printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- if ((rte_eth_dev_start(RXTX_PORT4) < 0) -- || (rte_eth_dev_start(RXTX_PORT5) < 0)) { -- printf("Error starting RXTX port\n"); -+ if (stats2.ipackets != 1 || stats2.opackets != 1 || -+ stats2.ibytes != 0 || stats2.obytes != 0 || -+ stats2.ierrors != 0 || stats2.oerrors != 0) { -+ printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- rte_eth_stats_reset(RXTX_PORT4); -- rte_eth_stats_reset(RXTX_PORT5); -- -- /* send and receive 1 packet and check for stats update */ -- if (rte_eth_tx_burst(RXTX_PORT4, 0, &pbuf, 1) != 1) { -+ /* -+ * send and receive 1 packet (RXTX_PORT3 -> RXTX_PORT3) -+ * and check for stats update -+ */ -+ if (rte_eth_tx_burst(RXTX_PORT3, 0, &pbuf, 1) != 1) { - printf("Error sending packet to RXTX port\n"); - return -1; - } -- if (rte_eth_rx_burst(RXTX_PORT5, 0, &pbuf, 1) != 1) { -+ -+ if (rte_eth_rx_burst(RXTX_PORT3, 0, &pbuf, 1) != 1) { - printf("Error receiving packet from RXTX port\n"); - return -1; - } - -- rte_eth_stats_get(RXTX_PORT4, &stats); -- rte_eth_stats_get(RXTX_PORT5, &stats2); -- if (stats.ipackets != 0 || stats.opackets != 1 || -+ rte_eth_stats_get(RXTX_PORT2, &stats); -+ rte_eth_stats_get(RXTX_PORT3, &stats2); -+ if (stats.ipackets != 2 || stats.opackets != 2 || - stats.ibytes != 0 || stats.obytes != 0 || - stats.ierrors != 0 || stats.oerrors != 0) { - printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- if (stats2.ipackets != 1 || stats2.opackets != 0 || -+ if (stats2.ipackets != 2 || stats2.opackets != 2 || - stats2.ibytes != 0 || stats2.obytes != 0 || - stats2.ierrors != 0 || stats2.oerrors != 0) { - printf("Error: RXTX port stats are not as expected\n"); - return -1; - } - -- rte_eth_dev_stop(RXTX_PORT4); -- rte_eth_dev_stop(RXTX_PORT5); -+ rte_eth_dev_stop(RXTX_PORT2); -+ rte_eth_dev_stop(RXTX_PORT3); - - return 0; - } -@@ -448,17 +408,6 @@ test_pmd_ring_pair_attach(void) - int - test_pmd_ring(void) - { -- r1[0] = rte_ring_create("R1", RING_SIZE, 0, 0); -- r1[1] = rte_ring_create("R2", RING_SIZE, 0, 0); -- if (r1[0] == NULL && (r1[0] = rte_ring_lookup("R1")) == NULL) -- return -1; -- if (r1[1] == NULL && (r1[1] = rte_ring_lookup("R2")) == NULL) -- return -1; -- -- r2 = rte_ring_create("R3", RING_SIZE, 0, RING_F_SP_ENQ|RING_F_SC_DEQ); -- if (r2 == NULL && (r2 = rte_ring_lookup("R3")) == NULL) -- return -1; -- - mp = rte_mempool_create("mbuf_pool", NB_MBUF, - MBUF_SIZE, 32, - sizeof(struct rte_pktmbuf_pool_private), -@@ -468,8 +417,6 @@ test_pmd_ring(void) - if (mp == NULL) - return -1; - -- start_idx = rte_eth_dev_count(); -- - if ((TX_PORT >= RTE_MAX_ETHPORTS) || (RX_PORT >= RTE_MAX_ETHPORTS)\ - || (RXTX_PORT >= RTE_MAX_ETHPORTS)) { - printf(" TX/RX port exceed max eth ports\n"); -@@ -492,14 +439,9 @@ test_pmd_ring(void) - rte_eth_dev_stop(TX_PORT); - rte_eth_dev_stop(RXTX_PORT); - -- if (test_pmd_ring_init() < 0) -+ if (test_pmd_ring_pair_create_attach() < 0) - return -1; - -- if (test_pmd_ring_pair_create() < 0) -- return -1; -- -- if (test_pmd_ring_pair_attach() < 0) -- return -1; - return 0; - } - --- -1.9.1 - diff --git a/meta-romley/recipes-extended/dpdk/dpdk_1.6.0r2.bb b/meta-romley/recipes-extended/dpdk/dpdk_1.6.0r2.bb deleted file mode 100644 index 72f57683..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk_1.6.0r2.bb +++ /dev/null @@ -1,45 +0,0 @@ -include dpdk.inc - - -SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \ - file://dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch \ - file://dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch \ - file://dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch \ - " - - -SRC_URI[dpdk.md5sum] = "f406d027320fc8e724bff20db5397cbb" -SRC_URI[dpdk.sha256sum] = "e72fdebcf8a899fc58e60c9b6493b7457576eece60b08dea6aee96c9087df4b2" - -export EXAMPLES_BUILD_DIR = "build" - -do_compile_append () { - - ################################################################### - ### Compilation for examples - ### Skip dpdk_qat due to it has dependency with qat source code - ### Skip vhost due to it has dependency to fuse libraries - ### Skip vhost_xen due to it has dependency to xen libraries - ################################################################### - for app in ${S}/examples/* - do - - [ `basename ${app}` = "dpdk_qat" -o `basename ${app}` = "vhost" -o `basename ${app}` = "vhost_xen" ] && continue; - - cd ${app} - - ############################################################### - # netmap_compat is putting the binary in a directory path - # which is different from rest of the example apps, so this - # special case is handled here to avoid installation failure - # with dpdk-1.6.0 - ############################################################### - if [ `basename ${app}` == "netmap_compat" ]; then - oe_runmake CROSS="${TARGET_PREFIX}" O="${app}/bridge/${EXAMPLES_BUILD_DIR}/" - else - oe_runmake CROSS="${TARGET_PREFIX}" - fi - done - -} - diff --git a/meta-romley/recipes-extended/dpdk/dpdk_1.7.0.bb b/meta-romley/recipes-extended/dpdk/dpdk_1.7.0.bb deleted file mode 100644 index 581f1d4a..00000000 --- a/meta-romley/recipes-extended/dpdk/dpdk_1.7.0.bb +++ /dev/null @@ -1,41 +0,0 @@ -include dpdk.inc - -SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \ - file://dpdk-1.7.0-examples-Add-config-variables-to-enable-disable-dpdk.patch \ - file://dpdk-1.7.0-examples-pipeline-build-with-all-examples.patch \ - file://dpdk-1.7.0-ring-remove-extra-devices-creation-with-vdev-option.patch \ - file://dpdk-1.7.0-ring-simplify-unit-tests.patch \ - " - -SRC_URI[dpdk.md5sum] = "07907d7b1a64888a459a971c45818038" -SRC_URI[dpdk.sha256sum] = "aafc290260b5002d248ab8f8c8ffa76454d4b1382aa3c82ae2700ecce481397a" - -export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" - -# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat. -# fuse is in meta-filesystems and qat is not yet upstreamed. -# So adding mechanism to explicitly disable the use of fuse and qat. -# To enable, uncomment the below line or include in .bbappend. -# PACKAGECONFIG ?= " dpdk_qat vhost " - -PACKAGECONFIG[dpdk_qat] = ",,qat" -PACKAGECONFIG[vhost] = ",,fuse" - -do_compile_append () { - - cd ${S}/examples/ - - # Disable the compilation of example apps dpdk_qat and vhost if they are - # not included in the PACKAGECONFIG - export CONFIG_EXAMPLE_DPDK_QAT=${@base_contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)} - export CONFIG_EXAMPLE_DPDK_VHOST="${@base_contains('PACKAGECONFIG', 'vhost', 'y', 'n', d)}" - - ############################################################### - # In order to make use of dpdk.inc for example app installation - # without failure, override the default build directory - ############################################################### - oe_runmake CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" -} - - - diff --git a/meta-sugarbay/COPYING.MIT b/meta-sugarbay/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-sugarbay/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-sugarbay/README b/meta-sugarbay/README deleted file mode 100644 index 3271b8d8..00000000 --- a/meta-sugarbay/README +++ /dev/null @@ -1,158 +0,0 @@ -This README file contains information on building the meta-sugarbay -BSP layer, and booting the images contained in the /binary directory. -Please see the corresponding sections below for details. - -The 'Sugar Bay' platform consists of the Intel Sandy Bridge processor, -plus the Cougar Point PCH (Q67 Express or B65 Express chipsets). This -BSP assumes that the Sandy Bridge integrated graphics are being used. - -Further information on the platforms supported by this BSP can be -found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware/core-q67-b65/overview - -And information on all IntelĀ® embedded platforms can be found here: - - http://www.intel.com/p/en_US/embedded/hwsw/hardware - - -Yocto Project Compatible -======================== - -This BSP is compatible with the Yocto Project as per the requirements -listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - URI: git://git.yoctoproject.org/meta-intel - layers: intel - branch: master - - -Patches -======= - -Please submit any patches against this BSP to the meta-intel mailing list -(meta-intel@yoctoproject.org) and cc: the maintainer: - -Maintainer: Nitin A Kamble <nitin.a.kamble@intel.com> - -Please see the meta-intel/MAINTAINERS file for more details. - - -Table of Contents -================= - - I. Building the meta-sugarbay BSP layer - II. Booting the images in /binary - - -I. Building the meta-sugarbay BSP layer -======================================= - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a sugarbay -image by adding the location of the meta-sugarbay layer to -bblayers.conf, along with the meta-intel layer itself (to access -common metadata shared between BSPs) e.g.: - - yocto/meta-intel \ - yocto/meta-intel/meta-sugarbay \ - -To enable the sugarbay layer, add the sugarbay MACHINE to local.conf: - - MACHINE ?= "sugarbay" - -You should then be able to build a sugarbay image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have a live image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the images from /binary'). - -NOTE: The 'sugarbay' machine will include support for hardware video -acceleration via gstreamer if and only if the "commercial" string is -added to the the LICENSE_FLAGS_WHITELIST variable in your local.conf. - -For example: - - LICENSE_FLAGS_WHITELIST = "commercial" - -The reason this is needed is to prevent the image from including -anything that might violate the license terms of the packages used to -implement the the video acceleration feature, such as gst-ffmpeg and -ffmpeg. As always, please consult the licenses included in the -specific packages for details if you use packages that require -particular LICENSE_FLAGS. - -The xf86-video-intel recipe depends on Xorg's dri and glx modules, -which are built only when 'opengl' is listed in DISTRO_FEATURES. So -if the distro doesn't list 'opengl' in the DISTRO_FEATURES, then you -would need this additional line in your local.conf: - - DISTRO_FEATURES_append = " opengl" - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting a -BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - - -II. Booting the images in /binary -================================= - -This BSP contains bootable live images, which can be used to directly -boot Yocto off of a USB flash drive. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the live image to it. For -example: - -# dd if=core-image-sato-sugarbay.hddimg of=/dev/sdf -# sync -# eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - ----- - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - -# dd if=/dev/zero of=/dev/sdf bs=1M count=512 diff --git a/meta-sugarbay/README.sources b/meta-sugarbay/README.sources deleted file mode 100644 index 0d4d849a..00000000 --- a/meta-sugarbay/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/meta-sugarbay/binary/.gitignore b/meta-sugarbay/binary/.gitignore deleted file mode 100644 index e69de29b..00000000 --- a/meta-sugarbay/binary/.gitignore +++ /dev/null diff --git a/meta-sugarbay/conf/layer.conf b/meta-sugarbay/conf/layer.conf deleted file mode 100644 index 9576330b..00000000 --- a/meta-sugarbay/conf/layer.conf +++ /dev/null @@ -1,12 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have a recipes directory, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "sugarbay" -BBFILE_PATTERN_sugarbay := "^${LAYERDIR}/" -BBFILE_PRIORITY_sugarbay = "6" - -LAYERDEPENDS_sugarbay = "intel" diff --git a/meta-sugarbay/conf/machine/sugarbay.conf b/meta-sugarbay/conf/machine/sugarbay.conf deleted file mode 100644 index a3357370..00000000 --- a/meta-sugarbay/conf/machine/sugarbay.conf +++ /dev/null @@ -1,26 +0,0 @@ -#@TYPE: Machine -#@NAME: sugarbay - -#@WEBTITLE: Intel 2nd Generation Core Platforms: Core i3, i5, i7 (Sandy Bridge) - -#@DESCRIPTION: Machine configuration for Sugar Bay systems -# i.e. Sandy Bridge + Cougar Point - -MACHINE_FEATURES += "va-impl-intel" - -PREFERRED_VERSION_linux-yocto ?= "3.19%" - -require conf/machine/include/meta-intel.inc -require conf/machine/include/intel-corei7-64-common.inc -require conf/machine/include/intel-common-pkgarch.inc - -MACHINE_HWCODECS ?= "va-intel gstreamer-vaapi-1.0" -MACHINE_EXTRA_RRECOMMENDS += "linux-firmware" - -MACHINE_FEATURES += "wifi" -MACHINE_FEATURES += "intel-ucode" - -XSERVER ?= "${XSERVER_X86_BASE} \ - ${XSERVER_X86_EXT} \ - ${XSERVER_X86_I965} \ - " diff --git a/meta-sugarbay/recipes-bsp/formfactor/formfactor/sugarbay/machconfig b/meta-sugarbay/recipes-bsp/formfactor/formfactor/sugarbay/machconfig deleted file mode 100644 index ffce0122..00000000 --- a/meta-sugarbay/recipes-bsp/formfactor/formfactor/sugarbay/machconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Assume a USB mouse and keyboard are connected -HAVE_TOUCHSCREEN=0 -HAVE_KEYBOARD=1 diff --git a/meta-sugarbay/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-sugarbay/recipes-bsp/formfactor/formfactor_0.0.bbappend deleted file mode 100644 index 72d991c7..00000000 --- a/meta-sugarbay/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-tlk/COPYING.MIT b/meta-tlk/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-tlk/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-tlk/README b/meta-tlk/README deleted file mode 100644 index 07cbd76e..00000000 --- a/meta-tlk/README +++ /dev/null @@ -1,9 +0,0 @@ -meta-tlk -======== - -This layer makes the appropriate kernel modifications to enable a 10 day -time limit in the official BSP images produced using the Yocto Project -autobuilder, in order to encourage people to produce their own images -for production whilst still allowing the images to be useful for testing -and debugging. - diff --git a/meta-tlk/conf/layer.conf b/meta-tlk/conf/layer.conf deleted file mode 100644 index 38b0e0c2..00000000 --- a/meta-tlk/conf/layer.conf +++ /dev/null @@ -1,6 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" diff --git a/meta-tlk/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-tlk/recipes-core/base-files/base-files_3.0.14.bbappend deleted file mode 100644 index 81fe7b79..00000000 --- a/meta-tlk/recipes-core/base-files/base-files_3.0.14.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" diff --git a/meta-tlk/recipes-core/base-files/files/motd b/meta-tlk/recipes-core/base-files/files/motd deleted file mode 100644 index 13cd74c7..00000000 --- a/meta-tlk/recipes-core/base-files/files/motd +++ /dev/null @@ -1,7 +0,0 @@ -This image contains a time limited kernel and will reboot the machine -automatically in 10 days. Do not include this image in a product. - -Use the image for evaluation purposes only. - -Please see http://www.yoctoproject.org/tlk for instructions on how to -eliminate the timeout. diff --git a/meta-tlk/recipes-core/psplash/files/psplash-tlk.png b/meta-tlk/recipes-core/psplash/files/psplash-tlk.png Binary files differdeleted file mode 100644 index 54b8fae7..00000000 --- a/meta-tlk/recipes-core/psplash/files/psplash-tlk.png +++ /dev/null diff --git a/meta-tlk/recipes-core/psplash/psplash_git.bbappend b/meta-tlk/recipes-core/psplash/psplash_git.bbappend deleted file mode 100644 index 176a299e..00000000 --- a/meta-tlk/recipes-core/psplash/psplash_git.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" - -# NB: this is only for the main logo image; if you add multiple images here, -# poky will build multiple psplash packages with 'outsuffix' in name for -# each of these ... -SPLASH_IMAGES = "file://psplash-tlk.png;outsuffix=default" diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto/time-limited-kernel.cfg b/meta-tlk/recipes-kernel/linux/linux-yocto/time-limited-kernel.cfg deleted file mode 100644 index 44f4beaa..00000000 --- a/meta-tlk/recipes-kernel/linux/linux-yocto/time-limited-kernel.cfg +++ /dev/null @@ -1,3 +0,0 @@ -CONFIG_UPTIME_LIMITED_KERNEL=y -CONFIG_UPTIME_LIMIT_DURATION=14400 -CONFIG_UPTIME_LIMIT_KERNEL_REBOOT=y diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-tlk/recipes-kernel/linux/linux-yocto_%.bbappend deleted file mode 100644 index f5801680..00000000 --- a/meta-tlk/recipes-kernel/linux/linux-yocto_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${PN}_tlk.inc diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto_tlk.inc b/meta-tlk/recipes-kernel/linux/linux-yocto_tlk.inc deleted file mode 100644 index f4c0db32..00000000 --- a/meta-tlk/recipes-kernel/linux/linux-yocto_tlk.inc +++ /dev/null @@ -1,2 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:" -SRC_URI_append = " file://time-limited-kernel.cfg" diff --git a/recipes-bsp/ace/ace_6.5.8.bb b/recipes-bsp/ace/ace_6.5.8.bb new file mode 100644 index 00000000..87197aef --- /dev/null +++ b/recipes-bsp/ace/ace_6.5.8.bb @@ -0,0 +1,39 @@ +SUMMARY = "C++ framework for implementing distributed and networked applications" +DESCRIPTION = "C++ network programming framework that implements many core \ +patterns for concurrent communication software" +LICENSE = "ACE-TAO-CIAO" +HOMEPAGE = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html" +LIC_FILES_CHKSUM = "file://COPYING;md5=96ef88a5529594698e8ceabdd47df92c" + +DEPENDS += "openssl gperf-native" + +SRC_URI = "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_8/ACE-${PV}.tar.bz2 \ + file://ace_config.patch \ + " + +SRC_URI[md5sum] = "a6ba6a944612fe0696c90cbb5c3078ee" +SRC_URI[sha256sum] = "cda2a960dbb9970a907663627711b2e2b14b3484a2859ae936370bcad0b16923" + +COMPATIBLE_HOST_libc-musl = "null" + +S = "${WORKDIR}/ACE_wrappers" +B = "${WORKDIR}/ACE_wrappers/ace" +export ACE_ROOT="${WORKDIR}/ACE_wrappers" + +inherit pkgconfig + +CXXFLAGS_append = " -fpermissive -Wnodeprecated-declarations" + +do_install() { + export D="${D}" + oe_runmake install + + for i in $(find ${D} -name "*.pc") ; do + sed -i -e s:${D}::g \ + -e s:/${TARGET_SYS}::g \ + $i + done + + rm -r ${D}/usr/share +} + diff --git a/recipes-bsp/ace/files/ace_config.patch b/recipes-bsp/ace/files/ace_config.patch new file mode 100644 index 00000000..207b85ab --- /dev/null +++ b/recipes-bsp/ace/files/ace_config.patch @@ -0,0 +1,12 @@ +diff -ruN ACE_wrappers1/ace/config.h ACE_wrappers/ace/config.h +--- ACE_wrappers1/ace/config.h 1970-01-01 02:00:00.000000000 +0200 ++++ ACE_wrappers/ace/config.h 2019-01-10 13:36:52.698012477 +0200 +@@ -0,0 +1,1 @@ ++#include "ace/config-linux.h" +diff -ruN ACE_wrappers1/include/makeinclude/platform_macros.GNU ACE_wrappers/include/makeinclude/platform_macros.GNU +--- ACE_wrappers1/include/makeinclude/platform_macros.GNU 1970-01-01 02:00:00.000000000 +0200 ++++ ACE_wrappers/include/makeinclude/platform_macros.GNU 2018-10-31 15:11:18.265392460 +0200 +@@ -0,0 +1,3 @@ ++INSTALL_PREFIX = $(D)$(exec_prefix) ++INSTALL_LIB = $(base_libdir) ++include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU diff --git a/recipes-bsp/formfactor/formfactor/machconfig b/recipes-bsp/formfactor/formfactor/machconfig new file mode 100644 index 00000000..73695fac --- /dev/null +++ b/recipes-bsp/formfactor/formfactor/machconfig @@ -0,0 +1,39 @@ +# Note: superuser permission is required to run usbhid-dump +# successfully. + +# HEX keys are according to the USB HID spec and USB HID usage table +# We can add more keys as needed in the future. + +# This test may not be very accurate, as we only look for the first +# two lines of a descriptor section. Example: +# +# 001:003:000:DESCRIPTOR 1460501386.337809 +# 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03 +# 15 00 25 01 95 03 75 01 81 02 .. .. .. .. .. .. +# .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. +# +# By doing so we eliminate false matches when HEX keys are in the lines +# in the middle of the whole descriptor section. + +if type usbhid-dump &>/dev/null; then + if USBHID_DUMP_OUTPUT=$(usbhid-dump -e descriptor 2>/dev/null|grep -A1 DESCRIPTOR); then + # checker for generic USB HID keyboard + USBHID_KBD_CMD="grep -E '^ 05 01 09 06'" + + # checker for touch screen + USBHID_TS_CMD="grep -E '^ 05 0D 09 04'" + + if echo "$USBHID_DUMP_OUTPUT"|eval $USBHID_TS_CMD &>/dev/null; then + HAVE_TOUCHSCREEN=1 + fi + + if echo "$USBHID_DUMP_OUTPUT"|eval $USBHID_KBD_CMD &>/dev/null; then + HAVE_KEYBOARD=1 + else + # config script in OE will set HAVE_KEYBOARD=1 + # if we don't set any value. We have to explicitly + # tell it when keyboard is not detected. + HAVE_KEYBOARD=0 + fi + fi +fi diff --git a/recipes-bsp/formfactor/formfactor_0.0.bbappend b/recipes-bsp/formfactor/formfactor_0.0.bbappend new file mode 100644 index 00000000..6dd422ae --- /dev/null +++ b/recipes-bsp/formfactor/formfactor_0.0.bbappend @@ -0,0 +1 @@ +FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" diff --git a/recipes-bsp/metee/metee_2.2.0.bb b/recipes-bsp/metee/metee_2.2.0.bb new file mode 100644 index 00000000..d0a4556d --- /dev/null +++ b/recipes-bsp/metee/metee_2.2.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Intel(R) METEE Library" +DESCRIPTION = "MEETEE library provides a cross-platform simple \ + programing interface for accessing Intel HECI interfaces on devices \ + found in BigCore and Atom based products." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +inherit cmake + +SRC_URI = "git://github.com/intel/metee.git" +SRCREV = "2d6989803c4785b7c3e0ca38030b73e46ae07232" + +S = "${WORKDIR}/git" + diff --git a/recipes-bsp/systemd-boot/systemd-boot_%.bbappend b/recipes-bsp/systemd-boot/systemd-boot_%.bbappend new file mode 100644 index 00000000..d2e1c16b --- /dev/null +++ b/recipes-bsp/systemd-boot/systemd-boot_%.bbappend @@ -0,0 +1,9 @@ +PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}" + +do_compile_append_intel-x86-common() { + ninja src/boot/efi/linux${SYSTEMD_BOOT_EFI_ARCH}.efi.stub +} + +do_deploy_append_intel-x86-common() { + install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR} +} diff --git a/recipes-bsp/thermald/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch b/recipes-bsp/thermald/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch new file mode 100644 index 00000000..ee3c5e5e --- /dev/null +++ b/recipes-bsp/thermald/thermald/0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch @@ -0,0 +1,51 @@ +From 2145c92fb2ee6d1b03b9ea92e0f910e60b925d70 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Thu, 5 Mar 2020 13:45:57 +0800 +Subject: [PATCH] thd_trip_point: fix 32-bit build error with musl v1.2.0 + +Error log: + ../git/src/thd_trip_point.cpp: In member function 'bool cthd_trip_point::thd_trip_point_check(int, unsigned int, int, bool*)': +| ../git/src/thd_trip_point.cpp:250:19: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'time_t' {aka 'long long int'} [-Werror=format=] +| 250 | thd_log_info("Too early to act zone:%d index %d tm %ld\n", + +musl 1.2.0 have new feature: +time_t is now 64-bit on all archs (not just 64-bit archs) + +Commit id: +https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51 + +Release note link for musl 1.2.0: +https://git.musl-libc.org/cgit/musl/diff/ + +Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/217] + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + src/thd_trip_point.cpp | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/src/thd_trip_point.cpp b/src/thd_trip_point.cpp +index 043be0c..2186ac2 100644 +--- a/src/thd_trip_point.cpp ++++ b/src/thd_trip_point.cpp +@@ -242,15 +242,9 @@ bool cthd_trip_point::thd_trip_point_check(int id, unsigned int read_temp, + time_t tm; + time(&tm); + if ((tm - cdevs[i].last_op_time) < cdevs[i].sampling_priod) { +-#if defined __x86_64__ && defined __ILP32__ +- thd_log_info("Too early to act zone:%d index %d tm %lld\n", ++ thd_log_info("Too early to act zone:%d index %d tm %jd\n", + zone_id, cdev->thd_cdev_get_index(), +- tm - cdevs[i].last_op_time); +-#else +- thd_log_info("Too early to act zone:%d index %d tm %ld\n", +- zone_id, cdev->thd_cdev_get_index(), +- tm - cdevs[i].last_op_time); +-#endif ++ (intmax_t)tm - cdevs[i].last_op_time); + break; + } + cdevs[i].last_op_time = tm; +-- +2.17.1 + diff --git a/recipes-bsp/thermald/thermald_1.9.1.bb b/recipes-bsp/thermald/thermald_1.9.1.bb new file mode 100644 index 00000000..be68aa48 --- /dev/null +++ b/recipes-bsp/thermald/thermald_1.9.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Linux thermal daemon" + +DESCRIPTION = "Thermal Daemon is a Linux daemon used to prevent the \ +overheating of platforms. This daemon monitors temperature and applies \ +compensation using available cooling methods." + +HOMEPAGE = "https://github.com/01org/thermal_daemon" + +DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +DEPENDS_append_libc-musl = " argp-standalone" +DEPENDS_append_toolchain-clang = " openmp" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" + +SRC_URI = "git://github.com/intel/thermal_daemon/ \ + file://0001-thd_trip_point-fix-32-bit-build-error-with-musl-v1.2.patch \ + " +SRCREV = "7e23f7cc4611fd7289014c9805749ec75d59bae0" +S = "${WORKDIR}/git" + +inherit pkgconfig autotools systemd + +FILES_${PN} += "${datadir}/dbus-1/system-services/*.service" + +SYSTEMD_SERVICE_${PN} = "thermald.service" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +CONFFILES_${PN} = " \ + ${sysconfdir}/thermald/thermal-conf.xml \ + ${sysconfdir}/thermald/thermal-cpu-cdev-order.xml \ + " + +UPSTREAM_CHECK_URI = "https://github.com/01org/thermal_daemon/releases" diff --git a/recipes-core/images/core-image-minimal-initramfs.bbappend b/recipes-core/images/core-image-minimal-initramfs.bbappend new file mode 100644 index 00000000..132f15b5 --- /dev/null +++ b/recipes-core/images/core-image-minimal-initramfs.bbappend @@ -0,0 +1,2 @@ +# Add i915 graphics firmware +PACKAGE_INSTALL_append_intel-x86-common = " linux-firmware-i915" diff --git a/recipes-core/images/core-image-tiny.bb b/recipes-core/images/core-image-tiny.bb new file mode 100644 index 00000000..6b09b0c2 --- /dev/null +++ b/recipes-core/images/core-image-tiny.bb @@ -0,0 +1,36 @@ +SUMMARY = "A tiny image just capable of allowing a device to boot from RAM, \ +this image recipe generates an image file which rather boots from initrd than \ +from storage, it achieves this by using wic to pick up the artifacts generated \ +by the core-image-tiny-initramfs image" + +# The actual rootfs/initrd will be the one from core-image-tiny-initramfs, so +# we reset IMAGE_INSTALL to avoid building other things that will be pointless +IMAGE_INSTALL = "" + +# Do not pollute the initrd image with rootfs features +IMAGE_FEATURES = "" + +IMAGE_LINGUAS = " " + +LICENSE = "MIT" + +IMAGE_ROOTFS_SIZE ?= "8192" + +IMAGE_FSTYPES = "wic" +inherit core-image + +# We get some parts from image-live that we need in order to boot from initrd +INITRD_IMAGE_LIVE ?= "core-image-tiny-initramfs" + +python() { + image_b = d.getVar('IMAGE_BASENAME') + initrd_i = d.getVar('INITRD_IMAGE_LIVE') + if image_b == initrd_i: + bb.error('INITRD_IMAGE_LIVE %s cannot use the requested IMAGE_FSTYPE' % initrd_i) + bb.fatal('Check IMAGE_FSTYPES and INITRAMFS_FSTYPES settings.') + elif initrd_i: + d.appendVarFlag('do_image', 'depends', ' %s:do_image_complete' % initrd_i) +} + +WKS_FILE_intel-corei7-64 = "core-image-tiny.wks.in" +WKS_FILE_intel-core2-32 = "core-image-tiny.wks.in" diff --git a/recipes-core/libxcam/libxcam_1.3.0.bb b/recipes-core/libxcam/libxcam_1.3.0.bb new file mode 100644 index 00000000..7bfcacde --- /dev/null +++ b/recipes-core/libxcam/libxcam_1.3.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "libXCam is a project for extended camera(not limited in camera) \ +features and focus on image quality improvement and video analysis" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c911f084a3e5f46b21582a6cc9973e6" +SECTION = "lib" + +inherit autotools pkgconfig + +S = "${WORKDIR}/git" +SRCREV = "90f386c44fdfc550d0c81697cf070b3249bef4dd" +SRC_URI = "git://github.com/intel/libxcam.git;branch=1.3.0 \ + " + +COMPATIBLE_HOST_libc-musl = "null" + +PACKAGECONFIG ??= " gst \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gles", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "vulkan", "vulkan", "", d)} \ + " + +PACKAGECONFIG[gst] = "--enable-gst, --disable-gst, gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[aiq] = "--enable-aiq, --disable-aiq," +PACKAGECONFIG[libcl] = "--enable-libcl, --disable-libcl," +PACKAGECONFIG[opencv] = "--enable-opencv, --disable-opencv, opencv" +PACKAGECONFIG[render] = "--enable-render, --disable-render," +PACKAGECONFIG[gles] = "--enable-gles, --disable-gles, virtual/mesa" +PACKAGECONFIG[vulkan] = "--enable-vulkan, --disable-vulkan, vulkan-loader virtual/mesa" +PACKAGECONFIG[dnn] = "--enable-dnn, --disable-dnn," + +do_install_append () { + install -d ${D}${bindir}/libxcam + cp -r ${WORKDIR}/build/tests/.libs/* ${D}${bindir}/libxcam/ +} + +FILES_${PN} += "${libdir}/gstreamer-*/*.so" +FILES_${PN}-test = "${bindir}/libxcam/*" +PACKAGES =+ "${PN}-test" +RDEPENDS_${PN}-test =+ "bash" diff --git a/common/recipes-core/microcode/intel-microcode_20140624.bb b/recipes-core/microcode/intel-microcode_20191115.bb index b2022500..a4bc2b48 100644 --- a/common/recipes-core/microcode/intel-microcode_20140624.bb +++ b/recipes-core/microcode/intel-microcode_20191115.bb @@ -11,15 +11,15 @@ DESCRIPTION = "The microcode data file contains the latest microcode\ if the file is placed in the /etc/firmware directory of the Linux system." LICENSE = "Intel-Microcode-License" -LIC_FILES_CHKSUM = "file://microcode.dat;md5=3c3b208607a00a3d70aad3af5629f7c7" +LIC_FILES_CHKSUM = "file://license;md5=99b296eb12723fd1eeb52e24971eed84" -SRC_URI = "http://downloadmirror.intel.com/23984/eng/microcode-20140624.tgz" -SRC_URI[md5sum] = "eec20032e6bef99dc4282c0ca317e100" -SRC_URI[sha256sum] = "b4662ac780438a7b2d87e6d26a7066feb807f37c6e5b6fa147089f4edb02ea37" +SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https \ + " + +SRCREV = "33b7b2f3817e362111cd91910026ab8907f21710" -RDEPENDS_${PN} = "iucode-tool" DEPENDS = "iucode-tool-native" -S = "${WORKDIR}" +S = "${WORKDIR}/git" COMPATIBLE_HOST = "(i.86|x86_64).*-linux" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -31,30 +31,29 @@ inherit deploy UCODE_FILTER_PARAMETERS ?= "" do_compile() { - mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ ${UCODE_FILTER_PARAMETERS} \ --overwrite \ --write-to=${WORKDIR}/microcode_${PV}.bin \ - ${WORKDIR}/microcode.dat + ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ ${UCODE_FILTER_PARAMETERS} \ --overwrite \ --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \ - ${WORKDIR}/microcode.dat + ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* } do_install() { - install -d ${D}${base_libdir}/firmware/intel-ucode/ - install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/ - cd ${D}${base_libdir}/firmware/intel-ucode/ - ln -sf microcode_${PV}.bin microcode.bin + install -d ${D}${nonarch_base_libdir}/firmware/intel-ucode/ + ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ + --write-firmware=${D}${nonarch_base_libdir}/firmware/intel-ucode \ + ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* } do_deploy() { install -d ${DEPLOYDIR} - install ${S}/microcode_${PV}.cpio ${DEPLOYDIR}/ + install ${WORKDIR}/microcode_${PV}.cpio ${DEPLOYDIR}/ cd ${DEPLOYDIR} rm -f microcode.cpio ln -sf microcode_${PV}.cpio microcode.cpio @@ -64,4 +63,6 @@ addtask deploy before do_build after do_compile PACKAGES = "${PN}" -FILES_${PN} = "${base_libdir}" +FILES_${PN} = "${nonarch_base_libdir}" + +UPSTREAM_CHECK_GITTAGREGEX = "^microcode-(?P<pver>(\d+)[a-z]*)$" diff --git a/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch b/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch new file mode 100644 index 00000000..ca97d2ab --- /dev/null +++ b/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch @@ -0,0 +1,29 @@ +From 5f6826b3a59dedf508d5a6122362d69a4813e8e6 Mon Sep 17 00:00:00 2001 +From: Saul Wold <sgw@linux.intel.com> +Date: Fri, 3 Feb 2017 16:08:51 -0800 +Subject: [PATCH] Makefile.am: Add arg-parse library for MUSL support + +iucode-tool needs argp-standalone when used with MUSL, so add this +patch to the Makefile to link with argp + +Upstream-Status: Pending +Signed-off-by: Saul Wold <sgw@linux.intel.com> +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index 415a241..764fb61 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -5,6 +5,7 @@ + sbin_PROGRAMS = iucode_tool + man_MANS = iucode_tool.8 + ++iucode_tool_LDADD = -largp + iucode_tool_SOURCES = intel_microcode.h intel_microcode.c iucode_tool.c + EXTRA_DIST = autogen.sh CONTRIBUTING + +-- +2.7.4 + diff --git a/common/recipes-core/microcode/iucode-tool_1.0.2.bb b/recipes-core/microcode/iucode-tool_2.3.1.bb index 13bc5af1..df74a8e9 100644 --- a/common/recipes-core/microcode/iucode-tool_1.0.2.bb +++ b/recipes-core/microcode/iucode-tool_2.3.1.bb @@ -9,19 +9,25 @@ DESCRIPTION = "iucode_tool is a program to manipulate Intel i686 and X86-64\ It operates on microcode data downloaded directly from Intel:\ http://feeds.downloadcenter.intel.com/rss/?p=2371\ " -HOMEPAGE = "http://gitorious.org/iucode-tool/" +HOMEPAGE = "https://gitlab.com/iucode-tool/" BUGTRACKER = "https://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=iucode-tool;repeatmerged=0" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://iucode_tool.c;beginline=1;endline=15;md5=94d9128c5b95d5c249197a3854f40003" + file://iucode_tool.c;beginline=1;endline=15;md5=71eeab3190360ff0267101b570874756" -SRC_URI = "git://gitorious.org/iucode-tool/iucode-tool.git" -SRCREV = "0ba2ebe57681435fdd0d8af2675c84783b5fa2aa" -S = "${WORKDIR}/git" +DEPENDS_append_libc-musl = " argp-standalone" + +SRC_URI = "https://gitlab.com/iucode-tool/releases/raw/master/iucode-tool_${PV}.tar.xz" +SRC_URI_append_libc-musl = " file://0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch" + +SRC_URI[md5sum] = "63b33cc0ea1f8c73b443412abbf39d6f" +SRC_URI[sha256sum] = "12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95" inherit autotools BBCLASSEXTEND = "native" COMPATIBLE_HOST = "(i.86|x86_64).*-linux" + +UPSTREAM_CHECK_URI = "https://gitlab.com/iucode-tool/releases" diff --git a/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch b/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch new file mode 100644 index 00000000..c13363d2 --- /dev/null +++ b/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch @@ -0,0 +1,128 @@ +From 149b34de80e7f9f5331c285b862776cdd4b02ee3 Mon Sep 17 00:00:00 2001 +From: Mikko Ylinen <mikko.ylinen@linux.intel.com> +Date: Fri, 7 Apr 2017 12:06:14 +0300 +Subject: [PATCH] ovmf: RefkitTestCA: TEST UEFI SecureBoot + +This patch adds refkit-db.cer (via xxd -i) in OVMF's db +signature database when used with EnrollDefaultKeys EFI +application. It's used for testing purposes only. + +Images signed with refkit-db keys are allowed to boot. + +Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> + +[ Change location of key to AuthData.c ] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +%% original patch: 0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch +--- + OvmfPkg/EnrollDefaultKeys/AuthData.c | 68 +++++++++++++++++++ + OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 1 + + OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h | 2 + + 3 files changed, 71 insertions(+) + +diff --git a/OvmfPkg/EnrollDefaultKeys/AuthData.c b/OvmfPkg/EnrollDefaultKeys/AuthData.c +index 3b4856a01f..7109766296 100644 +--- a/OvmfPkg/EnrollDefaultKeys/AuthData.c ++++ b/OvmfPkg/EnrollDefaultKeys/AuthData.c +@@ -398,6 +398,74 @@ CONST UINT8 mMicrosoftUefiCa[] = { +
+ CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
+
++CONST UINT8 mRefkitTestCA[] = {
++ 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01,
++ 0x02, 0x02, 0x09, 0x00, 0xd4, 0xf6, 0x48, 0xc2, 0x68, 0x19, 0x91, 0xac,
++ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
++ 0x0b, 0x05, 0x00, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
++ 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65, 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64,
++ 0x62, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x37, 0x30, 0x34, 0x32, 0x30, 0x31,
++ 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x34,
++ 0x32, 0x30, 0x31, 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x30, 0x14, 0x31,
++ 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65,
++ 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64, 0x62, 0x30, 0x82, 0x01, 0x22, 0x30,
++ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
++ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
++ 0x82, 0x01, 0x01, 0x00, 0xb4, 0x1c, 0x22, 0xa6, 0x22, 0x01, 0x57, 0xcd,
++ 0xf1, 0x4f, 0xaf, 0x72, 0xe3, 0xd9, 0x01, 0x80, 0x50, 0x55, 0xef, 0x02,
++ 0x5e, 0xeb, 0x99, 0x35, 0xcb, 0x7f, 0x2a, 0x79, 0xff, 0xb5, 0x3e, 0xec,
++ 0x5d, 0x92, 0x06, 0x30, 0x20, 0xe7, 0x95, 0xad, 0xa4, 0x84, 0x2e, 0x3f,
++ 0xfa, 0xd7, 0x46, 0xdd, 0x49, 0xa8, 0xe8, 0xe3, 0x79, 0x49, 0xf6, 0x8f,
++ 0x0b, 0x1d, 0xfe, 0x63, 0xa8, 0xd1, 0x63, 0xa3, 0xd6, 0x0d, 0x4e, 0x6c,
++ 0x66, 0x5c, 0xd6, 0x66, 0x26, 0xd1, 0x26, 0x98, 0xd4, 0x4f, 0x76, 0xc9,
++ 0x65, 0x48, 0x58, 0x13, 0x08, 0x31, 0xbc, 0xe5, 0x47, 0x25, 0x65, 0x95,
++ 0x39, 0x89, 0x5f, 0x02, 0xf1, 0xc5, 0x06, 0x17, 0x58, 0xca, 0x09, 0xfd,
++ 0xf6, 0x1e, 0xc5, 0x97, 0xda, 0xa3, 0x4e, 0x1a, 0x48, 0xbe, 0xcf, 0x96,
++ 0x27, 0x04, 0x4b, 0xb7, 0x6d, 0x67, 0xb6, 0x50, 0x18, 0x04, 0x73, 0x51,
++ 0xd2, 0x6a, 0x2d, 0xdf, 0x3b, 0xab, 0xf2, 0x2d, 0x95, 0xd7, 0xa8, 0xb8,
++ 0xa8, 0x30, 0xa1, 0xab, 0x8b, 0x92, 0x2b, 0x60, 0x3e, 0x3a, 0xe5, 0x86,
++ 0x40, 0x71, 0xc1, 0x3f, 0x2d, 0x2e, 0x90, 0xe7, 0xd6, 0xec, 0xcc, 0xc2,
++ 0x0b, 0x79, 0x83, 0x71, 0x6d, 0xf6, 0xa3, 0xa9, 0x4c, 0xcd, 0x46, 0x81,
++ 0xdc, 0xef, 0xec, 0x51, 0xbe, 0x81, 0x2a, 0xf1, 0x78, 0x73, 0x41, 0xdb,
++ 0x54, 0xce, 0x7c, 0xce, 0xa2, 0xe3, 0x90, 0x4f, 0x45, 0x1a, 0xf9, 0x3d,
++ 0x88, 0xfc, 0x0e, 0xed, 0xd3, 0x69, 0x22, 0x4c, 0xfa, 0x0a, 0x69, 0xd1,
++ 0x48, 0xc0, 0xaa, 0xa9, 0x3a, 0xb3, 0x8f, 0x10, 0x3a, 0x76, 0xa8, 0x0c,
++ 0x7a, 0x3d, 0xd8, 0x79, 0xce, 0x1c, 0x96, 0x62, 0xf4, 0x06, 0xee, 0x47,
++ 0xe8, 0xe0, 0x69, 0x91, 0xae, 0xea, 0x34, 0xcf, 0xda, 0xa8, 0xb4, 0x39,
++ 0x5e, 0xf3, 0x7a, 0xd0, 0x88, 0x48, 0x47, 0x69, 0x02, 0x03, 0x01, 0x00,
++ 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
++ 0x04, 0x16, 0x04, 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b,
++ 0x1a, 0x9f, 0x46, 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd,
++ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
++ 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b, 0x1a, 0x9f, 0x46,
++ 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd, 0x30, 0x0c, 0x06,
++ 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
++ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
++ 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x8f, 0xd2, 0x84, 0x7c, 0x43,
++ 0x47, 0xca, 0x6b, 0xfd, 0x87, 0x83, 0xd0, 0xef, 0x75, 0xd3, 0x20, 0x52,
++ 0x73, 0x18, 0xaa, 0x32, 0x71, 0xfb, 0xa5, 0xf4, 0xc9, 0x11, 0xa3, 0x68,
++ 0x4d, 0xb7, 0x9d, 0xe6, 0xd9, 0x46, 0x24, 0xdc, 0xc7, 0xc2, 0x3b, 0xf9,
++ 0xb0, 0x98, 0xfc, 0xee, 0x34, 0x6e, 0x10, 0x9b, 0x3d, 0x44, 0x6e, 0x33,
++ 0x09, 0x11, 0xb8, 0x29, 0xd6, 0x2d, 0x06, 0xcf, 0x67, 0x8f, 0x96, 0x85,
++ 0x9d, 0x63, 0x72, 0xbf, 0x64, 0x5f, 0x0d, 0xe3, 0xc9, 0x63, 0x19, 0x71,
++ 0xd4, 0x7d, 0x4c, 0x9c, 0x77, 0x46, 0xda, 0x20, 0x97, 0x6d, 0xbc, 0xdd,
++ 0xc2, 0x1f, 0xf3, 0x40, 0x38, 0x1e, 0xe7, 0xcc, 0x55, 0x05, 0x72, 0xba,
++ 0x24, 0x4f, 0xb3, 0x8a, 0x93, 0x0c, 0x30, 0x60, 0xda, 0x9f, 0x6f, 0x35,
++ 0xf6, 0xfb, 0xb0, 0x1f, 0xb3, 0x00, 0xdd, 0xc4, 0xa6, 0xbc, 0xe2, 0x37,
++ 0xc1, 0xa3, 0xef, 0xd9, 0xa1, 0x86, 0xf9, 0xeb, 0xa4, 0xa5, 0x45, 0x38,
++ 0xff, 0x4e, 0x87, 0x4a, 0x41, 0xcf, 0x6e, 0x69, 0x7e, 0x97, 0xbe, 0x2d,
++ 0x22, 0xbc, 0x8d, 0xa0, 0x1a, 0x21, 0x8f, 0x4b, 0x72, 0x90, 0x01, 0x5c,
++ 0xba, 0xa5, 0x9c, 0x2d, 0xd7, 0x25, 0x24, 0xfc, 0xff, 0x5c, 0x58, 0x14,
++ 0x46, 0x30, 0x09, 0x7c, 0x55, 0x64, 0x83, 0x0b, 0xb9, 0xdf, 0xcf, 0x25,
++ 0xee, 0xec, 0xf7, 0xcb, 0xdb, 0xd1, 0x5b, 0x93, 0x93, 0xc8, 0x8a, 0x10,
++ 0x46, 0xb8, 0xb0, 0x35, 0x1c, 0x6c, 0x0d, 0x8f, 0x03, 0x6a, 0x8f, 0x1b,
++ 0x36, 0x68, 0xf3, 0x53, 0x89, 0x36, 0x5b, 0x21, 0x80, 0xde, 0xe3, 0x92,
++ 0x52, 0x94, 0x97, 0x9d, 0x49, 0x89, 0x7d, 0x3e, 0xde, 0x29, 0x51, 0xba,
++ 0x11, 0xf7, 0xba, 0x01, 0xf7, 0xab, 0xea, 0xc1, 0xa7, 0x2e, 0xa3, 0x4d,
++ 0x65, 0xfd, 0x40, 0x71, 0xf1, 0xe2, 0x3f, 0x6c, 0x28, 0xcb, 0xd3
++};
++
++CONST UINTN mSizeOfRefkitTestCA = sizeof mRefkitTestCA;
+
+ //
+ // The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test case
+diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c +index f45cb799f7..fb1252e768 100644 +--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c ++++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c +@@ -615,6 +615,7 @@ ShellAppMain ( + &gEfiCertX509Guid,
+ mMicrosoftPca, mSizeOfMicrosoftPca, &gMicrosoftVendorGuid,
+ mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &gMicrosoftVendorGuid,
++ mRefkitTestCA, mSizeOfRefkitTestCA, &gEfiCallerIdGuid,
+ NULL);
+ }
+ if (EFI_ERROR (Status)) {
+diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h +index 8e61f0a77b..e3fa046f95 100644 +--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h ++++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h +@@ -135,4 +135,6 @@ extern CONST UINTN mSizeOfMicrosoftUefiCa; + extern CONST UINT8 mSha256OfDevNull[];
+ extern CONST UINTN mSizeOfSha256OfDevNull;
+
++extern CONST UINT8 mRefkitTestCA[];
++extern CONST UINTN mSizeOfRefkitTestCA;
+ #endif /* ENROLL_DEFAULT_KEYS_H_ */
+-- +2.21.0 + diff --git a/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb b/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb new file mode 100644 index 00000000..b20f6e58 --- /dev/null +++ b/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb @@ -0,0 +1,13 @@ +require recipes-core/ovmf/ovmf-shell-image.bb + +WKS_SEARCH_PATH_append = ":${COREBASE}/meta/recipes-core/ovmf" + +QB_DRIVE_TYPE = "/dev/vd" + +do_image_append() { + cat > ${IMAGE_ROOTFS}/startup.nsh << EOF +EnrollDefaultKeys +reset +EOF + +} diff --git a/recipes-core/ovmf/ovmf_%.bbappend b/recipes-core/ovmf/ovmf_%.bbappend new file mode 100644 index 00000000..bbf5fa32 --- /dev/null +++ b/recipes-core/ovmf/ovmf_%.bbappend @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" + +SRC_URI_append_intel-x86-common = " \ + file://0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch \ +" +PACKAGECONFIG_append_intel-x86-common = " secureboot" diff --git a/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb b/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb new file mode 100644 index 00000000..65303bff --- /dev/null +++ b/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb @@ -0,0 +1,18 @@ +require recipes-core/zlib/zlib_1.2.11.bb + +FILESEXTRAPATHS_append = ":${COREBASE}/meta/recipes-core/zlib/zlib" + +SUMMARY = "Zlib Compression Library (Intel-tuned)" + +PROVIDES = "zlib" + +SRC_URI_remove = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI_prepend = "git://github.com/jtkukunas/zlib.git;protocol=git " + +SRCREV = "a43a247bfa16ec5368747b5b64f11ea5ca033010" +S = "${WORKDIR}/git" + +RPROVIDES_${PN} += "zlib" +RPROVIDES_${PN}-ptest += "zlib-ptest" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+)_jtkv(\d+(\.\d+)+))$" diff --git a/recipes-devtools/ngraph/ngraph/0001-install-cmake-modules-correctly.patch b/recipes-devtools/ngraph/ngraph/0001-install-cmake-modules-correctly.patch new file mode 100644 index 00000000..c8e5095f --- /dev/null +++ b/recipes-devtools/ngraph/ngraph/0001-install-cmake-modules-correctly.patch @@ -0,0 +1,54 @@ +From a03058ed605345cce9d7f0cd98f7c3696c3d7c51 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 7 Apr 2020 13:44:37 +0800 +Subject: [PATCH] fix installation of cmake modules + +Make sure that cmake files are installed correctly and don't install +license files. + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 604daa0e45..b60a013b86 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -667,12 +667,12 @@ if (NGRAPH_EXPORT_TARGETS_ENABLE) + install(EXPORT ngraphTargets + FILE ngraphTargets.cmake + NAMESPACE ngraph:: +- DESTINATION cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph + COMPONENT ngraph) + + configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/share/ngraphConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfig.cmake +- INSTALL_DESTINATION cmake) ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph) + + write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/ngraphConfigVersion.cmake + VERSION ${NGRAPH_VERSION} +@@ -680,14 +680,8 @@ if (NGRAPH_EXPORT_TARGETS_ENABLE) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfigVersion.cmake +- DESTINATION cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph + COMPONENT ngraph) + endif() + +-install(DIRECTORY +- ${CMAKE_CURRENT_SOURCE_DIR}/licenses +- DESTINATION "." +- COMPONENT ngraph +-) +-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION "." COMPONENT ngraph) +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION "." COMPONENT ngraph) ++install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ngraph COMPONENT ngraph) +-- +2.25.2 + diff --git a/recipes-devtools/ngraph/ngraph_0.29.0-rc0.bb b/recipes-devtools/ngraph/ngraph_0.29.0-rc0.bb new file mode 100644 index 00000000..e0170681 --- /dev/null +++ b/recipes-devtools/ngraph/ngraph_0.29.0-rc0.bb @@ -0,0 +1,34 @@ +SUMMARY = "nGraph Compiler Stack" +DESCRIPTION = "nGraph Compiler aims to accelerate developing AI workloads using \ +any deep learning framework and deploying to a variety of \ +hardware targets." +HOMEPAGE = "https://www.ngraph.ai" + +SRC_URI = "git://github.com/NervanaSystems/ngraph.git;protocol=https \ + file://0001-install-cmake-modules-correctly.patch \ + " + +SRCREV = "b8419c354e5fc70805f1501d7dfff533ac790bec" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +S = "${WORKDIR}/git" + +inherit cmake + +OECMAKE_GENERATOR = "Unix Makefiles" + +EXTRA_OECMAKE += " \ + -DNGRAPH_CPU_ENABLE=FALSE \ + -DNGRAPH_UNIT_TEST_ENABLE=FALSE \ + -DNGRAPH_TEST_UTIL_ENABLE=FALSE \ + -DNGRAPH_INTERPRETER_ENABLE=FALSE \ + -DNGRAPH_JSON_ENABLE=FALSE \ + -DNGRAPH_NATIVE_ARCH_ENABLE=FALSE \ + -DNGRAPH_TOOLS_ENABLE=FALSE \ + -DNGRAPH_NOP_ENABLE=FALSE \ + -DNGRAPH_GENERIC_CPU_ENABLE=FALSE \ + -DNGRAPH_LIB_VERSIONING_ENABLE=TRUE \ + -DNGRAPH_CURRENT_RELEASE_TAG=0.29.0-rc0 \ + " diff --git a/recipes-graphics/gmmlib/gmmlib_20.1.1.bb b/recipes-graphics/gmmlib/gmmlib_20.1.1.bb new file mode 100644 index 00000000..39ed5c65 --- /dev/null +++ b/recipes-graphics/gmmlib/gmmlib_20.1.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "Intel(R) Graphics Memory Management Library" +DESCRIPTION = "The Intel(R) Graphics Memory Management Library provides \ +device specific and buffer management for the Intel(R) Graphics \ +Compute Runtime for OpenCL(TM) and the Intel(R) Media Driver for VAAPI." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=d9a6e772cd4c362ee4c8ef87c5aad843" + +SRC_URI = " \ + git://github.com/intel/gmmlib.git;protocol=https \ + " + +SRCREV = "09324e1fe8129b66bdf6b16ed533d56ce654eaa4" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST_x86-x32 = "null" + +UPSTREAM_CHECK_GITTAGREGEX = "^intel-gmmlib-(?P<pver>(\d+(\.\d+)+))$" + +inherit pkgconfig cmake + +EXTRA_OECMAKE += "-DRUN_TEST_SUITE=OFF" + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch new file mode 100644 index 00000000..f07d466f --- /dev/null +++ b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch @@ -0,0 +1,42 @@ +From 5cbcecff0bb7fa1c617d3082e7ad94c22e5f4eb1 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Wed, 3 Jul 2019 17:13:15 +0800 +Subject: [PATCH] main: fix hdcpd service failure + +Child process not able to finish before parent process +exits, which causing hdcpd service failure. + +Added wait function to block parent process +until child process exits. + +Upstream-Status: Submitted[https://github.com/intel/hdcp/pull/17] + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + daemon/main.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/daemon/main.cpp b/daemon/main.cpp +index 9a028d7..ef1e047 100644 +--- a/daemon/main.cpp ++++ b/daemon/main.cpp +@@ -36,6 +36,7 @@ + #include <sys/ioctl.h> + #include <fcntl.h> + #include <iostream> ++#include <sys/wait.h> + + #include "hdcpdef.h" + #include "srm.h" +@@ -93,6 +94,8 @@ int32_t daemon_init(void) + } + else if (pid != 0) + { ++ int status; ++ wait(&status); + exit(SUCCESS); // parent exit + } + +-- +2.17.1 + diff --git a/recipes-graphics/hdcp/hdcp_19.4.0.bb b/recipes-graphics/hdcp/hdcp_19.4.0.bb new file mode 100644 index 00000000..77825184 --- /dev/null +++ b/recipes-graphics/hdcp/hdcp_19.4.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Intel(R) unified HDCP SDK" +DESCRIPTION = "This is a user space implementation to prevent copying of \ +digital audio & video content across digital display interfaces. It provides \ +Linux user space implementation to enable the HDCP1.4 and HDCP2.2 protection \ +for external digital display interface" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c50969be4feb8b99c6baa3795ede4dce" +SECTION = "lib" + +inherit pkgconfig cmake useradd systemd ${COMPAT_DISTRO_FEATURE_CHECK} + +SRC_URI = "git://github.com/intel/hdcp.git \ + file://0001-main-fix-hdcpd-service-failure.patch \ +" +SRCREV = "d10f2ab3efea1a49c98f381ab2c0b1e84cec3c6f" +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "systemd" + +DEPENDS = "libdrm virtual/mesa systemd" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --gid nogroup media" + +SYSTEMD_SERVICE_${PN} = "hdcpd.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.25.bb b/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.25.bb new file mode 100644 index 00000000..af696630 --- /dev/null +++ b/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.25.bb @@ -0,0 +1,37 @@ +require ${COREBASE}/meta/recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "Intel GPU tools" +DESCRIPTION = "Variety of small tools for testing intel graphics." + +LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08" + +LICENSE_append = " & ISC" + +inherit meson + +SRC_URI = "${XORG_MIRROR}/individual/app/${BP}.tar.xz" + +DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 libxv libx11 libxext libxrandr procps libunwind kmod openssl elfutils bison-native" +RDEPENDS_${PN} += "bash" +RDEPENDS_${PN}-tests += "bash" + +PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests" + +SRC_URI[sha256sum] = "40454d8f0484ea2477862007398a08eef78a6c252c4defce1c934548593fdd11" + +EXTRA_OEMESON = "-Dlibdrm_drivers=intel" +COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux" +COMPATIBLE_HOST_libc-musl_class-target = "null" + +gputools_sysroot_preprocess() { + rm -f ${SYSROOT_DESTDIR}${libdir}/pkgconfig/intel-gen4asm.pc +} +SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess" + +FILES_${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks" +FILES_${PN}-tests += "\ + ${libexecdir}/${BPN}/*\ + ${datadir}/${BPN}/1080p-right.png\ + ${datadir}/${BPN}/1080p-left.png\ + ${datadir}/${BPN}/pass.png\ + ${datadir}/${BPN}/test-list.txt" diff --git a/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch b/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch new file mode 100644 index 00000000..d97c6543 --- /dev/null +++ b/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch @@ -0,0 +1,34 @@ +From 8c11096a0e5cf980309692ae3e272108da5f2b4e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 9 Oct 2019 11:36:56 -0700 +Subject: [PATCH] md_internal.h: Replace string.h with <string> C++ header API + +This helps in compiling with libc++/Clang +Fixes +usr/include/c++/v1/type_traits:1561:38: error: implicit instantiation of undefined template 'std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >' +: public integral_constant<bool, __is_empty(_Tp)> {}; +^ + +Upstream-Status: Submitted [https://github.com/intel/metrics-discovery/pull/14] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + instrumentation/metrics_discovery/common/md_internal.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/instrumentation/metrics_discovery/common/md_internal.cpp b/instrumentation/metrics_discovery/common/md_internal.cpp +index f9571ac..0767e81 100644 +--- a/instrumentation/metrics_discovery/common/md_internal.cpp ++++ b/instrumentation/metrics_discovery/common/md_internal.cpp +@@ -27,8 +27,8 @@ + \*****************************************************************************/ + #include "md_internal.h" + +-#include <string.h> + #include <stdlib.h> ++#include <string> + #include <new> + #include <unordered_map> + +-- +2.23.0 + diff --git a/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb b/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb new file mode 100644 index 00000000..da7cb652 --- /dev/null +++ b/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb @@ -0,0 +1,19 @@ +SUMMARY = "Intel Metrics Discovery Application Programming Interface" +DESCRIPTION = "This software is a user mode library that provides access to \ +GPU performance data." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8c5c9ac8ffd04a5614befdf63fba6ba8" +SECTION = "lib" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" +SRCREV = "a495db4682b7318bc82b1cccfb17fafdf2e3a2ff" +SRC_URI = "git://github.com/intel/metrics-discovery.git \ + file://0001-md_internal.h-Replace-string.h-with-string-C-header-.patch \ + " + +EXTRA_OECMAKE += "-DMD_PLATFORM=linux" +EXTRA_OECMAKE += "-DMD_LIBDRM_SRC=${STAGING_INCDIR}" + +DEPENDS = "libdrm" diff --git a/common/recipes-graphics/xorg-driver/xf86-video-ast_0.98.0.bb b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb index 05b379e4..090efd62 100644 --- a/common/recipes-graphics/xorg-driver/xf86-video-ast_0.98.0.bb +++ b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb @@ -8,5 +8,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0b8c242f0218eea5caa949b7910a774b" DEPENDS += "libpciaccess" -SRC_URI[md5sum] = "c3f15602db18e91842245a43a297cc42" -SRC_URI[sha256sum] = "90225bc4832da9cd11e3130f0c210ed67f4f48a4ce35f1bb83bd5cc0c7d916a1" +SRC_URI[md5sum] = "4f85febe48d51e53624550a96fc9e9ee" +SRC_URI[sha256sum] = "1edbbc55d47d3fd71dec99b15c2483e22738c642623a0fb86ef4a81a9067a2de" diff --git a/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch b/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch new file mode 100644 index 00000000..0041af57 --- /dev/null +++ b/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch @@ -0,0 +1,31 @@ +From 5f87ef7ed60bc9762467184ed0a6d000b80713d9 Mon Sep 17 00:00:00 2001 +From: sweeaun <swee.aun.khor@intel.com> +Date: Sun, 8 Apr 2018 17:21:52 +0800 +Subject: [PATCH] ixgbe: skip host depmod + +Upstream-Status: Inappropriate [Cross-Compile] + +Depmod during do_install is irrelevant when cross-compiling. +Remove the depmod steps during do_install. + +Signed-off-by: sweeaun <swee.aun.khor@intel.com> +--- + Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 545489a..07e422f 100644 +--- a/Makefile ++++ b/Makefile +@@ -141,8 +141,6 @@ install: default manfile + @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz + @echo "Installing modules..." + @+$(call devkernelbuild,modules_install) +- @echo "Running depmod..." +- @$(call cmd_depmod) + + uninstall: + rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko; +-- +2.7.4 + diff --git a/recipes-kernel/intel-ethernet/ixgbe_5.6.5.bb b/recipes-kernel/intel-ethernet/ixgbe_5.6.5.bb new file mode 100644 index 00000000..95bb1d7d --- /dev/null +++ b/recipes-kernel/intel-ethernet/ixgbe_5.6.5.bb @@ -0,0 +1,44 @@ +SUMMARY="ixgbe kernel driver for Intel Magnolia Park 10GbE" +DESCRIPTION="The ixgbe driver supports 82598- and 82599-based \ +PCI Express* 10 Gigabit Network Connections." + +HOMEPAGE = "https://sourceforge.net/projects/e1000/" +SECTION = "kernel/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417" + +SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \ + file://0001-ixgbe-skip-host-depmod.patch \ + " + +SRC_URI[md5sum] = "172bc41f403b4a5904eb44d911af54d3" +SRC_URI[sha256sum] = "08170d6719bb33fe8e08da2296729c77899e48c201115bdb81e4d492a1b21399" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/" +UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/" + +CVE_PRODUCT = "linux:linux_kernel_ixgbe" + +S = "${WORKDIR}/${BP}/src" +MODULES_INSTALL_TARGET = "install" + +EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' + +KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbe" +KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbe" + +inherit module + +do_install_append () { + # Install scripts/set_irq_affinity + install -d ${D}${sysconfdir}/network + install -m 0755 ${S}/../scripts/set_irq_affinity ${D}${sysconfdir}/network + + rm -rf ${D}${prefix}/man +} + +PACKAGES += "${PN}-script" + +FILES_${PN}-script += "${sysconfdir}/network/set_irq_affinity" + +EXCLUDE_FROM_WORLD = "1" diff --git a/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch b/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch new file mode 100644 index 00000000..656a897d --- /dev/null +++ b/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch @@ -0,0 +1,31 @@ +From 9677d09f5c3984997ac8e7d90b5d4b11fb9ce277 Mon Sep 17 00:00:00 2001 +From: sweeaun <swee.aun.khor@intel.com> +Date: Sat, 7 Oct 2017 20:56:35 -0700 +Subject: [PATCH] ixgbevf: skip host depmod + +Upstream-Status: Inappropriate [Cross-Compile] + +Depmod during do_install is irrelevant when cross-compiling. +Remove the depmod steps during do_install. + +Signed-off-by: sweeaun <swee.aun.khor@intel.com> +--- + Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 91df705..1dcf350 100644 +--- a/Makefile ++++ b/Makefile +@@ -104,8 +104,6 @@ modules_install: default manfile + @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz + @echo "Installing modules..." + @+$(call kernelbuild,modules_install) +- @echo "Running depmod..." +- @$(call cmd_depmod) + + uninstall: + rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko; +-- +2.7.4 + diff --git a/recipes-kernel/intel-ethernet/ixgbevf_4.6.3.bb b/recipes-kernel/intel-ethernet/ixgbevf_4.6.3.bb new file mode 100644 index 00000000..0b3b461e --- /dev/null +++ b/recipes-kernel/intel-ethernet/ixgbevf_4.6.3.bb @@ -0,0 +1,47 @@ +SUMMARY="ixgbevf kernel driver for Intel Magnolia Park 10GbE" +DESCRIPTION="This virtual function driver supports kernel versions 2.6.x and newer \ +This driver supports 82599, X540, X550, and X552-based virtual function devices \ +that can only be activated on kernels that support SR-IOV. \ +SR-IOV requires the correct platform and OS support. \ +The guest OS loading this driver must support MSI-X interrupts." + +HOMEPAGE = "https://sourceforge.net/projects/e1000/" +SECTION = "kernel/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417" + +SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \ + file://0001-ixgbevf-skip-host-depmod.patch \ + " + +SRC_URI[md5sum] = "9258960e4d005c7da546cb8dca7bedc5" +SRC_URI[sha256sum] = "740bb4822c54e5f9bc6a6e73ec562058cb9a27264d727453011c3725d3dd9ad2" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/" +UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/" + +CVE_PRODUCT = "linux:linux_kernel_ixgbe" + +S = "${WORKDIR}/${BP}/src" +MODULES_INSTALL_TARGET = "install" + +EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' + +KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbevf" +KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbevf" + +inherit module + +do_install_append () { + # Install scripts/set_irq_affinity + install -d ${D}${sysconfdir}/network + install -m 0755 ${S}/../scripts/set_irq_affinity ${D}${sysconfdir}/network + + rm -rf ${D}${prefix}/man +} + +PACKAGES += "${PN}-script" + +FILES_${PN}-script += "${sysconfdir}/network/set_irq_affinity" + +EXCLUDE_FROM_WORLD = "1" diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch new file mode 100644 index 00000000..1d4137ba --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch @@ -0,0 +1,36 @@ +From f69ff2fd27903ee052309179271f708d720a2f94 Mon Sep 17 00:00:00 2001 +From: Mikko Ylinen <mikko.ylinen@linux.intel.com> +Date: Thu, 10 Aug 2017 21:12:51 +0300 +Subject: [PATCH] Makefile.real: skip host install scripts + +The scripts run in install target are relevant (and working) +only if the driver installation is run on the build host. + +Skip the scripts when cross-compiling. + +Upstream-Status: Inappropriate [Cross-Compile] + +Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> +--- + Makefile.real | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/Makefile.real b/Makefile.real +index ba09f99..f5075de 100644 +--- a/Makefile.real ++++ b/Makefile.real +@@ -104,11 +104,6 @@ install: modules + @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \ + INSTALL_MOD_DIR=$(KMODDIR) $(KMODPATH_ARG) \ + modules_install +- @./scripts/blacklist.sh $(KLIB)/ $(KLIB)/$(KMODDIR) +- @./scripts/compress_modules.sh $(KLIB)/$(KMODDIR) +- @./scripts/check_depmod.sh +- @/sbin/depmod -a +- @./scripts/update-initramfs.sh $(KLIB) + @echo + @echo Your backported driver modules should be installed now. + @echo Reboot. +-- +2.1.4 + diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf b/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf new file mode 100644 index 00000000..a0e5f6ff --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf @@ -0,0 +1,12 @@ +# /etc/modprobe.d/iwlwifi.conf +# iwlwifi will dynamically load either iwldvm or iwlmvm depending on the +# microcode file installed on the system. When removing iwlwifi, first +# remove the iwl?vm module and then iwlwifi. +remove iwlwifi (/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm16 -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) && /sbin/modprobe -r mac80211 + +#options iwlwifi lar_disable=1 +#options iwlwifi nvm_file="nvm-sfp-b2-open.bin" +options iwlmvm power_scheme=1 + +# PCI BUS + diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb b/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb new file mode 100644 index 00000000..9eb0a45d --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb @@ -0,0 +1,52 @@ +SUMMARY = "Intel Wireless LinuxCore kernel driver" +DESCRIPTION = "Intel Wireless LinuxCore kernel driver" +SECTION = "kernel" +LICENSE = "GPL-2.0" + +REQUIRED_DISTRO_FEATURES = "wifi" + +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +inherit module + +# For some iwfwifi LinuxCore supported wireless chips, the best/latest +# firmware blobs are found in the iwlwifi's linux-firmware.git fork. +# +# See: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release +# +# When updating this recipe, ensure that the proper firmware is included from +# either the linux-firmware or iwlwifi-firmware repos. + +PV = "45" +SRCREV = "a75c1de6b3fa87885556c67619429cfa87cc048f" + +SRC_URI = " \ + git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/core${PV} \ + file://0001-Makefile.real-skip-host-install-scripts.patch \ + file://iwlwifi.conf \ + " + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "INSTALL_MOD_PATH=${D} KLIB_BUILD=${KBUILD_OUTPUT}" + +do_configure() { + CC=gcc CFLAGS= LDFLAGS= make defconfig-iwlwifi-public KLIB_BUILD=${KBUILD_OUTPUT} +} + +MODULES_INSTALL_TARGET="install" + +do_install_append() { + ## install configs and service scripts + install -d ${D}${sysconfdir}/modprobe.d + install -m 0644 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d +} + +RDEPENDS_${PN} = "linux-firmware-iwlwifi" + +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi" +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi" + +KERNEL_MODULE_PACKAGE_PREFIX = "backport-iwlwifi" + +EXCLUDE_FROM_WORLD = "1" diff --git a/recipes-kernel/linux/linux-intel-dev.bb b/recipes-kernel/linux/linux-intel-dev.bb new file mode 100644 index 00000000..4da6e3b9 --- /dev/null +++ b/recipes-kernel/linux/linux-intel-dev.bb @@ -0,0 +1,34 @@ +require recipes-kernel/linux/linux-yocto.inc +require recipes-kernel/linux/meta-intel-compat-kernel.inc + +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-intel:" + +SRC_URI = " \ + git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA} \ + file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \ + " +SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +KMETA_BRANCH = "master" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION ?= "5.5-rc3" +SRCREV_machine ?= "0c5d381c6f1ebd88b4da2c3392f86d1611daba84" +SRCREV_meta ?= "1b65db46af4e00e257a6be18cb06736cb83d54dd" + +LINUX_VERSION_EXTENSION ?= "-mainline-tracking-${LINUX_KERNEL_TYPE}" +PV = "${LINUX_VERSION}+git${SRCPV}" + +COMPATIBLE_MACHINE ?= "(intel-corei7-64|intel-core2-32)" + +# Functionality flags +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" diff --git a/recipes-kernel/linux/linux-intel-rt_4.19.bb b/recipes-kernel/linux/linux-intel-rt_4.19.bb new file mode 100644 index 00000000..21152c19 --- /dev/null +++ b/recipes-kernel/linux/linux-intel-rt_4.19.bb @@ -0,0 +1,25 @@ +require linux-intel.inc + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("KERNEL_PACKAGE_NAME", True) == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") +} + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" +SRC_URI_append = " file://perf-fix-build-with-binutils.patch" +SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" + +KBRANCH = "4.19/preempt-rt" +KMETA_BRANCH = "yocto-4.19" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION ?= "4.19.94" +SRCREV_machine ?= "5bffd5bf8a51a0b0a81267616cdeceef06466561" +SRCREV_meta ?= "4f5d761316a9cf14605e5d0cc91b53c1b2e9dc6a" + +LINUX_KERNEL_TYPE = "preempt-rt" diff --git a/recipes-kernel/linux/linux-intel-rt_5.4.bb b/recipes-kernel/linux/linux-intel-rt_5.4.bb new file mode 100644 index 00000000..10a4734e --- /dev/null +++ b/recipes-kernel/linux/linux-intel-rt_5.4.bb @@ -0,0 +1,24 @@ +require linux-intel.inc + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("KERNEL_PACKAGE_NAME", True) == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") +} + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" +SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" + +KBRANCH = "5.4/preempt-rt" +KMETA_BRANCH = "yocto-5.4" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION ?= "5.4.26" +SRCREV_machine ?= "d6f5dd6c6161d0ea5d8ca2aac030130ea5031b7b" +SRCREV_meta ?= "b8c82ba37370e4698ff0c42f3e54b8b4f2fb4ac0" + +LINUX_KERNEL_TYPE = "preempt-rt" diff --git a/recipes-kernel/linux/linux-intel.inc b/recipes-kernel/linux/linux-intel.inc new file mode 100644 index 00000000..6bd9837d --- /dev/null +++ b/recipes-kernel/linux/linux-intel.inc @@ -0,0 +1,25 @@ +require recipes-kernel/linux/linux-yocto.inc +require recipes-kernel/linux/meta-intel-compat-kernel.inc + +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-intel:" + +KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}" + +SRC_URI = " \ + git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ + ${KERNEL_CONFIG_URI} \ + " + +SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg" + +LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +COMPATIBLE_MACHINE ?= "(intel-corei7-64|intel-core2-32)" + +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" diff --git a/recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch b/recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch new file mode 100644 index 00000000..a9e9213b --- /dev/null +++ b/recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch @@ -0,0 +1,62 @@ +From e6ebc8e654bba53f28af5229a1069fc74fa58b7b Mon Sep 17 00:00:00 2001 +From: Jason Wessel <jason.wessel@windriver.com> +Date: Thu, 25 Sep 2014 11:26:49 -0700 +Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses + location + +In some cross build environments such as the Yocto Project build +environment it provides an ncurses library that is compiled +differently than the host's version. This causes display corruption +problems when the host's curses includes are used instead of the +includes from the provided compiler are overridden. There is a second +case where there is no curses libraries at all on the host system and +menuconfig will just fail entirely. + +The solution is simply to allow an override variable in +check-lxdialog.sh for environments such as the Yocto Project. Adding +a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing +compiling and linking against the right headers and libraries. + +Upstream-Status: submitted [https://lkml.org/lkml/2013/3/3/103] + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> +cc: Michal Marek <mmarek@suse.cz> +cc: linux-kbuild@vger.kernel.org +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +Signed-off-by: California Sullivan <california.l.sullivan@intel.com> +--- + scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++ + 1 file changed, 8 insertions(+) + mode change 100755 => 100644 scripts/kconfig/lxdialog/check-lxdialog.sh + +diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh +old mode 100755 +new mode 100644 +index 5075ebf2d3b9..ba9242101190 +--- a/scripts/kconfig/lxdialog/check-lxdialog.sh ++++ b/scripts/kconfig/lxdialog/check-lxdialog.sh +@@ -4,6 +4,10 @@ + # What library to link + ldflags() + { ++ if [ "$CROSS_CURSES_LIB" != "" ]; then ++ echo "$CROSS_CURSES_LIB" ++ exit ++ fi + pkg-config --libs ncursesw 2>/dev/null && exit + pkg-config --libs ncurses 2>/dev/null && exit + for ext in so a dll.a dylib ; do +@@ -21,6 +25,10 @@ ldflags() + # Where is ncurses.h? + ccflags() + { ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo "$CROSS_CURSES_INC" ++ exit ++ fi + if pkg-config --cflags ncursesw 2>/dev/null; then + echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1' + elif pkg-config --cflags ncurses 2>/dev/null; then +-- +2.14.3 + diff --git a/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch b/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch new file mode 100644 index 00000000..3dc71ff2 --- /dev/null +++ b/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch @@ -0,0 +1,48 @@ +From bebd63730a433ba62549a80114a9851328aa8897 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@windriver.com> +Date: Mon, 2 Jul 2018 23:10:28 -0400 +Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location + +In some cross build environments such as the Yocto Project build +environment it provides an ncurses library that is compiled +differently than the host's version. This causes display corruption +problems when the host's curses includes are used instead of the +includes from the provided compiler are overridden. There is a second +case where there is no curses libraries at all on the host system and +menuconfig will just fail entirely. + +The solution is simply to allow an override variable in +check-lxdialog.sh for environments such as the Yocto Project. Adding +a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing +compiling and linking against the right headers and libraries. + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> +cc: Michal Marek <mmarek@suse.cz> +cc: linux-kbuild@vger.kernel.org +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +--- + scripts/kconfig/mconf-cfg.sh | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh +index c812872d7f9d..42d20819025c 100755 +--- a/scripts/kconfig/mconf-cfg.sh ++++ b/scripts/kconfig/mconf-cfg.sh +@@ -4,6 +4,14 @@ + PKG="ncursesw" + PKG2="ncurses" + ++if [ "$CROSS_CURSES_LIB" != "" ]; then ++ echo libs=\'$CROSS_CURSES_LIB\' ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo cflags=\'$CROSS_CURSES_INC\' ++ fi ++ exit 0 ++fi ++ + if [ -n "$(command -v pkg-config)" ]; then + if pkg-config --exists $PKG; then + echo cflags=\"$(pkg-config --cflags $PKG)\" +-- +2.17.1 + diff --git a/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg b/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg new file mode 100644 index 00000000..312bcb1a --- /dev/null +++ b/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg @@ -0,0 +1,7 @@ +# CONFIG_SND_SOC_INTEL_SKYLAKE is not set +# CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH is not set +# CONFIG_SND_SOC_INTEL_BXT_RT298_MACH is not set +# CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH is not set +# CONFIG_SND_SOC_INTEL_SKL_RT286_MACH is not set +# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set +# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH is not set diff --git a/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch b/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch new file mode 100644 index 00000000..1470a5d7 --- /dev/null +++ b/recipes-kernel/linux/linux-intel/perf-fix-build-with-binutils.patch @@ -0,0 +1,60 @@ +From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001 +From: Changbin Du <changbin.du@gmail.com> +Date: Tue, 28 Jan 2020 23:29:38 +0800 +Subject: [PATCH] perf: Make perf able to build with latest libbfd + +libbfd has changed the bfd_section_* macros to inline functions +bfd_section_<field> since 2019-09-18. See below two commits: + o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html + o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html + +This fix make perf able to build with both old and new libbfd. + +Signed-off-by: Changbin Du <changbin.du@gmail.com> +Acked-by: Jiri Olsa <jolsa@redhat.com> +Cc: Peter Zijlstra <peterz@infradead.org> +Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> + +Upstream-Status: Backport [https://github.com/torvalds/linux/commit/0ada120c883d4f1f6aafd01cf0fbb10d8bbba015] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + tools/perf/util/srcline.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c +index 6ccf6f6d09df9..5b7d6c16d33fe 100644 +--- a/tools/perf/util/srcline.c ++++ b/tools/perf/util/srcline.c +@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data) + bfd_vma pc, vma; + bfd_size_type size; + struct a2l_data *a2l = data; ++ flagword flags; + + if (a2l->found) + return; + +- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) ++#ifdef bfd_get_section_flags ++ flags = bfd_get_section_flags(abfd, section); ++#else ++ flags = bfd_section_flags(section); ++#endif ++ if ((flags & SEC_ALLOC) == 0) + return; + + pc = a2l->addr; ++#ifdef bfd_get_section_vma + vma = bfd_get_section_vma(abfd, section); ++#else ++ vma = bfd_section_vma(section); ++#endif ++#ifdef bfd_get_section_size + size = bfd_get_section_size(section); ++#else ++ size = bfd_section_size(section); ++#endif + + if (pc < vma || pc >= vma + size) + return; diff --git a/recipes-kernel/linux/linux-intel_4.19.bb b/recipes-kernel/linux/linux-intel_4.19.bb new file mode 100644 index 00000000..4552b148 --- /dev/null +++ b/recipes-kernel/linux/linux-intel_4.19.bb @@ -0,0 +1,22 @@ +require linux-intel.inc + +KBRANCH = "4.19/base" +KMETA_BRANCH = "yocto-4.19" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +SRC_URI_append = " file://perf-fix-build-with-binutils.patch" +SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION ?= "4.19.106" +SRCREV_machine ?= "8ef641c89e3c2ff303eb362a7b77760dd2ed7e69" +SRCREV_meta ?= "7cb520d405cd5ca8f21a333941fbc0861bbb36b0" + +# For Crystalforest and Romley +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" diff --git a/recipes-kernel/linux/linux-intel_5.4.bb b/recipes-kernel/linux/linux-intel_5.4.bb new file mode 100644 index 00000000..affbe7f8 --- /dev/null +++ b/recipes-kernel/linux/linux-intel_5.4.bb @@ -0,0 +1,21 @@ +require linux-intel.inc + +KBRANCH = "5.4/yocto" +KMETA_BRANCH = "yocto-5.4" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION ?= "5.4.28" +SRCREV_machine ?= "4726da64050d85576d3ea73ea9578865e3676f41" +SRCREV_meta ?= "b8c82ba37370e4698ff0c42f3e54b8b4f2fb4ac0" + +# For Crystalforest and Romley +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" diff --git a/common/recipes-kernel/linux/linux-yocto-dev.bbappend b/recipes-kernel/linux/linux-yocto-dev.bbappend index 554bd624..6173148c 100644 --- a/common/recipes-kernel/linux/linux-yocto-dev.bbappend +++ b/recipes-kernel/linux/linux-yocto-dev.bbappend @@ -1,17 +1,11 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" -KERNEL_FEATURES_INTEL_COMMON += "features/amt/mei/mei.scc" - -#LINUX_VERSION_core2-32-intel-common = "3.14-rc8" COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" KMACHINE_core2-32-intel-common = "intel-core2-32" -KBRANCH_core2-32-intel-common = "standard/base" KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" -#LINUX_VERSION_corei7-64-intel-common = "3.14-rc8" COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}" KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KBRANCH_corei7-64-intel-common = "standard/base" KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" # NOTE: We do not set SRCREVs here as -dev is intended to be built with AUTOREV diff --git a/recipes-kernel/linux/linux-yocto-rt_5.%.bbappend b/recipes-kernel/linux/linux-yocto-rt_5.%.bbappend new file mode 100644 index 00000000..daa7dd6b --- /dev/null +++ b/recipes-kernel/linux/linux-yocto-rt_5.%.bbappend @@ -0,0 +1 @@ +require meta-intel-compat-kernel.inc diff --git a/recipes-kernel/linux/linux-yocto_%.bbappend b/recipes-kernel/linux/linux-yocto_%.bbappend new file mode 100644 index 00000000..7c29be14 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto_%.bbappend @@ -0,0 +1,4 @@ +# The kernel build is 64-bit regardless, so include both common overrides. +# Without this, the kernel will be missing vars that make it buildable for the +# intel-corei7-64 machine. +MACHINEOVERRIDES_prepend_corei7-64-x32-intel-common = "corei7-64-intel-common:" diff --git a/recipes-kernel/linux/linux-yocto_5.%.bbappend b/recipes-kernel/linux/linux-yocto_5.%.bbappend new file mode 100644 index 00000000..daa7dd6b --- /dev/null +++ b/recipes-kernel/linux/linux-yocto_5.%.bbappend @@ -0,0 +1 @@ +require meta-intel-compat-kernel.inc diff --git a/recipes-kernel/linux/meta-intel-compat-kernel.inc b/recipes-kernel/linux/meta-intel-compat-kernel.inc new file mode 100644 index 00000000..a985925f --- /dev/null +++ b/recipes-kernel/linux/meta-intel-compat-kernel.inc @@ -0,0 +1,14 @@ +# These are variables that should be added to any +# kernel compatible with meta-intel + +KERNEL_FEATURES_INTEL_COMMON ?= "" + +COMPATIBLE_MACHINE_intel-x86-common = "${MACHINE}" +KERNEL_FEATURES_intel-x86-common = "${KERNEL_FEATURES_INTEL_COMMON}" + +KMACHINE_corei7-64-intel-common = "intel-corei7-64" +KMACHINE_core2-32-intel-common = "intel-core2-32" +KMACHINE_skylake-64-intel-common = "intel-corei7-64" + +INTEL_COMMON_AUTOLOAD ?= " uio iwlwifi i915" +KERNEL_MODULE_AUTOLOAD_intel-x86-common = " ${INTEL_COMMON_AUTOLOAD}" diff --git a/recipes-multimedia/itt/itt_3.15.12.bb b/recipes-multimedia/itt/itt_3.15.12.bb new file mode 100644 index 00000000..7248294d --- /dev/null +++ b/recipes-multimedia/itt/itt_3.15.12.bb @@ -0,0 +1,32 @@ +SUMMARY = "IntelĀ® Instrumentation and Tracing Technology (ITT) and Just-In-Time (JIT) API" +DESCRIPTION = "The Instrumentation and Tracing Technology (ITT) API enables \ +application to generate and control the collection of trace data during its \ +execution across different Intel tools." + +LICENSE = "BSD-3-Clause & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c722edeca7b \ + file://LICENSES/GPL-2.0-only.txt;md5=e2d76e7801260c21b90eea3605508ad6 \ + " + +SRC_URI = "git://github.com/intel/ittapi.git;protocol=https" +SRCREV = "8a3d4f4c4f8b66d1a242393efb82558dcfcd109b" +S = "${WORKDIR}/git" +PE = "1" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" + +inherit pkgconfig cmake + +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" +EXTRA_OECMAKE += "${@oe.utils.conditional('TARGET_ARCH','x86_64','','-DFORCE_32=ON',d)}" + +COMPATIBLE_HOST_libc-musl_class-target = "null" + +do_install() { + install -d -m 755 ${D}${libdir} ${D}${includedir}/ittnotify + install -m 644 ${B}/bin/*.a ${D}${libdir} + cp -r ${S}/include/* ${D}${includedir}/ittnotify + cp -r ${S}/src/ittnotify/*.h ${D}${includedir}/ittnotify +} + +RDEPENDS_${PN}-dev_remove = "${PN} (= ${EXTENDPKGV})" diff --git a/recipes-multimedia/libva/intel-media-driver_20.1.1.bb b/recipes-multimedia/libva/intel-media-driver_20.1.1.bb new file mode 100644 index 00000000..e1c08fab --- /dev/null +++ b/recipes-multimedia/libva/intel-media-driver_20.1.1.bb @@ -0,0 +1,49 @@ +SUMMARY = "VA driver for Intel Gen based graphics hardware" +DESCRIPTION = "Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) \ +user mode driver supporting hardware accelerated decoding, encoding, \ +and video post processing for GEN based graphics hardware." + +HOMEPAGE = "https://github.com/intel/media-driver" +BUGTRACKER = "https://github.com/intel/media-driver/issues" + +LICENSE = "MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \ + file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \ + " + +# Only for 64 bit until this is resolved: https://github.com/intel/media-driver/issues/356 +COMPATIBLE_HOST = '(x86_64).*-linux' + +inherit ${COMPAT_DISTRO_FEATURE_CHECK} +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS += "libva gmmlib" + +SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-20.1" +SRCREV = "54492c0d175f298c8a2ef90955febeef30837792" +S = "${WORKDIR}/git" + +COMPATIBLE_HOST_x86-x32 = "null" + +UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$" + +inherit cmake pkgconfig + +MEDIA_DRIVER_ARCH_x86 = "32" +MEDIA_DRIVER_ARCH_x86-64 = "64" + +EXTRA_OECMAKE += " \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DARCH=${MEDIA_DRIVER_ARCH} \ + -DMEDIA_BUILD_FATAL_WARNINGS=OFF \ + " + +do_configure_prepend_toolchain-clang() { + sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake +} + +# See: https://github.com/intel/media-driver/issues/358 +FILES_${PN} += " \ + ${libdir}/dri/ \ + ${libdir}/igfxcmrt64.so \ + " diff --git a/recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb b/recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb new file mode 100644 index 00000000..760aa24e --- /dev/null +++ b/recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "VA driver for Intel G45 & HD Graphics family" +DESCRIPTION = "intel-vaapi-driver is the VA-API implementation \ +for Intel G45 chipsets and Intel HD Graphics for Intel Core \ +processor family." + +HOMEPAGE = "https://github.com/intel/intel-vaapi-driver" +BUGTRACKER = "https://github.com/intel/intel-vaapi-driver/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +DEPENDS = "libva libdrm" + +SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.bz2" +SRC_URI[md5sum] = "731dd9aaf9f5ef1b9c906ce82ef0220b" +SRC_URI[sha256sum] = "71e2ddd985af6b221389db1018c4e8ca27a7f939fb51dcdf49d0efcb5ff3d089" + +UPSTREAM_CHECK_URI = "https://github.com/intel/intel-vaapi-driver/releases" + +inherit meson pkgconfig ${COMPAT_DISTRO_FEATURE_CHECK} + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}" +PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no" +PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no, wayland wayland-native virtual/egl" + +FILES_${PN} += "${libdir}/dri/*.so" +FILES_${PN}-dev += "${libdir}/dri/*.la" +FILES_${PN}-dbg += "${libdir}/dri/.debug" diff --git a/recipes-multimedia/libva/libva-intel_2.7.0.bb b/recipes-multimedia/libva/libva-intel_2.7.0.bb new file mode 100644 index 00000000..cb7d2666 --- /dev/null +++ b/recipes-multimedia/libva/libva-intel_2.7.0.bb @@ -0,0 +1,51 @@ +# Latest upgrades for media components depend upon libva v2.7.0 +# So need this upgrade + +SUMMARY = "Video Acceleration (VA) API for Linux" +DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \ +and API specification which enables and provides access to graphics \ +hardware (GPU) acceleration for video processing on Linux and UNIX \ +based operating systems. Accelerated processing includes video \ +decoding, video encoding, subpicture blending and rendering. The \ +specification was originally designed by Intel for its GMA (Graphics \ +Media Accelerator) series of GPU hardware, the API is however not \ +limited to GPUs or Intel specific hardware, as other hardware and \ +manufacturers can also freely use this API for hardware accelerated \ +video decoding." + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" + +SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" +SRC_URI[md5sum] = "bd5052569520e734eb8aeb0f503cfcae" +SRC_URI[sha256sum] = "b75be416615dea75c74314fae8919dd72ca46d06b4e009e029661c2c51d87d70" + +S = "${WORKDIR}/libva-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" + +DEPENDS = "libdrm virtual/mesa" + +inherit meson pkgconfig ${COMPAT_DISTRO_FEATURE_CHECK} + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no,wayland-native wayland" + +PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" + +RDEPENDS_${PN}-x11 =+ "${PN}" +RDEPENDS_${PN}-glx =+ "${PN}-x11" + +FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" +FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" +FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" + +PROVIDES = "libva" +RPROVIDES_${PN} += "libva" diff --git a/recipes-multimedia/libva/libva-utils-intel_2.7.1.bb b/recipes-multimedia/libva/libva-utils-intel_2.7.1.bb new file mode 100644 index 00000000..137cd866 --- /dev/null +++ b/recipes-multimedia/libva/libva-utils-intel_2.7.1.bb @@ -0,0 +1,38 @@ +# Latest upgrades for media components depend upon libva-utils v2.7.1 +# So need this upgrade + +SUMMARY = "libva-utils is a collection of utilities from libva project" + +DESCRIPTION = "libva-utils is a collection of utilities \ +and examples to exercise VA-API in accordance with the libva \ +project.VA-API is an open-source library and API specification, \ +which provides access to graphics hardware acceleration capabilities \ +for video processing. It consists of a main library and driver-specific \ +acceleration backends for each supported hardware vendor" + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva-utils/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" + +SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.7-branch" +SRCREV = "5a24c635f6fb2b9ac31cab3360afca50e1860812" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" + +DEPENDS = "libva" + +inherit meson pkgconfig ${COMPAT_DISTRO_FEATURE_CHECK} + +# depends on libva which requires opengl +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "-Dx11=true, -Dx11=false,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false,wayland-native wayland" + +PROVIDES = "libva-utils" +RPROVIDES_${PN} += "libva-utils" diff --git a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch new file mode 100644 index 00000000..f7de9d16 --- /dev/null +++ b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch @@ -0,0 +1,96 @@ +From f2e6d2ecfea635ab952649156e31ca893d4b1a47 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 12 Aug 2017 08:49:20 -0700 +Subject: [PATCH] Fix build with clang + +Fix errors e.g. +error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare] + +and + +psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +--- + tests/decodehelp.cpp | 2 +- + tests/encodehelp.h | 2 +- + tests/vpp.cpp | 2 +- + tests/yamitranscode.cpp | 2 +- + testscripts/psnr.cpp | 4 ++-- + 5 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp +index b27b977..62cca63 100644 +--- a/tests/decodehelp.cpp ++++ b/tests/decodehelp.cpp +@@ -81,7 +81,7 @@ bool processCmdLine(int argc, char** argv, DecodeParameter* parameters) + { NULL, no_argument, NULL, 0 } + }; + +- char opt; ++ int opt; + while ((opt = getopt_long_only(argc, argv, "h:m:n:i:f:o:w:?", long_opts,&option_index)) != -1){ + switch (opt) { + case 'h': +diff --git a/tests/encodehelp.h b/tests/encodehelp.h +index 63580a4..651ec08 100644 +--- a/tests/encodehelp.h ++++ b/tests/encodehelp.h +@@ -109,7 +109,7 @@ static VideoRateControl string_to_rc_mode(char *str) + + static bool process_cmdline(int argc, char *argv[]) + { +- char opt; ++ int opt; + const struct option long_opts[] = { + { "help", no_argument, NULL, 'h' }, + { "qp", required_argument, NULL, 0 }, +diff --git a/tests/vpp.cpp b/tests/vpp.cpp +index 5a60c0a..52da43b 100644 +--- a/tests/vpp.cpp ++++ b/tests/vpp.cpp +@@ -151,7 +151,7 @@ public: + private: + bool processCmdLine(int argc, char* argv[]) + { +- char opt; ++ int opt; + const struct option long_opts[] = { + { "help", no_argument, NULL, 'h' }, + { "sharpening", required_argument, NULL, 's' }, +diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp +index 6207209..00164ce 100755 +--- a/tests/yamitranscode.cpp ++++ b/tests/yamitranscode.cpp +@@ -100,7 +100,7 @@ static VideoRateControl string_to_rc_mode(char *str) + + static bool processCmdLine(int argc, char *argv[], TranscodeParams& para) + { +- char opt; ++ int opt; + const struct option long_opts[] = { + { "help", no_argument, NULL, 'h' }, + { "qp", required_argument, NULL, 0 }, +diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp +index 5cc24c9..68bd668 100644 +--- a/testscripts/psnr.cpp ++++ b/testscripts/psnr.cpp +@@ -215,14 +215,14 @@ int main(int argc, char *argv[]) + const char* psnrresult = "average_psnr.txt"; + int width=0,height=0; + int standardpsnr = NORMAL_PSNR; +- char opt; ++ int opt; + while ((opt = getopt(argc, argv, "h:W:H:i:o:s:?")) != -1) + { + switch (opt) { + case 'h': + case '?': + print_help(argv[0]); +- return false; ++ return -1; + case 'i': + filename1 = optarg; + break; diff --git a/recipes-multimedia/libyami/libyami-utils_1.3.2.bb b/recipes-multimedia/libyami/libyami-utils_1.3.2.bb new file mode 100644 index 00000000..e991df4b --- /dev/null +++ b/recipes-multimedia/libyami/libyami-utils_1.3.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Applications and Scripts for libyami." +DESCRIPTION = "Applications and Scripts for libyami." + +HOMEPAGE = "https://github.com/intel/libyami-utils" +BUGTRACKER = "https://github.com/intel/libyami-utils/issues/new" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "git://github.com/intel/libyami-utils.git \ + file://0001-Fix-build-with-clang.patch \ + " +SRCREV = "c3d25b64b05aeb0c4eecc140aef617cfeced6b8e" +S = "${WORKDIR}/git" + +DEPENDS = "libva libyami" + +inherit autotools pkgconfig ${COMPAT_DISTRO_FEATURE_CHECK} + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +# --enable-x11 needs libva-x11 +# gles-tests fail to build without x11: see https://github.com/intel/libyami-utils/issues/91 +PACKAGECONFIG[x11] = "--enable-x11 --enable-egl,--disable-x11 --disable-egl, virtual/libx11" diff --git a/recipes-multimedia/libyami/libyami_1.3.2.bb b/recipes-multimedia/libyami/libyami_1.3.2.bb new file mode 100644 index 00000000..ad8cb9a8 --- /dev/null +++ b/recipes-multimedia/libyami/libyami_1.3.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "Yami is media infrastructure base on libva" +DESCRIPTION = "Yet Another Media Infrastructure \ +light weight hardware codec library base on VA-API " + +HOMEPAGE = "https://github.com/intel/libyami" +BUGTRACKER = "https://github.com/intel/libyami/issues/new" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "git://github.com/intel/libyami.git;branch=apache \ +" +SRCREV = "08606d0a43e0ef15e5b61cc13563169370ce8715" +S = "${WORKDIR}/git" + +CXXFLAGS_append = " -Wno-error" + +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" + +DEPENDS = "libva" +inherit autotools pkgconfig ${COMPAT_DISTRO_FEATURE_CHECK} + +REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_20.1.0.bb b/recipes-multimedia/mediasdk/intel-mediasdk_20.1.0.bb new file mode 100644 index 00000000..be82d879 --- /dev/null +++ b/recipes-multimedia/mediasdk/intel-mediasdk_20.1.0.bb @@ -0,0 +1,41 @@ +SUMMARY = "Intel(R) Media SDK for hardware accelerated media processing" +DESCRIPTION = "Intel(R) Media SDK provides an API to access hardware-accelerated \ +video decode, encode and filtering on IntelĀ® platforms with integrated graphics." + +HOMEPAGE = "https://github.com/Intel-Media-SDK/MediaSDK" +BUGTRACKER = "https://github.com/Intel-Media-SDK/MediaSDK/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3cb331af679cd8f968bf799a9c55b46e" + +CVE_DETAILS = "intel:media_sdk" + +# Only for 64 bit until media-driver issues aren't fixed +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_x86-x32 = "null" + +inherit ${COMPAT_DISTRO_FEATURE_CHECK} +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS += "libdrm libva intel-media-driver" + +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}" + +PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF" +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native" + +SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;branch=${BPN}-20.1;lfs=0" +SRCREV = "3d6abcfb19ba2e31b6a8d32cddd1893c3e419ffc" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$" + +inherit cmake pkgconfig + +EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include -DBUILD_SAMPLES=OFF" + +FILES_${PN} += " \ + ${libdir}/mfx \ + ${datadir}/mfx/plugins.cfg \ + " diff --git a/recipes-rt/images/core-image-rt-sdk.bb b/recipes-rt/images/core-image-rt-sdk.bb new file mode 100644 index 00000000..920c4cee --- /dev/null +++ b/recipes-rt/images/core-image-rt-sdk.bb @@ -0,0 +1,20 @@ +require recipes-core/images/core-image-minimal.bb + +# Skip processing of this recipe if linux-intel-rt is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") +} + +DESCRIPTION = "Small image capable of booting a device with a test suite and \ +tools for real-time use. It includes the full meta-toolchain, development \ +headers and libraries to form a standalone SDK." +DEPENDS += "linux-intel-rt" + +IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks" + +IMAGE_INSTALL += "rt-tests hwlatdetect kernel-dev" + +LICENSE = "MIT" diff --git a/recipes-rt/images/core-image-rt.bb b/recipes-rt/images/core-image-rt.bb new file mode 100644 index 00000000..1578c9e6 --- /dev/null +++ b/recipes-rt/images/core-image-rt.bb @@ -0,0 +1,17 @@ +require recipes-core/images/core-image-minimal.bb + +# Skip processing of this recipe if linux-intel-rt is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") +} + +DESCRIPTION = "A small image just capable of allowing a device to boot plus a \ +real-time test suite and tools appropriate for real-time use." +DEPENDS += "linux-intel-rt" + +IMAGE_INSTALL += "rt-tests hwlatdetect" + +LICENSE = "MIT" diff --git a/recipes-selftest/images/files/incorrect.crt b/recipes-selftest/images/files/incorrect.crt new file mode 100644 index 00000000..3a2411ab --- /dev/null +++ b/recipes-selftest/images/files/incorrect.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIJAIYXAHv3cQNjMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV +BAMMEFRlc3QgWW9jdG8gdGhpbmcwHhcNMTcwMTI1MjI1MjI3WhcNMTgwMTI1MjI1 +MjI3WjAbMRkwFwYDVQQDDBBUZXN0IFlvY3RvIHRoaW5nMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAukI2ioMeL8qaXxMtryonAT51w+Zre0wB8bDBPuXD +SwDVXNWfiKKTfCVEkLEUnsUEd7jiKswCT5orTwCD7aQK0mTrkAWEi8hEI3MkNoeh +T51gkuTfv7A/HgPkhhlU4UQqipI6XoLf7o7PUV33ZfB43//iKY2kLBdsFvs4ALWE +31hLOkCFb+nqMnfZxq7DgvBwIdxJdLQvaskpDMfkna+zE3QWqkH5v55atW8Bunwk +/6q5kqNhyrjZb4i0BqJ5AHFUEQzlDcjpyFVUtR14r0IxjBFMHZXrx4uLe7KvGf/4 +GqpqeFOPqxMsfC5ILJJ7nvwFViqftGgtWg/12bKMTB5saQIDAQABo1AwTjAdBgNV +HQ4EFgQURA8KbgpiGfS2+7MT0H5AvpxeYLowHwYDVR0jBBgwFoAURA8KbgpiGfS2 ++7MT0H5AvpxeYLowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAK9n+ +9T+hlM2kEpsUgtyihEJbGHzbw+Pj11b0ICntCVuPKewtBMveYp8lejrQwMFNGRMt +ZQe1LFb9HcLeM3MLUz9Lm4BJIjkey3Jfq1AskROYk/bJnFIJIx6P3U9gBa20P46X +LH3g6yub1HR7KZC9nfBsak3FPoJR/SYTJs0HsMeL4878+2IbETA4BL0kbKW48FFW +jF4f6don0eiaF8b4KkfbWKrCaEm+LMxbyBEQ6fIb1cmGY8A9A5houjmgi6YWSkoi +SLpOC9TZ2R51fO9rRsv7XwLK0V9o9YaEYPBg6V/TeJl5nxAZBeVTKVTQbBGZY+l2 +nzN0pKsl7RXLf3SRYA== +-----END CERTIFICATE----- diff --git a/recipes-selftest/images/files/incorrect.key b/recipes-selftest/images/files/incorrect.key new file mode 100644 index 00000000..d05475b6 --- /dev/null +++ b/recipes-selftest/images/files/incorrect.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAukI2ioMeL8qaXxMtryonAT51w+Zre0wB8bDBPuXDSwDVXNWf +iKKTfCVEkLEUnsUEd7jiKswCT5orTwCD7aQK0mTrkAWEi8hEI3MkNoehT51gkuTf +v7A/HgPkhhlU4UQqipI6XoLf7o7PUV33ZfB43//iKY2kLBdsFvs4ALWE31hLOkCF +b+nqMnfZxq7DgvBwIdxJdLQvaskpDMfkna+zE3QWqkH5v55atW8Bunwk/6q5kqNh +yrjZb4i0BqJ5AHFUEQzlDcjpyFVUtR14r0IxjBFMHZXrx4uLe7KvGf/4GqpqeFOP +qxMsfC5ILJJ7nvwFViqftGgtWg/12bKMTB5saQIDAQABAoIBAQCEtAox86s9N6d2 +164z3998Zmj3UyL+7K9x6JI2YvMabBSYGOeaLOLRj6fjQxdC63H8brBM958p4di7 +Z82XMco4Dok6yoOeJ+hMLYv+gfGvTJxy7DhyVXsSwok99axg9vUsV3TYw3wSdpNF +EKLkcUldpu0W2ADBHUr4sLI85xctHH3Kt0sNDzhgADFa5rDYACXTKHtFOhEqBIwN +FmbuRQirnErUkI3Pczgl2Xy1MlaozH9CB+bLAb5q2FYu4DKgjl4UorC+w2HV41KH +XoL7L36XXqLRHBfEAwOWb8yro+TK8T7gW7aagTI1wgsbbQkjQmOHxclmJACdMOiJ +DjPeR0GBAoGBAO7i2eaEoKa9QlKokN+93uOJD/F6DBi6jF0vGOqWlF8AVTj3kGL3 +X8fY/avrSlg7hKZWdei+Q5PyZViKxqmHjq781ZisKck52Tqz4s7ylqRXSgStinZr +UqrkShCqZ3g1W91gIeVPQz0/b+gBskoHzQ5WQHfV5v9S1PaxjzcYtCrRAoGBAMea +LcA2jjuEjqxa5v5fh8ygcHasJMRKJxW1OCKiQ94DjjzPsdVqZ1sJZChLW/N3nxe7 +wHlNJmsGbJ2w1zD5+qkkPjLq5Q4B5KAd62NNrWaEHFdEc/PPkn4xP7Zkfuu5K+m2 +7z/MF4ibvVh9PvD3HY8FWKEtkqB4rfD8AoUOVd4ZAoGAXxXAsfa8k2Hl0kzyTXyg +CWV3CSERS46FbFngyw9gw2e4hFJWEG5ym3ONlS60iuY16JelmxyQfYUQPewPI0+n +xZMx2fE9OLFj+++6KbF5sLRl6/K/mF8jqo3vxS5uvPRQOo+XLlUcaHalrm1ub/Um +87v1MT3dEmgACKmoXb/hhuECgYAZluiapePiOYJZEmZe4jx0vXTtofAswhz0qYEC +3663vdj0buQrqjKJ91BB4jdtpT5eOpHYe02blv1B0jQkcUfze1QGDxtCineXF37g +Aktiwzkm7v22mjv7tbCnX4buDZVVp0BQ+4dg2iaSO6xgFC5T8amFMGSF8jLKnGRu +ToIvsQKBgADBTse2vnI85NRsYq48ztQuIU2zlGXIAcoPSvGb8Vhty/joc0jWcI5P +raGXBARbuVlcEapK3mDRfO0CQjDaTPK4EYYJwGp8k33Hkkcbgs4kfm308jRsclMr +YeMwQsYyOv45x4iPCwrqZEhpPDvACBi7DB6QvZ0++vJbobTt1jyi +-----END RSA PRIVATE KEY----- diff --git a/recipes-selftest/images/files/refkit-db.crt b/recipes-selftest/images/files/refkit-db.crt new file mode 100644 index 00000000..22ad6a89 --- /dev/null +++ b/recipes-selftest/images/files/refkit-db.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+zCCAeOgAwIBAgIJANT2SMJoGZGsMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV +BAMMCXJlZmtpdC1kYjAeFw0xNzA0MjAxMjA2MzJaFw0xODA0MjAxMjA2MzJaMBQx +EjAQBgNVBAMMCXJlZmtpdC1kYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALQcIqYiAVfN8U+vcuPZAYBQVe8CXuuZNct/Knn/tT7sXZIGMCDnla2khC4/ ++tdG3Umo6ON5SfaPCx3+Y6jRY6PWDU5sZlzWZibRJpjUT3bJZUhYEwgxvOVHJWWV +OYlfAvHFBhdYygn99h7Fl9qjThpIvs+WJwRLt21ntlAYBHNR0mot3zur8i2V16i4 +qDChq4uSK2A+OuWGQHHBPy0ukOfW7MzCC3mDcW32o6lMzUaB3O/sUb6BKvF4c0Hb +VM58zqLjkE9FGvk9iPwO7dNpIkz6CmnRSMCqqTqzjxA6dqgMej3Yec4clmL0Bu5H +6OBpka7qNM/aqLQ5XvN60IhIR2kCAwEAAaNQME4wHQYDVR0OBBYEFGhgESWFFHgb +Gp9GEuYh5O/7O6rdMB8GA1UdIwQYMBaAFGhgESWFFHgbGp9GEuYh5O/7O6rdMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAI/ShHxDR8pr/YeD0O910yBS +cxiqMnH7pfTJEaNoTbed5tlGJNzHwjv5sJj87jRuEJs9RG4zCRG4KdYtBs9nj5aF +nWNyv2RfDePJYxlx1H1MnHdG2iCXbbzdwh/zQDge58xVBXK6JE+zipMMMGDan281 +9vuwH7MA3cSmvOI3waPv2aGG+eukpUU4/06HSkHPbml+l74tIryNoBohj0tykAFc +uqWcLdclJPz/XFgURjAJfFVkgwu5388l7uz3y9vRW5OTyIoQRriwNRxsDY8Dao8b +NmjzU4k2WyGA3uOSUpSXnUmJfT7eKVG6Efe6Afer6sGnLqNNZf1AcfHiP2woy9M= +-----END CERTIFICATE----- diff --git a/recipes-selftest/images/files/refkit-db.key b/recipes-selftest/images/files/refkit-db.key new file mode 100644 index 00000000..4b54587e --- /dev/null +++ b/recipes-selftest/images/files/refkit-db.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC0HCKmIgFXzfFP +r3Lj2QGAUFXvAl7rmTXLfyp5/7U+7F2SBjAg55WtpIQuP/rXRt1JqOjjeUn2jwsd +/mOo0WOj1g1ObGZc1mYm0SaY1E92yWVIWBMIMbzlRyVllTmJXwLxxQYXWMoJ/fYe +xZfao04aSL7PlicES7dtZ7ZQGARzUdJqLd87q/ItldeouKgwoauLkitgPjrlhkBx +wT8tLpDn1uzMwgt5g3Ft9qOpTM1Ggdzv7FG+gSrxeHNB21TOfM6i45BPRRr5PYj8 +Du3TaSJM+gpp0UjAqqk6s48QOnaoDHo92HnOHJZi9AbuR+jgaZGu6jTP2qi0OV7z +etCISEdpAgMBAAECggEAbtXplKbUgL4hQ9JKN2Cxhc7qMv0YgI92BVaqQw1S8ffu +1Q+tynH5MDRPi06gBJ59SvkA6AsZsvrv8nM7zQWd9ZKh+aLHk1X04upOgDoW9JiX +FV/txlslTUrs/ohIMfsgCrweNXvUSTXZobIi8s8QHyipE4HpXMFjjZYHIV7GTlgA +PRgGu3NygbWfR8hcx5JtzVz/jka7FFFSbk/pMr0TeJHXP55VfqWLeeSBQmWwooj2 +QcRfqMXgLKgu6uEggaP5HMcfTuWgWNhbke/596CgsUtQ5Gg64Q6v7cKcPy0/lgn1 +PnvfT9uhgEFDLNFkSBxV3ImrNYo73Nqmbp3w5tK9SQKBgQDs/HW7pNnB0LD51qok +pkX0SBvyKxDT1QuU4z0FY9GT7OKOg8Xa0ZGyErt+ZbyFiyUGF5Axc3rJ3DyGslgu +5O+AqcpCQOlOyovGQ6ST9x/gEeVcRnZn1MV4vMxwaOSXtY7u0IGyaDlFn1QWHWCN +imv8OR6YuhivwBIXGzJ16oEqDwKBgQDCj3ls7tlPrLvUQIh8gfjCoInU8fRAqtAe +Ab/OximLsKQPKLDma6xd+X2Fk8Dowdb88GNT99x3VZjHqVJM9URDkiOGKAXA/rBp +jAXhnQwahT8YCzOUHqDYNMMQrXHvbiHqLodGrrO2WjYNmH69prQAk8WYAIwl+hdx +BS70LGLPBwKBgQDU9RinAkBcFjiyieBjBreeCJ50Q5bfhHbf2EOhcE2IbDo6bteB +Bwmxx3uM3cdHCf6/NrVweqFAfBQ3xlPP8BH4wJrsZoBBOWnZRDfEbzHJnMtK3FbS +fzTkhmQAL4Ibgh9rIxspQtcUZVSees+k4VqgUIPaIoDEjgizktEJfS2MqQKBgQDA +rOFtVaRz2PYyHq6LzxMRe3bEIdDn8cEk1kqjdW9TXV07feqiZmNOtXLvRAG4/63u +1Akp8L6ul2Az6qUMfaBa4nC3vQ7lr9P40qhIZATGhsqS/xTXTPWw55999qZsnL6N +cgKZpw1mOzRohmqNWnfMUotOGsywF1n7nUyAlyxLJQKBgElTaNTFYF3MbGfhl1He +fnDXlf8OCOK1i5oIzMLqverb2UN/qp6p0b3SAtcw5cUXcaPlajHrfYgacF/0Qyua +Cerey9GLEdJ7saDWhz0GyJ8yyEXy8CVs0svVaLPWI0s2B7/obzP9+gTb/WE9qZqu +bNoVEpJ/wZhk+IL4+KPmqphu +-----END PRIVATE KEY----- diff --git a/recipes-selftest/images/secureboot-selftest-image-signed.bb b/recipes-selftest/images/secureboot-selftest-image-signed.bb new file mode 100644 index 00000000..3ce11f32 --- /dev/null +++ b/recipes-selftest/images/secureboot-selftest-image-signed.bb @@ -0,0 +1,6 @@ +require secureboot-selftest-image-unsigned.bb + +IMAGE_FEATURES += "secureboot" + +SECURE_BOOT_SIGNING_KEY ?= "${THISDIR}/files/refkit-db.key" +SECURE_BOOT_SIGNING_CERT ?= "${THISDIR}/files/refkit-db.crt" diff --git a/recipes-selftest/images/secureboot-selftest-image-unsigned.bb b/recipes-selftest/images/secureboot-selftest-image-unsigned.bb new file mode 100644 index 00000000..e03e7b47 --- /dev/null +++ b/recipes-selftest/images/secureboot-selftest-image-unsigned.bb @@ -0,0 +1,20 @@ +require recipes-core/images/core-image-minimal.bb + +DEPENDS_remove = "grub-efi" + +inherit uefi-comboapp + +WKS_FILE = "generic-bootdisk.wks.in" + +do_uefiapp_deploy_append() { + for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do + target=`basename $i` + target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'` + + cat > ${IMAGE_ROOTFS}/boot/startup.nsh << EOF +$target +reset +EOF + break + done +} diff --git a/recipes-support/isa-l/isa-l_2.29.0.bb b/recipes-support/isa-l/isa-l_2.29.0.bb new file mode 100644 index 00000000..75f77546 --- /dev/null +++ b/recipes-support/isa-l/isa-l_2.29.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Intelligent Storage Acceleration Library" +DESCRIPTION = "ISA-L is a collection of optimized low-level functions \ +targeting storage applications." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e6c7d82ad7dd512687b0991a159a1ca9" +SECTION = "lib" + +inherit autotools pkgconfig + +S = "${WORKDIR}/git" +SRCREV = "806b55ee578efd8158962b90121a4568eb1ecb66" +SRC_URI = "git://github.com/intel/isa-l.git" + +DEPENDS = "nasm-native" +AS[unexport] = "1" + +COMPATIBLE_HOST = '(x86_64).*-linux' diff --git a/recipes-support/jhi/jhi_1.33.bb b/recipes-support/jhi/jhi_1.33.bb new file mode 100644 index 00000000..c52af957 --- /dev/null +++ b/recipes-support/jhi/jhi_1.33.bb @@ -0,0 +1,66 @@ +SUMMARY = "Intel Dynamic Application Loader (DAL) Host Interface" +DESCRIPTION = "A daemon and libraries which allow user space applications \ +to install Java applets on DAL FW and communicate with them" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=833126f14614a3276708a4d7c9734645" + +SRC_URI = "git://github.com/intel/dynamic-application-loader-host-interface.git;protocol=https" + +inherit cmake useradd systemd pkgconfig + +SRCREV = "44d64cdbcf7eacd397ce9c18b9094514b62093e6" + +S = "${WORKDIR}/git" + +DEPENDS += "util-linux libxml2" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" +RDEPENDS_${PN} += "bash" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false -g mei jhi" + +GROUPADD_PARAM_${PN} = "-g 880 mei" + +SYSTEMD_PACKAGES = "${PN}" + +COMPATIBLE_HOST_libc-musl = 'null' + +# systemd is the default so they are installed when sysvinit is not selected as INIT_SYSTEM +EXTRA_OECMAKE = "-DCMAKE_SKIP_RPATH=ON \ + -DINIT_SYSTEM=${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'SysVinit', 'systemd', d)} \ + -DAPPLETS_DIR=${libdir}/dal/applets \ + -DAPP_REPO_DIR=${localstatedir}/cache/dal/applet_repository \ + " + +do_install_append () { + install -d ${D}${localstatedir}/cache/dal/applet_repository + + chown -R jhi ${D}${localstatedir}/cache/dal/applet_repository + chgrp -R mei ${D}${localstatedir}/cache/dal/applet_repository + + install -d ${D}${bindir} + install -m 755 ${B}/bin_linux/smoketest ${D}${bindir} + install -m 755 ${B}/bin_linux/bist ${D}${bindir} + + install -d ${D}${libdir}/dal/applets + cp -r ${S}/test/smoketest/applets/* ${D}${libdir}/dal/applets/ +} + +PACKAGES =+ "${PN}-test" + +FILES_${PN}-dev = "" + +FILES_${PN} = "\ + ${sbindir} \ + ${sysconfdir} \ + ${libdir} \ + ${libdir}/dal/applets \ + ${nonarch_libdir}/tmpfiles.d \ + ${systemd_system_unitdir} \ + ${localstatedir}/cache/dal/applet_repository \ + " + +FILES_${PN}-test = "\ + ${bindir} \ + ${libdir}/dal/applets \ + " diff --git a/recipes-support/libipt/libipt_2.0.1.bb b/recipes-support/libipt/libipt_2.0.1.bb new file mode 100644 index 00000000..7f2cd1e4 --- /dev/null +++ b/recipes-support/libipt/libipt_2.0.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "Intel(R) Processor Trace Decoder Library" +DESCRIPTION = "The Intel Processor Trace (Intel PT) Decoder Library is Intel's \ +reference implementation for decoding Intel PT. It can be used as a standalone \ +library or it can be partially or fully integrated into your tool." +HOMEPAGE = "https://github.com/intel/libipt" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c91702d8338efc75588b838922b7b803" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.0" + +SRCREV = "916d777123bf60d323890557347570e5e19dfa12" + +EXTRA_OECMAKE += " \ + -DPTDUMP=ON \ + -DPTTC=ON \ + -DCMAKE_SKIP_RPATH=ON \ + " + +do_install_append() { + install -d ${D}${bindir}/libipt + install -d ${D}${bindir}/libipt/tests + + cp -r ${B}/bin/* ${D}${bindir}/libipt/ + cp -r ${WORKDIR}/git/test/src/* ${D}${bindir}/libipt/tests +} + +FILES_${PN}-test = "${bindir}" +PACKAGES =+ "${PN}-test" diff --git a/recipes-support/sbsigntool/sbsigntool-native_git.bb b/recipes-support/sbsigntool/sbsigntool-native_git.bb new file mode 100644 index 00000000..8b42e05b --- /dev/null +++ b/recipes-support/sbsigntool/sbsigntool-native_git.bb @@ -0,0 +1,80 @@ +DESCRIPTION = "Utility for signing and verifying files for UEFI Secure Boot" +LICENSE = "GPLv3 & LGPL-2.1 & LGPL-3.0 & MIT" + +# sbsigntool statically links to libccan.a which is built with modules +# passed to "create-ccan-tree" (and their dependencies). Therefore, +# we also keep track of all the ccan module licenses. +LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746 \ + file://COPYING;md5=a7710ac18adec371b84a9594ed04fd20 \ + file://lib/ccan.git/ccan/endian/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/htable/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/list/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/read_write_all/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/talloc/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/typesafe_cb/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://lib/ccan.git/ccan/failtest/LICENSE;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://lib/ccan.git/ccan/tlist/LICENSE;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://lib/ccan.git/ccan/time/LICENSE;md5=838c366f69b72c5df05c96dff79b35f2 \ +" + +# The original upstream is git://kernel.ubuntu.com/jk/sbsigntool but it has +# not been maintained and many patches have been backported in this repo. +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools \ + git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan \ + file://0001-configure-Fixup-build-dependencies-for-cross-compili.patch \ + " + +SRCREV_sbsigntools ?= "fe88da5f66241d959b7aeca7502d401ad88df410" +SRCREV_ccan ?= "b1f28e17227f2320d07fe052a8a48942fe17caa5" +SRCREV_FORMAT = "sbsigntools_ccan" + +DEPENDS = "binutils-native gnu-efi-native help2man-native openssl-native util-linux-native" + +PV = "0.9.3-git${SRCPV}" + +S = "${WORKDIR}/git" + +inherit native autotools pkgconfig + +do_configure_prepend() { + cd ${S} + + sed -i s#RECIPE_SYSROOT#${RECIPE_SYSROOT_NATIVE}#g configure.ac + + if [ ! -e lib/ccan ]; then + + # Use empty SCOREDIR because 'make scores' is not run. + # The default setting depends on (non-whitelisted) host tools. + sed -i -e 's#^\(SCOREDIR=\).*#\1#' lib/ccan.git/Makefile + + lib/ccan.git/tools/create-ccan-tree \ + --build-type=automake lib/ccan \ + talloc read_write_all build_assert array_size endian + fi + + # Create generatable docs from git + ( + echo "Authors of sbsigntool:" + echo + git log --format='%an' | sort -u | sed 's,^,\t,' + ) > AUTHORS + + # Generate simple ChangeLog + git log --date=short --format='%ad %t %an <%ae>%n%n * %s%n' > ChangeLog + + cd ${B} +} + +def efi_arch(d): + import re + harch = d.getVar("HOST_ARCH") + if re.match("i[3456789]86", harch): + return "ia32" + return harch + +EXTRA_OEMAKE = "\ + INCLUDES+='-I${S}/lib/ccan.git/ \ + -I${STAGING_INCDIR_NATIVE}/efi \ + -I${STAGING_INCDIR_NATIVE} \ + -I${STAGING_INCDIR_NATIVE}/efi/${@efi_arch(d)}' \ + " diff --git a/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch new file mode 100644 index 00000000..ef686511 --- /dev/null +++ b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch @@ -0,0 +1,54 @@ +From c3533b8da1e1425801d2fc0bcd231e13d593f16b Mon Sep 17 00:00:00 2001 +From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> +Date: Tue, 19 Feb 2019 20:07:45 +0800 +Subject: [PATCH] configure: Fixup build dependencies for cross-compiling + +When cross-compiling, custom header files and libraries need to be +specified. sbsign assumes that all the dependencies are located +under /usr/include and /usr/lib. + +Prepend these paths with a placeholder that can be replaced with the +actual paths once they are resolved. + +Upstream status: inappropriate [OE specific] + +Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> + +Taken from : +https://github.com/intel/luv-yocto/tree/master/meta-luv/recipes-devtools/sbsigntool/sbsigntool + +Corrected typo error and ported to version 0.9.2 + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + configure.ac | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1459e91..3e34c8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,7 +70,10 @@ AM_CONDITIONAL(TEST_BINARY_FORMAT, [ test "$EFI_ARCH" = "arm" -o "$EFI_ARCH" = " + ## + # no consistent view of where gnu-efi should dump the efi stuff, so find it + ## +-for path in /lib /lib64 /usr/lib /usr/lib64 /usr/lib32 /lib/efi /lib64/efi /usr/lib/efi /usr/lib64/efi /usr/lib/gnuefi /usr/lib64/gnuefi ; do ++for path in RECIPE_SYSROOT/lib RECIPE_SYSROOT/lib64 RECIPE_SYSROOT/usr/lib \ ++ RECIPE_SYSROOT/usr/lib64 RECIPE_SYSROOT/usr/lib32 \ ++ RECIPE_SYSROOT/lib/efi RECIPE_SYSROOT/lib64/efi \ ++ RECIPE_SYSROOT/usr/lib/efi RECIPE_SYSROOT/usr/lib64/efi; do + if test -e $path/crt0-efi-$EFI_ARCH.o; then + CRTPATH=$path + fi +@@ -79,7 +82,7 @@ if test -z "$CRTPATH"; then + AC_MSG_ERROR([cannot find the gnu-efi crt path]) + fi + +-EFI_CPPFLAGS="-I/usr/include/efi -I/usr/include/efi/$EFI_ARCH \ ++EFI_CPPFLAGS="-IRECIPE_SYSROOT/usr/include/efi -IRECIPE_SYSROOT/usr/include/efi/$EFI_ARCH \ + -DEFI_FUNCTION_WRAPPER" + CPPFLAGS_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $EFI_CPPFLAGS" +-- +2.7.4 + diff --git a/wic/core-image-tiny.wks.in b/wic/core-image-tiny.wks.in new file mode 100644 index 00000000..b0decae6 --- /dev/null +++ b/wic/core-image-tiny.wks.in @@ -0,0 +1,14 @@ +# short-description: Create an EFI disk image with systemd-boot and corei7-64/core2-32 +# long-description: Creates a partitioned EFI disk image that the user +# can directly dd to boot media. The selected bootloader is systemd-boot. +# This disk image is meant to be used by corei7-64/core2-32 and core-image-tiny-initramfs + +part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,initrd=core-image-tiny-initramfs-${MACHINE}.cpio.gz" --ondisk sda --label msdos --active --align 1024 + +bootloader --ptable gpt --timeout=5 --append="init=/bin/busybox sh init console=ttyS0,115200 console=tty0 rw LABEL=boot debugshell=5" + +# Some devices require different console parameters, the console parameter can be given repeatedly, input is taken +# only from the last listed console, for example on the Minnowboard MAX, the previously listed setting would show +# a login prompt on its video output and not on the serial terminal. +# +# See http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-kernel.html diff --git a/wic/generic-bootdisk.wks.in b/wic/generic-bootdisk.wks.in new file mode 100644 index 00000000..31c708bc --- /dev/null +++ b/wic/generic-bootdisk.wks.in @@ -0,0 +1,6 @@ +# based off of refkit's refkit-directdisk.wks.in kickstart template +# uses the image's boot directory to populate a vfat boot partition, +# which works with EFI. +bootloader --ptable gpt +part /boot --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/boot --fstype=vfat --label msdos --active --align 1024 --use-uuid +part / --source rootfs --fstype=ext4 --label root --align 1024 --uuid ${DISK_SIGNATURE_UUID} diff --git a/wic/grub-bootdisk-microcode.wks.in b/wic/grub-bootdisk-microcode.wks.in new file mode 100644 index 00000000..7dc66f98 --- /dev/null +++ b/wic/grub-bootdisk-microcode.wks.in @@ -0,0 +1,12 @@ +# short-description: Create an EFI disk image with grub-efi +# long-description: Creates a partitioned EFI disk image that the user +# can directly dd to boot media. The selected bootloader is grub-efi. +# It also includes intel-microcode as an initrd for early update support. + +part /boot --source bootimg-efi --sourceparams="loader=grub-efi,initrd=microcode.cpio" --ondisk sda --label msdos --active --align 1024 --use-uuid + +part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid + +part swap --ondisk sda --size 44 --label swap1 --fstype=swap --use-uuid + +bootloader --ptable gpt --timeout=5 --append=" rootfstype=ext4 " diff --git a/wic/image-installer.wks.in b/wic/image-installer.wks.in new file mode 100644 index 00000000..933e8d85 --- /dev/null +++ b/wic/image-installer.wks.in @@ -0,0 +1,8 @@ +# create an installer disk image +# populate content to install using IMAGE_BOOT_FILES + +part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},title=install,label=install-efi,initrd=microcode.cpio;${INITRD_IMAGE_LIVE}-${MACHINE}.${INITRAMFS_FSTYPES}" --ondisk sda --label install --active --align 1024 --use-uuid + +part / --source bootimg-partition --ondisk sda --fstype=ext4 --label image --use-uuid --align 1024 + +bootloader --ptable gpt --timeout=5 --append=" rootwait " diff --git a/wic/systemd-bootdisk-microcode.wks.in b/wic/systemd-bootdisk-microcode.wks.in new file mode 100644 index 00000000..925c1fa3 --- /dev/null +++ b/wic/systemd-bootdisk-microcode.wks.in @@ -0,0 +1,13 @@ +# short-description: Create an EFI disk image with systemd-boot +# long-description: Creates a partitioned EFI disk image that the user +# can directly dd to boot media. The selected bootloader is systemd-boot. +# It also includes intel-microcode as an initrd for early update support. +# Based on OE-core's systemd-bootdisk.wks file. + +part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,initrd=microcode.cpio" --ondisk sda --label msdos --active --align 1024 --use-uuid + +part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid + +part swap --ondisk sda --size 44 --label swap1 --fstype=swap --use-uuid + +bootloader --ptable gpt --timeout=5 --append=" rootfstype=ext4 " |