summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSaul Wold <sgw@linux.intel.com>2017-11-07 10:32:26 -0800
committerSaul Wold <sgw@linux.intel.com>2017-11-20 15:33:02 -0800
commitd53dbb38c43da3fd04fed9a55e7b3b9e2c512b9a (patch)
treefbe372dba00d45bbf9fbfbb3726708dc2590daeb /common
parent5adbf6df4fd89e7531ccccfb9cec7a5314d635f0 (diff)
downloadmeta-intel-d53dbb38c43da3fd04fed9a55e7b3b9e2c512b9a.tar.gz
meta-intel: Reorganize the layout to remove common
Remove the concept of the common directory and move all the recipes-* dirs to the top level as a normal layer would be. layer.conf is updated appropriately Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'common')
-rwxr-xr-xcommon/custom-licenses/BSD_LMS30
-rw-r--r--common/custom-licenses/Intel-Microcode-License123
-rw-r--r--common/recipes-bsp/amt/files/atnetworktool-printf-fix.patch20
-rw-r--r--common/recipes-bsp/amt/files/readlink-declaration.patch18
-rw-r--r--common/recipes-bsp/amt/lms/0001-Include-sys-select.h-for-fd_set.patch28
-rw-r--r--common/recipes-bsp/amt/lms/0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch31
-rw-r--r--common/recipes-bsp/amt/lms/0002-Use-proper-netinet-in.h-API.patch31
-rw-r--r--common/recipes-bsp/amt/lms/0003-Fix-device-file-referance-to-dev-mei0-remove-select.patch91
-rw-r--r--common/recipes-bsp/amt/lms/0004-Intel-AMT-ME-real-time-notification-infra.patch2647
-rw-r--r--common/recipes-bsp/amt/lms7_7.1.20.bb58
-rw-r--r--common/recipes-bsp/amt/lms8_8.0.0-7.bb46
-rw-r--r--common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch33
-rw-r--r--common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch33
-rw-r--r--common/recipes-bsp/efilinux/efilinux_1.1.bb38
-rw-r--r--common/recipes-bsp/formfactor/formfactor/machconfig39
-rw-r--r--common/recipes-bsp/formfactor/formfactor_0.0.bbappend1
-rw-r--r--common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf2
-rw-r--r--common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh15
-rw-r--r--common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb18
-rw-r--r--common/recipes-bsp/rmc/boards/Galileo2/BOOTENTRY.CONFIG3
-rw-r--r--common/recipes-bsp/rmc/boards/Galileo2/boot.conf4
-rwxr-xr-xcommon/recipes-bsp/rmc/boards/Galileo2/gallieo2.fpbin109 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/Galileo2/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/MinnowboardTurbot/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/MinnowboardTurbot/minnowboardturbot.fpbin154 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/INSTALLER.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/POSTINSTALL.sh2
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/NUC5i5RYB/nuc5i5.fpbin149 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/T100-32bit/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/T100-32bit/T100-32bit.fpbin116 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/T100-32bit/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/T100-32bit/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/INSTALLER.CONFIG3
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/POSTINSTALL.sh2
-rwxr-xr-xcommon/recipes-bsp/rmc/boards/broxton-m/bm-1F1.fpbin83 -> 0 bytes
-rwxr-xr-xcommon/recipes-bsp/rmc/boards/broxton-m/bm.fpbin83 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/broxton-m/joule-1F1.fpbin122 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmax/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmax/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmax/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmax/minnowmax.fpbin143 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmaxB3/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmaxB3/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/minnowmaxB3/minnowmaxB3.fpbin148 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/INSTALLER.CONFIG3
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/POSTINSTALL.sh3
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/mohonpeak/mohonpeak.fpbin121 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/BOOTENTRY.CONFIG2
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/INSTALLER.CONFIG6
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/POSTINSTALL.sh7
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/boot.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/install.conf4
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/mylib.conf7
-rw-r--r--common/recipes-bsp/rmc/boards/nucgen6/nuc6.fpbin149 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/qemu-2.6/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/qemu-2.6/qemu-2.6.fpbin113 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/boards/qemu-2.8/KBOOTPARAM1
-rw-r--r--common/recipes-bsp/rmc/boards/qemu-2.8/qemu-2.8.fpbin113 -> 0 bytes
-rw-r--r--common/recipes-bsp/rmc/rmc-db.bb49
-rw-r--r--common/recipes-bsp/rmc/rmc-efi.bb40
-rw-r--r--common/recipes-bsp/rmc/rmc.bb46
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch31
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch39
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch42
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch250
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch66
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch81
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc12
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc7
-rw-r--r--common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend23
-rw-r--r--common/recipes-bsp/thermald/thermald_1.6.bb33
-rw-r--r--common/recipes-core/images/core-image-minimal-initramfs.bbappend6
-rw-r--r--common/recipes-core/images/core-image-tiny.bb37
-rw-r--r--common/recipes-core/initrdscripts/files/intel-x86-common/init-install-efi.sh342
-rw-r--r--common/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend2
-rw-r--r--common/recipes-core/microcode/intel-microcode_20170707.bb66
-rw-r--r--common/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch29
-rw-r--r--common/recipes-core/microcode/iucode-tool_2.1.2.bb33
-rw-r--r--common/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch105
-rw-r--r--common/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb13
-rw-r--r--common/recipes-core/ovmf/ovmf_%.bbappend6
-rw-r--r--common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.19.bb40
-rw-r--r--common/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb12
-rw-r--r--common/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch68
-rw-r--r--common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb23
-rw-r--r--common/recipes-kernel/cryptodev/cryptodev-module/0001-zc-Force-4.10-get_user_pages_remote-API.patch26
-rw-r--r--common/recipes-kernel/cryptodev/cryptodev-module_%.bbappend9
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbe.bb45
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch31
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-src-Makefile-change-make-install-to-make.patch40
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbevf.bb46
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch31
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-src-Makefile-change-make-install-to-make.patch32
-rw-r--r--common/recipes-kernel/intel-ethernet/ixgbevf/0002-ixgbevf_common.patch23
-rw-r--r--common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch36
-rw-r--r--common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch87
-rw-r--r--common/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf12
-rw-r--r--common/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb56
-rw-r--r--common/recipes-kernel/linux/linux-intel-rt_4.9.bb17
-rw-r--r--common/recipes-kernel/linux/linux-intel.inc40
-rw-r--r--common/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg14
-rw-r--r--common/recipes-kernel/linux/linux-intel_4.9.bb13
-rw-r--r--common/recipes-kernel/linux/linux-yocto-dev.bbappend26
-rw-r--r--common/recipes-kernel/linux/linux-yocto-rt_4.10.bbappend13
-rw-r--r--common/recipes-kernel/linux/linux-yocto-rt_4.12.bbappend13
-rw-r--r--common/recipes-kernel/linux/linux-yocto-rt_4.4.bbappend33
-rw-r--r--common/recipes-kernel/linux/linux-yocto-rt_4.9.bbappend13
-rw-r--r--common/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend19
-rw-r--r--common/recipes-kernel/linux/linux-yocto-tiny_4.12.bbappend19
-rw-r--r--common/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend33
-rw-r--r--common/recipes-kernel/linux/linux-yocto-tiny_4.9.bbappend31
-rw-r--r--common/recipes-kernel/linux/linux-yocto_%.bbappend4
-rw-r--r--common/recipes-kernel/linux/linux-yocto_4.10.bbappend21
-rw-r--r--common/recipes-kernel/linux/linux-yocto_4.12.bbappend21
-rw-r--r--common/recipes-kernel/linux/linux-yocto_4.4.bbappend43
-rw-r--r--common/recipes-kernel/linux/linux-yocto_4.9.bbappend21
-rw-r--r--common/recipes-kernel/lttng/lttng-modules/0002-lttng-modules-PKT-4.9-yocto-build-failed.patch38
-rw-r--r--common/recipes-kernel/lttng/lttng-modules_%.bbappend7
-rw-r--r--common/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb35
-rw-r--r--common/recipes-multimedia/libva/va-intel.bb32
-rw-r--r--common/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch99
-rw-r--r--common/recipes-multimedia/libyami/libyami-utils_1.2.0.bb31
-rw-r--r--common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch27
-rw-r--r--common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch42
-rw-r--r--common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch29
-rw-r--r--common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch33
-rw-r--r--common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch130
-rw-r--r--common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch41
-rw-r--r--common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch36
-rw-r--r--common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch31
-rw-r--r--common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch37
-rw-r--r--common/recipes-multimedia/libyami/libyami_1.2.0.bb34
-rw-r--r--common/recipes-rt/images/core-image-rt-sdk.bb20
-rw-r--r--common/recipes-rt/images/core-image-rt.bb17
-rw-r--r--common/recipes-selftest/images/files/incorrect.crt19
-rw-r--r--common/recipes-selftest/images/files/incorrect.key27
-rw-r--r--common/recipes-selftest/images/files/refkit-db.crt18
-rw-r--r--common/recipes-selftest/images/files/refkit-db.key28
-rw-r--r--common/recipes-selftest/images/secureboot-selftest-image-signed.bb6
-rw-r--r--common/recipes-selftest/images/secureboot-selftest-image-unsigned.bb20
-rw-r--r--common/recipes-support/sbsigntool/sbsigntool-native_git.bb77
154 files changed, 0 insertions, 6707 deletions
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 @@
1Copyright (C) 2004-2012 Intel Corporation. All rights reserved.
2
3• This license covers the sources of the Local Manageability Service (LMS).
4For licensing information for the LMS build scripts, please refer to the file build_script_license.txt.
5
6Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are met:
8
9 - Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer.
11
12 - Redistributions in binary form must reproduce the above copyright notice,
13 this list of conditions and the following disclaimer in the documentation
14 and/or other materials provided with the distribution.
15
16 - Neither the name of Intel Corporation. nor the names of its
17 contributors may be used to endorse or promote products derived from this
18 software without specific prior written permission.
19
20THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
21AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
24BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30POSSIBILITY 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 @@
1INTEL SOFTWARE LICENSE AGREEMENT
2
3IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
4Do not use or load this software and any associated materials (collectively,
5the "Software") until you have carefully read the following terms and
6conditions. By loading or using the Software, you agree to the terms of this
7Agreement. If you do not wish to so agree, do not install or use the Software.
8
9LICENSES: Please Note:
10- If you are a network administrator, the "Site License" below shall
11apply to you.
12- If you are an end user, the "Single User License" shall apply to you.
13- If you are an original equipment manufacturer (OEM), the "OEM License"
14shall apply to you.
15
16SITE LICENSE. You may copy the Software onto your organization's computers
17for your organization's use, and you may make a reasonable number of
18back-up copies of the Software, subject to these conditions:
19
201. This Software is licensed for use only in conjunction with Intel
21component products. Use of the Software in conjunction with non-Intel
22component products is not licensed hereunder.
232. You may not copy, modify, rent, sell, distribute or transfer any part
24of the Software except as provided in this Agreement, and you agree to
25prevent unauthorized copying of the Software.
263. You may not reverse engineer, decompile, or disassemble the Software.
274. You may not sublicense or permit simultaneous use of the Software by
28more than one user.
295. The Software may include portions offered on terms in addition to those
30set out here, as set out in a license accompanying those portions.
31
32SINGLE USER LICENSE. You may copy the Software onto a single computer for
33your personal, noncommercial use, and you may make one back-up copy of the
34Software, subject to these conditions:
35
361. This Software is licensed for use only in conjunction with Intel
37component products. Use of the Software in conjunction with non-Intel
38component products is not licensed hereunder.
392. You may not copy, modify, rent, sell, distribute or transfer any part
40of the Software except as provided in this Agreement, and you agree to
41prevent unauthorized copying of the Software.
423. You may not reverse engineer, decompile, or disassemble the Software.
434. You may not sublicense or permit simultaneous use of the Software by
44more than one user.
455. The Software may include portions offered on terms in addition to those
46set out here, as set out in a license accompanying those portions.
47
48OEM LICENSE: You may reproduce and distribute the Software only as an
49integral part of or incorporated in Your product or as a standalone
50Software maintenance update for existing end users of Your products,
51excluding any other standalone products, subject to these conditions:
52
531. This Software is licensed for use only in conjunction with Intel
54component products. Use of the Software in conjunction with non-Intel
55component products is not licensed hereunder.
562. You may not copy, modify, rent, sell, distribute or transfer any part
57of the Software except as provided in this Agreement, and you agree to
58prevent unauthorized copying of the Software.
593. You may not reverse engineer, decompile, or disassemble the Software.
604. You may only distribute the Software to your customers pursuant to a
61written license agreement. Such license agreement may be a "break-the-
62seal" license agreement. At a minimum such license shall safeguard
63Intel's ownership rights to the Software.
645. The Software may include portions offered on terms in addition to those
65set out here, as set out in a license accompanying those portions.
66
67NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly
68or by implication, with respect to any proprietary information or patent,
69copyright, mask work, trademark, trade secret, or other intellectual property
70right owned or controlled by Intel, except as expressly provided in this
71Agreement.
72
73OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software
74remains with Intel or its suppliers. The Software is copyrighted and
75protected by the laws of the United States and other countries, and
76international treaty provisions. You may not remove any copyright notices
77from the Software. Intel may make changes to the Software, or to items
78referenced therein, at any time without notice, but is not obligated to
79support or update the Software. Except as otherwise expressly provided, Intel
80grants no express or implied right under Intel patents, copyrights,
81trademarks, or other intellectual property rights. You may transfer the
82Software only if the recipient agrees to be fully bound by these terms and if
83you retain no copies of the Software.
84
85LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on
86physical media, Intel warrants the media to be free from material physical
87defects for a period of ninety days after delivery by Intel. If such a defect
88is found, return the media to Intel for replacement or alternate delivery of
89the Software as Intel may select.
90
91EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS
92PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND
93INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A
94PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the
95accuracy or completeness of any information, text, graphics, links or other
96items contained within the Software.
97
98LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE
99FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS,
100BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
101INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE
102POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR
103LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL
104DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE
105OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION.
106
107TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time
108if you violate its terms. Upon termination, you will immediately destroy the
109Software or return all copies of the Software to Intel.
110
111APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
112laws of California, excluding its principles of conflict of laws and the
113United Nations Convention on Contracts for the Sale of Goods. You may not
114export the Software in violation of applicable export laws and regulations.
115Intel is not obligated under any other agreements unless they are in writing
116and signed by an authorized representative of Intel.
117
118GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED
119RIGHTS." Use, duplication, or disclosure by the Government is subject to
120restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its
121successor. Use of the Software by the Government constitutes acknowledgment
122of Intel's proprietary rights therein. Contractor or Manufacturer is Intel
1232200 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 @@
1Add a missing debug ifdef causing compilation problems.
2
3Upstream-Status: Submitted
4
5Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com>
6
7Index: lms-7.1.20/src/tools/ATNetworkTool.cpp
8===================================================================
9--- lms-7.1.20.orig/src/tools/ATNetworkTool.cpp 2012-04-30 23:24:56.693879920 -0500
10+++ lms-7.1.20/src/tools/ATNetworkTool.cpp 2012-04-30 23:25:32.363473948 -0500
11@@ -302,7 +302,9 @@
12 close(s);
13 return -1;
14 }
15+#ifdef LMS_NET_DEBUG
16 printf("successfully binded local\n");
17+#endif
18
19 }
20 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 @@
1Add a missing include causing compilation (missing declaration) problems.
2
3Upstream-Status: Submitted
4
5Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com>
6
7Index: lms-7.1.20/src/tools/ATVersion.cpp
8===================================================================
9--- lms-7.1.20.orig/src/tools/ATVersion.cpp 2012-05-29 20:34:34.061997035 -0500
10+++ lms-7.1.20/src/tools/ATVersion.cpp 2012-05-29 20:35:22.671412948 -0500
11@@ -40,6 +40,7 @@
12 #include <cerrno>
13 #include <fstream>
14 #include <dirent.h>
15+#include <unistd.h>
16
17 #define AT_VERSION_ARGUMENT "--version"
18 #define AT_VERSION_MAXSIZE 40
diff --git a/common/recipes-bsp/amt/lms/0001-Include-sys-select.h-for-fd_set.patch b/common/recipes-bsp/amt/lms/0001-Include-sys-select.h-for-fd_set.patch
deleted file mode 100644
index e28d45ac..00000000
--- a/common/recipes-bsp/amt/lms/0001-Include-sys-select.h-for-fd_set.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 518a3a277c89a3d6b0a9d3ee552cfa33a1dbd5c6 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Mon, 23 Jan 2017 20:45:08 +0200
4Subject: [PATCH 1/2] Include sys/select.h for fd_set()
5
6This is needed at least on musl.
7
8Upstream-Status: Pending
9Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
10---
11 src/mei/MEILinux.cpp | 1 +
12 1 file changed, 1 insertion(+)
13
14diff --git a/src/mei/MEILinux.cpp b/src/mei/MEILinux.cpp
15index 1e9d28f..631270e 100755
16--- a/src/mei/MEILinux.cpp
17+++ b/src/mei/MEILinux.cpp
18@@ -37,6 +37,7 @@
19 #include <cerrno>
20 #include <fcntl.h>
21 #include <sys/ioctl.h>
22+#include <sys/select.h>
23 #include <unistd.h>
24 #include <stdint.h>
25 #include <aio.h>
26--
272.1.4
28
diff --git a/common/recipes-bsp/amt/lms/0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch b/common/recipes-bsp/amt/lms/0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch
deleted file mode 100644
index 17b206e2..00000000
--- a/common/recipes-bsp/amt/lms/0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 8d737ba9745bef223c3d3b96899f11c26102ea04 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Mon, 16 May 2016 09:01:05 -0700
4Subject: [PATCH] Protocol.cpp: Add whitespace for gcc6 compile error
5
6When moving from C++-3 -> C++11 additiona white space is required between
7User-defined literals.
8
9Upstream-Status: Pending
10
11Signed-off-by: Saul Wold <sgw@linux.intel.com>
12---
13 src/Protocol.cpp | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/Protocol.cpp b/src/Protocol.cpp
17index 1c21a0f..3a4a9bb 100755
18--- a/src/Protocol.cpp
19+++ b/src/Protocol.cpp
20@@ -1428,7 +1428,7 @@ int Protocol::_handleFQDNChange(const char *fqdn)
21 char host[FQDN_MAX_SIZE + 1];
22 #define LMS_MAX_LINE_LEN 1023
23 char line[LMS_MAX_LINE_LEN + 1];
24-#define LMS_LINE_SIG_FIRST_WORDS(a) "# LMS GENERATED "a" "
25+#define LMS_LINE_SIG_FIRST_WORDS(a) "# LMS GENERATED " a " "
26 #define LMS_LINE_SIG_LAST_WORD "LINE"
27 #define LMS_LINE_SIG_LAST_WORD_LEN 4
28 #define LMS_LINE_SIG(a) LMS_LINE_SIG_FIRST_WORDS(a) LMS_LINE_SIG_LAST_WORD
29--
302.5.0
31
diff --git a/common/recipes-bsp/amt/lms/0002-Use-proper-netinet-in.h-API.patch b/common/recipes-bsp/amt/lms/0002-Use-proper-netinet-in.h-API.patch
deleted file mode 100644
index fa2e29a5..00000000
--- a/common/recipes-bsp/amt/lms/0002-Use-proper-netinet-in.h-API.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 0adc925ca9e005f93d77f373ccda2a6c6cc3ff2f Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Mon, 23 Jan 2017 20:46:50 +0200
4Subject: [PATCH 2/2] Use proper netinet/in.h API
5
6in6addr is only guaranteed to contain this member:
7 uint8_t s6_addr[16]
8Use that instead of the glibc implementation detail __in6_u.
9
10Upstream-Status: Pending
11Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
12---
13 src/tools/ATNetworkTool.cpp | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/tools/ATNetworkTool.cpp b/src/tools/ATNetworkTool.cpp
17index 66e27df..0789c79 100755
18--- a/src/tools/ATNetworkTool.cpp
19+++ b/src/tools/ATNetworkTool.cpp
20@@ -207,7 +207,7 @@ int ATNetworkTool::GetSockPeerIP(int sock, ATAddressList & peerAddresses, int &e
21 if(sa->sa_family == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&addr)) //if(IN6_IS_ADDR_V4COMPAT(&addr))
22 {
23 struct in_addr demapped_addr;
24- memcpy(&demapped_addr.s_addr, &addr.__in6_u.__u6_addr8[12], 4);
25+ memcpy(&demapped_addr.s_addr, &addr.s6_addr[12], 4);
26
27 struct sockaddr_in sa_in;
28 sa_in.sin_family = AF_INET;
29--
302.1.4
31
diff --git a/common/recipes-bsp/amt/lms/0003-Fix-device-file-referance-to-dev-mei0-remove-select.patch b/common/recipes-bsp/amt/lms/0003-Fix-device-file-referance-to-dev-mei0-remove-select.patch
deleted file mode 100644
index 433d3016..00000000
--- a/common/recipes-bsp/amt/lms/0003-Fix-device-file-referance-to-dev-mei0-remove-select.patch
+++ /dev/null
@@ -1,91 +0,0 @@
1Fix device file referance to /dev/mei0, remove select post write.
2
3LMS uses /dev/mei character device which is absent on current kernel versions causing LMS fail to initialize. LMS sends messages to MEI with a post select timeout. Select timeout causes SendMessage to fail causing LMS to not to communicate properly with MEI.
4
5Adding /dev/mei0 device file reference to check first and then /dev/mei sucessfully initializes LMS. Rely on write return length and remove select with timeout to fix communication with MEI.
6
7Upstream-Status: Pending
8
9Signed-off-by: Anand Vastrad <anand.vastrad@intel.com>
10---
11 src/mei/MEILinux.cpp | 43 +++++++------------------------------------
12 1 file changed, 7 insertions(+), 36 deletions(-)
13
14diff --git a/src/mei/MEILinux.cpp b/src/mei/MEILinux.cpp
15index 1e9d28f..6d23f54 100755
16--- a/src/mei/MEILinux.cpp
17+++ b/src/mei/MEILinux.cpp
18@@ -94,13 +94,17 @@ bool MEILinux::Init(unsigned char reqProtocolVersion)
19 Deinit();
20 }
21
22- _fd = open("/dev/mei", O_RDWR);
23+ _fd = open("/dev/mei0", O_RDWR);
24
25 if (_fd == -1 ) {
26 if (_verbose) {
27- fprintf(stderr, "Error: Cannot establish a handle to the MEI driver\n");
28+ fprintf(stderr, "Warning: Cannot establish a handle to the MEI driver mei0, retrying with mei \n");
29+ }
30+ _fd = open("/dev/mei", O_RDWR);
31+ if (_fd == -1 ) {
32+ fprintf(stderr, "Error: Cannot establish a handle to the MEI driver mei\n");
33+ return false;
34 }
35- return false;
36 }
37 _initialized = true;
38
39@@ -181,13 +185,7 @@ int MEILinux::ReceiveMessage(unsigned char *buffer, int len, unsigned long timeo
40 int MEILinux::SendMessage(const unsigned char *buffer, int len, unsigned long timeout)
41 {
42 int rv = 0;
43- int return_length =0;
44 int error = 0;
45- fd_set set;
46- struct timeval tv;
47-
48- tv.tv_sec = timeout / 1000;
49- tv.tv_usec =(timeout % 1000) * 1000000;
50
51 if (_verbose) {
52 fprintf(stdout, "call write length = %d\n", len);
53@@ -198,35 +196,8 @@ int MEILinux::SendMessage(const unsigned char *buffer, int len, unsigned long ti
54 if (_verbose) {
55 fprintf(stderr,"write failed with status %d %d\n", rv, error);
56 }
57- goto out;
58- }
59-
60- return_length = rv;
61-
62- FD_ZERO(&set);
63- FD_SET(_fd, &set);
64- rv = select(_fd+1 ,&set, NULL, NULL, &tv);
65- if (rv > 0 && FD_ISSET(_fd, &set)) {
66- if (_verbose) {
67- fprintf(stderr, "write success\n");
68- }
69 }
70- else if (rv == 0) {
71- if (_verbose) {
72- fprintf(stderr, "write failed on timeout with status\n");
73- }
74- goto out;
75- }
76- else { //rv<0
77- if (_verbose) {
78- fprintf(stderr, "write failed on select with status %d\n", rv);
79- }
80- goto out;
81- }
82-
83- rv = return_length;
84
85-out:
86 if (rv < 0) {
87 Deinit();
88 }
89--
902.7.4
91
diff --git a/common/recipes-bsp/amt/lms/0004-Intel-AMT-ME-real-time-notification-infra.patch b/common/recipes-bsp/amt/lms/0004-Intel-AMT-ME-real-time-notification-infra.patch
deleted file mode 100644
index 04f584ae..00000000
--- a/common/recipes-bsp/amt/lms/0004-Intel-AMT-ME-real-time-notification-infra.patch
+++ /dev/null
@@ -1,2647 +0,0 @@
1Added Intel AMT ME real time notification infra to LMS.
2
3Notification support now actively captures all the INTEL AMT ME events by plugging in to APF infra.
4These events message are in the WsMan XML format. WsMan XML is parsed to get the AlertID and Message arguments.
5A map is initialized initially by reading AMTAlerts.xml which provides alertid,messageArguements and verbose description.
6From AlertID, verbose description is obtained and then using d-bus infra verbose description is notified to the user.
7
8src/tools/utils.cpp Utils class provides static methods for string manipulation and desktop notification.
9src/tools/miniXmlParser.cpp MiniXmlParser class provide methods for parsing the xmlBuffer, validation and retreving tag/value.
10src/tools/httpParser.cpp HttpParser class provides method to parse http response buffer and populate header,body,headerfields properties.
11src/alertDescription.cpp AlertDescription class parses AMTAlerts.xml like xml to populate map of alertId-Arguments and verbose desctiption.
12src/alertIndication.cpp AlertIndication class provides binding to some xmlTags. It uses MiniXmlParse to parse xmlBuffer and provides access methods to some of the fields.
13src/defaultAlerts.cpp provides default AlertID-Description paris. This is used in absence of AMTAlerts.xml.
14src/notifyDesktop.sh is script which uses d-bus infra to pop up desktop notification. The following script can be modified based on device environment and libraries installed.
15src/LMEConnection.cpp has modified the buffer 4x times because of the size of AMT ME Xml data.
16src/Protocol.cpp [ _UNSHandler(char *data, int dataLength) ] has changes to recieve AMT ME event data, gracefully process the data and close the channel.
17
18src/tools/miniXmlParser.cpp has derived work from http://info.meshcentral.com/downloads/MeshAgentFullSource.rar microstack. Author: Bryan Y Roe <bryan.y.roe@intel.com>/Intel Corporation.
19
20Upstream-Status: Pending
21
22Signed-off-by: AnandVastrad <anand.vastrad@intel.com>
23---
24 Makefile.in | 2 +
25 src/AMTAlerts.xml | 464 ++++++++++++++++++++++++++++++++++++++++++++
26 src/LMEConnection.cpp | 2 +-
27 src/Makefile.am | 3 +
28 src/Makefile.in | 172 ++++++++++++++--
29 src/Makefile.inc | 20 +-
30 src/Protocol.cpp | 191 +++++++++++++++---
31 src/Protocol.h | 8 +-
32 src/alertDescription.cpp | 144 ++++++++++++++
33 src/alertDescription.h | 45 +++++
34 src/alertIndication.cpp | 90 +++++++++
35 src/alertIndication.h | 54 ++++++
36 src/defaultAlerts.h | 43 ++++
37 src/notifyDesktop.sh | 10 +
38 src/tools/httpParser.cpp | 101 ++++++++++
39 src/tools/httpParser.h | 49 +++++
40 src/tools/miniXmlParser.cpp | 375 +++++++++++++++++++++++++++++++++++
41 src/tools/miniXmlParser.h | 51 +++++
42 src/tools/utils.cpp | 185 ++++++++++++++++++
43 src/tools/utils.h | 57 ++++++
44 src/tools/xmlNode.cpp | 45 +++++
45 src/tools/xmlNode.h | 49 +++++
46 22 files changed, 2105 insertions(+), 55 deletions(-)
47 mode change 100755 => 100644 Makefile.in
48 create mode 100755 src/AMTAlerts.xml
49 mode change 100755 => 100644 src/Makefile.in
50 create mode 100644 src/alertDescription.cpp
51 create mode 100644 src/alertDescription.h
52 create mode 100644 src/alertIndication.cpp
53 create mode 100644 src/alertIndication.h
54 create mode 100644 src/defaultAlerts.h
55 create mode 100644 src/notifyDesktop.sh
56 create mode 100644 src/tools/httpParser.cpp
57 create mode 100644 src/tools/httpParser.h
58 create mode 100644 src/tools/miniXmlParser.cpp
59 create mode 100644 src/tools/miniXmlParser.h
60 create mode 100644 src/tools/utils.cpp
61 create mode 100644 src/tools/utils.h
62 create mode 100644 src/tools/xmlNode.cpp
63 create mode 100644 src/tools/xmlNode.h
64
65diff --git a/Makefile.in b/Makefile.in
66old mode 100755
67new mode 100644
68index f90be60..e1a248b
69--- a/Makefile.in
70+++ b/Makefile.in
71@@ -133,6 +133,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
72 PACKAGE_NAME = @PACKAGE_NAME@
73 PACKAGE_STRING = @PACKAGE_STRING@
74 PACKAGE_TARNAME = @PACKAGE_TARNAME@
75+PACKAGE_URL = @PACKAGE_URL@
76 PACKAGE_VERSION = @PACKAGE_VERSION@
77 PATH_SEPARATOR = @PATH_SEPARATOR@
78 RANLIB = @RANLIB@
79@@ -185,6 +186,7 @@ pdfdir = @pdfdir@
80 prefix = @prefix@
81 program_transform_name = @program_transform_name@
82 psdir = @psdir@
83+runstatedir = @runstatedir@
84 sbindir = @sbindir@
85 sharedstatedir = @sharedstatedir@
86 sysconfdir = @sysconfdir@
87diff --git a/src/AMTAlerts.xml b/src/AMTAlerts.xml
88new file mode 100755
89index 0000000..ddb3383
90--- /dev/null
91+++ b/src/AMTAlerts.xml
92@@ -0,0 +1,464 @@
93+<?xml version="1.0" encoding="utf-8" standalone="no"?>
94+<!-- Copyright (c) Intel Corporation, 2010 All Rights Reserved. -->
95+<Alerts>
96+<Alert>
97+<Id>iAMT0001</Id>
98+<Arg></Arg>
99+<Message>System Defense Policy triggered.</Message>
100+</Alert>
101+<Alert>
102+<Id>iAMT0002</Id>
103+<Arg></Arg>
104+<Message>Agent Presence Agent not started.</Message>
105+</Alert>
106+<Alert>
107+<Id>iAMT0003</Id>
108+<Arg></Arg>
109+<Message>Agent Presence Agent stopped.</Message>
110+</Alert>
111+<Alert>
112+<Id>iAMT0004</Id>
113+<Arg></Arg>
114+<Message>Agent Presence: running.</Message>
115+</Alert>
116+<Alert>
117+<Id>iAMT0005</Id>
118+<Arg></Arg>
119+<Message>Agent Presence: expired.</Message>
120+</Alert>
121+<Alert>
122+<Id>iAMT0006</Id>
123+<Arg></Arg>
124+<Message>Agent Presence: suspended.</Message>
125+</Alert>
126+<Alert>
127+<Id>iAMT0007</Id>
128+<Arg></Arg>
129+<Message>Host software attempt to disable AMT Network link detected.</Message>
130+</Alert>
131+<Alert>
132+<Id>iAMT0008</Id>
133+<Arg></Arg>
134+<Message>Host software attempt to disable AMT Network link detected -- Host Network link blocked.</Message>
135+</Alert>
136+<Alert>
137+<Id>iAMT0009</Id>
138+<Arg></Arg>
139+<Message>AMT clock or FLASH wear-out protection disabled.</Message>
140+</Alert>
141+<Alert>
142+<Id>iAMT0010</Id>
143+<Arg></Arg>
144+<Message>Intel(R) AMT Network Interface: Heuristics defense slow threshold trespassed.</Message>
145+</Alert>
146+<Alert>
147+<Id>iAMT0011</Id>
148+<Arg></Arg>
149+<Message>Intel(R) AMT Network Interface: Heuristics defense fast threshold trespassed.</Message>
150+</Alert>
151+<Alert>
152+<Id>iAMT0012</Id>
153+<Arg></Arg>
154+<Message>Intel(R) AMT Network Interface: Heuristics defense factory defined threshold trespassed.</Message>
155+</Alert>
156+<Alert>
157+<Id>iAMT0013</Id>
158+<Arg></Arg>
159+<Message>Intel(R) AMT Network Interface: Heuristics defense Encounter timeout expired.</Message>
160+</Alert>
161+<Alert>
162+<Id>iAMT0014</Id>
163+<Arg></Arg>
164+<Message>General certificate error.</Message>
165+</Alert>
166+<Alert>
167+<Id>iAMT0015</Id>
168+<Arg></Arg>
169+<Message>Certificate expired.</Message>
170+</Alert>
171+<Alert>
172+<Id>iAMT0016</Id>
173+<Arg></Arg>
174+<Message>No trusted root certificate.</Message>
175+</Alert>
176+<Alert>
177+<Id>iAMT0017</Id>
178+<Arg></Arg>
179+<Message>Not configured to work with server certificate.</Message>
180+</Alert>
181+<Alert>
182+<Id>iAMT0018</Id>
183+<Arg></Arg>
184+<Message>Certificate revoked.</Message>
185+</Alert>
186+<Alert>
187+<Id>iAMT0019</Id>
188+<Arg></Arg>
189+<Message>RSA exponent too large.</Message>
190+</Alert>
191+<Alert>
192+<Id>iAMT0020</Id>
193+<Arg></Arg>
194+<Message>RSA modulus too large.</Message>
195+</Alert>
196+<Alert>
197+<Id>iAMT0021</Id>
198+<Arg></Arg>
199+<Message>Unsupported digest.</Message>
200+</Alert>
201+<Alert>
202+<Id>iAMT0022</Id>
203+<Arg></Arg>
204+<Message>Distinguished name too long.</Message>
205+</Alert>
206+<Alert>
207+<Id>iAMT0023</Id>
208+<Arg></Arg>
209+<Message>Key usage missing.</Message>
210+</Alert>
211+<Alert>
212+<Id>iAMT0024</Id>
213+<Arg></Arg>
214+<Message>General SSL handshake error.</Message>
215+</Alert>
216+<Alert>
217+<Id>iAMT0025</Id>
218+<Arg></Arg>
219+<Message>General 802.1x error.</Message>
220+</Alert>
221+<Alert>
222+<Id>iAMT0026</Id>
223+<Arg></Arg>
224+<Message>AMT Diagnostic AlertEAC error - General NAC error.</Message>
225+</Alert>
226+<Alert>
227+<Id>iAMT0027</Id>
228+<Arg></Arg>
229+<Message>AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.</Message>
230+</Alert>
231+<Alert>
232+<Id>iAMT0028</Id>
233+<Arg></Arg>
234+<Message>AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.</Message>
235+</Alert>
236+<Alert>
237+<Id>iAMT0029</Id>
238+<Arg></Arg>
239+<Message>Audit log storage is 50% full.</Message>
240+</Alert>
241+<Alert>
242+<Id>iAMT0030</Id>
243+<Arg></Arg>
244+<Message>Audit log storage is 75% full.</Message>
245+</Alert>
246+<Alert>
247+<Id>iAMT0031</Id>
248+<Arg></Arg>
249+<Message>Audit log storage is 85% full.</Message>
250+</Alert>
251+<Alert>
252+<Id>iAMT0032</Id>
253+<Arg></Arg>
254+<Message>Audit log storage is 95% full.</Message>
255+</Alert>
256+<Alert>
257+<Id>iAMT0033</Id>
258+<Arg></Arg>
259+<Message>Audit log storage is full.</Message>
260+</Alert>
261+<Alert>
262+<Id>iAMT0034</Id>
263+<Arg></Arg>
264+<Message>Firmware Update Event - Partial.</Message>
265+</Alert>
266+<Alert>
267+<Id>iAMT0035</Id>
268+<Arg></Arg>
269+<Message>Firmware Update Event - Failure.</Message>
270+</Alert>
271+<Alert>
272+<Id>iAMT0036</Id>
273+<Arg></Arg>
274+<Message>Remote connectivity initiated.</Message>
275+</Alert>
276+<Alert>
277+<Id>iAMT0037</Id>
278+<Arg></Arg>
279+<Message>ME Presence event.</Message>
280+</Alert>
281+<Alert>
282+<Id>iAMT0038</Id>
283+<Arg>0</Arg>
284+<Message>AMT is being unprovisioned using BIOS command.</Message>
285+</Alert>
286+<Alert>
287+<Id>iAMT0038</Id>
288+<Arg>1</Arg>
289+<Message>AMT is being unprovisioned using Local MEI command.</Message>
290+</Alert>
291+<Alert>
292+<Id>iAMT0038</Id>
293+<Arg>2</Arg>
294+<Message>AMT is being unprovisioned using Local WS-MAN/SOAP command.</Message>
295+</Alert>
296+<Alert>
297+<Id>iAMT0038</Id>
298+<Arg>3</Arg>
299+<Message>AMT is being unprovisioned using Remote WS-MAN/SOAP command.</Message>
300+</Alert>
301+<Alert>
302+<Id>iAMT0050</Id>
303+<Arg></Arg>
304+<Message>User Notification Alert - General Notification.</Message>
305+</Alert>
306+<Alert>
307+<Id>iAMT0050</Id>
308+<Arg>16</Arg>
309+<Message>User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).</Message>
310+</Alert>
311+<Alert>
312+<Id>iAMT0050</Id>
313+<Arg>17</Arg>
314+<Message>User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).</Message>
315+</Alert>
316+<Alert>
317+<Id>iAMT0050</Id>
318+<Arg>18</Arg>
319+<Message>User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).</Message>
320+</Alert>
321+<Alert>
322+<Id>iAMT0050</Id>
323+<Arg>19</Arg>
324+<Message>User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).</Message>
325+</Alert>
326+<Alert>
327+<Id>iAMT0050</Id>
328+<Arg>32</Arg>
329+<Message>User Notification Alert - EAC notification.</Message>
330+</Alert>
331+<Alert>
332+<Id>iAMT0050</Id>
333+<Arg>48</Arg>
334+<Message>User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).</Message>
335+</Alert>
336+<Alert>
337+<Id>iAMT0050</Id>
338+<Arg>49</Arg>
339+<Message>User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).</Message>
340+</Alert>
341+<Alert>
342+<Id>iAMT0050</Id>
343+<Arg>50</Arg>
344+<Message>User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).</Message>
345+</Alert>
346+<Alert>
347+<Id>iAMT0050</Id>
348+<Arg>51</Arg>
349+<Message>User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).</Message>
350+</Alert>
351+<Alert>
352+<Id>iAMT0050</Id>
353+<Arg>66</Arg>
354+<Message>User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).</Message>
355+</Alert>
356+<Alert>
357+<Id>iAMT0050</Id>
358+<Arg>67</Arg>
359+<Message>User Notification Alert - WLAN notification (Management device overrides host radio).</Message>
360+</Alert>
361+<Alert>
362+<Id>iAMT0050</Id>
363+<Arg>68</Arg>
364+<Message>User Notification Alert - WLAN notification (Host profile security mismatch).</Message>
365+</Alert>
366+<Alert>
367+<Id>iAMT0050</Id>
368+<Arg>69</Arg>
369+<Message>User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).</Message>
370+</Alert>
371+<Alert>
372+<Id>iAMT0051</Id>
373+<Arg></Arg>
374+<Message>User Notification Alert - SecIo event.</Message>
375+</Alert>
376+<Alert>
377+<Id>iAMT0051</Id>
378+<Arg>0</Arg>
379+<Message>User Notification Alert - SecIo event semaphore at host.</Message>
380+</Alert>
381+<Alert>
382+<Id>iAMT0051</Id>
383+<Arg>1</Arg>
384+<Message>User Notification Alert - semaphore at ME.</Message>
385+</Alert>
386+<Alert>
387+<Id>iAMT0051</Id>
388+<Arg>2</Arg>
389+<Message>User Notification Alert - SecIo event - semaphore timeout.</Message>
390+</Alert>
391+<Alert>
392+<Id>iAMT0052</Id>
393+<Arg></Arg>
394+<Message>User Notification Alert - KVM session event.</Message>
395+</Alert>
396+<Alert>
397+<Id>iAMT0052</Id>
398+<Arg>0</Arg>
399+<Message>User Notification Alert - KVM session requested.</Message>
400+</Alert>
401+<Alert>
402+<Id>iAMT0052</Id>
403+<Arg>1</Arg>
404+<Message>User Notification Alert - KVM session started.</Message>
405+</Alert>
406+<Alert>
407+<Id>iAMT0052</Id>
408+<Arg>2</Arg>
409+<Message>User Notification Alert - KVM session stopped.</Message>
410+</Alert>
411+<Alert>
412+<Id>iAMT0053</Id>
413+<Arg></Arg>
414+<Message>User Notification Alert - RCS notification.</Message>
415+</Alert>
416+<Alert>
417+<Id>iAMT0053</Id>
418+<Arg>50</Arg>
419+<Message>User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).</Message>
420+</Alert>
421+<Alert>
422+<Id>iAMT0053</Id>
423+<Arg>52</Arg>
424+<Message>User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).</Message>
425+</Alert>
426+<Alert>
427+<Id>iAMT0053</Id>
428+<Arg>53</Arg>
429+<Message>User Notification Alert - RCS notification (Contracts updated).</Message>
430+</Alert>
431+<Alert>
432+<Id>iAMT0054</Id>
433+<Arg></Arg>
434+<Message>User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.</Message>
435+</Alert>
436+<Alert>
437+<Id>iAMT0055</Id>
438+<Arg></Arg>
439+<Message>User Notification Alert - Provisioning state change notification.</Message>
440+</Alert>
441+<Alert>
442+<Id>iAMT0055</Id>
443+<Arg>0</Arg>
444+<Message>User Notification Alert - Provisioning state change notification - Pre-configuration.</Message>
445+</Alert>
446+<Alert>
447+<Id>iAMT0055</Id>
448+<Arg>1</Arg>
449+<Message>User Notification Alert - Provisioning state change notification - In configuration.</Message>
450+</Alert>
451+<Alert>
452+<Id>iAMT0055</Id>
453+<Arg>2</Arg>
454+<Message>User Notification Alert - Provisioning state change notification - Post-configuration.</Message>
455+</Alert>
456+<Alert>
457+<Id>iAMT0055</Id>
458+<Arg>3</Arg>
459+<Message>User Notification Alert - Provisioning state change notification - unprovision process has started.</Message>
460+</Alert>
461+<Alert>
462+<Id>iAMT0056</Id>
463+<Arg></Arg>
464+<Message>User Notification Alert - System Defense change notification.</Message>
465+</Alert>
466+<Alert>
467+<Id>iAMT0057</Id>
468+<Arg></Arg>
469+<Message>User Notification Alert - Network State change notification.</Message>
470+</Alert>
471+<Alert>
472+<Id>iAMT0058</Id>
473+<Arg></Arg>
474+<Message>User Notification Alert - Remote Access change notification.</Message>
475+</Alert>
476+<Alert>
477+<Id>iAMT0058</Id>
478+<Arg>1</Arg>
479+<Message>User Notification Alert - Remote Access change notification - tunnel is closed.</Message>
480+</Alert>
481+<Alert>
482+<Id>iAMT0058</Id>
483+<Arg>1</Arg>
484+<Message>User Notification Alert - Remote Access change notification - tunnel is open.</Message>
485+</Alert>
486+<Alert>
487+<Id>iAMT0059</Id>
488+<Arg></Arg>
489+<Message>User Notification Alert - KVM enabled event.</Message>
490+</Alert>
491+<Alert>
492+<Id>iAMT0059</Id>
493+<Arg>0</Arg>
494+<Message>User Notification Alert - KVM enabled event - KVM disabled.</Message>
495+</Alert>
496+<Alert>
497+<Id>iAMT0059</Id>
498+<Arg>1</Arg>
499+<Message>User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).</Message>
500+</Alert>
501+<Alert>
502+<Id>iAMT0060</Id>
503+<Arg></Arg>
504+<Message>User Notification Alert - SecIO configuration event.</Message>
505+</Alert>
506+<Alert>
507+<Id>iAMT0061</Id>
508+<Arg></Arg>
509+<Message>ME FW reset occurred.</Message>
510+</Alert>
511+<Alert>
512+<Id>iAMT0062</Id>
513+<Arg></Arg>
514+<Message>User Notification Alert - IpSyncEnabled event.</Message>
515+</Alert>
516+<Alert>
517+<Id>iAMT0062</Id>
518+<Arg>0</Arg>
519+<Message>User Notification Alert - IpSyncEnabled event - IpSync disabled.</Message>
520+</Alert>
521+<Alert>
522+<Id>iAMT0062</Id>
523+<Arg>1</Arg>
524+<Message>User Notification Alert - IpSyncEnabled event - IpSync enabled.</Message>
525+</Alert>
526+<Alert>
527+<Id>iAMT0063</Id>
528+<Arg></Arg>
529+<Message>User Notification Alert - HTTP Proxy sync enabled event.</Message>
530+</Alert>
531+<Alert>
532+<Id>iAMT0063</Id>
533+<Arg>0</Arg>
534+<Message>User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.</Message>
535+</Alert>
536+<Alert>
537+<Id>iAMT0063</Id>
538+<Arg>1</Arg>
539+<Message>User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.</Message>
540+</Alert>
541+<Alert>
542+<Id>iAMT0064</Id>
543+<Arg></Arg>
544+<Message>User Notification Alert - User Consent event.</Message>
545+</Alert>
546+<Alert>
547+<Id>iAMT0064</Id>
548+<Arg>1</Arg>
549+<Message>User Notification Alert - User Consent event - User Consent granted.</Message>
550+</Alert>
551+<Alert>
552+<Id>iAMT0064</Id>
553+<Arg>2</Arg>
554+<Message>User Notification Alert - User Consent event - User Consent ended.</Message>
555+</Alert>
556+</Alerts>
557diff --git a/src/LMEConnection.cpp b/src/LMEConnection.cpp
558index f3e7a2b..d192626 100755
559--- a/src/LMEConnection.cpp
560+++ b/src/LMEConnection.cpp
561@@ -48,7 +48,7 @@ extern glue plugin;
562
563 const GUID LMEConnection::_guid = {0x6733a4db, 0x0476, 0x4e7b, {0xb3, 0xaf, 0xbc, 0xfc, 0x29, 0xbe, 0xe7, 0xa7}};
564
565-const UINT32 LMEConnection::RX_WINDOW_SIZE = 1024;
566+const UINT32 LMEConnection::RX_WINDOW_SIZE = 4096;
567
568 LMEConnection::LMEConnection(bool verbose) :
569 _reqID(0),
570diff --git a/src/Makefile.am b/src/Makefile.am
571index 42d9f47..364427b 100755
572--- a/src/Makefile.am
573+++ b/src/Makefile.am
574@@ -1,4 +1,7 @@
575 sbin_PROGRAMS=lms
576+dist_bin_SCRIPTS=notifyDesktop.sh
577+xml_dir=$(datadir)/xml
578+xml__DATA=AMTAlerts.xml
579
580 SYNCLIB_SRCDIR=SyncLib/src
581 SYNCLIB_HDRDIR=SyncLib/Include
582diff --git a/src/Makefile.in b/src/Makefile.in
583old mode 100755
584new mode 100644
585index c6fe1ba..7b6cafd
586--- a/src/Makefile.in
587+++ b/src/Makefile.in
588@@ -14,6 +14,8 @@
589
590 @SET_MAKE@
591
592+
593+
594 srcdir = @srcdir@
595 top_srcdir = @top_srcdir@
596 VPATH = @srcdir@
597@@ -37,9 +39,9 @@ POST_UNINSTALL = :
598 build_triplet = @build@
599 host_triplet = @host@
600 sbin_PROGRAMS = lms$(EXEEXT)
601-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
602- $(srcdir)/Makefile.inc $(srcdir)/iatshareddata.h.in \
603- $(srcdir)/plugin.h.in
604+DIST_COMMON = $(dist_bin_SCRIPTS) $(srcdir)/Makefile.am \
605+ $(srcdir)/Makefile.in $(srcdir)/Makefile.inc \
606+ $(srcdir)/iatshareddata.h.in $(srcdir)/plugin.h.in
607 subdir = src
608 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
609 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
610@@ -48,14 +50,17 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
611 mkinstalldirs = $(install_sh) -d
612 CONFIG_HEADER = $(top_builddir)/config.h
613 CONFIG_CLEAN_FILES = plugin.h iatshareddata.h
614-am__installdirs = "$(DESTDIR)$(sbindir)"
615+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \
616+ "$(DESTDIR)$(xml_dir)"
617 sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
618 PROGRAMS = $(sbin_PROGRAMS)
619 am__objects_1 = main.$(OBJEXT) LMEConnection.$(OBJEXT) \
620 ConfigConnection.$(OBJEXT) Protocol.$(OBJEXT) glue.$(OBJEXT) \
621- ChannelGenerator.$(OBJEXT)
622+ ChannelGenerator.$(OBJEXT) alertIndication.$(OBJEXT) \
623+ alertDescription.$(OBJEXT)
624 am__objects_2 = ATVersion.$(OBJEXT) ATNetworkTool.$(OBJEXT) \
625- daemonize.$(OBJEXT)
626+ daemonize.$(OBJEXT) utils.$(OBJEXT) miniXmlParser.$(OBJEXT) \
627+ xmlNode.$(OBJEXT) httpParser.$(OBJEXT)
628 am__objects_3 = MEILinux.$(OBJEXT) MNGCommand.$(OBJEXT) \
629 FWULCommand.$(OBJEXT) PTHICommand.$(OBJEXT)
630 am__objects_4 = EventLinux.$(OBJEXT) SemaphoreLinux.$(OBJEXT) \
631@@ -68,6 +73,8 @@ am__objects_7 = $(am__objects_6) $(am__objects_6) $(am__objects_6) \
632 am_lms_OBJECTS = $(am__objects_5) $(am__objects_7)
633 lms_OBJECTS = $(am_lms_OBJECTS)
634 lms_LDADD = $(LDADD)
635+dist_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
636+SCRIPTS = $(dist_bin_SCRIPTS)
637 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
638 depcomp = $(SHELL) $(top_srcdir)/depcomp
639 am__depfiles_maybe = depfiles
640@@ -89,6 +96,14 @@ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
641 $(AM_LDFLAGS) $(LDFLAGS) -o $@
642 SOURCES = $(lms_SOURCES)
643 DIST_SOURCES = $(lms_SOURCES)
644+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
645+am__vpath_adj = case $$p in \
646+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
647+ *) f=$$p;; \
648+ esac;
649+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
650+xml_DATA_INSTALL = $(INSTALL_DATA)
651+DATA = $(xml__DATA)
652 ETAGS = etags
653 CTAGS = ctags
654 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
655@@ -150,6 +165,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
656 PACKAGE_NAME = @PACKAGE_NAME@
657 PACKAGE_STRING = @PACKAGE_STRING@
658 PACKAGE_TARNAME = @PACKAGE_TARNAME@
659+PACKAGE_URL = @PACKAGE_URL@
660 PACKAGE_VERSION = @PACKAGE_VERSION@
661 PATH_SEPARATOR = @PATH_SEPARATOR@
662 RANLIB = @RANLIB@
663@@ -202,10 +218,14 @@ pdfdir = @pdfdir@
664 prefix = @prefix@
665 program_transform_name = @program_transform_name@
666 psdir = @psdir@
667+runstatedir = @runstatedir@
668 sbindir = @sbindir@
669 sharedstatedir = @sharedstatedir@
670 sysconfdir = @sysconfdir@
671 target_alias = @target_alias@
672+dist_bin_SCRIPTS = notifyDesktop.sh
673+xml_dir = $(datadir)/xml
674+xml__DATA = AMTAlerts.xml
675 SYNCLIB_SRCDIR = SyncLib/src
676 SYNCLIB_HDRDIR = SyncLib/Include
677 MEI_DIR = mei
678@@ -238,11 +258,19 @@ $(MEI_DIR)/PTHICommand.cpp
679
680 TOOLS_HDRS = $(TOOLS_DIR)/ATVersion.h \
681 $(TOOLS_DIR)/ATNetworkTool.h \
682-$(TOOLS_DIR)/daemonize.h
683+$(TOOLS_DIR)/daemonize.h \
684+$(TOOLS_DIR)/utils.h \
685+$(TOOLS_DIR)/miniXmlParser.h \
686+$(TOOLS_DIR)/xmlNode.h \
687+$(TOOLS_DIR)/httpParser.h
688
689 TOOLS_SRCS = $(TOOLS_DIR)/ATVersion.cpp \
690 $(TOOLS_DIR)/ATNetworkTool.cpp \
691-$(TOOLS_DIR)/daemonize.cpp
692+$(TOOLS_DIR)/daemonize.cpp \
693+$(TOOLS_DIR)/utils.cpp \
694+$(TOOLS_DIR)/miniXmlParser.cpp \
695+$(TOOLS_DIR)/xmlNode.cpp \
696+$(TOOLS_DIR)/httpParser.cpp
697
698 MAIN_HDRS = types.h \
699 Channel.h \
700@@ -254,14 +282,18 @@ ConfigConnection.h \
701 Protocol.h \
702 glue.h \
703 version.h \
704-ChannelGenerator.h
705+ChannelGenerator.h \
706+alertIndication.h \
707+alertDescription.h
708
709 MAIN_SRCS = main.cpp \
710 LMEConnection.cpp \
711 ConfigConnection.cpp \
712 Protocol.cpp \
713 glue.cpp \
714-ChannelGenerator.cpp
715+ChannelGenerator.cpp \
716+alertIndication.cpp \
717+alertDescription.cpp
718
719 SRCS = $(MAIN_SRCS) \
720 $(TOOLS_SRCS) \
721@@ -342,6 +374,25 @@ clean-sbinPROGRAMS:
722 lms$(EXEEXT): $(lms_OBJECTS) $(lms_DEPENDENCIES)
723 @rm -f lms$(EXEEXT)
724 $(CXXLINK) $(lms_LDFLAGS) $(lms_OBJECTS) $(lms_LDADD) $(LIBS)
725+install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
726+ @$(NORMAL_INSTALL)
727+ test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
728+ @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
729+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
730+ if test -f $$d$$p; then \
731+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
732+ echo " $(dist_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
733+ $(dist_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
734+ else :; fi; \
735+ done
736+
737+uninstall-dist_binSCRIPTS:
738+ @$(NORMAL_UNINSTALL)
739+ @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
740+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
741+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
742+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
743+ done
744
745 mostlyclean-compile:
746 -rm -f *.$(OBJEXT)
747@@ -355,17 +406,23 @@ distclean-compile:
748 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigConnection.Po@am__quote@
749 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EventLinux.Po@am__quote@
750 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FWULCommand.Po@am__quote@
751-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MEILinux.Po@am__quote@
752 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LMEConnection.Po@am__quote@
753+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MEILinux.Po@am__quote@
754 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MNGCommand.Po@am__quote@
755 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PTHICommand.Po@am__quote@
756 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Protocol.Po@am__quote@
757 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RWLock.Po@am__quote@
758 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SemaphoreLinux.Po@am__quote@
759 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ThreadLinux.Po@am__quote@
760+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alertDescription.Po@am__quote@
761+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alertIndication.Po@am__quote@
762 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/daemonize.Po@am__quote@
763 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glue.Po@am__quote@
764+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpParser.Po@am__quote@
765 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
766+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miniXmlParser.Po@am__quote@
767+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
768+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlNode.Po@am__quote@
769
770 .cpp.o:
771 @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
772@@ -430,6 +487,62 @@ daemonize.obj: $(TOOLS_DIR)/daemonize.cpp
773 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
774 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o daemonize.obj `if test -f '$(TOOLS_DIR)/daemonize.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/daemonize.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/daemonize.cpp'; fi`
775
776+utils.o: $(TOOLS_DIR)/utils.cpp
777+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT utils.o -MD -MP -MF "$(DEPDIR)/utils.Tpo" -c -o utils.o `test -f '$(TOOLS_DIR)/utils.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/utils.cpp; \
778+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/utils.Tpo" "$(DEPDIR)/utils.Po"; else rm -f "$(DEPDIR)/utils.Tpo"; exit 1; fi
779+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/utils.cpp' object='utils.o' libtool=no @AMDEPBACKSLASH@
780+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
781+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o utils.o `test -f '$(TOOLS_DIR)/utils.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/utils.cpp
782+
783+utils.obj: $(TOOLS_DIR)/utils.cpp
784+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT utils.obj -MD -MP -MF "$(DEPDIR)/utils.Tpo" -c -o utils.obj `if test -f '$(TOOLS_DIR)/utils.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/utils.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/utils.cpp'; fi`; \
785+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/utils.Tpo" "$(DEPDIR)/utils.Po"; else rm -f "$(DEPDIR)/utils.Tpo"; exit 1; fi
786+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/utils.cpp' object='utils.obj' libtool=no @AMDEPBACKSLASH@
787+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
788+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o utils.obj `if test -f '$(TOOLS_DIR)/utils.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/utils.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/utils.cpp'; fi`
789+
790+miniXmlParser.o: $(TOOLS_DIR)/miniXmlParser.cpp
791+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT miniXmlParser.o -MD -MP -MF "$(DEPDIR)/miniXmlParser.Tpo" -c -o miniXmlParser.o `test -f '$(TOOLS_DIR)/miniXmlParser.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/miniXmlParser.cpp; \
792+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/miniXmlParser.Tpo" "$(DEPDIR)/miniXmlParser.Po"; else rm -f "$(DEPDIR)/miniXmlParser.Tpo"; exit 1; fi
793+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/miniXmlParser.cpp' object='miniXmlParser.o' libtool=no @AMDEPBACKSLASH@
794+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
795+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o miniXmlParser.o `test -f '$(TOOLS_DIR)/miniXmlParser.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/miniXmlParser.cpp
796+
797+miniXmlParser.obj: $(TOOLS_DIR)/miniXmlParser.cpp
798+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT miniXmlParser.obj -MD -MP -MF "$(DEPDIR)/miniXmlParser.Tpo" -c -o miniXmlParser.obj `if test -f '$(TOOLS_DIR)/miniXmlParser.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/miniXmlParser.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/miniXmlParser.cpp'; fi`; \
799+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/miniXmlParser.Tpo" "$(DEPDIR)/miniXmlParser.Po"; else rm -f "$(DEPDIR)/miniXmlParser.Tpo"; exit 1; fi
800+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/miniXmlParser.cpp' object='miniXmlParser.obj' libtool=no @AMDEPBACKSLASH@
801+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
802+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o miniXmlParser.obj `if test -f '$(TOOLS_DIR)/miniXmlParser.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/miniXmlParser.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/miniXmlParser.cpp'; fi`
803+
804+xmlNode.o: $(TOOLS_DIR)/xmlNode.cpp
805+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xmlNode.o -MD -MP -MF "$(DEPDIR)/xmlNode.Tpo" -c -o xmlNode.o `test -f '$(TOOLS_DIR)/xmlNode.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/xmlNode.cpp; \
806+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/xmlNode.Tpo" "$(DEPDIR)/xmlNode.Po"; else rm -f "$(DEPDIR)/xmlNode.Tpo"; exit 1; fi
807+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/xmlNode.cpp' object='xmlNode.o' libtool=no @AMDEPBACKSLASH@
808+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
809+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xmlNode.o `test -f '$(TOOLS_DIR)/xmlNode.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/xmlNode.cpp
810+
811+xmlNode.obj: $(TOOLS_DIR)/xmlNode.cpp
812+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xmlNode.obj -MD -MP -MF "$(DEPDIR)/xmlNode.Tpo" -c -o xmlNode.obj `if test -f '$(TOOLS_DIR)/xmlNode.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/xmlNode.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/xmlNode.cpp'; fi`; \
813+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/xmlNode.Tpo" "$(DEPDIR)/xmlNode.Po"; else rm -f "$(DEPDIR)/xmlNode.Tpo"; exit 1; fi
814+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/xmlNode.cpp' object='xmlNode.obj' libtool=no @AMDEPBACKSLASH@
815+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
816+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xmlNode.obj `if test -f '$(TOOLS_DIR)/xmlNode.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/xmlNode.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/xmlNode.cpp'; fi`
817+
818+httpParser.o: $(TOOLS_DIR)/httpParser.cpp
819+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT httpParser.o -MD -MP -MF "$(DEPDIR)/httpParser.Tpo" -c -o httpParser.o `test -f '$(TOOLS_DIR)/httpParser.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/httpParser.cpp; \
820+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/httpParser.Tpo" "$(DEPDIR)/httpParser.Po"; else rm -f "$(DEPDIR)/httpParser.Tpo"; exit 1; fi
821+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/httpParser.cpp' object='httpParser.o' libtool=no @AMDEPBACKSLASH@
822+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
823+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o httpParser.o `test -f '$(TOOLS_DIR)/httpParser.cpp' || echo '$(srcdir)/'`$(TOOLS_DIR)/httpParser.cpp
824+
825+httpParser.obj: $(TOOLS_DIR)/httpParser.cpp
826+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT httpParser.obj -MD -MP -MF "$(DEPDIR)/httpParser.Tpo" -c -o httpParser.obj `if test -f '$(TOOLS_DIR)/httpParser.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/httpParser.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/httpParser.cpp'; fi`; \
827+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/httpParser.Tpo" "$(DEPDIR)/httpParser.Po"; else rm -f "$(DEPDIR)/httpParser.Tpo"; exit 1; fi
828+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(TOOLS_DIR)/httpParser.cpp' object='httpParser.obj' libtool=no @AMDEPBACKSLASH@
829+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
830+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o httpParser.obj `if test -f '$(TOOLS_DIR)/httpParser.cpp'; then $(CYGPATH_W) '$(TOOLS_DIR)/httpParser.cpp'; else $(CYGPATH_W) '$(srcdir)/$(TOOLS_DIR)/httpParser.cpp'; fi`
831+
832 MEILinux.o: $(MEI_DIR)/MEILinux.cpp
833 @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MEILinux.o -MD -MP -MF "$(DEPDIR)/MEILinux.Tpo" -c -o MEILinux.o `test -f '$(MEI_DIR)/MEILinux.cpp' || echo '$(srcdir)/'`$(MEI_DIR)/MEILinux.cpp; \
834 @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/MEILinux.Tpo" "$(DEPDIR)/MEILinux.Po"; else rm -f "$(DEPDIR)/MEILinux.Tpo"; exit 1; fi
835@@ -551,6 +664,23 @@ clean-libtool:
836 distclean-libtool:
837 -rm -f libtool
838 uninstall-info-am:
839+install-xml_DATA: $(xml__DATA)
840+ @$(NORMAL_INSTALL)
841+ test -z "$(xml_dir)" || $(mkdir_p) "$(DESTDIR)$(xml_dir)"
842+ @list='$(xml__DATA)'; for p in $$list; do \
843+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
844+ f=$(am__strip_dir) \
845+ echo " $(xml_DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xml_dir)/$$f'"; \
846+ $(xml_DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xml_dir)/$$f"; \
847+ done
848+
849+uninstall-xml_DATA:
850+ @$(NORMAL_UNINSTALL)
851+ @list='$(xml__DATA)'; for p in $$list; do \
852+ f=$(am__strip_dir) \
853+ echo " rm -f '$(DESTDIR)$(xml_dir)/$$f'"; \
854+ rm -f "$(DESTDIR)$(xml_dir)/$$f"; \
855+ done
856
857 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
858 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
859@@ -629,9 +759,9 @@ distdir: $(DISTFILES)
860 done
861 check-am: all-am
862 check: check-am
863-all-am: Makefile $(PROGRAMS)
864+all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA)
865 installdirs:
866- for dir in "$(DESTDIR)$(sbindir)"; do \
867+ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(xml_dir)"; do \
868 test -z "$$dir" || $(mkdir_p) "$$dir"; \
869 done
870 install: install-am
871@@ -679,11 +809,11 @@ info: info-am
872
873 info-am:
874
875-install-data-am:
876+install-data-am: install-xml_DATA
877 @$(NORMAL_INSTALL)
878 $(MAKE) $(AM_MAKEFLAGS) install-data-hook
879
880-install-exec-am: install-sbinPROGRAMS
881+install-exec-am: install-dist_binSCRIPTS install-sbinPROGRAMS
882
883 install-info: install-info-am
884
885@@ -709,20 +839,22 @@ ps: ps-am
886
887 ps-am:
888
889-uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
890+uninstall-am: uninstall-dist_binSCRIPTS uninstall-info-am \
891+ uninstall-sbinPROGRAMS uninstall-xml_DATA
892
893 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
894 clean-libtool clean-sbinPROGRAMS ctags distclean \
895 distclean-compile distclean-generic distclean-libtool \
896 distclean-tags distdir dvi dvi-am html html-am info info-am \
897 install install-am install-data install-data-am \
898- install-data-hook install-exec install-exec-am install-info \
899- install-info-am install-man install-sbinPROGRAMS install-strip \
900+ install-data-hook install-dist_binSCRIPTS install-exec \
901+ install-exec-am install-info install-info-am install-man \
902+ install-sbinPROGRAMS install-strip install-xml_DATA \
903 installcheck installcheck-am installdirs maintainer-clean \
904 maintainer-clean-generic mostlyclean mostlyclean-compile \
905 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
906- tags uninstall uninstall-am uninstall-info-am \
907- uninstall-sbinPROGRAMS
908+ tags uninstall uninstall-am uninstall-dist_binSCRIPTS \
909+ uninstall-info-am uninstall-sbinPROGRAMS uninstall-xml_DATA
910
911
912 install-data-hook:
913diff --git a/src/Makefile.inc b/src/Makefile.inc
914index 079503c..8d7e7ab 100755
915--- a/src/Makefile.inc
916+++ b/src/Makefile.inc
917@@ -26,11 +26,19 @@ $(MEI_DIR)/PTHICommand.cpp
918
919 TOOLS_HDRS=$(TOOLS_DIR)/ATVersion.h \
920 $(TOOLS_DIR)/ATNetworkTool.h \
921-$(TOOLS_DIR)/daemonize.h
922+$(TOOLS_DIR)/daemonize.h \
923+$(TOOLS_DIR)/utils.h \
924+$(TOOLS_DIR)/miniXmlParser.h \
925+$(TOOLS_DIR)/xmlNode.h \
926+$(TOOLS_DIR)/httpParser.h
927
928 TOOLS_SRCS=$(TOOLS_DIR)/ATVersion.cpp \
929 $(TOOLS_DIR)/ATNetworkTool.cpp \
930-$(TOOLS_DIR)/daemonize.cpp
931+$(TOOLS_DIR)/daemonize.cpp \
932+$(TOOLS_DIR)/utils.cpp \
933+$(TOOLS_DIR)/miniXmlParser.cpp \
934+$(TOOLS_DIR)/xmlNode.cpp \
935+$(TOOLS_DIR)/httpParser.cpp
936
937 MAIN_HDRS=types.h \
938 Channel.h \
939@@ -42,14 +50,18 @@ ConfigConnection.h \
940 Protocol.h \
941 glue.h \
942 version.h \
943-ChannelGenerator.h
944+ChannelGenerator.h \
945+alertIndication.h \
946+alertDescription.h
947
948 MAIN_SRCS=main.cpp \
949 LMEConnection.cpp \
950 ConfigConnection.cpp \
951 Protocol.cpp \
952 glue.cpp \
953-ChannelGenerator.cpp
954+ChannelGenerator.cpp \
955+alertIndication.cpp \
956+alertDescription.cpp
957
958 SRCS=$(MAIN_SRCS) \
959 $(TOOLS_SRCS) \
960diff --git a/src/Protocol.cpp b/src/Protocol.cpp
961index 3a4a9bb..c3de5cc 100755
962--- a/src/Protocol.cpp
963+++ b/src/Protocol.cpp
964@@ -28,6 +28,7 @@
965 * POSSIBILITY OF SUCH DAMAGE.
966 *******************************************************************************/
967
968+
969 #ifdef HAVE_CONFIG_H
970 #include "config.h"
971 #endif
972@@ -42,7 +43,8 @@
973 #include <fcntl.h>
974 #include <netdb.h>
975 #include <syslog.h>
976-#include "strings.h"
977+#include <vector>
978+#include <string.h>
979
980 #define _stprintf_s snprintf
981 #define strnicmp strncasecmp
982@@ -53,6 +55,11 @@
983 #include "LMS_if.h"
984 #include "Lock.h"
985 #include "ATNetworkTool.h"
986+#include "utils.h"
987+#include "httpParser.h"
988+#include "miniXmlParser.h"
989+#include "alertIndication.h"
990+#include "alertDescription.h"
991
992
993 const LMEProtocolVersionMessage Protocol::MIN_PROT_VERSION(1, 0);
994@@ -99,9 +106,9 @@ bool Protocol::Init(EventLogCallback cb, void *param)
995 PRINT("Protocol::Init started\n");
996 _eventLog = cb;
997 _eventLogParam = param;
998+ _UNSSenderChannel = INVALID_CHANNEL;
999
1000 DeinitFull();
1001-
1002 {
1003 Lock dl(_deinitLock);
1004 _deinitReq = false;
1005@@ -1170,10 +1177,112 @@ void Protocol::_removeFromMaps(Channel *c)
1006 _channelToSocket.erase(c->GetSenderChannel());
1007 _socketToChannel.erase(s);
1008 }
1009-void Protocol::_UNSConnection()
1010+
1011+std::string Protocol::_PACKET_BODY_LENGTH="Content-Length";
1012+std::string Protocol::_NOTIFICATION_HEADER="Intel Management Engine Notification";
1013+int Protocol::_UNSHandler(char *data, int dataLength)
1014 {
1015- PRINT("UNS event\n");
1016+ PRINT("UNS event data\n");
1017+ char *pBuffer = NULL;
1018+ static char *sBuffer = NULL;
1019+ static int sBufferLength = 0;
1020+ int rc = -1;
1021+ unsigned int packetBodyLength = 0;
1022+ HttpParser httpParser;
1023+ std::string httpBody;
1024+ AlertIndication alertIndication;
1025+
1026+ //printf("Processing notification message %d\n", newNotification);
1027+
1028+ //Init if new notification. Append recieved notification bytes to existing buffer otherwise.
1029+ if (_newNotification == true)
1030+ { if (sBuffer != NULL) {
1031+ delete []sBuffer;
1032+ }
1033+ sBuffer = NULL;
1034+ sBufferLength = 0;
1035+ }
1036+
1037+ if (sBuffer == NULL) {
1038+ sBufferLength = 0;
1039+ sBuffer = new char[(dataLength+1) *sizeof(char)];
1040+ memcpy(sBuffer, data, dataLength);
1041+ } else {
1042+ pBuffer = new char[(sBufferLength + dataLength + 1)*sizeof(char)];
1043+ memcpy(pBuffer, sBuffer, sBufferLength);
1044+ memcpy(pBuffer+sBufferLength, data, dataLength);
1045+ delete []sBuffer;
1046+ sBuffer = pBuffer;
1047+ }
1048+
1049+ sBufferLength += dataLength;
1050+ sBuffer[sBufferLength] = '\0';
1051+
1052+ do {
1053+
1054+ if (httpParser.parse(sBuffer) != 0) {
1055+ break;
1056+ }
1057+
1058+ if (httpParser.getHeaderField(_PACKET_BODY_LENGTH).empty()) {
1059+ break;
1060+ }
1061+
1062+ packetBodyLength = stoi(httpParser.getHeaderField(_PACKET_BODY_LENGTH));
1063+
1064+ if (packetBodyLength == 0) {
1065+ break;
1066+ }
1067+
1068+ httpBody = httpParser.getBody();
1069+ if (httpBody.size() < packetBodyLength) {
1070+ break;
1071+ }
1072+
1073+ if (alertIndication.initFromXml((char*)httpBody.c_str(), httpBody.size())) {
1074+ break;
1075+ }
1076+
1077+ std::string alertIDString(alertIndication.getMessageID().data, alertIndication.getMessageID().dataLength);
1078+ if (alertIDString.empty()) {
1079+ break;
1080+ }
1081+
1082+ /*Check if we have match only with ID, if fails then use MessageArguments and checkagain */
1083+ std::string alertDescription;
1084+ std::string _alertDescription;
1085+ std::string notificationBody;
1086+ std::string messageArguments;
1087+ alertDescription = AlertDescription::getAlertDescription(alertIDString);
1088+ messageArguments = std::string(alertIndication.getMessageArguments().data, alertIndication.getMessageArguments().dataLength);
1089+
1090+ if (alertDescription.empty()) {
1091+ alertIDString += "-" + messageArguments;
1092+ alertDescription = AlertDescription::getAlertDescription(alertIDString);
1093+ } else {
1094+ _alertDescription = messageArguments;
1095+ }
1096+
1097+ notificationBody = std::string(alertIndication.getIndicationTime().data, alertIndication.getIndicationTime().dataLength);
1098+ if (alertDescription.empty()) {
1099+ notificationBody += " " + alertIDString;
1100+ } else {
1101+ if (_alertDescription.empty()) {
1102+ notificationBody += " " + alertDescription;
1103+ } else {
1104+ notificationBody += " : " + _alertDescription + " : " + alertDescription;
1105+ }
1106+ }
1107+
1108+ Utils::notifyDesktop(_NOTIFICATION_HEADER, notificationBody, true);
1109+ rc = 0;
1110+
1111+ } while(0);
1112+
1113+ return rc;
1114+
1115 }
1116+
1117 int Protocol::_sendHostFQDN()
1118 {
1119 char localName[FQDN_MAX_SIZE] = "\0";
1120@@ -1195,12 +1304,15 @@ void Protocol::_apfChannelOpen(LMEChannelOpenRequestMessage *chOpenMsg, int *sta
1121 " Recipient channel %d for address %s, port %d.\n",
1122 chOpenMsg->SenderChannel,
1123 chOpenMsg->Address.c_str(), chOpenMsg->Port);
1124+
1125 if(chOpenMsg->Port==0)
1126 {
1127- _UNSConnection();
1128- _sendHostFQDN();
1129- return;
1130+ _UNSSenderChannel = chOpenMsg->SenderChannel;
1131+ _lme.ChannelOpenReplySuccess(_UNSSenderChannel, _UNSRecipientChannel);
1132+ _newNotification = true;
1133+ return;
1134 }
1135+
1136 SOCKET s = ATNetworkTool::Connect(chOpenMsg->Address.c_str(),
1137 chOpenMsg->Port, error, PF_UNSPEC);
1138 if (s == INVALID_SOCKET) {
1139@@ -1282,33 +1394,41 @@ PortForwardRequest *Protocol::_apfChannelClose(LMEChannelCloseMessage *chClMsg)
1140 Lock l(_channelsLock);
1141 PRINT("_apfChannelClose: RecipientChannel=%d\n",chClMsg->RecipientChannel);
1142
1143-
1144- ChannelToSocketMap::iterator it = _channelToSocket.find(chClMsg->RecipientChannel);
1145- if (it != _channelToSocket .end())
1146- {
1147- SOCKET s = it->second;
1148- Channel *c = _socketToChannel[s];
1149- switch(c->GetStatus()) {
1150- case Channel::OPEN:
1151- c->SetStatus(Channel::CLOSED);
1152-
1153- _lme.ChannelClose(c->GetRecipientChannel(), c->GetSenderChannel());
1154- PRINT("Channel %d was closed by Intel AMT.\n", c->GetSenderChannel());
1155+ do {
1156+ if (chClMsg->RecipientChannel == _UNSRecipientChannel)
1157+ {
1158+ //UNS event channel close.
1159+ //We have not created a channel on LMS side, hence ignore
1160 break;
1161+ }
1162
1163- case Channel::WAITING_CLOSE:
1164- PRINT("Received reply by Intel AMT on closing channel %d.\n", c->GetSenderChannel());
1165- break;
1166+ ChannelToSocketMap::iterator it = _channelToSocket.find(chClMsg->RecipientChannel);
1167+ if (it != _channelToSocket .end())
1168+ {
1169+ SOCKET s = it->second;
1170+ Channel *c = _socketToChannel[s];
1171+ switch(c->GetStatus()) {
1172+ case Channel::OPEN:
1173+ c->SetStatus(Channel::CLOSED);
1174+
1175+ _lme.ChannelClose(c->GetRecipientChannel(), c->GetSenderChannel());
1176+ PRINT("Channel %d was closed by Intel AMT.\n", c->GetSenderChannel());
1177+ break;
1178
1179- case Channel::CLOSED:
1180- case Channel::NOT_OPENED:
1181- break;
1182- }
1183+ case Channel::WAITING_CLOSE:
1184+ PRINT("Received reply by Intel AMT on closing channel %d.\n", c->GetSenderChannel());
1185+ break;
1186
1187- _removeFromMaps(c);
1188- clPFwdReq = _closeMChannel(c);
1189+ case Channel::CLOSED:
1190+ case Channel::NOT_OPENED:
1191+ break;
1192+ }
1193+
1194+ _removeFromMaps(c);
1195+ clPFwdReq = _closeMChannel(c);
1196
1197- }
1198+ }
1199+ } while(0);
1200
1201 _channelGenerator.FreeChannel(chClMsg->RecipientChannel);
1202
1203@@ -1320,6 +1440,18 @@ PortForwardRequest *Protocol::_apfChannelData(LMEChannelDataMessage *chDMsg, int
1204 PortForwardRequest *clPFwdReq = NULL;
1205
1206 do {
1207+ if (chDMsg->RecipientChannel == _UNSRecipientChannel)
1208+
1209+ {
1210+ if (_UNSHandler((char*)chDMsg->Data, chDMsg->DataLength) == 0)
1211+ {
1212+ _lme.ChannelClose(_UNSSenderChannel, _UNSRecipientChannel);
1213+ }
1214+ _newNotification = false;
1215+ //UNS event data handle.
1216+ //We have not created a channel on LMS side, hence break
1217+ break;
1218+ }
1219 Lock l(_channelsLock);
1220
1221 ChannelToSocketMap::iterator it = _channelToSocket.find(chDMsg->RecipientChannel);
1222@@ -1341,6 +1473,7 @@ PortForwardRequest *Protocol::_apfChannelData(LMEChannelDataMessage *chDMsg, int
1223 int senderr = 0;
1224 int count = _send(channel->GetSocket(), (char *)chDMsg->Data,
1225 chDMsg->DataLength, senderr);
1226+
1227 PRINT("Sent %d bytes of %d from Intel AMT to channel %d with socket %d.\n",
1228 count, chDMsg->DataLength, chDMsg->RecipientChannel,
1229 channel->GetSocket());
1230diff --git a/src/Protocol.h b/src/Protocol.h
1231index a4ef419..858cb78 100755
1232--- a/src/Protocol.h
1233+++ b/src/Protocol.h
1234@@ -46,6 +46,7 @@
1235
1236 #define SOCKET int
1237 #define INVALID_SOCKET (SOCKET)(~0)
1238+#define INVALID_CHANNEL -1
1239 #define SOCKET_ERROR (-1)
1240
1241
1242@@ -120,7 +121,7 @@ private:
1243 PortForwardRequest *_apfChannelData(LMEChannelDataMessage *chDMsg, int *status);
1244 void _LmeReceive(void *buffer, unsigned int len, int *status);
1245 void _signalSelect();
1246- void _UNSConnection();
1247+ int _UNSHandler(char *buffer, int len);
1248 bool _acceptConnection(SOCKET s, unsigned int port);
1249 int _rxFromSocket(SOCKET s);
1250 int _handleFQDNChange(const char *fqdn);
1251@@ -192,6 +193,11 @@ private:
1252 typedef std::set<unsigned int> listenPortSet;
1253 listenPortSet _listenFailReported;
1254 ChannelGenerator _channelGenerator;
1255+ static const unsigned int _UNSRecipientChannel = 55555;
1256+ unsigned int _UNSSenderChannel;
1257+ bool _newNotification;
1258+ static std::string _PACKET_BODY_LENGTH;
1259+ static std::string _NOTIFICATION_HEADER;
1260 };
1261
1262 #endif
1263diff --git a/src/alertDescription.cpp b/src/alertDescription.cpp
1264new file mode 100644
1265index 0000000..f05f940
1266--- /dev/null
1267+++ b/src/alertDescription.cpp
1268@@ -0,0 +1,144 @@
1269+/*******************************************************************************
1270+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1271+ *
1272+ * Redistribution and use in source and binary forms, with or without
1273+ * modification, are permitted provided that the following conditions are met:
1274+ *
1275+ * - Redistributions of source code must retain the above copyright notice,
1276+ * this list of conditions and the following disclaimer.
1277+ *
1278+ * - Redistributions in binary form must reproduce the above copyright notice,
1279+ * this list of conditions and the following disclaimer in the documentation
1280+ * and/or other materials provided with the distribution.
1281+ *
1282+ * - Neither the name of Intel Corporation. nor the names of its
1283+ * contributors may be used to endorse or promote products derived from this
1284+ * software without specific prior written permission.
1285+ *
1286+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1287+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1288+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1289+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1290+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1291+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1292+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1293+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1294+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1295+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1296+ * POSSIBILITY OF SUCH DAMAGE.
1297+ *******************************************************************************/
1298+#include "alertDescription.h"
1299+#include "miniXmlParser.h"
1300+#include <sstream>
1301+#include <fstream>
1302+#include "defaultAlerts.h"
1303+#include "types.h"
1304+
1305+bool AlertDescription::classInited = false;
1306+std::string AlertDescription::alertXmlFile = "/usr/local/share/xml/AMTAlerts.xml";
1307+std::string AlertDescription::alertXmlFile1 = "/usr/share/xml/AMTAlerts.xml";
1308+std::map<std::string,std::string> AlertDescription::alertDescriptionMap;
1309+
1310+void AlertDescription::initAlertDescription() {
1311+
1312+ char *value = NULL;
1313+ unsigned int valueLength = 0;
1314+ bool fromFile = false;
1315+ std::string alertIdArg;
1316+ std::stringstream ss;
1317+ std::string xmlData;
1318+ CDataLen id;
1319+ CDataLen arg;
1320+ CDataLen description;
1321+ MiniXmlParser xmlParser;
1322+ std::list<CDataLen>defaultAlertsList;
1323+ std::list<CDataLen>::iterator it;
1324+
1325+ do {
1326+ if (classInited) {
1327+ break;
1328+ }
1329+
1330+ std::ifstream is(alertXmlFile, std::ifstream::in);
1331+ if (is.good()) {
1332+ ss << is.rdbuf();
1333+ xmlData = ss.str();
1334+ fromFile = true;
1335+ } else {
1336+ std::ifstream _is(alertXmlFile1, std::ifstream::in);
1337+ if (_is.good()) {
1338+ ss << _is.rdbuf();
1339+ xmlData = ss.str();
1340+ fromFile = true;
1341+ }
1342+ _is.close();
1343+ }
1344+ is.close();
1345+
1346+ /* Parse alert descriptions from xml file, if file is absent use the default ones */
1347+ if (fromFile) {
1348+ /* From xml file */
1349+ if (xmlParser.parse((char*)xmlData.c_str(), xmlData.size()) == 0) {
1350+ /* Process alert xml of form
1351+ * <Alerts><Alert><Id>iAMT0052</Id><Arg>1</Arg></Alert> <Alert>...</Alert> ...<Alerts>
1352+ */
1353+ if (xmlParser.getXmlTagValue(xmlParser.getRootNode(), "Alerts", 6, NULL, 0, &value, &valueLength) == 0 ) {
1354+ while (xmlParser.getXmlTagValue(NULL, "Alert", 5, NULL, 0, &value, &valueLength) == 0) {
1355+ xmlParser.getXmlTagValue(NULL, "Id", 2, NULL, 0, &value, &valueLength);
1356+ id.data = value;
1357+ id.dataLength = valueLength;
1358+
1359+ xmlParser.getXmlTagValue(NULL, "Arg", 3, NULL, 0, &value, &valueLength);
1360+ arg.data = value;
1361+ arg.dataLength = valueLength;
1362+
1363+ alertIdArg = std::string(id.data, id.dataLength) + "-" + std::string(arg.data, arg.dataLength);
1364+
1365+ xmlParser.getXmlTagValue(NULL, "Message", 7, NULL, 0, &value, &valueLength);
1366+ alertDescriptionMap.insert(std::pair<std::string, std::string>(alertIdArg, std::string(value, valueLength)));
1367+ }
1368+ classInited = true;
1369+ }
1370+ } else {
1371+ PRINT("Failed to parse XML\n");
1372+ }
1373+ } else {
1374+ /* Using default XML alerts descriptions */
1375+ defaultAlertsList = Utils::split(DEFAULT_ALERTS , DEFAULT_ALERTS_LENGTH , ";", 1);
1376+ for (CDataLen alert: defaultAlertsList) {
1377+ std::list<CDataLen> alertIdDescription = Utils::split(alert.data, alert.dataLength, ":", 1);
1378+ if (alertIdDescription.size() >= 2) {
1379+ it = alertIdDescription.begin();
1380+ id.data = it->data;
1381+ id.dataLength = it->dataLength;
1382+ it++;
1383+ description.data = it->data;
1384+ description.dataLength = it->dataLength;
1385+ /* Add to std::map for faster retreival */
1386+ alertDescriptionMap.insert(std::pair<std::string, std::string>(std::string(id.data, id.dataLength),
1387+ std::string(description.data, description.dataLength)));
1388+ }
1389+ }
1390+ classInited = true;
1391+ }
1392+ } while(0);
1393+}
1394+
1395+
1396+std::string AlertDescription::getAlertDescription(std::string alert) {
1397+ CDataLen alertDescription;
1398+ std::map<std::string, std::string>::iterator it;
1399+
1400+ if (classInited == false) {
1401+ initAlertDescription();
1402+ }
1403+
1404+ if (classInited && alertDescriptionMap.empty() == false) {
1405+ it = alertDescriptionMap.find(alert);
1406+ if (it != alertDescriptionMap.end()) {
1407+ return it->second;
1408+ }
1409+ }
1410+
1411+ return "";
1412+};
1413diff --git a/src/alertDescription.h b/src/alertDescription.h
1414new file mode 100644
1415index 0000000..6413f2a
1416--- /dev/null
1417+++ b/src/alertDescription.h
1418@@ -0,0 +1,45 @@
1419+/*******************************************************************************
1420+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1421+ *
1422+ * Redistribution and use in source and binary forms, with or without
1423+ * modification, are permitted provided that the following conditions are met:
1424+ *
1425+ * - Redistributions of source code must retain the above copyright notice,
1426+ * this list of conditions and the following disclaimer.
1427+ *
1428+ * - Redistributions in binary form must reproduce the above copyright notice,
1429+ * this list of conditions and the following disclaimer in the documentation
1430+ * and/or other materials provided with the distribution.
1431+ *
1432+ * - Neither the name of Intel Corporation. nor the names of its
1433+ * contributors may be used to endorse or promote products derived from this
1434+ * software without specific prior written permission.
1435+ *
1436+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1437+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1438+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1439+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1440+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1441+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1442+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1443+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1444+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1445+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1446+ * POSSIBILITY OF SUCH DAMAGE.
1447+ *******************************************************************************/
1448+#ifndef _ALERTDESCRIPTION_H
1449+#define _AlERTDESCRIPTION_H
1450+#include "utils.h"
1451+#include <string>
1452+#include <map>
1453+class AlertDescription {
1454+ protected:
1455+ static bool classInited;
1456+ static std::string alertXmlFile;
1457+ static std::string alertXmlFile1;
1458+ static void initAlertDescription();
1459+ static std::map<std::string, std::string> alertDescriptionMap;
1460+ public:
1461+ static std::string getAlertDescription(std::string alert);
1462+};
1463+#endif
1464diff --git a/src/alertIndication.cpp b/src/alertIndication.cpp
1465new file mode 100644
1466index 0000000..ed14abd
1467--- /dev/null
1468+++ b/src/alertIndication.cpp
1469@@ -0,0 +1,90 @@
1470+/*******************************************************************************
1471+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1472+ *
1473+ * Redistribution and use in source and binary forms, with or without
1474+ * modification, are permitted provided that the following conditions are met:
1475+ *
1476+ * - Redistributions of source code must retain the above copyright notice,
1477+ * this list of conditions and the following disclaimer.
1478+ *
1479+ * - Redistributions in binary form must reproduce the above copyright notice,
1480+ * this list of conditions and the following disclaimer in the documentation
1481+ * and/or other materials provided with the distribution.
1482+ *
1483+ * - Neither the name of Intel Corporation. nor the names of its
1484+ * contributors may be used to endorse or promote products derived from this
1485+ * software without specific prior written permission.
1486+ *
1487+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1488+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1489+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1490+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1491+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1492+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1493+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1494+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1495+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1496+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1497+ * POSSIBILITY OF SUCH DAMAGE.
1498+ *******************************************************************************/
1499+#include "miniXmlParser.h"
1500+#include "alertIndication.h"
1501+#include <string.h>
1502+
1503+const char* AlertIndication::CLASS_URI = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_AlertIndication";
1504+void AlertIndication::initAlertIndication(char *ns, unsigned int nsLen) {
1505+
1506+ char *value = NULL;
1507+ unsigned int valueLen= 0;
1508+
1509+ if (xmlParser.getXmlTagValue(xmlParser.getRootNode(), "MessageID", strlen("MessageID"), ns, nsLen, &value, &valueLen) == 0) {
1510+ messageID.data = value;
1511+ messageID.dataLength = valueLen;
1512+ }
1513+
1514+ if (xmlParser.getXmlTagValue(xmlParser.getRootNode(), "MessageArguments", strlen("MessageArguments"), ns, nsLen, &value, &valueLen) == 0) {
1515+ messageArguments.data = value;
1516+ messageArguments.dataLength = valueLen;
1517+ }
1518+
1519+ if (xmlParser.getXmlTagValue(xmlParser.getRootNode(), "IndicationTime", strlen("IndicationTime"), ns, nsLen, &value, &valueLen) == 0) {
1520+ if (xmlParser.getXmlTagValue(NULL, "Datetime", strlen("Datetime"), NULL, 0, &value, &valueLen) == 0) {
1521+ indicationTime.data = value;
1522+ indicationTime.dataLength = valueLen;
1523+ }
1524+ }
1525+}
1526+
1527+int AlertIndication::initFromXml(char *buffer, unsigned int bufferLen) {
1528+
1529+ char *nsPrefix = NULL;
1530+ int rc = 0;
1531+ unsigned int nsPrefixLen = 0;
1532+
1533+ do {
1534+ if (buffer == NULL || bufferLen == 0) {
1535+ rc = -1;
1536+ break;
1537+ }
1538+
1539+ if (xmlParser.parse(buffer, bufferLen)) {
1540+ rc = -1;
1541+ break;
1542+ }
1543+
1544+ if (xmlParser.getNSPrefix(xmlParser.getRootNode(), (char*)CLASS_URI, CLASS_URI_LEN, &nsPrefix, &nsPrefixLen)) {
1545+ rc = -1;
1546+ break;
1547+ }
1548+
1549+ initAlertIndication(nsPrefix, nsPrefixLen);
1550+
1551+ } while(0);
1552+
1553+ return rc;
1554+}
1555+
1556+CDataLen AlertIndication::getMessageArguments() { return messageArguments; };
1557+CDataLen AlertIndication::getIndicationTime() { return indicationTime; };
1558+CDataLen AlertIndication::getMessageID() { return messageID; };
1559+
1560diff --git a/src/alertIndication.h b/src/alertIndication.h
1561new file mode 100644
1562index 0000000..cf6dc51
1563--- /dev/null
1564+++ b/src/alertIndication.h
1565@@ -0,0 +1,54 @@
1566+/*******************************************************************************
1567+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1568+ *
1569+ * Redistribution and use in source and binary forms, with or without
1570+ * modification, are permitted provided that the following conditions are met:
1571+ *
1572+ * - Redistributions of source code must retain the above copyright notice,
1573+ * this list of conditions and the following disclaimer.
1574+ *
1575+ * - Redistributions in binary form must reproduce the above copyright notice,
1576+ * this list of conditions and the following disclaimer in the documentation
1577+ * and/or other materials provided with the distribution.
1578+ *
1579+ * - Neither the name of Intel Corporation. nor the names of its
1580+ * contributors may be used to endorse or promote products derived from this
1581+ * software without specific prior written permission.
1582+ *
1583+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1584+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1585+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1586+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1587+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1588+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1589+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1590+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1591+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1592+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1593+ * POSSIBILITY OF SUCH DAMAGE.
1594+ *******************************************************************************/
1595+#ifndef __ALERTINDICATION_H
1596+#define __ALERTINDICATION_H
1597+
1598+#include "utils.h"
1599+#include <map>
1600+
1601+class AlertIndication {
1602+ private:
1603+ MiniXmlParser xmlParser;
1604+ CDataLen messageArguments;
1605+ CDataLen indicationTime;
1606+ CDataLen messageID;
1607+ void initAlertIndication(char *ns, unsigned int nsLen);
1608+
1609+ public:
1610+ static const char* CLASS_URI;
1611+ static const int CLASS_URI_LEN = 69;
1612+ int initFromXml(char *buffer, unsigned int bufferLen);
1613+ CDataLen getMessageArguments();
1614+ CDataLen getMessageID();
1615+ CDataLen getIndicationTime();
1616+
1617+};
1618+
1619+#endif
1620diff --git a/src/defaultAlerts.h b/src/defaultAlerts.h
1621new file mode 100644
1622index 0000000..23283f8
1623--- /dev/null
1624+++ b/src/defaultAlerts.h
1625@@ -0,0 +1,43 @@
1626+#ifndef _DEFAULTALERTS_H
1627+#define _DEFAULTALERTS_H
1628+#define DEFAULT_ALERTS_LENGTH 6257
1629+#define DEFAULT_ALERTS "iAMT0001-:System Defense Policy triggered.;iAMT0002-:Agent Presence Agent not started.;iAMT0003-:Agent Presence Agent stopped.;iAMT0004-:Agent Presence: running.;\
1630+iAMT0005-:Agent Presence: expired.;iAMT0006-:Agent Presence: suspended.;iAMT0007-:Host software attempt to disable AMT Network link detected.;\
1631+iAMT0008-:Host software attempt to disable AMT Network link detected -- Host Network link blocked.;iAMT0009-:AMT clock or FLASH wear-out protection disabled.;\
1632+iAMT0010-:Intel(R) AMT Network Interface: Heuristics defense slow threshold trespassed.;iAMT0011-:Intel(R) AMT Network Interface: Heuristics defense fast threshold trespassed.;\
1633+iAMT0012-:Intel(R) AMT Network Interface: Heuristics defense factory defined threshold trespassed.;iAMT0013-:Intel(R) AMT Network Interface: Heuristics defense Encounter timeout expired.;\
1634+iAMT0014-:General certificate error.;iAMT0015-:Certificate expired.;iAMT0016-:No trusted root certificate.;iAMT0017-:Not configured to work with server certificate.;iAMT0018-:Certificate revoked.;\
1635+iAMT0019-:RSA exponent too large.;iAMT0020-:RSA modulus too large.;iAMT0021-:Unsupported digest.;iAMT0022-:Distinguished name too long.;iAMT0023-:Key usage missing.;\
1636+iAMT0024-:General SSL handshake error.;iAMT0025-:General 802.1x error.;iAMT0026-:AMT Diagnostic AlertEAC error - General NAC error.;\
1637+iAMT0027-:AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.;iAMT0028-:AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.;\
1638+iAMT0029-:Audit log storage is 50% full.;iAMT0030-:Audit log storage is 75% full.;iAMT0031-:Audit log storage is 85% full.;iAMT0032-:Audit log storage is 95% full.;\
1639+iAMT0033-:Audit log storage is full.;iAMT0034-:Firmware Update Event - Partial.;iAMT0035-:Firmware Update Event - Failure.;iAMT0036-:Remote connectivity initiated.;\
1640+iAMT0037-:ME Presence event.;iAMT0038-0:AMT is being unprovisioned using BIOS command.;iAMT0038-1:AMT is being unprovisioned using Local MEI command.;\
1641+iAMT0038-2:AMT is being unprovisioned using Local WS-MAN/SOAP command.;iAMT0038-3:AMT is being unprovisioned using Remote WS-MAN/SOAP command.;\
1642+iAMT0050-:User Notification Alert - General Notification.;iAMT0050-16:User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).;\
1643+iAMT0050-17:User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).;iAMT0050-18:User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).;\
1644+iAMT0050-19:User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).;iAMT0050-32:User Notification Alert - EAC notification.;\
1645+iAMT0050-48:User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).;iAMT0050-49:User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).;\
1646+iAMT0050-50:User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).;iAMT0050-51:User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).;\
1647+iAMT0050-66:User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).;\
1648+iAMT0050-67:User Notification Alert - WLAN notification (Management device overrides host radio).;iAMT0050-68:User Notification Alert - WLAN notification (Host profile security mismatch).;\
1649+iAMT0050-69:User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).;iAMT0051-:User Notification Alert - SecIo event.;\
1650+iAMT0051-0:User Notification Alert - SecIo event semaphore at host.;iAMT0051-1:User Notification Alert - semaphore at ME.;iAMT0051-2:User Notification Alert - SecIo event - semaphore timeout.;\
1651+iAMT0052-:User Notification Alert - KVM session event.;iAMT0052-0:User Notification Alert - KVM session requested.;iAMT0052-1:User Notification Alert - KVM session started.;\
1652+iAMT0052-2:User Notification Alert - KVM session stopped.;iAMT0053-:User Notification Alert - RCS notification.;\
1653+iAMT0053-50:User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).;\
1654+iAMT0053-52:User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).;iAMT0053-53:User Notification Alert - RCS notification (Contracts updated).;\
1655+iAMT0054-:User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.;iAMT0055-:User Notification Alert - Provisioning state change notification.;\
1656+iAMT0055-0:User Notification Alert - Provisioning state change notification - Pre-configuration.;iAMT0055-1:User Notification Alert - Provisioning state change notification - In configuration.;\
1657+iAMT0055-2:User Notification Alert - Provisioning state change notification - Post-configuration.;\
1658+iAMT0055-3:User Notification Alert - Provisioning state change notification - unprovision process has started.;iAMT0056-:User Notification Alert - System Defense change notification.;\
1659+iAMT0057-:User Notification Alert - Network State change notification.;iAMT0058-:User Notification Alert - Remote Access change notification.;\
1660+iAMT0058-1:User Notification Alert - Remote Access change notification - tunnel is closed.;iAMT0058-1:User Notification Alert - Remote Access change notification - tunnel is open.;\
1661+iAMT0059-:User Notification Alert - KVM enabled event.;iAMT0059-0:User Notification Alert - KVM enabled event - KVM disabled.;\
1662+iAMT0059-1:User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).;iAMT0060-:User Notification Alert - SecIO configuration event.;iAMT0061-:ME FW reset occurred.;\
1663+iAMT0062-:User Notification Alert - IpSyncEnabled event.;iAMT0062-0:User Notification Alert - IpSyncEnabled event - IpSync disabled.;\
1664+iAMT0062-1:User Notification Alert - IpSyncEnabled event - IpSync enabled.;iAMT0063-:User Notification Alert - HTTP Proxy sync enabled event.;\
1665+iAMT0063-0:User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.;iAMT0063-1:User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.;\
1666+iAMT0064-:User Notification Alert - User Consent event.;iAMT0064-1:User Notification Alert - User Consent event - User Consent granted.;\
1667+iAMT0064-2:User Notification Alert - User Consent event - User Consent ended.;"
1668+#endif
1669diff --git a/src/notifyDesktop.sh b/src/notifyDesktop.sh
1670new file mode 100644
1671index 0000000..06bfd97
1672--- /dev/null
1673+++ b/src/notifyDesktop.sh
1674@@ -0,0 +1,10 @@
1675+#!/bin/sh
1676+# get list of current users
1677+for x in $(who | sort -u -k1,1 | awk '{print $1}'); do
1678+ # send message to anyone on display 0
1679+ dbus_session_file=$(eval echo "~$x")/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0
1680+ if [ -e "$dbus_session_file" ]; then
1681+ su -l "$x" -c "source '$dbus_session_file'; export DISPLAY=:0; notify-send -u critical -t 2000 '$1' '$2'"
1682+ fi
1683+done
1684+
1685diff --git a/src/tools/httpParser.cpp b/src/tools/httpParser.cpp
1686new file mode 100644
1687index 0000000..38d2901
1688--- /dev/null
1689+++ b/src/tools/httpParser.cpp
1690@@ -0,0 +1,101 @@
1691+/*******************************************************************************
1692+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1693+ *
1694+ * Redistribution and use in source and binary forms, with or without
1695+ * modification, are permitted provided that the following conditions are met:
1696+ *
1697+ * - Redistributions of source code must retain the above copyright notice,
1698+ * this list of conditions and the following disclaimer.
1699+ *
1700+ * - Redistributions in binary form must reproduce the above copyright notice,
1701+ * this list of conditions and the following disclaimer in the documentation
1702+ * and/or other materials provided with the distribution.
1703+ *
1704+ * - Neither the name of Intel Corporation. nor the names of its
1705+ * contributors may be used to endorse or promote products derived from this
1706+ * software without specific prior written permission.
1707+ *
1708+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1709+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1710+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1711+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1712+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1713+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1714+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1715+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1716+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1717+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1718+ * POSSIBILITY OF SUCH DAMAGE.
1719+ *******************************************************************************/
1720+#include "httpParser.h"
1721+#include "utils.h"
1722+#include "types.h"
1723+
1724+int HttpParser::parse(char *buffer) {
1725+
1726+ std::vector<std::string> headerBody;
1727+ std::vector<std::string> header;
1728+ int rc = 0;
1729+ do {
1730+ if (buffer == NULL) {
1731+ rc = -1;
1732+ break;
1733+ }
1734+
1735+ headerBody = Utils::split(buffer, "\r\n\r\n");
1736+ if (headerBody.size() < 2)
1737+ {
1738+ PRINT("Failed to process httpHeader\n");
1739+ rc = -1;
1740+ break;
1741+ }
1742+
1743+ /* Entries in Header are seperated by \r\n */
1744+ header = Utils::split((char*)headerBody[0].c_str(), "\r\n");
1745+
1746+ /* First line in header is the the header line
1747+ * e.g. POST <path> HTTP/1.1
1748+ * e.g GET <path> HTTP/1.1
1749+ */
1750+ headerLine = header[0];
1751+
1752+ /* After headerline are the Fields
1753+ * e.g Content-Length:2204
1754+ */
1755+ for (unsigned int i=1; i< header.size(); i++) {
1756+ std::vector<std::string> field = Utils::split((char*)header[i].c_str(), ":");
1757+ if (field.size() < 2) {
1758+ rc = -1;
1759+ break;
1760+ }
1761+ headerFields.insert(std::pair<std::string, std::string>(field[0], field[1]));
1762+ }
1763+
1764+ if (rc) break;
1765+
1766+ body = headerBody[1];
1767+ } while(0);
1768+
1769+ return rc;
1770+}
1771+
1772+std::string HttpParser::getHeaderLine() {
1773+ return headerLine;
1774+}
1775+
1776+std::string HttpParser::getHeaderField(std::string field) {
1777+ std::map<std::string,std::string>::iterator it;
1778+ std::string fieldValue = "";
1779+
1780+ it = headerFields.find(field);
1781+ if (it != headerFields.end())
1782+ {
1783+ fieldValue = it->second;
1784+ }
1785+
1786+ return fieldValue;
1787+}
1788+
1789+std::string HttpParser::getBody() {
1790+ return body;
1791+}
1792diff --git a/src/tools/httpParser.h b/src/tools/httpParser.h
1793new file mode 100644
1794index 0000000..a82d82a
1795--- /dev/null
1796+++ b/src/tools/httpParser.h
1797@@ -0,0 +1,49 @@
1798+/*******************************************************************************
1799+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1800+ *
1801+ * Redistribution and use in source and binary forms, with or without
1802+ * modification, are permitted provided that the following conditions are met:
1803+ *
1804+ * - Redistributions of source code must retain the above copyright notice,
1805+ * this list of conditions and the following disclaimer.
1806+ *
1807+ * - Redistributions in binary form must reproduce the above copyright notice,
1808+ * this list of conditions and the following disclaimer in the documentation
1809+ * and/or other materials provided with the distribution.
1810+ *
1811+ * - Neither the name of Intel Corporation. nor the names of its
1812+ * contributors may be used to endorse or promote products derived from this
1813+ * software without specific prior written permission.
1814+ *
1815+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1816+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1817+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1818+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1819+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1820+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1821+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1822+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1823+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1824+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1825+ * POSSIBILITY OF SUCH DAMAGE.
1826+ *******************************************************************************/
1827+#ifndef _HTTPPARSER_H
1828+#define _HTTPPARSER_H
1829+#include <vector>
1830+#include <map>
1831+#include <string>
1832+
1833+class HttpParser {
1834+
1835+ public:
1836+ int parse(char *buffer);
1837+ std::string getHeaderLine();
1838+ std::string getHeaderField(std::string field);
1839+ std::string getBody();
1840+ private:
1841+ std::string headerLine;
1842+ std::map<std::string, std::string> headerFields;
1843+ std::string body;
1844+
1845+};
1846+#endif
1847diff --git a/src/tools/miniXmlParser.cpp b/src/tools/miniXmlParser.cpp
1848new file mode 100644
1849index 0000000..f1f0503
1850--- /dev/null
1851+++ b/src/tools/miniXmlParser.cpp
1852@@ -0,0 +1,375 @@
1853+/*******************************************************************************
1854+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
1855+ *
1856+ * Redistribution and use in source and binary forms, with or without
1857+ * modification, are permitted provided that the following conditions are met:
1858+ *
1859+ * - Redistributions of source code must retain the above copyright notice,
1860+ * this list of conditions and the following disclaimer.
1861+ *
1862+ * - Redistributions in binary form must reproduce the above copyright notice,
1863+ * this list of conditions and the following disclaimer in the documentation
1864+ * and/or other materials provided with the distribution.
1865+ *
1866+ * - Neither the name of Intel Corporation. nor the names of its
1867+ * contributors may be used to endorse or promote products derived from this
1868+ * software without specific prior written permission.
1869+ *
1870+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
1871+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1872+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1873+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
1874+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1875+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1876+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1877+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1878+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1879+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1880+ * POSSIBILITY OF SUCH DAMAGE.
1881+ *******************************************************************************/
1882+#include "miniXmlParser.h"
1883+#include "utils.h"
1884+#include <string.h>
1885+#include <list>
1886+#include <stack>
1887+#include "types.h"
1888+
1889+MiniXmlParser::MiniXmlParser() {
1890+ rootNode = NULL;
1891+}
1892+
1893+MiniXmlParser::~MiniXmlParser() {
1894+ if (rootNode) {
1895+ deleteXmlTree(rootNode);
1896+ rootNode = NULL;
1897+ }
1898+}
1899+
1900+void MiniXmlParser::deleteXmlTree(XMLNode* rootNode) {
1901+ XMLNode* node = rootNode;
1902+ XMLNode* tempNode = NULL;
1903+
1904+ while (node != NULL) {
1905+ tempNode = node->childNode;
1906+ delete node;
1907+ node = tempNode;
1908+ }
1909+}
1910+
1911+int MiniXmlParser::validateXML(XMLNode const* rootNode) {
1912+ int rc = 0;
1913+ XMLNode* current = (XMLNode *)rootNode;
1914+ XMLNode* temp = NULL;
1915+ std::stack<XMLNode*> tagStack;
1916+
1917+ while (current != NULL) {
1918+ if (current->tagName == NULL) {
1919+ PRINT("ValidateXML failed, foung a empty tag\n");
1920+ rc = -1;
1921+ break;
1922+ }
1923+
1924+ if (memcmp(current->tagName, "!", 1) == 0) {
1925+ temp = current;
1926+ current = tagStack.empty()?NULL:tagStack.top();
1927+ if (current != NULL) {
1928+ current->childNode = temp->childNode;
1929+ } else {
1930+ current = temp;
1931+ }
1932+ } else if (current->startTag) {
1933+ current->parentNode = tagStack.empty()?NULL:tagStack.top();
1934+ tagStack.push(current);
1935+ } else {
1936+ if (tagStack.empty() == false) {
1937+ temp = tagStack.top();
1938+ tagStack.pop();
1939+ } else {
1940+ temp = NULL;
1941+ }
1942+ if (temp != NULL) {
1943+ if (temp->tagLength == current->tagLength && memcmp(temp->tagName, current->tagName, current->tagLength) == 0) {
1944+ if (current->childNode != NULL) {
1945+ if (current->childNode->startTag != 0) {
1946+ temp->siblingNode = current->childNode;
1947+ }
1948+ }
1949+ temp->closingTag = current;
1950+ current->startingTag = temp;
1951+ } else {
1952+ PRINT("ValidateXML failed, Illegal tag\n");
1953+ rc = -1;
1954+ break;
1955+ }
1956+ } else {
1957+ PRINT("ValidateXML failed, Illegal closing tag\n");
1958+ rc = -1;
1959+ break;
1960+ }
1961+ }
1962+ current = current->childNode;
1963+ }
1964+
1965+ if (tagStack.empty() == false) {
1966+ PRINT("ValidateXML failed, Incomplete XML\n");
1967+ rc = -1;
1968+ }
1969+
1970+ return rc;
1971+}
1972+
1973+int MiniXmlParser::parse(char* buffer, unsigned int bufferLength) {
1974+ int validXml = -1;
1975+ XMLNode* node = NULL;
1976+
1977+ node = _parse(buffer, bufferLength);
1978+ if (node) {
1979+ validXml = validateXML(node);
1980+ }
1981+ rootNode = node;
1982+ return validXml;
1983+}
1984+
1985+XMLNode* MiniXmlParser::_parse(char const* buffer, unsigned int bufferLength) {
1986+
1987+ char* tagName = NULL;
1988+ char* nsTag = NULL;
1989+ char* CommentEnd = NULL;
1990+
1991+ int tagLength = 0;
1992+ int startTag = 0;
1993+ int emptyTag = 0;
1994+ int nsLength = 0;
1995+ int i = 0;
1996+ int CommentIndex = 0;
1997+
1998+ std::list<CDataLen> xmlFields;
1999+ std::list<CDataLen> temp2;
2000+ std::list<CDataLen> tagValue;
2001+
2002+ XMLNode *rootNode = NULL;;
2003+ XMLNode *current = NULL;
2004+ XMLNode *newNode = NULL;
2005+ std::list<CDataLen>::iterator it;
2006+
2007+ if (buffer == NULL || bufferLength == 0) {
2008+ return NULL;
2009+ }
2010+
2011+ xmlFields = Utils::split(buffer, bufferLength, "<", 1);
2012+ for (CDataLen xmlField: xmlFields) {
2013+ if (xmlField.dataLength != 0 && memcmp(xmlField.data, "?", 1) != 0 && (xmlField.data > CommentEnd)) {
2014+ /*Parse XML comments and ignore it.*/
2015+ if (xmlField.dataLength > 3 && memcmp(xmlField.data, "!--", 3)==0) {
2016+ CommentIndex = 3;
2017+ while (((xmlField.data + CommentIndex) < (buffer + bufferLength)) && memcmp(xmlField.data + CommentIndex, "-->", 3) != 0) {
2018+ CommentIndex++;
2019+ }
2020+ CommentEnd = xmlField.data + CommentIndex;
2021+ continue;
2022+ } else {
2023+ emptyTag = 0;
2024+ /*if the first char is / after < then its ending tag, otherwise starting tag. ("</....") */
2025+ if (memcmp(xmlField.data, "/", 1) == 0) {
2026+ startTag = 0;
2027+ xmlField.data = xmlField.data + 1;
2028+ xmlField.dataLength -= 1;
2029+ temp2 = Utils::split(xmlField.data, xmlField.dataLength, ">", 1);
2030+ } else {
2031+
2032+ startTag = 1;
2033+ temp2 = Utils::split(xmlField.data, xmlField.dataLength, ">", 1);
2034+ if (temp2.front().dataLength > 0 && *(char*)(temp2.front().data-1) == '/') {
2035+ //".../>" are empty tags
2036+ emptyTag = 1;
2037+ }
2038+ }
2039+ }
2040+ /*split on ":" to get namespace:tagName*/
2041+ tagValue = Utils::split(temp2.front().data, temp2.front().dataLength, ":", 1);
2042+ if (tagValue.size() == 1) {
2043+ nsTag = NULL;
2044+ nsLength = 0;
2045+ tagName = tagValue.front().data;
2046+ tagLength = tagValue.front().dataLength;
2047+ } else {
2048+ it = tagValue.begin();
2049+ nsTag = it->data;
2050+ nsLength = it->dataLength;
2051+ it++;
2052+ tagName = it->data;
2053+ tagLength = it->dataLength;
2054+ }
2055+ tagValue.clear();
2056+ temp2.clear();
2057+
2058+ /*Parse for multiple ns:tags and recompute the first tagLength*/
2059+ for(i=0; i<tagLength; i++) {
2060+ if ((tagName[i] == ' ')||(tagName[i] == '/')||(tagName[i] == '>')||(tagName[i] == '\t')||(tagName[i] == '\r')||(tagName[i] == '\n')) {
2061+ if (i != 0) {
2062+ if (tagName[i]=='/') {
2063+ emptyTag = 1;
2064+ }
2065+ tagLength = i;
2066+ break;
2067+ }
2068+ }
2069+ }
2070+
2071+ /*Create XML Node, populate properties and add it to the list*/
2072+ if (tagLength != 0) {
2073+ newNode = new XMLNode();
2074+ newNode->tagName = tagName;
2075+ newNode->tagLength = tagLength;
2076+ newNode->startTag = startTag;
2077+ newNode->nsTag = nsTag;
2078+ newNode->nsLength = nsLength;
2079+
2080+
2081+ if (rootNode == NULL) {
2082+ rootNode = newNode;
2083+ }
2084+ else {
2085+ current->childNode = newNode;
2086+ }
2087+ current = newNode;
2088+
2089+ if (emptyTag) {
2090+ newNode = new XMLNode();
2091+ newNode->tagName = tagName;
2092+ newNode->tagLength = tagLength;
2093+ newNode->nsTag = nsTag;
2094+ newNode->nsLength = nsLength;
2095+
2096+ current->emptyTag = 1;
2097+ current->childNode = newNode;
2098+ current = newNode;
2099+ }
2100+ }
2101+
2102+ }
2103+ }
2104+
2105+ xmlFields.clear();
2106+ return rootNode;
2107+}
2108+
2109+/*
2110+ * Parse the XML Tree from rootNode and retrive value of a given key.
2111+ * If rootNode is passed as NULL, parsing resumes from last key retrieved node.
2112+ * Return 0 on Success , -1 otherwise.
2113+ * Inputs : XMLNode *rootNode, char *tag, unsigned int tagLen, char *ns, unsigned int nsLen
2114+ * Outputs: char** value, unsigned int *valueLen
2115+ */
2116+int MiniXmlParser::getXmlTagValue(XMLNode const* rootNode, char const* tag, unsigned int tagLen, char const* ns, unsigned int nsLen, char** value, unsigned int *valueLen)
2117+{
2118+
2119+ static XMLNode *cur = (XMLNode*) rootNode;
2120+ static XMLNode *pcur = cur;
2121+ char *pValue = NULL;
2122+ bool found = false;
2123+
2124+ if (tag == NULL) {
2125+ return -1;
2126+ }
2127+
2128+ if (rootNode != NULL) {
2129+ cur = (XMLNode *) rootNode;
2130+ pcur = cur;
2131+ }
2132+
2133+ while (cur != NULL) {
2134+ while (pcur != NULL) {
2135+ if (pcur->closingTag && memcmp((pcur->tagName), tag, tagLen) == 0) {
2136+ if (ns) {
2137+ if (memcmp(pcur->nsTag, ns, pcur->nsLength) == 0) {
2138+ found = true;
2139+ }
2140+ } else {
2141+ found = true;
2142+ }
2143+
2144+ if (found) {
2145+ pValue = strstr(pcur->tagName, ">") + 1;
2146+ if (pcur->closingTag->nsLength) {
2147+ *valueLen = pcur->closingTag->nsTag - pValue - 2;
2148+ } else {
2149+ *valueLen = pcur->closingTag->tagName - pValue - 2;
2150+ }
2151+ *value = pValue;
2152+ pcur = pcur->childNode;
2153+ return 0;
2154+ }
2155+ }
2156+ pcur = pcur->childNode;
2157+ }
2158+ cur = cur->siblingNode;
2159+ pcur = cur;
2160+ }
2161+
2162+ return -1;
2163+}
2164+
2165+/* Returns Namespace prefix of given URI namespace
2166+ * Inputs : XMLNode *node, char *uri, unsigned int uriLen
2167+ * Outputs: char **nsPrefix, unsigned int *nsPrefixLen
2168+ */
2169+int MiniXmlParser::getNSPrefix(XMLNode const* node, char const* uri, unsigned int uriLen, char **nsPrefix, unsigned int *nsPrefixLen) {
2170+
2171+ bool foundNS = false;;
2172+ char *tagEnd = NULL;
2173+ int rc = 0;
2174+ CDataLen tempNS;
2175+ CDataLen tempURI;
2176+ std::list<CDataLen> tags;
2177+ std::list<CDataLen> temp;
2178+ std::list<CDataLen> temp2;
2179+ std::list<CDataLen>::iterator it;
2180+
2181+ if (node == NULL || uri == NULL) {
2182+ rc = -1;
2183+ return rc;
2184+ }
2185+
2186+ tagEnd = strstr(node->tagName, ">");
2187+ if (tagEnd && nsPrefix != NULL && nsPrefixLen != NULL) {
2188+ tags = Utils::split(node->tagName, tagEnd - node->tagName, " ", 1);
2189+ for (CDataLen tag: tags) {
2190+ temp = Utils::split(tag.data, tag.dataLength, ":", 1);
2191+ if (temp.size() >= 2) {
2192+ it = temp.begin();
2193+ tempNS.data = it->data;
2194+ tempNS.dataLength = it->dataLength;
2195+ it++;
2196+
2197+ if (memcmp(tempNS.data, "xmlns", 5) == 0) {
2198+ temp2 = Utils::split(it->data, it->dataLength, "=", 1);
2199+ if (temp2.size() >= 2) {
2200+ it = temp2.begin();
2201+ tempNS.data = it->data;
2202+ tempNS.dataLength = it->dataLength;
2203+ it++;
2204+ }
2205+ }
2206+ //Ignore if first character is " or '
2207+ if (it->data[0] == 34 || it->data[0] == 39) {
2208+ it->data = it->data + 1;
2209+ }
2210+
2211+ if (memcmp(it->data, uri, uriLen) == 0) {
2212+ foundNS = true;
2213+ break;
2214+ }
2215+ }
2216+ }
2217+ } else {
2218+ rc = -1;
2219+ }
2220+
2221+ if (rc == 0 && foundNS) {
2222+ *nsPrefix = tempNS.data;
2223+ *nsPrefixLen = tempNS.dataLength;
2224+ }
2225+
2226+ return rc;
2227+}
2228diff --git a/src/tools/miniXmlParser.h b/src/tools/miniXmlParser.h
2229new file mode 100644
2230index 0000000..ae0d234
2231--- /dev/null
2232+++ b/src/tools/miniXmlParser.h
2233@@ -0,0 +1,51 @@
2234+/*******************************************************************************
2235+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
2236+ *
2237+ * Redistribution and use in source and binary forms, with or without
2238+ * modification, are permitted provided that the following conditions are met:
2239+ *
2240+ * - Redistributions of source code must retain the above copyright notice,
2241+ * this list of conditions and the following disclaimer.
2242+ *
2243+ * - Redistributions in binary form must reproduce the above copyright notice,
2244+ * this list of conditions and the following disclaimer in the documentation
2245+ * and/or other materials provided with the distribution.
2246+ *
2247+ * - Neither the name of Intel Corporation. nor the names of its
2248+ * contributors may be used to endorse or promote products derived from this
2249+ * software without specific prior written permission.
2250+ *
2251+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
2252+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2253+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2254+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
2255+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2256+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2257+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2258+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2259+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2260+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2261+ * POSSIBILITY OF SUCH DAMAGE.
2262+ *******************************************************************************/
2263+#ifndef _MINIXMLPARSER_H
2264+#define _MINIXMLPARSER_H
2265+#include <iostream>
2266+#include "xmlNode.h"
2267+
2268+class MiniXmlParser {
2269+ public:
2270+ MiniXmlParser();
2271+ ~MiniXmlParser();
2272+ int parse(char* buffer, unsigned int bufferLength);
2273+ XMLNode* getRootNode() { return rootNode; };
2274+ int getXmlTagValue(XMLNode const* rootNode, char const *tag, unsigned int tagLen, char const* ns, unsigned int nsLen, char** value, unsigned int *valueLen);
2275+ int getNSPrefix(XMLNode const* nonde, char const* uri, unsigned int uriLen, char **nsPrefix, unsigned int *nsPrefixLen);
2276+
2277+ private:
2278+ XMLNode* rootNode;
2279+ XMLNode* _parse(char const* buffer, unsigned int bufferLength);
2280+ /* Validates if the XML is well formed and sets up parent sibling pointers */
2281+ int validateXML(XMLNode const* rootNode);
2282+ void deleteXmlTree(XMLNode *root);
2283+};
2284+#endif
2285diff --git a/src/tools/utils.cpp b/src/tools/utils.cpp
2286new file mode 100644
2287index 0000000..ec20b28
2288--- /dev/null
2289+++ b/src/tools/utils.cpp
2290@@ -0,0 +1,185 @@
2291+/*******************************************************************************
2292+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
2293+ *
2294+ * Redistribution and use in source and binary forms, with or without
2295+ * modification, are permitted provided that the following conditions are met:
2296+ *
2297+ * - Redistributions of source code must retain the above copyright notice,
2298+ * this list of conditions and the following disclaimer.
2299+ *
2300+ * - Redistributions in binary form must reproduce the above copyright notice,
2301+ * this list of conditions and the following disclaimer in the documentation
2302+ * and/or other materials provided with the distribution.
2303+ *
2304+ * - Neither the name of Intel Corporation. nor the names of its
2305+ * contributors may be used to endorse or promote products derived from this
2306+ * software without specific prior written permission.
2307+ *
2308+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
2309+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2310+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2311+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
2312+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2313+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2314+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2315+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2316+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2317+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2318+ * POSSIBILITY OF SUCH DAMAGE.
2319+ *******************************************************************************/
2320+#include <string.h>
2321+#include "utils.h"
2322+#include <syslog.h>
2323+#include <unistd.h>
2324+
2325+std::vector<std::string> Utils::split(char const * str, char const * delim) {
2326+ char* tok = (char*)str;
2327+ char* ptok = tok;
2328+ int delimLength = 0;
2329+ std::vector<std::string> splittedStrings;
2330+
2331+ do {
2332+ if (str == NULL) {
2333+ break;
2334+ }
2335+
2336+ if (delim == NULL) {
2337+ splittedStrings.push_back(std::string(str));
2338+ break;
2339+ }
2340+
2341+ delimLength = strlen(delim);
2342+ tok = strstr(ptok, delim);
2343+ while (tok) {
2344+ if (ptok != tok) {
2345+ splittedStrings.push_back(std::string(ptok, tok-ptok));
2346+ }
2347+ ptok = tok + delimLength;
2348+ tok = strstr(ptok, delim);
2349+ }
2350+
2351+ if (ptok != str+strlen(str)) {
2352+ splittedStrings.push_back(std::string(ptok, strlen(ptok)));
2353+ }
2354+ } while(0);
2355+ return splittedStrings;
2356+}
2357+
2358+
2359+char* Utils::strnstr(char const* haystack, unsigned int haystackLength, char const* needle, unsigned int needleLength) {
2360+
2361+ char* needleInHaystack = NULL;
2362+ unsigned int j;
2363+ do {
2364+ if (haystack == NULL || needle == NULL) {
2365+ break;
2366+ }
2367+
2368+ for (unsigned int i = 0; i < haystackLength; i++) {
2369+ if (haystack[i] == '\0' || ((haystackLength - i) < needleLength)) {
2370+ break;
2371+ }
2372+
2373+ for (j = 0; j < needleLength; j++) {
2374+ if (haystack[i + j] != needle[j]) {
2375+ break;
2376+ }
2377+ }
2378+
2379+ if (j == needleLength) {
2380+ //Found needle in haystack
2381+ needleInHaystack = (char*)&haystack[i];
2382+ break;
2383+ }
2384+ }
2385+ } while(0);
2386+ return needleInHaystack;
2387+}
2388+
2389+std::list<CDataLen> Utils::split(char const* str, unsigned int strLength, char const* delim, unsigned int delimLength) {
2390+ char* tok = (char*)str;
2391+ char* ptok = tok;
2392+ std::list<CDataLen> splittedStrings;
2393+ CDataLen dataLen;
2394+
2395+ do {
2396+ if (str == NULL) {
2397+ break;
2398+ }
2399+
2400+ if (delim == NULL) {
2401+ dataLen.data = (char*)str;
2402+ dataLen.dataLength = strLength;
2403+ splittedStrings.push_back(dataLen);
2404+ break;
2405+ }
2406+
2407+ tok = Utils::strnstr(str, strLength, delim, delimLength);
2408+ while (tok) {
2409+ dataLen.data = ptok;
2410+ dataLen.dataLength = tok-ptok;
2411+ if (ptok!=tok) {
2412+ splittedStrings.push_back(dataLen);
2413+ }
2414+ ptok = tok + delimLength;
2415+ tok = Utils::strnstr(ptok, (str + strLength - ptok), delim, delimLength);
2416+ }
2417+
2418+ if (ptok != (str + strLength)) {
2419+ dataLen.data = ptok;
2420+ dataLen.dataLength = str + strLength - ptok;
2421+ splittedStrings.push_back(dataLen);
2422+ }
2423+ } while (0);
2424+ return splittedStrings;
2425+}
2426+
2427+std::string Utils::DEFAULT_NOTIFY_CMD="export DISPLAY=:0; notify-send -u critical -t 2000 ";
2428+std::string Utils::NOTIFY_DESKTOP_SCRIPT="/usr/local/bin/notifyDesktop.sh";
2429+std::string Utils::NOTIFY_DESKTOP_SCRIPT1="/usr/bin/notifyDesktop.sh";
2430+
2431+void Utils::notifyDesktop(std::string header, std::string body, bool logInSyslog) {
2432+
2433+ std::string notifyCMD;
2434+
2435+ if (! access (NOTIFY_DESKTOP_SCRIPT.c_str(), X_OK)) {
2436+ notifyCMD = NOTIFY_DESKTOP_SCRIPT + " '" + header + "' '" + body + "'";
2437+ } else if (! access (NOTIFY_DESKTOP_SCRIPT1.c_str(), X_OK)) {
2438+ notifyCMD = NOTIFY_DESKTOP_SCRIPT1 + " '" + header + "' '" + body + "'";
2439+ } else {
2440+ notifyCMD = DEFAULT_NOTIFY_CMD + " '" + header + "' '" + body + "'";
2441+ }
2442+
2443+ if (logInSyslog) {
2444+ syslog(LOG_INFO, "%s %s\n", header.c_str(), body.c_str());
2445+ }
2446+
2447+ system(notifyCMD.c_str());
2448+}
2449+
2450+
2451+std::string Utils::format(const char *format , ...) {
2452+ char* buffer = NULL;
2453+ int bufferLength = 512;
2454+ int _bufferLength = 0;
2455+ va_list vl;
2456+ std::string formattedString("");
2457+
2458+ buffer = new char[bufferLength];
2459+ if (buffer) {
2460+ va_start(vl, format);
2461+
2462+ _bufferLength = vsnprintf(buffer, bufferLength, format, vl);
2463+ if (bufferLength <= _bufferLength) {
2464+ delete[] buffer;
2465+ buffer = new char[_bufferLength + 1];
2466+ _bufferLength = vsnprintf(buffer, _bufferLength, format, vl);
2467+ }
2468+
2469+ formattedString = std::string(buffer);
2470+ va_end(vl);
2471+ delete[] buffer;
2472+ }
2473+
2474+ return formattedString;
2475+}
2476diff --git a/src/tools/utils.h b/src/tools/utils.h
2477new file mode 100644
2478index 0000000..a7568fa
2479--- /dev/null
2480+++ b/src/tools/utils.h
2481@@ -0,0 +1,57 @@
2482+/*******************************************************************************
2483+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
2484+ *
2485+ * Redistribution and use in source and binary forms, with or without
2486+ * modification, are permitted provided that the following conditions are met:
2487+ *
2488+ * - Redistributions of source code must retain the above copyright notice,
2489+ * this list of conditions and the following disclaimer.
2490+ *
2491+ * - Redistributions in binary form must reproduce the above copyright notice,
2492+ * this list of conditions and the following disclaimer in the documentation
2493+ * and/or other materials provided with the distribution.
2494+ *
2495+ * - Neither the name of Intel Corporation. nor the names of its
2496+ * contributors may be used to endorse or promote products derived from this
2497+ * software without specific prior written permission.
2498+ *
2499+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
2500+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2501+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2502+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
2503+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2504+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2505+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2506+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2507+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2508+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2509+ * POSSIBILITY OF SUCH DAMAGE.
2510+ *******************************************************************************/
2511+
2512+#ifndef __UTILS_H
2513+#define __UTILS_H
2514+#include <iostream>
2515+#include <vector>
2516+#include <list>
2517+#include <string>
2518+#include <cstdarg>
2519+
2520+class CDataLen {
2521+ public:
2522+ char* data;
2523+ int dataLength;
2524+ CDataLen() { data = NULL; dataLength = 0; };
2525+};
2526+
2527+class Utils {
2528+ public:
2529+ static std::string NOTIFY_DESKTOP_SCRIPT;
2530+ static std::string NOTIFY_DESKTOP_SCRIPT1;
2531+ static std::string DEFAULT_NOTIFY_CMD;
2532+ static std::vector<std::string> split(char const* str, char const * delim);
2533+ static std::list<CDataLen> split(char const* str, unsigned int strLength, char const* delim, unsigned int delimLength);
2534+ static char* strnstr(char const* haystack, unsigned int haystackLength, char const* needle, unsigned int needleLength);
2535+ static void notifyDesktop(std::string header, std::string body, bool logInSyslog);
2536+ static std::string format(const char *format , ...);
2537+};
2538+#endif
2539diff --git a/src/tools/xmlNode.cpp b/src/tools/xmlNode.cpp
2540new file mode 100644
2541index 0000000..827cd3f
2542--- /dev/null
2543+++ b/src/tools/xmlNode.cpp
2544@@ -0,0 +1,45 @@
2545+/*******************************************************************************
2546+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
2547+ *
2548+ * Redistribution and use in source and binary forms, with or without
2549+ * modification, are permitted provided that the following conditions are met:
2550+ *
2551+ * - Redistributions of source code must retain the above copyright notice,
2552+ * this list of conditions and the following disclaimer.
2553+ *
2554+ * - Redistributions in binary form must reproduce the above copyright notice,
2555+ * this list of conditions and the following disclaimer in the documentation
2556+ * and/or other materials provided with the distribution.
2557+ *
2558+ * - Neither the name of Intel Corporation. nor the names of its
2559+ * contributors may be used to endorse or promote products derived from this
2560+ * software without specific prior written permission.
2561+ *
2562+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
2563+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2564+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2565+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
2566+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2567+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2568+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2569+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2570+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2571+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2572+ * POSSIBILITY OF SUCH DAMAGE.
2573+ *******************************************************************************/
2574+#include "xmlNode.h"
2575+#include <iostream>
2576+XMLNode::XMLNode() {
2577+ tagName = NULL;
2578+ nsTag = NULL;
2579+ tagLength = 0;
2580+ nsLength = 0;
2581+ startTag = 0;
2582+ emptyTag = 0;
2583+
2584+ closingTag = NULL;
2585+ startingTag = NULL;
2586+ parentNode = NULL;
2587+ childNode = NULL;
2588+ siblingNode = NULL;
2589+}
2590diff --git a/src/tools/xmlNode.h b/src/tools/xmlNode.h
2591new file mode 100644
2592index 0000000..4a6c91e
2593--- /dev/null
2594+++ b/src/tools/xmlNode.h
2595@@ -0,0 +1,49 @@
2596+/*******************************************************************************
2597+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
2598+ *
2599+ * Redistribution and use in source and binary forms, with or without
2600+ * modification, are permitted provided that the following conditions are met:
2601+ *
2602+ * - Redistributions of source code must retain the above copyright notice,
2603+ * this list of conditions and the following disclaimer.
2604+ *
2605+ * - Redistributions in binary form must reproduce the above copyright notice,
2606+ * this list of conditions and the following disclaimer in the documentation
2607+ * and/or other materials provided with the distribution.
2608+ *
2609+ * - Neither the name of Intel Corporation. nor the names of its
2610+ * contributors may be used to endorse or promote products derived from this
2611+ * software without specific prior written permission.
2612+ *
2613+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
2614+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2615+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2616+ * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corporation. OR THE CONTRIBUTORS
2617+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2618+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2619+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2620+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2621+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2622+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2623+ * POSSIBILITY OF SUCH DAMAGE.
2624+ *******************************************************************************/
2625+#ifndef __XMLNODE_H
2626+#define __XMLNODE_H
2627+class XMLNode {
2628+
2629+ public:
2630+ char* tagName;
2631+ char* nsTag;
2632+ int tagLength;
2633+ int nsLength;
2634+ int startTag;
2635+ int emptyTag;
2636+
2637+ XMLNode* closingTag;
2638+ XMLNode* startingTag;
2639+ XMLNode* parentNode;
2640+ XMLNode* childNode;
2641+ XMLNode* siblingNode;
2642+ XMLNode();
2643+};
2644+#endif
2645--
26462.9.3
2647
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 eca36811..00000000
--- a/common/recipes-bsp/amt/lms7_7.1.20.bb
+++ /dev/null
@@ -1,58 +0,0 @@
1DESCRIPTION = "Intel Local Manageability Service allows applications \
2to access the Intel Active Management Technology (AMT) firmware via \
3the Intel Management Engine Interface (MEI)."
4HOMEPAGE = "http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers"
5
6LICENSE = "BSD_LMS"
7
8PR = "r0"
9BPN="lms"
10PV_SUB = "25"
11SRC_URI = "http://software.intel.com/sites/default/files/m/4/e/a/9/b/37962-${BPN}_${PV}.${PV_SUB}.zip \
12 file://atnetworktool-printf-fix.patch \
13 file://readlink-declaration.patch \
14 file://0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch \
15 file://0001-Include-sys-select.h-for-fd_set.patch \
16 file://0002-Use-proper-netinet-in.h-API.patch \
17 "
18
19LOCALSRC = "file://${WORKDIR}/outputdir/${BPN}-${PV}-${PV_SUB}.tar.gz"
20
21COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
22
23LIC_FILES_CHKSUM = "file://COPYING;md5=7264184cf88d9f27b719a9656255b47b"
24
25SRC_URI[md5sum] = "687b76e78bfdbcf567c0e842c1fe240a"
26SRC_URI[sha256sum] = "cc0457f0044e924794bb1aeae9a72c28666a525cd8a963d0d92970222946e75b"
27
28inherit autotools update-rc.d
29
30INITSCRIPT_NAME = "lms7"
31INITSCRIPT_PARAMS = "defaults"
32
33python do_unpack() {
34 s = d.getVar('S', True)
35 d.setVar('S', '${WORKDIR}/outputdir')
36 bb.build.exec_func('base_do_unpack', d)
37 # temorarily change SRC_URI for unpack
38 src_uri = d.getVar('SRC_URI', True)
39 d.setVar('SRC_URI', '${LOCALSRC}')
40 d.setVar('S', s)
41 bb.build.exec_func('base_do_unpack', d)
42 d.setVar('SRC_URI', src_uri)
43}
44
45
46do_install_append () {
47 mv ${D}/${sbindir}/lms ${D}/${sbindir}/lms7
48 install -d ${D}${sysconfdir}/init.d
49 # The configure script looks at the host to decide where to put init
50 # scripts, so move it at the same time as renaming it.
51 if test -f ${D}${sysconfdir}/rc.d/init.d/lms ; then
52 mv ${D}${sysconfdir}/rc.d/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
53 else
54 mv ${D}${sysconfdir}/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
55 fi
56 sed -i 's/^NAME=lms/NAME=lms7/' ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
57 rmdir ${D}${datadir} || :
58}
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 9b37b9b4..00000000
--- a/common/recipes-bsp/amt/lms8_8.0.0-7.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1DESCRIPTION = "Intel Local Manageability Service allows applications \
2to access the Intel Active Management Technology (AMT) firmware via \
3the Intel Management Engine Interface (MEI)."
4HOMEPAGE = "http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers"
5
6LICENSE = "BSD_LMS"
7
8PR = "r0"
9BPN="lms"
10SRC_URI = "http://software.intel.com/sites/default/files/${BPN}-${PV}.tar.gz \
11 file://readlink-declaration.patch \
12 file://0001-Protocol.cpp-Add-whitespace-for-gcc6-compile-error.patch \
13 file://0001-Include-sys-select.h-for-fd_set.patch \
14 file://0002-Use-proper-netinet-in.h-API.patch \
15 file://0003-Fix-device-file-referance-to-dev-mei0-remove-select.patch \
16 file://0004-Intel-AMT-ME-real-time-notification-infra.patch \
17 "
18
19FILES_${PN} += "${datadir}/xml/AMTAlerts.xml"
20
21COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
22
23LIC_FILES_CHKSUM = "file://COPYING;md5=ec77c894e8a1a89fa07aed2c76680ab8"
24
25SRC_URI[md5sum] = "3cbd027a0e6e9ced8238478b24cde3c6"
26SRC_URI[sha256sum] = "7077db6f2f381e67cb37565b20c40ff0c7d3f98f014e65622a4b4b66c2b1d637"
27
28inherit autotools update-rc.d
29
30INITSCRIPT_NAME = "lms8"
31INITSCRIPT_PARAMS = "defaults"
32
33
34do_install_append () {
35 mv ${D}/${sbindir}/lms ${D}/${sbindir}/lms8
36 install -d ${D}${sysconfdir}/init.d
37 # The configure script looks at the host to decide where to put init
38 # scripts, so move it at the same time as renaming it.
39 if test -f ${D}${sysconfdir}/rc.d/init.d/lms ; then
40 mv ${D}${sysconfdir}/rc.d/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
41 else
42 mv ${D}${sysconfdir}/init.d/lms ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
43 fi
44 sed -i 's/^NAME=lms/NAME=lms8/' ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
45 rmdir ${D}${datadir} || :
46}
diff --git a/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch b/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch
deleted file mode 100644
index afb99514..00000000
--- a/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 7c171c1813651a3a02ad2cda361b42ebc7ce324d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Aug 2017 10:34:19 -0700
4Subject: [PATCH 1/2] Disable address-of-packed-member warning
5
6Clang complains so make it happy
7
8loaders/bzimage/bzimage.c:346:55: error: taking address of packed member 'base' of class or structure 'dt_addr_t' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
9 err = emalloc(gdt.limit, 8, (EFI_PHYSICAL_ADDRESS *)&gdt.base);
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13Upstream-Status: Pending
14
15 Makefile | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/Makefile b/Makefile
19index a955e34..ff1b79b 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -61,7 +61,7 @@ ifeq ($(ARCH),ia32)
23 endif
24 endif
25 ifeq ($(ARCH),x86_64)
26- CFLAGS += -mno-red-zone
27+ CFLAGS += -mno-red-zone -Wno-address-of-packed-member
28 endif
29
30 LDFLAGS=-T $(LDSCRIPT) -Bsymbolic -shared -nostdlib -znocombreloc \
31--
322.14.1
33
diff --git a/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch b/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch
deleted file mode 100644
index 127c187a..00000000
--- a/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 49053e4ff0f3550d019cdad8a93677c18fc69791 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Aug 2017 10:35:09 -0700
4Subject: [PATCH 2/2] initialize char pointers
5
6Clang complains about using them without initializing
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10Upstream-Status: Pending
11
12 entry.c | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/entry.c b/entry.c
16index 0aa6cdd..23ba51e 100644
17--- a/entry.c
18+++ b/entry.c
19@@ -402,9 +402,9 @@ efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *_table)
20 WCHAR *error_buf;
21 EFI_STATUS err;
22 EFI_LOADED_IMAGE *info;
23- CHAR16 *name, *options;
24+ CHAR16 *name = NULL, *options;
25 UINT32 options_size;
26- char *cmdline;
27+ char *cmdline = NULL;
28
29 InitializeLib(image, _table);
30 sys_table = _table;
31--
322.14.1
33
diff --git a/common/recipes-bsp/efilinux/efilinux_1.1.bb b/common/recipes-bsp/efilinux/efilinux_1.1.bb
deleted file mode 100644
index 63e80f88..00000000
--- a/common/recipes-bsp/efilinux/efilinux_1.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
1DESCRIPTION = "A UEFI OS loader"
2LICENSE = "BSD-2-Clause"
3LIC_FILES_CHKSUM = "file://efilinux.h;beginline=5;endline=27;md5=f8d56e644672ac63fd81b55c205283ad"
4
5DEPENDS = "gnu-efi"
6
7inherit deploy
8
9SRCREV = "a995826f9e43f1134baea61610eafd8c173bb776"
10PV = "1.1+git${SRCPV}"
11
12SRC_URI = "git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git \
13 file://0001-Disable-address-of-packed-member-warning.patch \
14 file://0002-initialize-char-pointers.patch \
15 "
16
17S = "${WORKDIR}/git"
18
19COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
20
21EXTRA_OEMAKE = "INCDIR=${STAGING_INCDIR} LIBDIR=${STAGING_LIBDIR}"
22
23# syslinux uses $LD for linking, strip `-Wl,' so it can work
24export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`"
25
26do_deploy () {
27 install ${S}/efilinux.efi ${DEPLOYDIR}/efilinux.efi
28}
29addtask deploy before do_build after do_compile
30
31python () {
32 ccargs = d.getVar('TUNE_CCARGS').split()
33 if '-mx32' in ccargs:
34 # use x86_64 EFI ABI
35 ccargs.remove('-mx32')
36 ccargs.append('-m64')
37 d.setVar('TUNE_CCARGS', ' '.join(ccargs))
38}
diff --git a/common/recipes-bsp/formfactor/formfactor/machconfig b/common/recipes-bsp/formfactor/formfactor/machconfig
deleted file mode 100644
index 73695fac..00000000
--- a/common/recipes-bsp/formfactor/formfactor/machconfig
+++ /dev/null
@@ -1,39 +0,0 @@
1# Note: superuser permission is required to run usbhid-dump
2# successfully.
3
4# HEX keys are according to the USB HID spec and USB HID usage table
5# We can add more keys as needed in the future.
6
7# This test may not be very accurate, as we only look for the first
8# two lines of a descriptor section. Example:
9#
10# 001:003:000:DESCRIPTOR 1460501386.337809
11# 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
12# 15 00 25 01 95 03 75 01 81 02 .. .. .. .. .. ..
13# .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
14#
15# By doing so we eliminate false matches when HEX keys are in the lines
16# in the middle of the whole descriptor section.
17
18if type usbhid-dump &>/dev/null; then
19 if USBHID_DUMP_OUTPUT=$(usbhid-dump -e descriptor 2>/dev/null|grep -A1 DESCRIPTOR); then
20 # checker for generic USB HID keyboard
21 USBHID_KBD_CMD="grep -E '^ 05 01 09 06'"
22
23 # checker for touch screen
24 USBHID_TS_CMD="grep -E '^ 05 0D 09 04'"
25
26 if echo "$USBHID_DUMP_OUTPUT"|eval $USBHID_TS_CMD &>/dev/null; then
27 HAVE_TOUCHSCREEN=1
28 fi
29
30 if echo "$USBHID_DUMP_OUTPUT"|eval $USBHID_KBD_CMD &>/dev/null; then
31 HAVE_KEYBOARD=1
32 else
33 # config script in OE will set HAVE_KEYBOARD=1
34 # if we don't set any value. We have to explicitly
35 # tell it when keyboard is not detected.
36 HAVE_KEYBOARD=0
37 fi
38 fi
39fi
diff --git a/common/recipes-bsp/formfactor/formfactor_0.0.bbappend b/common/recipes-bsp/formfactor/formfactor_0.0.bbappend
deleted file mode 100644
index 6dd422ae..00000000
--- a/common/recipes-bsp/formfactor/formfactor_0.0.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
diff --git a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
deleted file mode 100644
index 74d33c87..00000000
--- a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
+++ /dev/null
@@ -1,2 +0,0 @@
1# Mimic modprobe's install funcitonality with busybox's modprobe
2install gma500_gfx dmesg | grep gma500_gfx_checked || { /etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; }
diff --git a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
deleted file mode 100644
index 75cda99f..00000000
--- a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
+++ /dev/null
@@ -1,15 +0,0 @@
1#!/bin/sh
2
3# Check for devices we wish to avoid gma500_gfx for
4DEVICES="0x8119 0x4108"
5
6# Checked flag to avoid infinite modprobe
7echo "gma500_gfx_checked" >> /dev/kmsg;
8
9for DEVICE in $DEVICES; do
10 if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
11 echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
12 exit 0
13 fi
14done
15exit 1
diff --git a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
deleted file mode 100644
index 7b08064b..00000000
--- a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1SUMMARY = "Intel gma500_gfx fix for certain hardware"
2DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
3LICENSE="GPLv2"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
5
6SRC_URI = "file://gma500-gfx-check.conf \
7 file://gma500-gfx-check.sh "
8
9do_install(){
10 install -d ${D}${sysconfdir}/modprobe.d/
11 install -m 755 ${WORKDIR}/gma500-gfx-check.sh ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
12 install -m 644 ${WORKDIR}/gma500-gfx-check.conf ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
13}
14
15FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
16 ${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
17
18COMPATIBLE_MACHINE = "intel-core2-32"
diff --git a/common/recipes-bsp/rmc/boards/Galileo2/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/Galileo2/BOOTENTRY.CONFIG
deleted file mode 100644
index dd1b9114..00000000
--- a/common/recipes-bsp/rmc/boards/Galileo2/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,3 +0,0 @@
1boot.conf
2install.conf
3
diff --git a/common/recipes-bsp/rmc/boards/Galileo2/boot.conf b/common/recipes-bsp/rmc/boards/Galileo2/boot.conf
deleted file mode 100644
index 580ea486..00000000
--- a/common/recipes-bsp/rmc/boards/Galileo2/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Galileo Gen 2 boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot rootwait console=ttyS1,115200
diff --git a/common/recipes-bsp/rmc/boards/Galileo2/gallieo2.fp b/common/recipes-bsp/rmc/boards/Galileo2/gallieo2.fp
deleted file mode 100755
index fe77d4d1..00000000
--- a/common/recipes-bsp/rmc/boards/Galileo2/gallieo2.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/Galileo2/install.conf b/common/recipes-bsp/rmc/boards/Galileo2/install.conf
deleted file mode 100644
index 688c2a8f..00000000
--- a/common/recipes-bsp/rmc/boards/Galileo2/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Galileo Gen 2 install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi rootwait console=ttyS1,115200
diff --git a/common/recipes-bsp/rmc/boards/MinnowboardTurbot/KBOOTPARAM b/common/recipes-bsp/rmc/boards/MinnowboardTurbot/KBOOTPARAM
deleted file mode 100644
index 476b1fbe..00000000
--- a/common/recipes-bsp/rmc/boards/MinnowboardTurbot/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1console=ttyS0,115200
diff --git a/common/recipes-bsp/rmc/boards/MinnowboardTurbot/minnowboardturbot.fp b/common/recipes-bsp/rmc/boards/MinnowboardTurbot/minnowboardturbot.fp
deleted file mode 100644
index 9aa145f3..00000000
--- a/common/recipes-bsp/rmc/boards/MinnowboardTurbot/minnowboardturbot.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/NUC5i5RYB/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/INSTALLER.CONFIG b/common/recipes-bsp/rmc/boards/NUC5i5RYB/INSTALLER.CONFIG
deleted file mode 100644
index ca5f04b9..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/INSTALLER.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1efi_entry_dir:root:disk:770:/boot/loader/entries/
2boot.conf:root:disk:770:/boot/loader/entries/rmcboot.conf
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/POSTINSTALL.sh b/common/recipes-bsp/rmc/boards/NUC5i5RYB/POSTINSTALL.sh
deleted file mode 100644
index 6694261b..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/POSTINSTALL.sh
+++ /dev/null
@@ -1,2 +0,0 @@
1# There is no tty device on this board.
2sed -i '/start_getty.\+ttyS.*/d' /tgt_root/etc/inittab
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/boot.conf b/common/recipes-bsp/rmc/boards/NUC5i5RYB/boot.conf
deleted file mode 100644
index b29fa45e..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title NUC5i5RYB boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot rootwait
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/install.conf b/common/recipes-bsp/rmc/boards/NUC5i5RYB/install.conf
deleted file mode 100644
index 0dca3cae..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title NUC5i5RYB install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi rootwait
diff --git a/common/recipes-bsp/rmc/boards/NUC5i5RYB/nuc5i5.fp b/common/recipes-bsp/rmc/boards/NUC5i5RYB/nuc5i5.fp
deleted file mode 100644
index 57374779..00000000
--- a/common/recipes-bsp/rmc/boards/NUC5i5RYB/nuc5i5.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/T100-32bit/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/T100-32bit/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/T100-32bit/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/T100-32bit/T100-32bit.fp b/common/recipes-bsp/rmc/boards/T100-32bit/T100-32bit.fp
deleted file mode 100644
index 86ecea73..00000000
--- a/common/recipes-bsp/rmc/boards/T100-32bit/T100-32bit.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/T100-32bit/boot.conf b/common/recipes-bsp/rmc/boards/T100-32bit/boot.conf
deleted file mode 100644
index f1578e0f..00000000
--- a/common/recipes-bsp/rmc/boards/T100-32bit/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title T100T(32bit) boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot loglevel=8
diff --git a/common/recipes-bsp/rmc/boards/T100-32bit/install.conf b/common/recipes-bsp/rmc/boards/T100-32bit/install.conf
deleted file mode 100644
index 67e7eb18..00000000
--- a/common/recipes-bsp/rmc/boards/T100-32bit/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title T100T(32bit) install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/broxton-m/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/INSTALLER.CONFIG b/common/recipes-bsp/rmc/boards/broxton-m/INSTALLER.CONFIG
deleted file mode 100644
index ecd20609..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/INSTALLER.CONFIG
+++ /dev/null
@@ -1,3 +0,0 @@
1# Keep rmc Joule boot.conf instead of meta-intel default
2efi_entry_dir:root:disk:770:/boot/loader/entries/
3boot.conf:root:disk:770:/boot/loader/entries/boot.conf
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/KBOOTPARAM b/common/recipes-bsp/rmc/boards/broxton-m/KBOOTPARAM
deleted file mode 100644
index 08be5dfb..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1video=efifb maxcpus=4 reboot=efi kmemleak=off console=tty0 console=ttyS2,115200
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/POSTINSTALL.sh b/common/recipes-bsp/rmc/boards/broxton-m/POSTINSTALL.sh
deleted file mode 100644
index 30bbd28e..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/POSTINSTALL.sh
+++ /dev/null
@@ -1,2 +0,0 @@
1# Joule uses only S2 for serial, so remove S0
2sed -i '/start_getty.\+ttyS0/d' /tgt_root/etc/inittab
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/bm-1F1.fp b/common/recipes-bsp/rmc/boards/broxton-m/bm-1F1.fp
deleted file mode 100755
index 1a150280..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/bm-1F1.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/bm.fp b/common/recipes-bsp/rmc/boards/broxton-m/bm.fp
deleted file mode 100755
index 135a7a5d..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/bm.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/boot.conf b/common/recipes-bsp/rmc/boards/broxton-m/boot.conf
deleted file mode 100644
index caa00c50..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Joule / Broxton-m
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/install.conf b/common/recipes-bsp/rmc/boards/broxton-m/install.conf
deleted file mode 100644
index 9cdd86b7..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Joule / Broxton-m Install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi rootwait
diff --git a/common/recipes-bsp/rmc/boards/broxton-m/joule-1F1.fp b/common/recipes-bsp/rmc/boards/broxton-m/joule-1F1.fp
deleted file mode 100644
index d757614f..00000000
--- a/common/recipes-bsp/rmc/boards/broxton-m/joule-1F1.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/minnowmax/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/minnowmax/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmax/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/minnowmax/boot.conf b/common/recipes-bsp/rmc/boards/minnowmax/boot.conf
deleted file mode 100644
index 6e789cd8..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmax/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Minnow Max boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot console=ttyS0,115200n8
diff --git a/common/recipes-bsp/rmc/boards/minnowmax/install.conf b/common/recipes-bsp/rmc/boards/minnowmax/install.conf
deleted file mode 100644
index 1a493aec..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmax/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Minnow Max install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi console=ttyS0,115200n8
diff --git a/common/recipes-bsp/rmc/boards/minnowmax/minnowmax.fp b/common/recipes-bsp/rmc/boards/minnowmax/minnowmax.fp
deleted file mode 100644
index 3c5a286f..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmax/minnowmax.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/minnowmaxB3/boot.conf b/common/recipes-bsp/rmc/boards/minnowmaxB3/boot.conf
deleted file mode 100644
index 577e5d6a..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmaxB3/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Minnow Max B3 boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot console=ttyS0,115200n8
diff --git a/common/recipes-bsp/rmc/boards/minnowmaxB3/install.conf b/common/recipes-bsp/rmc/boards/minnowmaxB3/install.conf
deleted file mode 100644
index cf500d6c..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmaxB3/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Minnow Max B3 install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi console=ttyS0,115200n8
diff --git a/common/recipes-bsp/rmc/boards/minnowmaxB3/minnowmaxB3.fp b/common/recipes-bsp/rmc/boards/minnowmaxB3/minnowmaxB3.fp
deleted file mode 100644
index ad3f0d6d..00000000
--- a/common/recipes-bsp/rmc/boards/minnowmaxB3/minnowmaxB3.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/mohonpeak/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/INSTALLER.CONFIG b/common/recipes-bsp/rmc/boards/mohonpeak/INSTALLER.CONFIG
deleted file mode 100644
index 8c5a7678..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/INSTALLER.CONFIG
+++ /dev/null
@@ -1,3 +0,0 @@
1# Keep rmc Mohonpeak boot.conf instead of meta-intel default
2efi_entry_dir:root:disk:770:/boot/loader/entries/
3boot.conf:root:disk:770:/boot/loader/entries/boot.conf
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/KBOOTPARAM b/common/recipes-bsp/rmc/boards/mohonpeak/KBOOTPARAM
deleted file mode 100644
index 169056ee..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1console=ttyS1,115200 console=tty1
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/POSTINSTALL.sh b/common/recipes-bsp/rmc/boards/mohonpeak/POSTINSTALL.sh
deleted file mode 100644
index 5f440c38..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/POSTINSTALL.sh
+++ /dev/null
@@ -1,3 +0,0 @@
1# Mohonpeak uses only S1 for serial, so remove S0 and S2
2sed -i '/start_getty.\+ttyS0/d' /tgt_root/etc/inittab
3sed -i '/start_getty.\+ttyS2/d' /tgt_root/etc/inittab
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/boot.conf b/common/recipes-bsp/rmc/boards/mohonpeak/boot.conf
deleted file mode 100644
index 5b7a0f63..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Mohon Peak boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/install.conf b/common/recipes-bsp/rmc/boards/mohonpeak/install.conf
deleted file mode 100644
index dde3497d..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title Mohon Peak Install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi rootwait
diff --git a/common/recipes-bsp/rmc/boards/mohonpeak/mohonpeak.fp b/common/recipes-bsp/rmc/boards/mohonpeak/mohonpeak.fp
deleted file mode 100644
index bc4bdae4..00000000
--- a/common/recipes-bsp/rmc/boards/mohonpeak/mohonpeak.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/BOOTENTRY.CONFIG b/common/recipes-bsp/rmc/boards/nucgen6/BOOTENTRY.CONFIG
deleted file mode 100644
index b2fabe82..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/BOOTENTRY.CONFIG
+++ /dev/null
@@ -1,2 +0,0 @@
1boot.conf
2install.conf
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/INSTALLER.CONFIG b/common/recipes-bsp/rmc/boards/nucgen6/INSTALLER.CONFIG
deleted file mode 100644
index 7d5378b2..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/INSTALLER.CONFIG
+++ /dev/null
@@ -1,6 +0,0 @@
1# This file specifies which file or dir RMC will install onto target.
2# Note the absolute path is referred from mount points in installation.
3efi_entry_dir:root:disk:770:/boot/loader/entries/
4boot.conf:root:disk:770:/boot/loader/entries/rmcboot.conf
5mylibdir:root:root:770:/tgt_root/etc/mylib/
6mylib.conf:root:root:660:/tgt_root/etc/mylib/mylib.conf
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM b/common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM
deleted file mode 100644
index 27943b49..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1i915.preliminary_hw_support=1
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/POSTINSTALL.sh b/common/recipes-bsp/rmc/boards/nucgen6/POSTINSTALL.sh
deleted file mode 100644
index bec3be42..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/POSTINSTALL.sh
+++ /dev/null
@@ -1,7 +0,0 @@
1# NUC Gen 6 specific retouch after RMC deployment
2
3# The generated inittab from OE build causes error messages:
4# "auth.err getty[615]: tcgetattr: Input/output error"
5# in /var/log/messages because NUC Gen 6 doesn't have any
6# serial tty. We delete line(s) here on target.
7sed -i '/start_getty.\+ttyS.*/d' /tgt_root/etc/inittab
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/boot.conf b/common/recipes-bsp/rmc/boards/nucgen6/boot.conf
deleted file mode 100644
index e6ecb029..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/boot.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title NUC Gen6 boot
2linux /vmlinuz
3initrd /initrd
4options LABEL=boot
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/install.conf b/common/recipes-bsp/rmc/boards/nucgen6/install.conf
deleted file mode 100644
index 916bb04b..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/install.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1title NUC Gen6 install
2linux /vmlinuz
3initrd /initrd
4options LABEL=install-efi
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/mylib.conf b/common/recipes-bsp/rmc/boards/nucgen6/mylib.conf
deleted file mode 100644
index fd8357c2..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/mylib.conf
+++ /dev/null
@@ -1,7 +0,0 @@
1# This is a demo conf file read by an imagined program or library
2# which reads this file at runtime to customize its behavior.
3# rmc will deploy it to the location specified in INSTALLER.CONFIG.
4
5lib.info = "V1.0 for rmc demo"
6lib.board = "NUC gen 6"
7prog.ui.layout = "minimal"
diff --git a/common/recipes-bsp/rmc/boards/nucgen6/nuc6.fp b/common/recipes-bsp/rmc/boards/nucgen6/nuc6.fp
deleted file mode 100644
index 834f800b..00000000
--- a/common/recipes-bsp/rmc/boards/nucgen6/nuc6.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/qemu-2.6/KBOOTPARAM b/common/recipes-bsp/rmc/boards/qemu-2.6/KBOOTPARAM
deleted file mode 100644
index 476b1fbe..00000000
--- a/common/recipes-bsp/rmc/boards/qemu-2.6/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1console=ttyS0,115200
diff --git a/common/recipes-bsp/rmc/boards/qemu-2.6/qemu-2.6.fp b/common/recipes-bsp/rmc/boards/qemu-2.6/qemu-2.6.fp
deleted file mode 100644
index e4c41657..00000000
--- a/common/recipes-bsp/rmc/boards/qemu-2.6/qemu-2.6.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/boards/qemu-2.8/KBOOTPARAM b/common/recipes-bsp/rmc/boards/qemu-2.8/KBOOTPARAM
deleted file mode 100644
index 476b1fbe..00000000
--- a/common/recipes-bsp/rmc/boards/qemu-2.8/KBOOTPARAM
+++ /dev/null
@@ -1 +0,0 @@
1console=ttyS0,115200
diff --git a/common/recipes-bsp/rmc/boards/qemu-2.8/qemu-2.8.fp b/common/recipes-bsp/rmc/boards/qemu-2.8/qemu-2.8.fp
deleted file mode 100644
index 7f28f37c..00000000
--- a/common/recipes-bsp/rmc/boards/qemu-2.8/qemu-2.8.fp
+++ /dev/null
Binary files differ
diff --git a/common/recipes-bsp/rmc/rmc-db.bb b/common/recipes-bsp/rmc/rmc-db.bb
deleted file mode 100644
index f24ed11c..00000000
--- a/common/recipes-bsp/rmc/rmc-db.bb
+++ /dev/null
@@ -1,49 +0,0 @@
1SUMMARY = "Central RMC Database"
2DESCRIPTION = "Generate a centralized RMC database for RMC feature. \
3Fingerprints and data for all boards supported are specified by variable \
4RMC_BOARD_DATA_DIRS which is a list of top directories that contains \
5subdirectories for boards. Developers can add their top directories by appending \
6them to this variable in a rmc-db.bbappend.Refer to rmc-db bbclass for more \
7information."
8
9LICENSE = "MIT"
10
11LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
12
13S = "${WORKDIR}"
14
15inherit rmc-db
16
17RMC_BOARD_DATA_DIRS ?= "${THISDIR}/boards/"
18RMC_DB_DIR = "${WORKDIR}/db"
19
20# Let sstate be aware of change in any added board directories
21do_generate_rmc_db[file-checksums] = "${@get_rmc_top_dirs_list(d)}"
22
23# derived from get_lic_checksum_file_list(d) in base.bbclass in OE
24def get_rmc_top_dirs_list(d):
25 dirlist = []
26 dirs = d.getVar("RMC_BOARD_DATA_DIRS", True) or ''
27 topdirs = dirs.split()
28 for each in topdirs:
29 dirlist.append(each + ":" + str(os.path.exists(each)))
30 return " ".join(dirlist)
31
32do_generate_rmc_db () {
33 rmc_generate_db "${RMC_BOARD_DATA_DIRS}" "${RMC_DB_DIR}"/rmc.db
34}
35
36addtask generate_rmc_db after do_compile
37
38inherit deploy
39
40do_deploy () {
41 if [ -f ${RMC_DB_DIR}/rmc.db ]; then
42 install -m 0400 ${RMC_DB_DIR}/rmc.db ${DEPLOYDIR}
43 else
44 rm -f ${DEPLOYDIR}/rmc.db
45 echo "Warning: no RMC central database found, skip deployment."
46 fi
47}
48
49addtask deploy after do_generate_rmc_db
diff --git a/common/recipes-bsp/rmc/rmc-efi.bb b/common/recipes-bsp/rmc/rmc-efi.bb
deleted file mode 100644
index 2a1c9a98..00000000
--- a/common/recipes-bsp/rmc/rmc-efi.bb
+++ /dev/null
@@ -1,40 +0,0 @@
1SUMMARY = "RMC (Runtime Machine Configuration) EFI library"
2
3DESCRIPTION = "The RMC EFI library adds RMC support to existing EFI bootloaders"
4
5LICENSE = "MIT"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=ade413c694d3aaefc9554b24a8814ee8"
8
9SRC_URI = "git://git.yoctoproject.org/rmc"
10
11SRCREV = "027ac76f642dcab1a9f237a00f03a3a714bd04b9"
12
13S = "${WORKDIR}/git"
14
15COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux*"
16
17TARGET_CFLAGS +="-Wl,--hash-style=both"
18
19EXTRA_OEMAKE = "RMC_INSTALL_PREFIX=${D}/${prefix} \
20 RMC_INSTALL_LIB_PATH=${D}${libdir} \
21 RMC_INSTALL_HEADER_PATH=${D}${includedir}/rmc"
22
23SECURITY_CFLAGS_remove_class-target = "-fstack-protector-strong"
24SECURITY_CFLAGS_append_class-target = " -fno-stack-protector"
25
26python () {
27 ccargs = d.getVar('TUNE_CCARGS').split()
28 if '-mx32' in ccargs:
29 ccargs.remove('-mx32')
30 ccargs.append('-m64')
31 d.setVar('TUNE_CCARGS', ' '.join(ccargs))
32}
33
34do_compile() {
35 oe_runmake -f Makefile.efi
36}
37
38do_install() {
39 oe_runmake -f Makefile.efi install
40}
diff --git a/common/recipes-bsp/rmc/rmc.bb b/common/recipes-bsp/rmc/rmc.bb
deleted file mode 100644
index 8797644b..00000000
--- a/common/recipes-bsp/rmc/rmc.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1SUMMARY = "RMC (Runtime Machine Configuration)"
2
3DESCRIPTION = "RMC project provides a tool and libraries to identify types \
4of hardware boards and access any file-based data specific to the board's \
5type at runtime in a centralized way. Software (clients) can have a generic \
6logic to query board-specific data from RMC without knowing the type of board. \
7This make it possible to have a generic software work running on boards which \
8require any quirks or customizations at a board or product level. \
9"
10
11LICENSE = "MIT"
12
13LIC_FILES_CHKSUM = "file://COPYING;md5=ade413c694d3aaefc9554b24a8814ee8"
14
15SRC_URI = "git://git.yoctoproject.org/rmc"
16
17SRCREV = "027ac76f642dcab1a9f237a00f03a3a714bd04b9"
18
19S = "${WORKDIR}/git"
20
21COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux*"
22
23TARGET_CFLAGS +="-Wl,--hash-style=both"
24
25EXTRA_OEMAKE = "RMC_INSTALL_PREFIX=${D}/${prefix} \
26 RMC_INSTALL_BIN_PATH=${D}${bindir} \
27 RMC_INSTALL_LIB_PATH=${D}${libdir} \
28 RMC_INSTALL_HEADER_PATH=${D}${includedir}/rmc"
29
30SECURITY_CFLAGS_remove_class-target = "-fstack-protector-strong"
31SECURITY_CFLAGS_append_class-target = " -fno-stack-protector"
32
33do_compile_class-target() {
34 oe_runmake
35}
36
37do_install() {
38 oe_runmake install
39}
40
41do_install_class-native() {
42 install -d ${D}${STAGING_BINDIR_NATIVE}
43 install -m 0755 ${S}/src/rmc ${D}${STAGING_BINDIR_NATIVE}
44}
45
46BBCLASSEXTEND = "native"
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch
deleted file mode 100644
index 8d0b6149..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 58669ad764767afea4de53f8a97357773b1855ef Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Tue, 25 Oct 2016 12:54:08 -0700
4Subject: [PATCH] efi/boot.c: workaround for Joule BIOS hang
5
6This patch should be removed when the BIOS is fixed
7
8Authored-by: Steve Sakoman <steve@sakoman.com>
9
10Upstream-Status: Inappropriate [machine specific workaround]
11Signed-off-by: Saul Wold <sgw@linux.intel.com>
12---
13 src/boot/efi/boot.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
17index 3dcd9a5..3c6ed8c 100644
18--- a/src/boot/efi/boot.c
19+++ b/src/boot/efi/boot.c
20@@ -649,7 +649,7 @@ static BOOLEAN menu_run(Config *config, ConfigEntry **chosen_entry, CHAR16 *load
21 }
22
23 /* timeout disabled, wait for next key */
24- wait = TRUE;
25+ wait = FALSE;
26 continue;
27 }
28
29--
302.7.4
31
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch
deleted file mode 100644
index 2f248e21..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From fe1c2fdfe81f2ac2b41fe8543ba07f1911770d26 Mon Sep 17 00:00:00 2001
2From: Jianxun Zhang <jianxun.zhang@linux.intel.com>
3Date: Sat, 21 May 2016 18:52:07 -0700
4Subject: [PATCH] sd-boot: Link RMC library into bootloader and stub
5
6Add RMC library into bootloader binary and stub.
7
8Upstream-Status: Pending
9
10Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
11---
12 Makefile.am | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/Makefile.am b/Makefile.am
16index 305099ab6..9fb6f9b7b 100644
17--- a/Makefile.am
18+++ b/Makefile.am
19@@ -2802,7 +2802,7 @@ $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(t
20
21 $(systemd_boot_solib): $(systemd_boot_objects)
22 $(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \
23- -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
24+ -o $@ -lefi -lgnuefi -lrmcefi $(shell $(CC) -print-libgcc-file-name); \
25 nm -D -u $@ | grep ' U ' && exit 1 || :
26
27 $(systemd_boot): $(systemd_boot_solib)
28@@ -2852,7 +2852,7 @@ $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(t
29
30 $(stub_solib): $(stub_objects)
31 $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \
32- -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
33+ -o $@ -lefi -lgnuefi -lrmcefi $(shell $(CC) -print-libgcc-file-name); \
34 nm -D -u $@ | grep ' U ' && exit 1 || :
35
36 $(stub): $(stub_solib)
37--
382.11.0
39
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch
deleted file mode 100644
index 69acc8f8..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 87cd5a5e0f06ceb7f9dbdcc4029e0c279a38e6ad Mon Sep 17 00:00:00 2001
2From: Mikko Ylinen <mikko.ylinen@linux.intel.com>
3Date: Mon, 27 Feb 2017 10:04:03 +0200
4Subject: [PATCH] sd-boot: stub: check LoadOptions contains data
5
6With some UEFI shells LoadOptionsSize is reported being > 0
7but the corresponding LoadOptions does not contain any data
8(the first element has value 0).
9
10When that happens, the stub feature that allows .cmdline to be
11replaced by what's in LoadOptions ends up copying nothing/random
12data to the kernel cmdline resulting in different kinds of boot
13problems.
14
15To fix this, add a check to see if LoadOptions contains data
16before replacing the .cmdline.
17
18Upstream-Status: Accepted [https://github.com/systemd/systemd/pull/5467]
19
20Fixes [YOCTO #11078].
21
22Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
23---
24 src/boot/efi/stub.c | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-)
26
27diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
28index 7c1ffb1bc..b7d5d3cda 100644
29--- a/src/boot/efi/stub.c
30+++ b/src/boot/efi/stub.c
31@@ -87,7 +87,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
32 cmdline_len = szs[0];
33
34 /* if we are not in secure boot mode, accept a custom command line and replace the built-in one */
35- if (!secure && loaded_image->LoadOptionsSize > 0) {
36+ if (!secure && loaded_image->LoadOptionsSize > 0 && *(CHAR16 *)loaded_image->LoadOptions != 0) {
37 CHAR16 *options;
38 CHAR8 *line;
39 UINTN i;
40--
412.11.0
42
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
deleted file mode 100644
index e88012c3..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
+++ /dev/null
@@ -1,250 +0,0 @@
1From a3c4fc8c2847fe289a617bcba1d905f580f0e18d Mon Sep 17 00:00:00 2001
2From: Jianxun Zhang <jianxun.zhang@linux.intel.com>
3Date: Wed, 1 Jun 2016 16:32:22 -0700
4Subject: [PATCH 2/3] sd-boot: Load board-specific boot entries from RMC
5 database
6
7RMC provides a centralized database file on ESP. The DB contains
8fingerprints and any file blobs associated to physical boards.
9Callers can fetch board-specific data with fingerprint info
10collected from board at runtime if there is any record matched
11board's fingerprint.
12
13To let bootloader know which file blob in RMC should be queried,
14a special config file BOOTENTRY.CONFIG is defined as:
15
16boot.conf
17install.conf
18
19Bootloader calls RMC APIs and other functions to perform these
20tasks before it shows boot menu to user:
21
22(1) Load RMC database file from ESP
23(2) Collect fingerprint data from board
24(3) Query BOOTENTRY.CONFIG from RMC DB with fingerprint
25(4) Parse BOOTENTRY.CONFIG to know names of boot entry files
26(5) Query boot entry files one by one from RMC DB, and add
27 them into sd-boot config data.
28
29The final effect is that bootloader will show board-specific
30boot entries in boot menu to user. User then can choose one
31of them to boot system with the selected configuration.
32
33If any of these steps fails, bootloader simply skips loading
34RMC configs or any entry file not successfully fetched from
35RMC DB. Once any entry is loaded successfully from RMC DB,
36bootloader skips loading any boot entries from ESP.
37
38Upstream-Status: Pending
39
40Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
41---
42 src/boot/efi/boot.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++-
43 1 file changed, 145 insertions(+), 2 deletions(-)
44
45diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
46index 30c1ead..d1b029b 100644
47--- a/src/boot/efi/boot.c
48+++ b/src/boot/efi/boot.c
49@@ -15,6 +15,7 @@
50
51 #include <efi.h>
52 #include <efilib.h>
53+#include <rmc_api.h>
54
55 #include "console.h"
56 #include "disk.h"
57@@ -33,6 +34,9 @@ static const char __attribute__((used)) magic[] = "#### LoaderInfo: systemd-boot
58
59 static const EFI_GUID global_guid = EFI_GLOBAL_VARIABLE;
60
61+static CHAR8* rmc_db;
62+static rmc_fingerprint_t *rmc_fp;
63+
64 enum loader_type {
65 LOADER_UNDEFINED,
66 LOADER_EFI,
67@@ -1702,6 +1706,136 @@ static VOID config_free(Config *config) {
68 FreePool(config->entry_oneshot);
69 }
70
71+/* Derived from line_get_key_value(), we could consolidate two functions later */
72+static CHAR8 *get_line(CHAR8 *content, UINT64 *pos) {
73+ CHAR8 *line;
74+ UINT64 linelen;
75+
76+skip:
77+ line = content + *pos;
78+ if (*line == '\0')
79+ return NULL;
80+
81+ linelen = 0;
82+ while (line[linelen] && !strchra((CHAR8 *)"\n\r", line[linelen]))
83+ linelen++;
84+
85+ /* move pos to next line */
86+ *pos += linelen;
87+ if (content[*pos])
88+ (*pos)++;
89+
90+ /* empty line */
91+ if (linelen == 0)
92+ goto skip;
93+
94+ /* terminate line */
95+ line[linelen] = '\0';
96+
97+ /* remove leading whitespace */
98+ while (strchra((CHAR8 *)" \t", *line)) {
99+ line++;
100+ linelen--;
101+ }
102+
103+ /* remove trailing whitespace */
104+ while (linelen > 0 && strchra((CHAR8 *)" \t", line[linelen-1]))
105+ linelen--;
106+ line[linelen] = '\0';
107+
108+ if (*line == '#')
109+ goto skip;
110+
111+ return line;
112+}
113+
114+/* load rmc database file from ESP and try to get fingerprint. These
115+ * are essential information indicating we could query rmc data for
116+ * this board at least
117+ * return 0 if both database file and fingerprint can be obtained, otherwise
118+ * non-zero value is returned.
119+ *
120+ * Note: db and fp hold valid values only when this function returns 0.
121+ * Caller is responsible to free allocated memory pointed by *db and *fp when
122+ * this function returns 0.
123+ */
124+
125+static UINTN rmc_initialize(EFI_FILE *root_dir, EFI_SYSTEM_TABLE *sys_table, CHAR8 **db, rmc_fingerprint_t **fp) {
126+ UINTN len;
127+ UINTN ret = 1;
128+
129+ if (!db || !fp)
130+ return ret;
131+
132+ *db = NULL;
133+ *fp = NULL;
134+
135+ /* load rmc database */
136+ len = file_read(root_dir, L"\\rmc.db", 0, 0, db);
137+
138+ if (len <= 0)
139+ goto done;
140+
141+ *fp = AllocateZeroPool(sizeof(rmc_fingerprint_t));
142+ /* call rmc to get fingerprint. We will use single-action rmc APIs to query multiple files.
143+ * This should bring a better performance than calling double-action rmc API every time.
144+ */
145+ if (rmc_get_fingerprint(sys_table, *fp))
146+ goto done;
147+
148+ ret = 0;
149+done:
150+ if (ret) {
151+ FreePool(*db);
152+ FreePool(*fp);
153+ }
154+
155+ return ret;
156+}
157+
158+/* load RMC entries
159+ * return TRUE when at least one entry is loaded, otherwise, return FALSE
160+ */
161+static BOOLEAN config_load_rmc_entries(Config *config, EFI_HANDLE *device, CHAR16 *loaded_image_path, CHAR8 *db, rmc_fingerprint_t *fp) {
162+ CHAR8 *boot_entry = NULL;
163+ CHAR8 *boot_config = NULL;
164+ rmc_file_t rp;
165+ CHAR8 *line;
166+ UINT64 pos = 0;
167+ BOOLEAN ret = FALSE;
168+
169+ if (!db || !fp)
170+ return ret;
171+
172+ /* query boot entry config file */
173+ if (rmc_query_file_by_fp(fp, db, "BOOTENTRY.CONFIG", &rp))
174+ return ret;
175+
176+ /* file blob read from rmc db is not necessarily null-terminated, and we
177+ * should keep mem where rmc db lives from change during parsing
178+ */
179+ boot_config = AllocatePool(rp.blob_len * sizeof(CHAR8) + 1);
180+ CopyMem(boot_config, rp.blob, rp.blob_len);
181+ boot_config[rp.blob_len] = '\0';
182+ /* parse boot entry config */
183+ while ((line = get_line(boot_config, &pos))) {
184+ if (rmc_query_file_by_fp(fp, db, (char *)line, &rp))
185+ continue;
186+ if (rp.blob_len > 0) {
187+ boot_entry = AllocatePool(rp.blob_len * sizeof(CHAR8) + 1);
188+ CopyMem(boot_entry, rp.blob, rp.blob_len);
189+ boot_entry[rp.blob_len] = '\0';
190+ config_entry_add_from_file(config, device,
191+ stra_to_str(line), boot_entry,
192+ loaded_image_path);
193+ /* tell caller success when a RMC entry is loaded */
194+ ret = TRUE;
195+ }
196+ }
197+
198+ return ret;
199+}
200+
201 EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
202 CHAR16 *s;
203 CHAR8 *b;
204@@ -1714,6 +1848,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
205 UINT64 init_usec;
206 BOOLEAN menu = FALSE;
207 CHAR16 uuid[37];
208+ BOOLEAN rmc_entry = FALSE;
209
210 InitializeLib(image, sys_table);
211 init_usec = time_usec();
212@@ -1745,6 +1880,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
213 return EFI_LOAD_ERROR;
214 }
215
216+ /* Initialize rmc before loading any config */
217+ rmc_initialize(root_dir, sys_table, &rmc_db, &rmc_fp);
218
219 /* the filesystem path to this image, to prevent adding ourselves to the menu */
220 loaded_image_path = DevicePathToStr(loaded_image->FilePath);
221@@ -1753,11 +1890,15 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
222 ZeroMem(&config, sizeof(Config));
223 config_load_defaults(&config, root_dir);
224
225+ if (rmc_db && rmc_fp)
226+ rmc_entry = config_load_rmc_entries(&config, loaded_image->DeviceHandle, loaded_image_path, rmc_db, rmc_fp);
227+
228 /* scan /EFI/Linux/ directory */
229 config_entry_add_linux(&config, loaded_image, root_dir);
230
231- /* scan /loader/entries/\*.conf files */
232- config_load_entries(&config, loaded_image->DeviceHandle, root_dir, loaded_image_path);
233+ /* scan /loader/entries/\*.conf files only when no RMC entry is loaded */
234+ if (rmc_entry == FALSE)
235+ config_load_entries(&config, loaded_image->DeviceHandle, root_dir, loaded_image_path);
236
237 /* sort entries after version number */
238 config_sort_entries(&config);
239@@ -1851,6 +1992,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
240 out:
241 FreePool(loaded_image_path);
242 config_free(&config);
243+ FreePool(rmc_db);
244+ FreePool(rmc_fp);
245 uefi_call_wrapper(root_dir->Close, 1, root_dir);
246 uefi_call_wrapper(BS->CloseProtocol, 4, image, &LoadedImageProtocol, image, NULL);
247 return err;
248--
2492.7.4
250
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch
deleted file mode 100644
index a4b63557..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From 1e33f99e13a70c19c1f63f6ef1c5522a09adece6 Mon Sep 17 00:00:00 2001
2From: Jianxun Zhang <jianxun.zhang@linux.intel.com>
3Date: Mon, 20 Jun 2016 13:08:20 -0700
4Subject: [PATCH 3/3] sd-boot: Support global kernel command line fragment
5
6Query file blob KBOOTPARAM from RMC. If it exists, we append
7it to the new linux boot entry's cmdline. A boot entry could
8be read from a .conf file on ESP, RMC database, or embedded
9linux image. content in KBOOTPARAM is effective in all of
10these cases.
11
12Upstream-Status: Pending
13
14Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
15---
16 src/boot/efi/boot.c | 34 ++++++++++++++++++++++++++++++++++
17 1 file changed, 34 insertions(+)
18
19diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
20index d1b029b..8dffc48 100644
21--- a/src/boot/efi/boot.c
22+++ b/src/boot/efi/boot.c
23@@ -846,6 +846,40 @@ static VOID config_add_entry(Config *config, ConfigEntry *entry) {
24 config->entries = ReallocatePool(config->entries,
25 sizeof(VOID *) * config->entry_count, sizeof(VOID *) * i);
26 }
27+
28+ /* rmc: a linux entry could be added from .conf file or an embedded linux image
29+ * we put appending global command line here to cover both of two cases.
30+ */
31+ if (entry->type == LOADER_LINUX && rmc_db && rmc_fp) {
32+ rmc_file_t rmc_kp;
33+
34+ if (!rmc_query_file_by_fp(rmc_fp, rmc_db, "KBOOTPARAM", &rmc_kp)) {
35+ CHAR8 *cmdline;
36+ CHAR16 *s;
37+ CHAR16 *t;
38+ CHAR16 *p;
39+
40+ cmdline = AllocatePool(rmc_kp.blob_len * sizeof(CHAR8) + 1);
41+ CopyMem(cmdline, rmc_kp.blob, rmc_kp.blob_len);
42+ cmdline[rmc_kp.blob_len] = '\0';
43+ p = stra_to_str(cmdline);
44+ t = p;
45+
46+ while (*t) {
47+ if (*t == '\n')
48+ *t = '\0';
49+ t++;
50+ }
51+
52+ s = PoolPrint(L"%s %s", entry->options, p);
53+ FreePool(entry->options);
54+ FreePool(p);
55+ FreePool(cmdline);
56+
57+ entry->options = s;
58+ }
59+ }
60+
61 config->entries[config->entry_count++] = entry;
62 }
63
64--
652.7.4
66
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch b/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
deleted file mode 100644
index 75082693..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
+++ /dev/null
@@ -1,81 +0,0 @@
1From 4cb9c65ea9c0eba3ba04d036dccd4a5ab3d2547b Mon Sep 17 00:00:00 2001
2From: Mikko Ylinen <mikko.ylinen@intel.com>
3Date: Fri, 27 Jan 2017 13:31:45 +0200
4Subject: [PATCH] sd-boot: support global kernel command line in EFI stub
5
6This change integrates rmc into EFI stub and supports a
7global fragment (RMC KBOOTPARAM) that is appended to the
8cmdline at boot.
9
10The fragment is board-specific and read from the database.
11
12Implements [YOCTO #10924].
13
14Upstream-status: Pending
15
16Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
17---
18 src/boot/efi/stub.c | 33 +++++++++++++++++++++++++++++++++
19 1 file changed, 33 insertions(+)
20
21diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
22index 1e250f34f..f3865199f 100644
23--- a/src/boot/efi/stub.c
24+++ b/src/boot/efi/stub.c
25@@ -13,6 +13,7 @@
26
27 #include <efi.h>
28 #include <efilib.h>
29+#include <rmc_api.h>
30
31 #include "disk.h"
32 #include "graphics.h"
33@@ -48,6 +49,9 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
34 UINTN cmdline_len;
35 CHAR16 uuid[37];
36 EFI_STATUS err;
37+ INTN len;
38+ CHAR8 *rmc_db = NULL;
39+ rmc_file_t rmc_file;
40
41 InitializeLib(image, sys_table);
42
43@@ -112,6 +116,35 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
44 #endif
45 }
46
47+ len = file_read(root_dir, L"\\rmc.db", 0, 0, &rmc_db);
48+ if (len <= 0)
49+ rmc_db = NULL;
50+
51+ /* If the board has a fragment in rmc database, append it to the cmdline */
52+ if (rmc_db && !rmc_gimme_file(sys_table, rmc_db, "KBOOTPARAM", &rmc_file)) {
53+ CHAR8 *line;
54+ UINTN i = 0;
55+ UINTN j;
56+
57+ line = AllocatePool(rmc_file.blob_len + cmdline_len + 2);
58+
59+ while (i < cmdline_len && cmdline[i] != '\0') {
60+ line[i] = cmdline[i];
61+ i++;
62+ }
63+
64+ line[i++] = ' ';
65+
66+ for (j=0; j < rmc_file.blob_len; j++)
67+ line[i+j] = rmc_file.blob[j];
68+ line[i+j] = '\0';
69+
70+ cmdline = line;
71+ cmdline_len = i + j;
72+
73+ FreePool(rmc_db);
74+ }
75+
76 /* export the device path this image is started from */
77 if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS)
78 efivar_set(L"LoaderDevicePartUUID", uuid, FALSE);
79--
802.11.0
81
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc b/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc
deleted file mode 100644
index 1172d53d..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc
+++ /dev/null
@@ -1,12 +0,0 @@
1DEPENDS_append_intel-x86-common = " rmc rmc-efi"
2
3EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"'
4
5SRC_URI_append_intel-x86-common = " \
6 file://0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch \
7 file://0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch \
8 file://0003-sd-boot-Support-global-kernel-command-line-fragment.patch \
9 file://0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch \
10 file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \
11 file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
12 "
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc b/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc
deleted file mode 100644
index fcce6ce1..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc
+++ /dev/null
@@ -1,7 +0,0 @@
1EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" '
2
3SRC_URI_append_intel-x86-common = " \
4 file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \
5 file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
6 "
7
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend b/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend
deleted file mode 100644
index 557c0493..00000000
--- a/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/systemd-boot:"
2
3# Pin systemd revision down for systemd-boot recipe.
4# Patches could not be applied cleanly when systemd in OE is updated,
5# though we don't expect a lot of changes could happen in bootloader.
6# RMC is designed to support a large number of types of boards, so we
7# should do explicit update with validation to prevent regression even
8# resolving conflicts for a new tip could be done in a short time.
9
10# Revision: systemd v232 in OE
11SRCREV_intel-x86-common = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c"
12
13include systemd-boot/${EFI_PROVIDER}.inc
14
15PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}"
16
17do_compile_append_intel-x86-common() {
18 oe_runmake linux${SYSTEMD_BOOT_EFI_ARCH}.efi.stub
19}
20
21do_deploy_append_intel-x86-common() {
22 install ${B}/linux*.efi.stub ${DEPLOYDIR}
23}
diff --git a/common/recipes-bsp/thermald/thermald_1.6.bb b/common/recipes-bsp/thermald/thermald_1.6.bb
deleted file mode 100644
index e6cbb621..00000000
--- a/common/recipes-bsp/thermald/thermald_1.6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "Linux thermal daemon"
2
3DESCRIPTION = "Thermal Daemon is a Linux daemon used to prevent the \
4overheating of platforms. This daemon monitors temperature and applies \
5compensation using available cooling methods."
6
7HOMEPAGE = "https://github.com/01org/thermal_daemon"
8
9DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native"
10DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
11DEPENDS_append_libc-musl = " argp-standalone"
12DEPENDS_append_toolchain-clang = " openmp"
13LICENSE = "GPL-2.0"
14LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
15
16SRC_URI = "git://github.com/intel/thermal_daemon/"
17SRCREV = "5f1be4d9d6f3b27d2c9884f833ca05cdcb4428e0"
18S = "${WORKDIR}/git"
19
20inherit pkgconfig autotools systemd
21
22FILES_${PN} += "${datadir}/dbus-1/system-services/*.service"
23
24SYSTEMD_SERVICE_${PN} = "thermald.service"
25
26COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
27
28CONFFILES_${PN} = " \
29 ${sysconfdir}/thermald/thermal-conf.xml \
30 ${sysconfdir}/thermald/thermal-cpu-cdev-order.xml \
31 "
32
33UPSTREAM_CHECK_URI = "https://github.com/01org/thermal_daemon/releases"
diff --git a/common/recipes-core/images/core-image-minimal-initramfs.bbappend b/common/recipes-core/images/core-image-minimal-initramfs.bbappend
deleted file mode 100644
index 4ddca375..00000000
--- a/common/recipes-core/images/core-image-minimal-initramfs.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
1# Use initramfs-framework instead of initramfs-live*
2PACKAGE_INSTALL_remove_intel-x86-common = "initramfs-live-boot initramfs-live-install initramfs-live-install-efi"
3PACKAGE_INSTALL_append_intel-x86-common = " initramfs-framework-base initramfs-module-udev initramfs-module-setup-live initramfs-module-install-efi"
4
5# Add i915 graphics firmware
6PACKAGE_INSTALL_append_intel-x86-common = " linux-firmware-i915"
diff --git a/common/recipes-core/images/core-image-tiny.bb b/common/recipes-core/images/core-image-tiny.bb
deleted file mode 100644
index ed39fd77..00000000
--- a/common/recipes-core/images/core-image-tiny.bb
+++ /dev/null
@@ -1,37 +0,0 @@
1SUMMARY = "A tiny image just capable of allowing a device to boot from RAM, \
2this image recipe generates an image file which rather boots from initrd than \
3from storage, it achieves this by using wic to pick up the artifacts generated \
4by the core-image-tiny-initramfs image"
5
6# The actual rootfs/initrd will be the one from core-image-tiny-initramfs, so
7# we reset IMAGE_INSTALL to avoid building other things that will be pointless
8IMAGE_INSTALL = ""
9
10# Do not pollute the initrd image with rootfs features
11IMAGE_FEATURES = ""
12
13IMAGE_LINGUAS = " "
14
15LICENSE = "MIT"
16
17IMAGE_ROOTFS_SIZE ?= "8192"
18
19IMAGE_FSTYPES = "wic"
20inherit core-image
21
22# We get some parts from image-live that we need in order to boot from initrd
23INITRD_IMAGE_LIVE ?= "core-image-tiny-initramfs"
24
25python() {
26 image_b = d.getVar('IMAGE_BASENAME')
27 initrd_i = d.getVar('INITRD_IMAGE_LIVE')
28 if image_b == initrd_i:
29 bb.error('INITRD_IMAGE_LIVE %s cannot use the requested IMAGE_FSTYPE' % initrd_i)
30 bb.fatal('Check IMAGE_FSTYPES and INITRAMFS_FSTYPES settings.')
31 elif initrd_i:
32 d.appendVarFlag('do_image', 'depends', ' %s:do_image_complete' % initrd_i)
33}
34
35WKS_FILE_intel-corei7-64 = "core-image-tiny.wks.in"
36WKS_FILE_intel-core2-32 = "core-image-tiny.wks.in"
37WKS_FILE_intel-quark = "mktinygalileodisk.wks"
diff --git a/common/recipes-core/initrdscripts/files/intel-x86-common/init-install-efi.sh b/common/recipes-core/initrdscripts/files/intel-x86-common/init-install-efi.sh
deleted file mode 100644
index a7a2ad4c..00000000
--- a/common/recipes-core/initrdscripts/files/intel-x86-common/init-install-efi.sh
+++ /dev/null
@@ -1,342 +0,0 @@
1#!/bin/sh -e
2#
3# Copyright (c) 2016, Intel Corporation.
4# All rights reserved.
5#
6# install.sh [device_name] [rootfs_name]
7#
8# This file is a copy of file with same name in OE:
9# meta/recipes-core/initrdscripts/files/. We modify
10# it for RMC feature to deploy file blobs from RMC
11# database file to target.
12
13PATH=/sbin:/bin:/usr/sbin:/usr/bin
14
15# We need 20 Mb for the boot partition
16boot_size=20
17
18# 5% for swap
19swap_ratio=5
20
21# Get a list of hard drives
22hdnamelist=""
23live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'`
24live_dev_name=${live_dev_name#\/dev/}
25# Only strip the digit identifier if the device is not an mmc
26case $live_dev_name in
27 mmcblk*)
28 ;;
29 nvme*)
30 ;;
31 *)
32 live_dev_name=${live_dev_name%%[0-9]*}
33 ;;
34esac
35
36echo "Searching for hard drives ..."
37
38for device in `ls /sys/block/`; do
39 case $device in
40 loop*)
41 # skip loop device
42 ;;
43 sr*)
44 # skip CDROM device
45 ;;
46 ram*)
47 # skip ram device
48 ;;
49 *)
50 # skip the device LiveOS is on
51 # Add valid hard drive name to the list
52 case $device in
53 $live_dev_name*)
54 # skip the device we are running from
55 ;;
56 *)
57 hdnamelist="$hdnamelist $device"
58 ;;
59 esac
60 ;;
61 esac
62done
63
64if [ -z "${hdnamelist}" ]; then
65 echo "You need another device (besides the live device /dev/${live_dev_name}) to install the image. Installation aborted."
66 exit 1
67fi
68
69TARGET_DEVICE_NAME=""
70for hdname in $hdnamelist; do
71 # Display found hard drives and their basic info
72 echo "-------------------------------"
73 echo /dev/$hdname
74 if [ -r /sys/block/$hdname/device/vendor ]; then
75 echo -n "VENDOR="
76 cat /sys/block/$hdname/device/vendor
77 fi
78 if [ -r /sys/block/$hdname/device/model ]; then
79 echo -n "MODEL="
80 cat /sys/block/$hdname/device/model
81 fi
82 if [ -r /sys/block/$hdname/device/uevent ]; then
83 echo -n "UEVENT="
84 cat /sys/block/$hdname/device/uevent
85 fi
86 echo
87done
88
89# Get user choice
90while true; do
91 echo "Please select an install target or press n to exit ($hdnamelist ): "
92 read answer
93 if [ "$answer" = "n" ]; then
94 echo "Installation manually aborted."
95 exit 1
96 fi
97 for hdname in $hdnamelist; do
98 if [ "$answer" = "$hdname" ]; then
99 TARGET_DEVICE_NAME=$answer
100 break
101 fi
102 done
103 if [ -n "$TARGET_DEVICE_NAME" ]; then
104 break
105 fi
106done
107
108if [ -n "$TARGET_DEVICE_NAME" ]; then
109 echo "Installing image on /dev/$TARGET_DEVICE_NAME ..."
110else
111 echo "No hard drive selected. Installation aborted."
112 exit 1
113fi
114
115device=/dev/$TARGET_DEVICE_NAME
116
117#
118# The udev automounter can cause pain here, kill it
119#
120rm -f /etc/udev/rules.d/automount.rules
121rm -f /etc/udev/scripts/mount*
122
123#
124# Unmount anything the automounter had mounted
125#
126umount ${device}* 2> /dev/null || /bin/true
127
128mkdir -p /tmp
129
130# Create /etc/mtab if not present
131if [ ! -e /etc/mtab ]; then
132 cat /proc/mounts > /etc/mtab
133fi
134
135disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//")
136
137swap_size=$((disk_size*swap_ratio/100))
138rootfs_size=$((disk_size-boot_size-swap_size))
139
140rootfs_start=$((boot_size))
141rootfs_end=$((rootfs_start+rootfs_size))
142swap_start=$((rootfs_end))
143
144# MMC devices are special in a couple of ways
145# 1) they use a partition prefix character 'p'
146# 2) they are detected asynchronously (need rootwait)
147rootwait=""
148part_prefix=""
149if [ ! "${device#/dev/mmcblk}" = "${device}" ] || \
150[ ! "${device#/dev/nvme}" = "${device}" ]; then
151 part_prefix="p"
152 rootwait="rootwait"
153fi
154bootfs=${device}${part_prefix}1
155rootfs=${device}${part_prefix}2
156swap=${device}${part_prefix}3
157
158echo "*****************"
159echo "Boot partition size: $boot_size MB ($bootfs)"
160echo "Rootfs partition size: $rootfs_size MB ($rootfs)"
161echo "Swap partition size: $swap_size MB ($swap)"
162echo "*****************"
163echo "Deleting partition table on ${device} ..."
164dd if=/dev/zero of=${device} bs=512 count=35
165
166echo "Creating new partition table on ${device} ..."
167parted ${device} mklabel gpt
168
169echo "Creating boot partition on $bootfs"
170parted ${device} mkpart boot fat32 0% $boot_size
171parted ${device} set 1 boot on
172
173echo "Creating rootfs partition on $rootfs"
174parted ${device} mkpart root ext3 $rootfs_start $rootfs_end
175
176echo "Creating swap partition on $swap"
177parted ${device} mkpart swap linux-swap $swap_start 100%
178
179parted ${device} print
180
181echo "Formatting $bootfs to vfat..."
182mkfs.vfat $bootfs
183
184echo "Formatting $rootfs to ext3..."
185mkfs.ext3 $rootfs
186
187echo "Formatting swap partition...($swap)"
188mkswap $swap
189
190mkdir /tgt_root
191mkdir /src_root
192mkdir -p /boot
193
194# Handling of the target root partition
195mount $rootfs /tgt_root
196mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root
197echo "Copying rootfs files..."
198cp -a /src_root/* /tgt_root
199if [ -d /tgt_root/etc/ ] ; then
200 boot_uuid=$(blkid -o value -s UUID ${bootfs})
201 swap_part_uuid=$(blkid -o value -s PARTUUID ${swap})
202 echo "/dev/disk/by-partuuid/$swap_part_uuid swap swap defaults 0 0" >> /tgt_root/etc/fstab
203 echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab
204 # We dont want udev to mount our root device while we're booting...
205 if [ -d /tgt_root/etc/udev/ ] ; then
206 echo "${device}" >> /tgt_root/etc/udev/mount.blacklist
207 fi
208fi
209
210# Handling of the target boot partition
211mount $bootfs /boot
212echo "Preparing boot partition..."
213
214EFIDIR="/boot/EFI/BOOT"
215mkdir -p $EFIDIR
216# Copy the efi loader
217cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR
218
219# RMC deployment
220RMC_CMD=/src_root/usr/bin/rmc
221RMC_DB=/run/media/$1/rmc.db
222
223# We don't want to quit when a step failed. For example,
224# a file system could not support some operations.
225set +e
226
227if [ -f "${RMC_DB}" ] && [ -f "${RMC_CMD}" ]; then
228 echo "Found RMC database and tool, start RMC deployment"
229 # query INSTALLER.CONFIG from RMC DB
230 if ${RMC_CMD} -B INSTALLER.CONFIG -d "${RMC_DB}" -o /tmp/installer.config; then
231 while IFS=':' read -r NAME TGT_UID TGT_GID TGT_MODE TGT_PATH; do
232 # skip comment
233 # The regexp in grep works with busybox grep which doesn't
234 # seem to have a -P to recognize '\t'. But this expression could not
235 # work with gnu grep...
236 if echo "$NAME"|grep -q $'^[ \t]*#'; then
237 continue
238 fi
239 # check if we should create a directory (last char in target path is '/')
240 # or deploy a file
241 LAST_CHAR=$(echo "${TGT_PATH:$((${#TGT_PATH}-1)):1}")
242
243 # Do not bail out for failures but user should get stderr message
244 if [ ${LAST_CHAR} = "/" ]; then
245 # name field is skipped for directory
246 echo "DIR: ${TGT_UID}:${TGT_GID}:${TGT_MODE} => ${TGT_PATH}"
247 mkdir -p "$TGT_PATH"
248 chown "${TGT_UID}:${TGT_GID}" "$TGT_PATH"
249 chmod "${TGT_MODE}" "$TGT_PATH"
250 else
251 ${RMC_CMD} -B "${NAME}" -d "${RMC_DB}" -o "${TGT_PATH}"
252 echo "FILE: ${NAME}:${TGT_UID}:${TGT_GID}:${TGT_MODE} => ${TGT_PATH}"
253 chown "${TGT_UID}:${TGT_GID}" "$TGT_PATH"
254 chmod "${TGT_MODE}" "$TGT_PATH"
255 fi
256 done < /tmp/installer.config
257 rm -rf /tmp/installer.config
258
259 # remove rmc from target since we don't think it is a valid
260 # case to run rmc after installation.
261 rm -rf /tgt_root/usr/bin/rmc
262 echo "RMC deployment finished"
263 else
264 echo "INSTALLER.CONFIG is not found, skip RMC deployment"
265 fi
266
267 # Final retouching by calling post-install hook
268 if ${RMC_CMD} -B POSTINSTALL.sh -d "${RMC_DB}" -o /tmp/POSTINSTALL.sh; then
269 echo "Found POSTINSTALL.sh execute it..."
270 chmod 500 /tmp/POSTINSTALL.sh
271 /tmp/POSTINSTALL.sh
272 rm -rf /tmp/POSTINSTALL.sh
273 fi
274fi
275set -e
276
277if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then
278 root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs})
279 GRUBCFG="$EFIDIR/grub.cfg"
280 cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG
281 # Update grub config for the installed image
282 # Delete the install entry
283 sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG
284 # Delete the initrd lines
285 sed -i "/initrd /d" $GRUBCFG
286 # Delete any LABEL= strings
287 sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG
288 # Delete any root= strings
289 sed -i "s/ root=[^ ]*/ /g" $GRUBCFG
290 # Add the root= and other standard boot options
291 sed -i "s@linux /vmlinuz *@linux /vmlinuz root=PARTUUID=$root_part_uuid rw $rootwait quiet @" $GRUBCFG
292fi
293
294if [ -d /run/media/$1/loader ]; then
295 rootuuid=$(blkid -o value -s PARTUUID ${rootfs})
296 GUMMIBOOT_CFGS="/boot/loader/entries/*.conf"
297 if [ -d /boot/loader ]; then
298 # Don't override loader.conf RMC already deployed
299 if [ ! -f /boot/loader/loader.conf ]; then
300 cp /run/media/$1/loader/loader.conf /boot/loader/
301 fi
302 # only copy built OE entries when RMC entries don't exist.
303 if [ ! -d /boot/loader/entries ] || [ ! ls /boot/loader/entries/*.conf &>/dev/null ]; then
304 cp -dr /run/media/$1/loader/entries /boot/loader
305 fi
306 else
307 # copy config files for gummiboot
308 cp -dr /run/media/$1/loader /boot
309 # delete the install entry
310 rm -f /boot/loader/entries/install.conf
311 fi
312 # delete the initrd lines
313 sed -i "/initrd /d" $GUMMIBOOT_CFGS
314 # delete any LABEL= strings
315 sed -i "s/ LABEL=[^ ]*/ /" $GUMMIBOOT_CFGS
316 # delete any root= strings
317 sed -i "s/ root=[^ ]*/ /" $GUMMIBOOT_CFGS
318 # add the root= and other standard boot options
319 sed -i "s@options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $GUMMIBOOT_CFGS
320 # if RMC feature presents, append global kernel command line fragment when it exists.
321 if [ -f "${RMC_DB}" ] && [ -f "${RMC_CMD}" ]; then
322 if ${RMC_CMD} -B KBOOTPARAM -d "${RMC_DB}" -o /tmp/kbootparam; then
323 sed -i "/^[ \t]*options/ s/$/ $(cat /tmp/kbootparam)/" $GUMMIBOOT_CFGS
324 rm /tmp/kbootparam
325 fi
326 fi
327fi
328
329cp /run/media/$1/vmlinuz /boot
330
331umount /src_root
332umount /tgt_root
333umount /boot
334
335sync
336
337echo "Remove your installation media, and press ENTER"
338
339read enter
340
341echo "Rebooting..."
342reboot -f
diff --git a/common/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend b/common/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend
deleted file mode 100644
index 0b3a1d3d..00000000
--- a/common/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:"
2PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}"
diff --git a/common/recipes-core/microcode/intel-microcode_20170707.bb b/common/recipes-core/microcode/intel-microcode_20170707.bb
deleted file mode 100644
index 2244088b..00000000
--- a/common/recipes-core/microcode/intel-microcode_20170707.bb
+++ /dev/null
@@ -1,66 +0,0 @@
1SUMMARY = "Intel Processor Microcode Datafile for Linux"
2HOMEPAGE = "http://www.intel.com/"
3DESCRIPTION = "The microcode data file contains the latest microcode\
4 definitions for all Intel processors. Intel releases microcode updates\
5 to correct processor behavior as documented in the respective processor\
6 specification updates. While the regular approach to getting this microcode\
7 update is via a BIOS upgrade, Intel realizes that this can be an\
8 administrative hassle. The Linux operating system and VMware ESX\
9 products have a mechanism to update the microcode after booting.\
10 For example, this file will be used by the operating system mechanism\
11 if the file is placed in the /etc/firmware directory of the Linux system."
12
13LICENSE = "Intel-Microcode-License"
14LIC_FILES_CHKSUM = "file://microcode.dat;md5=e5b1dc41901d2de706d4bccee94bbadc"
15
16SRC_URI = "https://downloadmirror.intel.com/26925/eng/microcode-${PV}.tgz"
17SRC_URI[md5sum] = "fe4bcb12e4600629a81fb65208c34248"
18SRC_URI[sha256sum] = "4fd44769bf52a7ac11e90651a307aa6e56ca6e1a814e50d750ba8207973bee93"
19
20DEPENDS = "iucode-tool-native"
21S = "${WORKDIR}"
22
23COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
24PACKAGE_ARCH = "${MACHINE_ARCH}"
25
26inherit deploy
27
28# Use any of the iucode_tool parameters to filter specific microcodes from the data file
29# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool
30UCODE_FILTER_PARAMETERS ?= ""
31
32do_compile() {
33 mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode
34 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
35 ${UCODE_FILTER_PARAMETERS} \
36 --overwrite \
37 --write-to=${WORKDIR}/microcode_${PV}.bin \
38 ${WORKDIR}/microcode.dat
39
40 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
41 ${UCODE_FILTER_PARAMETERS} \
42 --overwrite \
43 --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \
44 ${WORKDIR}/microcode.dat
45}
46
47do_install() {
48 install -d ${D}${base_libdir}/firmware/intel-ucode/
49 install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/
50 cd ${D}${base_libdir}/firmware/intel-ucode/
51 ln -sf microcode_${PV}.bin microcode.bin
52}
53
54do_deploy() {
55 install -d ${DEPLOYDIR}
56 install ${S}/microcode_${PV}.cpio ${DEPLOYDIR}/
57 cd ${DEPLOYDIR}
58 rm -f microcode.cpio
59 ln -sf microcode_${PV}.cpio microcode.cpio
60}
61
62addtask deploy before do_build after do_compile
63
64PACKAGES = "${PN}"
65
66FILES_${PN} = "${base_libdir}"
diff --git a/common/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch b/common/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch
deleted file mode 100644
index ca97d2ab..00000000
--- a/common/recipes-core/microcode/iucode-tool/0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 5f6826b3a59dedf508d5a6122362d69a4813e8e6 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Fri, 3 Feb 2017 16:08:51 -0800
4Subject: [PATCH] Makefile.am: Add arg-parse library for MUSL support
5
6iucode-tool needs argp-standalone when used with MUSL, so add this
7patch to the Makefile to link with argp
8
9Upstream-Status: Pending
10Signed-off-by: Saul Wold <sgw@linux.intel.com>
11---
12 Makefile.am | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/Makefile.am b/Makefile.am
16index 415a241..764fb61 100644
17--- a/Makefile.am
18+++ b/Makefile.am
19@@ -5,6 +5,7 @@
20 sbin_PROGRAMS = iucode_tool
21 man_MANS = iucode_tool.8
22
23+iucode_tool_LDADD = -largp
24 iucode_tool_SOURCES = intel_microcode.h intel_microcode.c iucode_tool.c
25 EXTRA_DIST = autogen.sh CONTRIBUTING
26
27--
282.7.4
29
diff --git a/common/recipes-core/microcode/iucode-tool_2.1.2.bb b/common/recipes-core/microcode/iucode-tool_2.1.2.bb
deleted file mode 100644
index e1fb56f4..00000000
--- a/common/recipes-core/microcode/iucode-tool_2.1.2.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "Update Intel CPU microcode"
2
3DESCRIPTION = "iucode_tool is a program to manipulate Intel i686 and X86-64\
4 processor microcode update collections, and to use the kernel facilities to\
5 update the microcode on Intel system processors. It can load microcode data\
6 files in text and binary format, sort, list and filter the microcode updates\
7 contained in these files, write selected microcode updates to a new file in\
8 binary format, or upload them to the kernel. \
9 It operates on microcode data downloaded directly from Intel:\
10 http://feeds.downloadcenter.intel.com/rss/?p=2371\
11"
12HOMEPAGE = "https://gitlab.com/iucode-tool/"
13BUGTRACKER = "https://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=iucode-tool;repeatmerged=0"
14
15LICENSE = "GPLv2+"
16LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
17 file://iucode_tool.c;beginline=1;endline=15;md5=5d8e3639c3b6a80e7d5e0e073933da16"
18
19DEPENDS_append_libc-musl = " argp-standalone"
20
21SRC_URI = "https://gitlab.com/iucode-tool/releases/raw/master/iucode-tool_${PV}.tar.xz"
22SRC_URI_append_libc-musl = " file://0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch"
23
24SRC_URI[md5sum] = "c6f131a0b69443f5498782a2335973fa"
25SRC_URI[sha256sum] = "01f1c02ba6935e0ac8440fb594c2ef57ce4437fcbce539e3ef329f55a6fd71ab"
26
27inherit autotools
28
29BBCLASSEXTEND = "native"
30
31COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
32
33UPSTREAM_CHECK_URI = "https://gitlab.com/iucode-tool/releases"
diff --git a/common/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch b/common/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch
deleted file mode 100644
index 62db0633..00000000
--- a/common/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch
+++ /dev/null
@@ -1,105 +0,0 @@
1From 48e511481d83c1614cd00a5a2edcf6b5d746b9c4 Mon Sep 17 00:00:00 2001
2From: Mikko Ylinen <mikko.ylinen@linux.intel.com>
3Date: Fri, 7 Apr 2017 12:06:14 +0300
4Subject: [PATCH] ovmf: RefkitTestCA: TEST UEFI SecureBoot
5
6This patch adds refkit-db.cer (via xxd -i) in OVMF's db
7signature database when used with EnrollDefaultKeys EFI
8application. It's used for testing purposes only.
9
10Images signed with refkit-db keys are allowed to boot.
11
12Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
13---
14 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 68 +++++++++++++++++++++++++++
15 1 file changed, 68 insertions(+)
16
17diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
18index 24ab977..a3c12ba 100644
19--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
20+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
21@@ -516,6 +516,73 @@ STATIC CONST UINT8 MicrosoftUefiCA[] = {
22 0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58
23 };
24
25+STATIC CONST UINT8 RefkitTestCA[] = {
26+ 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01,
27+ 0x02, 0x02, 0x09, 0x00, 0xd4, 0xf6, 0x48, 0xc2, 0x68, 0x19, 0x91, 0xac,
28+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
29+ 0x0b, 0x05, 0x00, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
30+ 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65, 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64,
31+ 0x62, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x37, 0x30, 0x34, 0x32, 0x30, 0x31,
32+ 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x34,
33+ 0x32, 0x30, 0x31, 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x30, 0x14, 0x31,
34+ 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65,
35+ 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64, 0x62, 0x30, 0x82, 0x01, 0x22, 0x30,
36+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
37+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
38+ 0x82, 0x01, 0x01, 0x00, 0xb4, 0x1c, 0x22, 0xa6, 0x22, 0x01, 0x57, 0xcd,
39+ 0xf1, 0x4f, 0xaf, 0x72, 0xe3, 0xd9, 0x01, 0x80, 0x50, 0x55, 0xef, 0x02,
40+ 0x5e, 0xeb, 0x99, 0x35, 0xcb, 0x7f, 0x2a, 0x79, 0xff, 0xb5, 0x3e, 0xec,
41+ 0x5d, 0x92, 0x06, 0x30, 0x20, 0xe7, 0x95, 0xad, 0xa4, 0x84, 0x2e, 0x3f,
42+ 0xfa, 0xd7, 0x46, 0xdd, 0x49, 0xa8, 0xe8, 0xe3, 0x79, 0x49, 0xf6, 0x8f,
43+ 0x0b, 0x1d, 0xfe, 0x63, 0xa8, 0xd1, 0x63, 0xa3, 0xd6, 0x0d, 0x4e, 0x6c,
44+ 0x66, 0x5c, 0xd6, 0x66, 0x26, 0xd1, 0x26, 0x98, 0xd4, 0x4f, 0x76, 0xc9,
45+ 0x65, 0x48, 0x58, 0x13, 0x08, 0x31, 0xbc, 0xe5, 0x47, 0x25, 0x65, 0x95,
46+ 0x39, 0x89, 0x5f, 0x02, 0xf1, 0xc5, 0x06, 0x17, 0x58, 0xca, 0x09, 0xfd,
47+ 0xf6, 0x1e, 0xc5, 0x97, 0xda, 0xa3, 0x4e, 0x1a, 0x48, 0xbe, 0xcf, 0x96,
48+ 0x27, 0x04, 0x4b, 0xb7, 0x6d, 0x67, 0xb6, 0x50, 0x18, 0x04, 0x73, 0x51,
49+ 0xd2, 0x6a, 0x2d, 0xdf, 0x3b, 0xab, 0xf2, 0x2d, 0x95, 0xd7, 0xa8, 0xb8,
50+ 0xa8, 0x30, 0xa1, 0xab, 0x8b, 0x92, 0x2b, 0x60, 0x3e, 0x3a, 0xe5, 0x86,
51+ 0x40, 0x71, 0xc1, 0x3f, 0x2d, 0x2e, 0x90, 0xe7, 0xd6, 0xec, 0xcc, 0xc2,
52+ 0x0b, 0x79, 0x83, 0x71, 0x6d, 0xf6, 0xa3, 0xa9, 0x4c, 0xcd, 0x46, 0x81,
53+ 0xdc, 0xef, 0xec, 0x51, 0xbe, 0x81, 0x2a, 0xf1, 0x78, 0x73, 0x41, 0xdb,
54+ 0x54, 0xce, 0x7c, 0xce, 0xa2, 0xe3, 0x90, 0x4f, 0x45, 0x1a, 0xf9, 0x3d,
55+ 0x88, 0xfc, 0x0e, 0xed, 0xd3, 0x69, 0x22, 0x4c, 0xfa, 0x0a, 0x69, 0xd1,
56+ 0x48, 0xc0, 0xaa, 0xa9, 0x3a, 0xb3, 0x8f, 0x10, 0x3a, 0x76, 0xa8, 0x0c,
57+ 0x7a, 0x3d, 0xd8, 0x79, 0xce, 0x1c, 0x96, 0x62, 0xf4, 0x06, 0xee, 0x47,
58+ 0xe8, 0xe0, 0x69, 0x91, 0xae, 0xea, 0x34, 0xcf, 0xda, 0xa8, 0xb4, 0x39,
59+ 0x5e, 0xf3, 0x7a, 0xd0, 0x88, 0x48, 0x47, 0x69, 0x02, 0x03, 0x01, 0x00,
60+ 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
61+ 0x04, 0x16, 0x04, 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b,
62+ 0x1a, 0x9f, 0x46, 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd,
63+ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
64+ 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b, 0x1a, 0x9f, 0x46,
65+ 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd, 0x30, 0x0c, 0x06,
66+ 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
67+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
68+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x8f, 0xd2, 0x84, 0x7c, 0x43,
69+ 0x47, 0xca, 0x6b, 0xfd, 0x87, 0x83, 0xd0, 0xef, 0x75, 0xd3, 0x20, 0x52,
70+ 0x73, 0x18, 0xaa, 0x32, 0x71, 0xfb, 0xa5, 0xf4, 0xc9, 0x11, 0xa3, 0x68,
71+ 0x4d, 0xb7, 0x9d, 0xe6, 0xd9, 0x46, 0x24, 0xdc, 0xc7, 0xc2, 0x3b, 0xf9,
72+ 0xb0, 0x98, 0xfc, 0xee, 0x34, 0x6e, 0x10, 0x9b, 0x3d, 0x44, 0x6e, 0x33,
73+ 0x09, 0x11, 0xb8, 0x29, 0xd6, 0x2d, 0x06, 0xcf, 0x67, 0x8f, 0x96, 0x85,
74+ 0x9d, 0x63, 0x72, 0xbf, 0x64, 0x5f, 0x0d, 0xe3, 0xc9, 0x63, 0x19, 0x71,
75+ 0xd4, 0x7d, 0x4c, 0x9c, 0x77, 0x46, 0xda, 0x20, 0x97, 0x6d, 0xbc, 0xdd,
76+ 0xc2, 0x1f, 0xf3, 0x40, 0x38, 0x1e, 0xe7, 0xcc, 0x55, 0x05, 0x72, 0xba,
77+ 0x24, 0x4f, 0xb3, 0x8a, 0x93, 0x0c, 0x30, 0x60, 0xda, 0x9f, 0x6f, 0x35,
78+ 0xf6, 0xfb, 0xb0, 0x1f, 0xb3, 0x00, 0xdd, 0xc4, 0xa6, 0xbc, 0xe2, 0x37,
79+ 0xc1, 0xa3, 0xef, 0xd9, 0xa1, 0x86, 0xf9, 0xeb, 0xa4, 0xa5, 0x45, 0x38,
80+ 0xff, 0x4e, 0x87, 0x4a, 0x41, 0xcf, 0x6e, 0x69, 0x7e, 0x97, 0xbe, 0x2d,
81+ 0x22, 0xbc, 0x8d, 0xa0, 0x1a, 0x21, 0x8f, 0x4b, 0x72, 0x90, 0x01, 0x5c,
82+ 0xba, 0xa5, 0x9c, 0x2d, 0xd7, 0x25, 0x24, 0xfc, 0xff, 0x5c, 0x58, 0x14,
83+ 0x46, 0x30, 0x09, 0x7c, 0x55, 0x64, 0x83, 0x0b, 0xb9, 0xdf, 0xcf, 0x25,
84+ 0xee, 0xec, 0xf7, 0xcb, 0xdb, 0xd1, 0x5b, 0x93, 0x93, 0xc8, 0x8a, 0x10,
85+ 0x46, 0xb8, 0xb0, 0x35, 0x1c, 0x6c, 0x0d, 0x8f, 0x03, 0x6a, 0x8f, 0x1b,
86+ 0x36, 0x68, 0xf3, 0x53, 0x89, 0x36, 0x5b, 0x21, 0x80, 0xde, 0xe3, 0x92,
87+ 0x52, 0x94, 0x97, 0x9d, 0x49, 0x89, 0x7d, 0x3e, 0xde, 0x29, 0x51, 0xba,
88+ 0x11, 0xf7, 0xba, 0x01, 0xf7, 0xab, 0xea, 0xc1, 0xa7, 0x2e, 0xa3, 0x4d,
89+ 0x65, 0xfd, 0x40, 0x71, 0xf1, 0xe2, 0x3f, 0x6c, 0x28, 0xcb, 0xd3
90+};
91+
92 //
93 // The most important thing about the variable payload is that it is a list of
94 // lists, where the element size of any given *inner* list is constant.
95@@ -908,6 +975,7 @@ ShellAppMain (
96 &gEfiImageSecurityDatabaseGuid,
97 MicrosoftPCA, sizeof MicrosoftPCA, &gEfiCallerIdGuid,
98 MicrosoftUefiCA, sizeof MicrosoftUefiCA, &gEfiCallerIdGuid,
99+ RefkitTestCA, sizeof RefkitTestCA, &gEfiCallerIdGuid,
100 NULL);
101 if (EFI_ERROR (Status)) {
102 return 1;
103--
1042.1.4
105
diff --git a/common/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb b/common/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb
deleted file mode 100644
index b20f6e58..00000000
--- a/common/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1require recipes-core/ovmf/ovmf-shell-image.bb
2
3WKS_SEARCH_PATH_append = ":${COREBASE}/meta/recipes-core/ovmf"
4
5QB_DRIVE_TYPE = "/dev/vd"
6
7do_image_append() {
8 cat > ${IMAGE_ROOTFS}/startup.nsh << EOF
9EnrollDefaultKeys
10reset
11EOF
12
13}
diff --git a/common/recipes-core/ovmf/ovmf_%.bbappend b/common/recipes-core/ovmf/ovmf_%.bbappend
deleted file mode 100644
index bbf5fa32..00000000
--- a/common/recipes-core/ovmf/ovmf_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:"
2
3SRC_URI_append_intel-x86-common = " \
4 file://0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch \
5"
6PACKAGECONFIG_append_intel-x86-common = " secureboot"
diff --git a/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.19.bb b/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.19.bb
deleted file mode 100644
index de9ed609..00000000
--- a/common/recipes-graphics/intel-gpu-tools/intel-gpu-tools_1.19.bb
+++ /dev/null
@@ -1,40 +0,0 @@
1require ${COREBASE}/meta/recipes-graphics/xorg-app/xorg-app-common.inc
2
3SUMMARY = "Intel GPU tools"
4DESCRIPTION = "Variety of small tools for testing intel graphics."
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=e4b3dd344780e0400593b21b115a6947"
7
8LICENSE_append = " & ISC"
9
10inherit autotools gtk-doc
11
12DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 libxv libx11 libxext libxrandr procps"
13RDEPENDS_${PN} += "bash"
14RDEPENDS_${PN}-tests += "bash"
15
16PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests"
17
18SRC_URI[md5sum] = "4fdfa56acca3b046fc61fb12686656f3"
19SRC_URI[sha256sum] = "a49c8ae7c0431c1f33cd9492f83ec4e06e98a48429178e4bd22d9a1a87e3b0f1"
20
21PACKAGECONFIG ??= ""
22PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind,libunwind"
23
24EXTRA_OECONF = "--disable-nouveau --disable-shader-debugger"
25COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
26COMPATIBLE_HOST_libc-musl_class-target = "null"
27
28gputools_sysroot_preprocess() {
29 rm -f ${SYSROOT_DESTDIR}${libdir}/pkgconfig/intel-gen4asm.pc
30}
31SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess"
32
33FILES_${PN} += "${libdir}/intel_aubdump.so"
34FILES_${PN}-benchmarks += "${libexecdir}/intel-gpu-tools/benchmarks"
35FILES_${PN}-tests += "\
36 ${libexecdir}/intel-gpu-tools/*\
37 ${datadir}/intel-gpu-tools/1080p-right.png\
38 ${datadir}/intel-gpu-tools/1080p-left.png\
39 ${datadir}/intel-gpu-tools/pass.png\
40 ${datadir}/intel-gpu-tools/test-list.txt"
diff --git a/common/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb b/common/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb
deleted file mode 100644
index 090efd62..00000000
--- a/common/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1require recipes-graphics/xorg-driver/xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- ASpeed Technologies graphics driver"
4
5DESCRIPTION = "ast is an Xorg driver for ASpeed Technologies video cards"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=0b8c242f0218eea5caa949b7910a774b"
8
9DEPENDS += "libpciaccess"
10
11SRC_URI[md5sum] = "4f85febe48d51e53624550a96fc9e9ee"
12SRC_URI[sha256sum] = "1edbbc55d47d3fd71dec99b15c2483e22738c642623a0fb86ef4a81a9067a2de"
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 @@
1Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Thu, 29 Nov 2012 11:00:43 +0000
7Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI
8
9Automatically enabling or disabling a feature based on installed files isn't
10deterministic, and AC_CHECK_FILE returns an error when cross-compiling.
11
12Fix this by enabling DRI by default, and removing the explicit file checks as
13pkg-config is good enough.
14
15(#57606)
16
17Signed-off-by: Ross Burton <ross.burton@intel.com>
18---
19 configure.ac | 25 ++-----------------------
20 1 file changed, 2 insertions(+), 23 deletions(-)
21
22diff --git a/configure.ac b/configure.ac
23index fca1a9c..d2aa2ed 100644
24--- a/configure.ac
25+++ b/configure.ac
26@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir,
27 [moduledir="$libdir/xorg/modules"])
28
29 AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
30- [Disable DRI support [[default=auto]]]),
31+ [Disable DRI support [[default=enabled]]]),
32 [DRI="$enableval"],
33- [DRI=auto])
34+ [DRI=yes])
35 AC_ARG_ENABLE(exa,
36 AS_HELP_STRING([--disable-exa],
37 [Disable EXA support [[default=enabled]]]),
38@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
39
40 # Checks for libraries.
41
42-if test "x$DRI" != xno; then
43- AC_CHECK_FILE([${sdkdir}/dri.h],
44- [have_dri_h="yes"], [have_dri_h="no"])
45- AC_CHECK_FILE([${sdkdir}/sarea.h],
46- [have_sarea_h="yes"], [have_sarea_h="no"])
47- AC_CHECK_FILE([${sdkdir}/dristruct.h],
48- [have_dristruct_h="yes"], [have_dristruct_h="no"])
49-fi
50-
51-AC_MSG_CHECKING([whether to include DRI support])
52-if test "x$DRI" = xauto; then
53- if test "x$have_dri_h" = xyes && \
54- test "x$have_sarea_h" = xyes && \
55- test "x$have_dristruct_h" = xyes; then
56- DRI="yes"
57- else
58- DRI="no"
59- fi
60-fi
61-AC_MSG_RESULT([$DRI])
62-
63 AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
64 if test "x$DRI" = xyes; then
65 PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
66--
671.7.10.4
68
diff --git a/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
deleted file mode 100644
index d30936b6..00000000
--- a/common/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1require recipes-graphics/xorg-driver/xorg-driver-video.inc
2
3SUMMARY = "X.Org X server -- Matrox MGA display driver"
4
5DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
8
9SRC_URI += "file://checkfile.patch"
10
11DEPENDS += "virtual/libx11 libpciaccess"
12
13PR = "r1"
14
15COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
16
17SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118"
18SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422"
19
20PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
21PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xf86driproto,xserver-xorg-extension-dri"
22
23RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/common/recipes-kernel/cryptodev/cryptodev-module/0001-zc-Force-4.10-get_user_pages_remote-API.patch b/common/recipes-kernel/cryptodev/cryptodev-module/0001-zc-Force-4.10-get_user_pages_remote-API.patch
deleted file mode 100644
index 353126fe..00000000
--- a/common/recipes-kernel/cryptodev/cryptodev-module/0001-zc-Force-4.10-get_user_pages_remote-API.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 3fcc81ad127c267018aed96a359bbf01db1bd8ee Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Sat, 1 Apr 2017 11:43:31 -0700
4Subject: [PATCH] zc: Force 4.10 get_user_pages_remote API
5
6This change forces the newer API, as the linux-intel 4.9-LTS kernel
7backported the 4.10 API change in the page handling code.
8
9Signed-off-by: Saul Wold <sgw@linux.intel.com>
10---
11 zc.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/zc.c b/zc.c
15index ae464ff..b2759ce 100644
16--- a/zc.c
17+++ b/zc.c
18@@ -65,7 +65,7 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
19 #elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0))
20 ret = get_user_pages_remote(task, mm,
21 (unsigned long)addr, pgcount, write, 0, pg, NULL);
22-#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
23+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) & 0)
24 ret = get_user_pages_remote(task, mm,
25 (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
26 pg, NULL);
diff --git a/common/recipes-kernel/cryptodev/cryptodev-module_%.bbappend b/common/recipes-kernel/cryptodev/cryptodev-module_%.bbappend
deleted file mode 100644
index c59ddb2f..00000000
--- a/common/recipes-kernel/cryptodev/cryptodev-module_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3python() {
4 # When we add more kernels for linux-intel, we may have to add a Version check
5 if (d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-intel"):
6 src_uri = d.getVar("SRC_URI")
7 d.setVar("SRC_URI", src_uri +
8 " file://0001-zc-Force-4.10-get_user_pages_remote-API.patch")
9}
diff --git a/common/recipes-kernel/intel-ethernet/ixgbe.bb b/common/recipes-kernel/intel-ethernet/ixgbe.bb
deleted file mode 100644
index 181158d4..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbe.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1SUMMARY="ixgbe kernel driver for Intel Magnolia Park 10GbE"
2DESCRIPTION="Intel 10-Gbps Ethernet driver for Magnolia Park"
3AUTHOR = "Ong Boon Leong"
4HOMEPAGE = "http://www.intel.com/network/connectivity/products/server_adapters.htm"
5SECTION = "kernel/network"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://${WORKDIR}/${PN}-${PV}/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8
9PV = "5.1.3"
10PR = "r0"
11
12SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/ixgbe-${PV}.tar.gz \
13 file://0001-ixgbe-src-Makefile-change-make-install-to-make.patch \
14 file://0001-ixgbe-skip-host-depmod.patch \
15 "
16
17SRC_URI[md5sum] = "ae35ed547aa6a5087672c3f70ce1e676"
18SRC_URI[sha256sum] = "9f537d79bddf0a087a17af632d57812d26d26bcfebbd4bdcf10df656ff055bb4"
19
20S = "${WORKDIR}/${PN}-${PV}/src"
21SCRIPT_DIR = "${WORKDIR}/${PN}-${PV}/scripts"
22
23EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" \
24 BUILD_ARCH="${TARGET_ARCH}" PREFIX="${D}" \
25 SYSTEM_MAP_FILE="${STAGING_KERNEL_BUILDDIR}/System.map-${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
26
27KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbe"
28KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbe"
29
30inherit module
31
32do_install_append () {
33 # Install scripts/set_irq_affinity
34 install -d ${D}/etc/network
35 install -m 0755 ${SCRIPT_DIR}/set_irq_affinity ${D}/etc/network
36}
37
38#SSTATE_DUPWHITELIST += "${STAGING_DIR_HOST}/lib/modules/${KERNEL_VERSION}/"
39
40PACKAGES += "${PN}-script"
41
42FILES_${PN}-script += "/etc/network/set_irq_affinity"
43
44#Ignore "ERROR: QA Issue: ixgbe: Files/directories were installed but not shipped"
45INSANE_SKIP_${PN} = "installed-vs-shipped"
diff --git a/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch b/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch
deleted file mode 100644
index e53f86e5..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From e32eab62e3f79ddd40946ca698d9e650bd7d9b2d Mon Sep 17 00:00:00 2001
2From: sweeaun <swee.aun.khor@intel.com>
3Date: Sat, 7 Oct 2017 20:49:36 -0700
4Subject: [PATCH] ixgbe: skip host depmod
5
6Upstream-Status: Inappropriate [Cross-Compile]
7
8Depmod during do_install is irrelevant when cross-compiling.
9Remove the depmod steps during do_install.
10
11Signed-off-by: sweeaun <swee.aun.khor@intel.com>
12---
13 Makefile | 2 --
14 1 file changed, 2 deletions(-)
15
16diff --git a/Makefile b/Makefile
17index fa92f81..b39283a 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -141,8 +141,6 @@ modules_install: default manfile
21 @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
22 @echo "Installing modules..."
23 @+$(call devkernelbuild,modules_install)
24- @echo "Running depmod..."
25- @$(call cmd_depmod)
26
27 uninstall:
28 rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko;
29--
302.7.4
31
diff --git a/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-src-Makefile-change-make-install-to-make.patch b/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-src-Makefile-change-make-install-to-make.patch
deleted file mode 100644
index 88f5335a..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-src-Makefile-change-make-install-to-make.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From 09c7a5afa76530a3720d97726f2b372f72b0af08 Mon Sep 17 00:00:00 2001
2From: "Goh, Wen Sen" <wen.sen.goh@intel.com>
3Date: Wed, 22 Jun 2016 11:18:37 +0800
4Subject: [PATCH] ixgbe: src/Makefile: change make install to make
5 modules_install
6
7Per guideline from Linux Documentation at
8Documentation/kbuild/modules.txt
9the correct target is "modules_install" not "install".
10
11Upstream-Status: Inappropriate [It is tarball released by Intel Network
12driver group]
13
14---
15 src/Makefile | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/Makefile b/Makefile
19index 852becb..480ecee 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -136,7 +136,7 @@ clean:
23 @-rm -rf *.${MANSECTION}.gz *.ko
24
25 # Install the modules and manpage
26-install: default manfile
27+modules_install: default manfile
28 @echo "Copying manpages..."
29 @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
30 @echo "Installing modules..."
31@@ -191,6 +191,6 @@ help:
32 @echo ' Other variables may be available for tuning make process, see'
33 @echo ' Kernel Kbuild documentation for more information'
34
35-.PHONY: default noisy clean manfile silent sparse ccc install uninstall help
36+.PHONY: default noisy clean manfile silent sparse ccc modules_install uninstall help
37
38 endif # ifneq($(KERNELRELEASE),)
39--
402.8.3
diff --git a/common/recipes-kernel/intel-ethernet/ixgbevf.bb b/common/recipes-kernel/intel-ethernet/ixgbevf.bb
deleted file mode 100644
index 6a9636e6..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbevf.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1SUMMARY="ixgbevf kernel driver for Intel Magnolia Park 10GbE"
2DESCRIPTION="Intel 10-Gbps Ethernet driver for Magnolia Park"
3AUTHOR = "Ong Boon Leong"
4HOMEPAGE = "http://www.intel.com/network/connectivity/products/server_adapters.htm"
5SECTION = "kernel/network"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://${WORKDIR}/${PN}-${PV}/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8
9PV = "4.1.2"
10PR = "r0"
11
12SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/ixgbevf-${PV}.tar.gz \
13 file://0001-ixgbevf-src-Makefile-change-make-install-to-make.patch \
14 file://0002-ixgbevf_common.patch \
15 file://0001-ixgbevf-skip-host-depmod.patch \
16 "
17
18SRC_URI[md5sum] = "f02ec46369d1ca949a1e9d2e0eb74d5f"
19SRC_URI[sha256sum] = "ab2824541f8a2d8f7b7d26ccbb46359ef551c5d4625fb333014e2b8023ac3ab6"
20
21S = "${WORKDIR}/${PN}-${PV}/src"
22SCRIPT_DIR = "${WORKDIR}/${PN}-${PV}/scripts"
23
24EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" \
25 BUILD_ARCH="${TARGET_ARCH}" PREFIX="${D}" \
26 SYSTEM_MAP_FILE="${STAGING_KERNEL_BUILDDIR}/System.map-${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
27
28KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbevf"
29KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbevf"
30
31inherit module
32
33do_install_append () {
34 # Install scripts/set_irq_affinity
35 install -d ${D}/etc/network
36 install -m 0755 ${SCRIPT_DIR}/set_irq_affinity ${D}/etc/network
37}
38
39#SSTATE_DUPWHITELIST += "${STAGING_DIR_HOST}/lib/modules/${KERNEL_VERSION}/"
40
41PACKAGES += "${PN}-script"
42
43FILES_${PN}-script += "/etc/network/set_irq_affinity"
44
45#Ignore "ERROR: QA Issue: ixgbe: Files/directories were installed but not shipped"
46INSANE_SKIP_${PN} = "installed-vs-shipped"
diff --git a/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch b/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch
deleted file mode 100644
index 656a897d..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 9677d09f5c3984997ac8e7d90b5d4b11fb9ce277 Mon Sep 17 00:00:00 2001
2From: sweeaun <swee.aun.khor@intel.com>
3Date: Sat, 7 Oct 2017 20:56:35 -0700
4Subject: [PATCH] ixgbevf: skip host depmod
5
6Upstream-Status: Inappropriate [Cross-Compile]
7
8Depmod during do_install is irrelevant when cross-compiling.
9Remove the depmod steps during do_install.
10
11Signed-off-by: sweeaun <swee.aun.khor@intel.com>
12---
13 Makefile | 2 --
14 1 file changed, 2 deletions(-)
15
16diff --git a/Makefile b/Makefile
17index 91df705..1dcf350 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -104,8 +104,6 @@ modules_install: default manfile
21 @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
22 @echo "Installing modules..."
23 @+$(call kernelbuild,modules_install)
24- @echo "Running depmod..."
25- @$(call cmd_depmod)
26
27 uninstall:
28 rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko;
29--
302.7.4
31
diff --git a/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-src-Makefile-change-make-install-to-make.patch b/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-src-Makefile-change-make-install-to-make.patch
deleted file mode 100644
index 8234f589..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-src-Makefile-change-make-install-to-make.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 511ee0d8d40a3e76b3e9875a96228ff370dbdfc6 Mon Sep 17 00:00:00 2001
2From: "Goh, Wen Sen" <wen.sen.goh@intel.com>
3Date: Wed, 22 Jun 2016 11:25:41 +0800
4Subject: [PATCH] ixgbevf_patch
5
6---
7 Makefile | 4 ++--
8 1 file changed, 2 insertions(+), 2 deletions(-)
9
10diff --git a/Makefile b/Makefile
11index 8df134a..8d5660e 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -100,7 +100,7 @@ clean:
15 @-rm -rf *.${MANSECTION}.gz *.ko
16
17 # Install the modules and manpage
18-install: default manfile
19+modules_install: default manfile
20 @echo "Copying manpages..."
21 @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
22 @echo "Installing modules..."
23@@ -145,6 +145,6 @@ help:
24 @echo ' Other variables may be available for tuning make process, see'
25 @echo ' Kernel Kbuild documentation for more information'
26
27-.PHONY: default noisy clean manfile silent sparse ccc install uninstall help
28+.PHONY: default noisy clean manfile silent sparse ccc modules_install uninstall help
29
30 endif # ifneq($(KERNELRELEASE),)
31--
322.8.3
diff --git a/common/recipes-kernel/intel-ethernet/ixgbevf/0002-ixgbevf_common.patch b/common/recipes-kernel/intel-ethernet/ixgbevf/0002-ixgbevf_common.patch
deleted file mode 100644
index d442e24d..00000000
--- a/common/recipes-kernel/intel-ethernet/ixgbevf/0002-ixgbevf_common.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1From f74fbcd821a394dec58263fd2c2ea62eae298b2f Mon Sep 17 00:00:00 2001
2From: "Goh, Wen Sen" <wen.sen.goh@intel.com>
3Date: Sun, 26 Jun 2016 12:01:36 +0800
4Subject: [PATCH] ixgbevf patch
5
6---
7 common.mk | 1 +
8 1 file changed, 1 insertion(+)
9
10diff --git a/common.mk b/common.mk
11index b9b01c7..228a926 100644
12--- a/common.mk
13+++ b/common.mk
14@@ -289,6 +289,7 @@ export INSTALL_MOD_DIR ?= updates/drivers/net/ethernet/intel/${DRIVER}
15 kernelbuild = ${MAKE} $(if ${GCC_I_SYS},CC="${GCC_I_SYS}") \
16 ${CCFLAGS_VAR}="${EXTRA_CFLAGS}" \
17 -C "${KSRC}" \
18+ CONFIG_IXGBE=m \
19 CONFIG_${DRIVER_UPPERCASE}=m \
20 M="${CURDIR}" \
21 ${2} ${1};
22--
232.8.3
diff --git a/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch b/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch
deleted file mode 100644
index 1d4137ba..00000000
--- a/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From f69ff2fd27903ee052309179271f708d720a2f94 Mon Sep 17 00:00:00 2001
2From: Mikko Ylinen <mikko.ylinen@linux.intel.com>
3Date: Thu, 10 Aug 2017 21:12:51 +0300
4Subject: [PATCH] Makefile.real: skip host install scripts
5
6The scripts run in install target are relevant (and working)
7only if the driver installation is run on the build host.
8
9Skip the scripts when cross-compiling.
10
11Upstream-Status: Inappropriate [Cross-Compile]
12
13Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
14---
15 Makefile.real | 5 -----
16 1 file changed, 5 deletions(-)
17
18diff --git a/Makefile.real b/Makefile.real
19index ba09f99..f5075de 100644
20--- a/Makefile.real
21+++ b/Makefile.real
22@@ -104,11 +104,6 @@ install: modules
23 @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \
24 INSTALL_MOD_DIR=$(KMODDIR) $(KMODPATH_ARG) \
25 modules_install
26- @./scripts/blacklist.sh $(KLIB)/ $(KLIB)/$(KMODDIR)
27- @./scripts/compress_modules.sh $(KLIB)/$(KMODDIR)
28- @./scripts/check_depmod.sh
29- @/sbin/depmod -a
30- @./scripts/update-initramfs.sh $(KLIB)
31 @echo
32 @echo Your backported driver modules should be installed now.
33 @echo Reboot.
34--
352.1.4
36
diff --git a/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch b/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch
deleted file mode 100644
index 4fdc36f7..00000000
--- a/common/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch
+++ /dev/null
@@ -1,87 +0,0 @@
1From ecb29b78ce946c802058be0c46a0d20432f412e5 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Thu, 28 Sep 2017 10:51:15 -0700
4Subject: [PATCH] hrtimer: fix version numbers because production kernel has
5 update
6
7Decrease the version check because the OTC production kernel which is
84.9 includes the HRTimer code that this is using.
9
10Upstream-Status: [Backport] It's been backported into the older kernel
11Signed-off-by: Saul Wold <sgw@linux.intel.com>
12---
13 backport-include/linux/hrtimer.h | 2 +-
14 drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 +-
15 drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 2 +-
16 drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c | 2 +-
17 net/mac80211/tx.c | 2 +-
18 5 files changed, 5 insertions(+), 5 deletions(-)
19
20diff --git a/backport-include/linux/hrtimer.h b/backport-include/linux/hrtimer.h
21index bdcf106e1..ae128852d 100644
22--- a/backport-include/linux/hrtimer.h
23+++ b/backport-include/linux/hrtimer.h
24@@ -4,7 +4,7 @@
25 #include_next <linux/hrtimer.h>
26 #include <linux/interrupt.h>
27
28-#if LINUX_VERSION_IS_LESS(4,10,0)
29+#if LINUX_VERSION_IS_LESS(4,9,0)
30 static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time,
31 const enum hrtimer_mode mode)
32 {
33diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
34index cf1f95a01..e6f1ff294 100644
35--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
36+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
37@@ -1310,7 +1310,7 @@ static void iwl_mvm_tx_lat_add_ts_ack(struct sk_buff *skb)
38 s64 ts_1 = ktime_to_ns(skb->tstamp) >> 32;
39 s64 diff = temp - ts_1;
40
41-#if LINUX_VERSION_IS_LESS(4,10,0)
42+#if LINUX_VERSION_IS_LESS(4,9,0)
43 skb->tstamp.tv64 += diff;
44 #else
45 skb->tstamp += diff;
46diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
47index df81bce25..ad664bacd 100644
48--- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
49+++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
50@@ -1955,7 +1955,7 @@ static void iwl_trans_pci_tx_lat_add_ts_write(struct sk_buff *skb)
51 s64 ts_1 = ktime_to_ns(skb->tstamp) >> 32;
52 s64 diff = temp - ts_1;
53
54-#if LINUX_VERSION_IS_LESS(4,10,0)
55+#if LINUX_VERSION_IS_LESS(4,9,0)
56 skb->tstamp.tv64 += diff << 16;
57 #else
58 skb->tstamp += diff << 16;
59diff --git a/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c b/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c
60index e4d45bcf7..cdd0ba9a2 100644
61--- a/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c
62+++ b/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c
63@@ -796,7 +796,7 @@ void iwl_slv_tx_lat_add_ts_write(struct iwl_trans_slv *trans_slv,
64
65 ts_1 = ktime_to_ns(data_entry->skb->tstamp) >> 32;
66 diff = temp - ts_1;
67-#if LINUX_VERSION_IS_LESS(4,10,0)
68+#if LINUX_VERSION_IS_LESS(4,9,0)
69 data_entry->skb->tstamp.tv64 += diff << 16;
70 #else
71 data_entry->skb->tstamp += diff << 16;
72diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
73index 94a348688..0f226c413 100644
74--- a/net/mac80211/tx.c
75+++ b/net/mac80211/tx.c
76@@ -2278,7 +2278,7 @@ static void ieee80211_tx_latency_start_msrmnt(struct ieee80211_local *local,
77 if (!tx_latency && !tx_consec && !tx_thrshld)
78 return;
79 temp = ktime_to_ms(ktime_get());
80-#if LINUX_VERSION_IS_LESS(4,10,0)
81+#if LINUX_VERSION_IS_LESS(4,9,0)
82 skb->tstamp.tv64 += temp << 32;
83 #else
84 skb->tstamp += temp << 32;
85--
862.13.5
87
diff --git a/common/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf b/common/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf
deleted file mode 100644
index a0e5f6ff..00000000
--- a/common/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf
+++ /dev/null
@@ -1,12 +0,0 @@
1# /etc/modprobe.d/iwlwifi.conf
2# iwlwifi will dynamically load either iwldvm or iwlmvm depending on the
3# microcode file installed on the system. When removing iwlwifi, first
4# remove the iwl?vm module and then iwlwifi.
5remove iwlwifi (/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm16 -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) && /sbin/modprobe -r mac80211
6
7#options iwlwifi lar_disable=1
8#options iwlwifi nvm_file="nvm-sfp-b2-open.bin"
9options iwlmvm power_scheme=1
10
11# PCI BUS
12
diff --git a/common/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb b/common/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb
deleted file mode 100644
index d391045f..00000000
--- a/common/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb
+++ /dev/null
@@ -1,56 +0,0 @@
1SUMMARY = "Intel Wireless LinuxCore kernel driver"
2DESCRIPTION = "Intel Wireless LinuxCore kernel driver"
3SECTION = "kernel"
4LICENSE = "GPLv2"
5
6REQUIRED_DISTRO_FEATURES = "wifi"
7
8LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
9
10inherit module
11
12# For some iwfwifi LinuxCore supported wireless chips, the best/latest
13# firmware blobs are found in the iwlwifi's linux-firmware.git fork.
14#
15# See: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release
16#
17# When updating this recipe, ensure that the proper firmware is included from
18# either the linux-firmware or iwlwifi-firmware repos.
19
20PV = "30"
21SRCREV = "b31221a99488021300e7f89d2ecf9bdd2bc52dd2"
22
23# Add a patch for Intel's Production Kernel as it's got a backport of HRTimers
24PK_PATCH = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/kernel','linux-intel','file://0001-hrtimer-fix-version-numbers-because-production-kerne.patch','',d)}"
25
26SRC_URI = " \
27 git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/LinuxCore${PV} \
28 file://0001-Makefile.real-skip-host-install-scripts.patch \
29 ${PK_PATCH} \
30 file://iwlwifi.conf \
31 "
32
33S = "${WORKDIR}/git"
34
35EXTRA_OEMAKE = "INSTALL_MOD_PATH=${D} KLIB_BUILD=${KBUILD_OUTPUT}"
36
37do_configure() {
38 CC=gcc CFLAGS= LDFLAGS= make defconfig-iwlwifi-public KLIB_BUILD=${KBUILD_OUTPUT}
39}
40
41MODULES_INSTALL_TARGET="install"
42
43do_install_append() {
44 ## install configs and service scripts
45 install -d ${D}${sysconfdir}/modprobe.d
46 install -m 0644 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
47}
48
49SYSTEMD_AUTO_ENABLE_${PN} = "enable"
50
51RDEPENDS_${PN} = "linux-firmware-iwlwifi"
52
53KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
54KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
55
56KERNEL_MODULE_PACKAGE_PREFIX = "backport-iwlwifi"
diff --git a/common/recipes-kernel/linux/linux-intel-rt_4.9.bb b/common/recipes-kernel/linux/linux-intel-rt_4.9.bb
deleted file mode 100644
index 02192735..00000000
--- a/common/recipes-kernel/linux/linux-intel-rt_4.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1
2require linux-intel.inc
3
4# Skip processing of this recipe if it is not explicitly specified as the
5# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
6# to build multiple virtual/kernel providers, e.g. as dependency of
7# core-image-rt-sdk, core-image-rt.
8python () {
9 if d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
10 raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
11}
12
13KBRANCH = "base-rt"
14SRCREV_machine ?= "44f76edc2079f1551be33b8ab473349d00f814a7"
15SRCREV_meta ?= "3d5b27b2d138b71052a1d17a5cca73aa0ec75328"
16
17LINUX_KERNEL_TYPE = "preempt-rt"
diff --git a/common/recipes-kernel/linux/linux-intel.inc b/common/recipes-kernel/linux/linux-intel.inc
deleted file mode 100644
index 1f26d451..00000000
--- a/common/recipes-kernel/linux/linux-intel.inc
+++ /dev/null
@@ -1,40 +0,0 @@
1require recipes-kernel/linux/linux-yocto.inc
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/linux-intel:"
4
5KERNEL_CONFIG_URI ?= " \
6 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA} \
7 "
8SRC_URI = " \
9 git://github.com/01org/linux-intel-4.9.git;protocol=https;name=machine;branch=${KBRANCH}; \
10 ${KERNEL_CONFIG_URI} \
11 "
12
13SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg"
14
15
16LINUX_VERSION ?= "4.9.56"
17LINUX_VERSION_EXTENSION ?= "-intel-pk-${LINUX_KERNEL_TYPE}"
18
19PV = "${LINUX_VERSION}+git${SRCPV}"
20
21KMETA = "kernel-meta"
22KCONF_BSP_AUDIT_LEVEL = "2"
23
24KERNEL_FEATURES_INTEL_COMMON ?= ""
25
26COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
27KMACHINE_core2-32-intel-common = "intel-core2-32"
28KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
29
30COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
31KMACHINE_corei7-64-intel-common = "intel-corei7-64"
32KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
33
34COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
35KMACHINE_i586-nlp-32-intel-common = "intel-quark"
36KERNEL_FEATURES_append_i586-nlp-32-intel-common = "features/qat/qat.scc"
37
38# Functionality flags
39KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
40KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/common/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg b/common/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg
deleted file mode 100644
index f7d7322e..00000000
--- a/common/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
1# CONFIG_SND_SOC_INTEL_SKYLAKE is not set
2# CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH is not set
3# CONFIG_SND_SOC_INTEL_BXT_FLORIDA_MACH is not set
4# CONFIG_SND_SOC_INTEL_BXT_RT298_MACH is not set
5# CONFIG_SND_SOC_INTEL_BXT_TDF8532_MACH is not set
6# CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH is not set
7# CONFIG_SND_SOC_INTEL_SKL_RT286_MACH is not set
8# CONFIG_SND_SOC_INTEL_CNL_WM8281_MACH is not set
9# CONFIG_SND_SOC_INTEL_CNL_RT274_MACH is not set
10# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set
11# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH is not set
12# CONFIG_SND_SOC_INTEL_CNL_CS42L42_MACH is not set
13# CONFIG_SND_SOC_INTEL_CNL_RT700_MACH is not set
14# CONFIG_SND_SOC_INTEL_CNL_SVFPGA_MACH is not set
diff --git a/common/recipes-kernel/linux/linux-intel_4.9.bb b/common/recipes-kernel/linux/linux-intel_4.9.bb
deleted file mode 100644
index ec239242..00000000
--- a/common/recipes-kernel/linux/linux-intel_4.9.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1
2require linux-intel.inc
3
4KBRANCH = "base"
5SRCREV_machine ?= "e8405acd549563650e2e4774a49e069d161e8fe1"
6SRCREV_meta ?= "3d5b27b2d138b71052a1d17a5cca73aa0ec75328"
7
8# For Crystalforest and Romley
9KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
10KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
11
12# Functionality flags
13KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
diff --git a/common/recipes-kernel/linux/linux-yocto-dev.bbappend b/common/recipes-kernel/linux/linux-yocto-dev.bbappend
deleted file mode 100644
index ee33ecc3..00000000
--- a/common/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ /dev/null
@@ -1,26 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11# Quark / X1000 BSP Info
12COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
13KMACHINE_i586-nlp-32-intel-common = "intel-quark"
14KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
15
16# NOTE: We do not set SRCREVs here as -dev is intended to be built with AUTOREV
17# and setting them here breaks the default mechanism to use AUTOREV if the
18# default SRCREV is set and linux-yocto-dev is the preferred provider.
19
20# For Crystalforest and Romley
21KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
22KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
23
24# For FRI2, NUC
25KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
26KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
diff --git a/common/recipes-kernel/linux/linux-yocto-rt_4.10.bbappend b/common/recipes-kernel/linux/linux-yocto-rt_4.10.bbappend
deleted file mode 100644
index 17569a1c..00000000
--- a/common/recipes-kernel/linux/linux-yocto-rt_4.10.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON ?= ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
diff --git a/common/recipes-kernel/linux/linux-yocto-rt_4.12.bbappend b/common/recipes-kernel/linux/linux-yocto-rt_4.12.bbappend
deleted file mode 100644
index 17569a1c..00000000
--- a/common/recipes-kernel/linux/linux-yocto-rt_4.12.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON ?= ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
diff --git a/common/recipes-kernel/linux/linux-yocto-rt_4.4.bbappend b/common/recipes-kernel/linux/linux-yocto-rt_4.4.bbappend
deleted file mode 100644
index c18f4a11..00000000
--- a/common/recipes-kernel/linux/linux-yocto-rt_4.4.bbappend
+++ /dev/null
@@ -1,33 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3LINUX_VERSION_INTEL_COMMON = "4.4.87"
4SRCREV_META_INTEL_COMMON ?= "804d2b3164ec25ed519fd695de9aa0908460c92e"
5SRCREV_MACHINE_INTEL_COMMON ?= "d1ce34c9e66fe55382cc196fe7facbe7865c4eed"
6
7KBRANCH_INTEL_COMMON = "standard/preempt-rt/intel/base"
8
9KERNEL_FEATURES_INTEL_COMMON ?= ""
10
11LINUX_VERSION_core2-32-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
12COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
13KMACHINE_core2-32-intel-common = "intel-core2-32"
14KBRANCH_core2-32-intel-common = "${KBRANCH_INTEL_COMMON}"
15SRCREV_meta_core2-32-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
16SRCREV_machine_core2-32-intel-common ?= "${SRCREV_MACHINE_INTEL_COMMON}"
17KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
18
19LINUX_VERSION_corei7-64-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
20COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
21KMACHINE_corei7-64-intel-common = "intel-corei7-64"
22KBRANCH_corei7-64-intel-common = "${KBRANCH_INTEL_COMMON}"
23SRCREV_meta_corei7-64-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
24SRCREV_machine_corei7-64-intel-common ?= "${SRCREV_MACHINE_INTEL_COMMON}"
25KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
26
27LINUX_VERSION_i586-nlp-32-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
28COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
29KMACHINE_i586-nlp-32-intel-common = "intel-quark"
30KBRANCH_i586-nlp-32-intel-common = "${KBRANCH_INTEL_COMMON}"
31SRCREV_meta_i586-nlp-32-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
32SRCREV_machine_i586-nlp-32-intel-common ?= "${SRCREV_MACHINE_INTEL_COMMON}"
33KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
diff --git a/common/recipes-kernel/linux/linux-yocto-rt_4.9.bbappend b/common/recipes-kernel/linux/linux-yocto-rt_4.9.bbappend
deleted file mode 100644
index 9d2e3c0b..00000000
--- a/common/recipes-kernel/linux/linux-yocto-rt_4.9.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON = ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
diff --git a/common/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend b/common/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
deleted file mode 100644
index b8d3d81c..00000000
--- a/common/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
+++ /dev/null
@@ -1,19 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3KERNEL_FEATURES_INTEL_COMMON ?= ""
4
5COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
6COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8
9KBRANCH_i586-nlp-32-intel-common = "standard/tiny/base"
10KBRANCH_core2-32-intel-common = "standard/tiny/base"
11KBRANCH_corei7-64-intel-common = "standard/tiny/base"
12
13KMACHINE_i586-nlp-32-intel-common = "intel-quark"
14KMACHINE_core2-32-intel-common = "intel-core2-32"
15KMACHINE_corei7-64-intel-common = "intel-corei7-64"
16
17KERNEL_FEATURES_append_i586-nlp-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
18KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
19KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
diff --git a/common/recipes-kernel/linux/linux-yocto-tiny_4.12.bbappend b/common/recipes-kernel/linux/linux-yocto-tiny_4.12.bbappend
deleted file mode 100644
index b8d3d81c..00000000
--- a/common/recipes-kernel/linux/linux-yocto-tiny_4.12.bbappend
+++ /dev/null
@@ -1,19 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3KERNEL_FEATURES_INTEL_COMMON ?= ""
4
5COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
6COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8
9KBRANCH_i586-nlp-32-intel-common = "standard/tiny/base"
10KBRANCH_core2-32-intel-common = "standard/tiny/base"
11KBRANCH_corei7-64-intel-common = "standard/tiny/base"
12
13KMACHINE_i586-nlp-32-intel-common = "intel-quark"
14KMACHINE_core2-32-intel-common = "intel-core2-32"
15KMACHINE_corei7-64-intel-common = "intel-corei7-64"
16
17KERNEL_FEATURES_append_i586-nlp-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
18KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
19KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
diff --git a/common/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend b/common/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
deleted file mode 100644
index 54430e21..00000000
--- a/common/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
+++ /dev/null
@@ -1,33 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3EXTRA_OEMAKE = "LD=${STAGING_BINDIR_NATIVE}/${HOST_SYS}/${TARGET_PREFIX}ld AR=${STAGING_BINDIR_NATIVE}/${HOST_SYS}/${TARGET_PREFIX}gcc-ar"
4
5KERNEL_FEATURES_INTEL_COMMON ?= ""
6
7LINUX_VERSION_i586-nlp-32-intel-common = "4.4.87"
8LINUX_VERSION_core2-32-intel-common = "4.4.87"
9LINUX_VERSION_corei7-64-intel-common = "4.4.87"
10
11SRCREV_meta_i586-nlp-32-intel-common = "804d2b3164ec25ed519fd695de9aa0908460c92e"
12SRCREV_meta_core2-32-intel-common = "804d2b3164ec25ed519fd695de9aa0908460c92e"
13SRCREV_meta_corei7-64-intel-common = "804d2b3164ec25ed519fd695de9aa0908460c92e"
14
15SRCREV_machine_i586-nlp-32-intel-common = "85b913cc9d5e13602d69e50bd9cf1a6ef242f9ee"
16SRCREV_machine_core2-32-intel-common = "85b913cc9d5e13602d69e50bd9cf1a6ef242f9ee"
17SRCREV_machine_corei7-64-intel-common = "85b913cc9d5e13602d69e50bd9cf1a6ef242f9ee"
18
19COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
20COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
21COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
22
23KBRANCH_i586-nlp-32-intel-common = "standard/tiny/intel/base"
24KBRANCH_core2-32-intel-common = "standard/tiny/intel/base"
25KBRANCH_corei7-64-intel-common = "standard/tiny/intel/base"
26
27KMACHINE_i586-nlp-32-intel-common = "intel-quark"
28KMACHINE_core2-32-intel-common = "intel-core2-32"
29KMACHINE_corei7-64-intel-common = "intel-corei7-64"
30
31KERNEL_FEATURES_append_i586-nlp-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
32KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
33KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
diff --git a/common/recipes-kernel/linux/linux-yocto-tiny_4.9.bbappend b/common/recipes-kernel/linux/linux-yocto-tiny_4.9.bbappend
deleted file mode 100644
index 9ecdb95a..00000000
--- a/common/recipes-kernel/linux/linux-yocto-tiny_4.9.bbappend
+++ /dev/null
@@ -1,31 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3EXTRA_OEMAKE = "LD=${STAGING_BINDIR_NATIVE}/${HOST_SYS}/${TARGET_PREFIX}ld AR=${STAGING_BINDIR_NATIVE}/${HOST_SYS}/${TARGET_PREFIX}gcc-ar"
4
5LINUX_VERSION_i586-nlp-32-intel-common = "4.9.13"
6LINUX_VERSION_core2-32-intel-common = "4.9.13"
7LINUX_VERSION_corei7-64-intel-common = "4.9.13"
8
9SRCREV_meta_i586-nlp-32-intel-common = "8f3bc608ae61c5333043167fa31bac33be93c3de"
10SRCREV_meta_core2-32-intel-common = "8f3bc608ae61c5333043167fa31bac33be93c3de"
11SRCREV_meta_corei7-64-intel-common = "8f3bc608ae61c5333043167fa31bac33be93c3de"
12
13SRCREV_machine_i586-nlp-32-intel-common = "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
14SRCREV_machine_core2-32-intel-common = "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
15SRCREV_machine_corei7-64-intel-common = "95c0a80ee83f1cf8e59d733f36e8a9dfd50a0098"
16
17COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
18COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
19COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
20
21KBRANCH_i586-nlp-32-intel-common = "standard/tiny/base"
22KBRANCH_core2-32-intel-common = "standard/tiny/base"
23KBRANCH_corei7-64-intel-common = "standard/tiny/base"
24
25KMACHINE_i586-nlp-32-intel-common = "intel-quark"
26KMACHINE_core2-32-intel-common = "intel-core2-32"
27KMACHINE_corei7-64-intel-common = "intel-corei7-64"
28
29KERNEL_FEATURES_append_i586-nlp-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
30KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
31KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON} cfg/fs/ext4.scc"
diff --git a/common/recipes-kernel/linux/linux-yocto_%.bbappend b/common/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index 7c29be14..00000000
--- a/common/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
1# The kernel build is 64-bit regardless, so include both common overrides.
2# Without this, the kernel will be missing vars that make it buildable for the
3# intel-corei7-64 machine.
4MACHINEOVERRIDES_prepend_corei7-64-x32-intel-common = "corei7-64-intel-common:"
diff --git a/common/recipes-kernel/linux/linux-yocto_4.10.bbappend b/common/recipes-kernel/linux/linux-yocto_4.10.bbappend
deleted file mode 100644
index 20504637..00000000
--- a/common/recipes-kernel/linux/linux-yocto_4.10.bbappend
+++ /dev/null
@@ -1,21 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON ?= ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
14
15# For Crystalforest and Romley
16KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
17KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
18
19# For FRI2, NUC
20KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
21KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
diff --git a/common/recipes-kernel/linux/linux-yocto_4.12.bbappend b/common/recipes-kernel/linux/linux-yocto_4.12.bbappend
deleted file mode 100644
index 20504637..00000000
--- a/common/recipes-kernel/linux/linux-yocto_4.12.bbappend
+++ /dev/null
@@ -1,21 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON ?= ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
14
15# For Crystalforest and Romley
16KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
17KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
18
19# For FRI2, NUC
20KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
21KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
diff --git a/common/recipes-kernel/linux/linux-yocto_4.4.bbappend b/common/recipes-kernel/linux/linux-yocto_4.4.bbappend
deleted file mode 100644
index 3b02a932..00000000
--- a/common/recipes-kernel/linux/linux-yocto_4.4.bbappend
+++ /dev/null
@@ -1,43 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3LINUX_VERSION_INTEL_COMMON = "4.4.87"
4SRCREV_META_INTEL_COMMON = "804d2b3164ec25ed519fd695de9aa0908460c92e"
5SRCREV_MACHINE_INTEL_COMMON = "57746baa7ae35660fe807c65b6809e6b16d4a448"
6
7KBRANCH_INTEL_COMMON = "standard/intel/base"
8
9KERNEL_FEATURES_INTEL_COMMON ?= ""
10
11LINUX_VERSION_core2-32-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
12COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
13KMACHINE_core2-32-intel-common = "intel-core2-32"
14KBRANCH_core2-32-intel-common = "${KBRANCH_INTEL_COMMON}"
15SRCREV_meta_core2-32-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
16SRCREV_machine_core2-32-intel-common ?= "${SRCREV_MACHINE_INTEL_COMMON}"
17KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
18
19LINUX_VERSION_corei7-64-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
20COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
21KMACHINE_corei7-64-intel-common = "intel-corei7-64"
22SRCREV_meta_corei7-64-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
23SRCREV_machine_corei7-64-intel-common ?= "${@bb.utils.contains('INTEL_MACHINE_SUBTYPE', 'broxton-m', 'a249f6388ace2a4035220c2333649b42c300faa9', '${SRCREV_MACHINE_INTEL_COMMON}', d)}"
24KBRANCH_corei7-64-intel-common = "${@bb.utils.contains('INTEL_MACHINE_SUBTYPE', 'broxton-m', 'standard/intel/bxt-rebase;rebaseable=1', '${KBRANCH_INTEL_COMMON}', d)}"
25KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
26
27# Quark / X1000 BSP Info
28LINUX_VERSION_i586-nlp-32-intel-common = "${LINUX_VERSION_INTEL_COMMON}"
29COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
30KMACHINE_i586-nlp-32-intel-common = "intel-quark"
31KBRANCH_i586-nlp-32-intel-common = "${KBRANCH_INTEL_COMMON}"
32SRCREV_meta_i586-nlp-32-intel-common ?= "${SRCREV_META_INTEL_COMMON}"
33SRCREV_machine_i586-nlp-32-intel-common ?= "${SRCREV_MACHINE_INTEL_COMMON}"
34KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
35
36
37# For Crystalforest and Romley
38KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
39KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
40
41# For FRI2, NUC
42KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
43KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
diff --git a/common/recipes-kernel/linux/linux-yocto_4.9.bbappend b/common/recipes-kernel/linux/linux-yocto_4.9.bbappend
deleted file mode 100644
index a09fe1a4..00000000
--- a/common/recipes-kernel/linux/linux-yocto_4.9.bbappend
+++ /dev/null
@@ -1,21 +0,0 @@
1KERNEL_FEATURES_INTEL_COMMON = ""
2
3COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
4KMACHINE_core2-32-intel-common = "intel-core2-32"
5KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
6
7COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
8KMACHINE_corei7-64-intel-common = "intel-corei7-64"
9KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
10
11COMPATIBLE_MACHINE_i586-nlp-32-intel-common = "${MACHINE}"
12KMACHINE_i586-nlp-32-intel-common = "intel-quark"
13KERNEL_FEATURES_append_i586-nlp-32-intel-common = ""
14
15# For Crystalforest and Romley
16KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
17KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
18
19# For FRI2, NUC
20KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
21KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
diff --git a/common/recipes-kernel/lttng/lttng-modules/0002-lttng-modules-PKT-4.9-yocto-build-failed.patch b/common/recipes-kernel/lttng/lttng-modules/0002-lttng-modules-PKT-4.9-yocto-build-failed.patch
deleted file mode 100644
index 32b49b8d..00000000
--- a/common/recipes-kernel/lttng/lttng-modules/0002-lttng-modules-PKT-4.9-yocto-build-failed.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From ebfdc8b8af17f9cf23c6878eb52476fde7b48e5c Mon Sep 17 00:00:00 2001
2From: Priyalee Kushwaha <priyalee.kushwaha@intel.com>
3Date: Fri, 22 Sep 2017 14:40:57 -0700
4Subject: [PATCH] lttng-modules: PKT 4.9 yocto build failed
5
6PKT 4.9 yocto kernel backports a patch from upstream and that
7changes header include/linux/ktimer.h. Since this backported
8patch is only relevant for PKT kernel, we need to carry this
9patch.
10
11Upstream-Status: Backport
12Signed-off-by: Kushwaha, Priyalee <priyalee.kushwaha@intel.com>
13---
14 instrumentation/events/lttng-module/timer.h | 6 +++---
15 1 file changed, 3 insertions(+), 3 deletions(-)
16
17diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h
18index d62fd25..59da988 100644
19--- a/instrumentation/events/lttng-module/timer.h
20+++ b/instrumentation/events/lttng-module/timer.h
21@@ -16,11 +16,11 @@ struct timer_list;
22
23 #endif /* _TRACE_TIMER_DEF_ */
24
25-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
26+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0))
27 #define lttng_ktime_get_tv64(kt) (kt)
28-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
29+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)) */
30 #define lttng_ktime_get_tv64(kt) ((kt).tv64)
31-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
32+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)) */
33
34 LTTNG_TRACEPOINT_EVENT_CLASS(timer_class,
35
36--
372.7.4
38
diff --git a/common/recipes-kernel/lttng/lttng-modules_%.bbappend b/common/recipes-kernel/lttng/lttng-modules_%.bbappend
deleted file mode 100644
index dc1c4a74..00000000
--- a/common/recipes-kernel/lttng/lttng-modules_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
1FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
2
3
4LTTNG_PATCH = "${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/kernel','linux-intel linux-intel-rt','file://0002-lttng-modules-PKT-4.9-yocto-build-failed.patch','',d)}"
5
6SRC_URI_append_intel-x86-common = " ${LTTNG_PATCH}"
7
diff --git a/common/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb b/common/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb
deleted file mode 100644
index 72451c02..00000000
--- a/common/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1SUMMARY = "VA driver for Intel G45 & HD Graphics family"
2DESCRIPTION = "libva-driver-intel is the VA-API implementation \
3for Intel G45 chipsets and Intel HD Graphics for Intel Core \
4processor family."
5
6HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi"
7BUGTRACKER = "https://bugs.freedesktop.org"
8
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
11
12COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
13
14DEPENDS = "libva libdrm"
15
16SRC_URI = "git://github.com/01org/intel-vaapi-driver.git;branch=v1.8-branch"
17# 1.8.3 release tag
18SRCREV = "f1d9ceddc0e84ed8d44dd59017b0e19b75dd5dcd"
19
20S = "${WORKDIR}/git"
21
22inherit autotools pkgconfig distro_features_check
23
24REQUIRED_DISTRO_FEATURES = "opengl"
25
26PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
27 ${@bb.utils.contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}"
28PACKAGECONFIG[x11] = "--enable-x11,--disable-x11"
29PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native virtual/egl"
30
31FILES_${PN} += "${libdir}/dri/*.so"
32FILES_${PN}-dev += "${libdir}/dri/*.la"
33FILES_${PN}-dbg += "${libdir}/dri/.debug"
34
35UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
diff --git a/common/recipes-multimedia/libva/va-intel.bb b/common/recipes-multimedia/libva/va-intel.bb
deleted file mode 100644
index 88539e25..00000000
--- a/common/recipes-multimedia/libva/va-intel.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1DESCRIPTION = "Video Acceleration Add-ons for Intel BSPs"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5S = "${WORKDIR}"
6
7PR = "r1"
8
9def map_valibs(d):
10 # The intel implementation requires the libva-intel-driver package
11 if bb.utils.contains('MACHINE_FEATURES', 'va-impl-intel', "1", "0", d) == "1":
12 return "libva libva-intel-driver"
13 # All meta-intel video acceleration requires libva
14 return "libva"
15
16VA_IMPL = "${@map_valibs(d)}"
17
18PACKAGES = "\
19 va-intel \
20 "
21
22ALLOW_EMPTY_va-intel = "1"
23
24RDEPENDS_va-intel = " \
25 ${VA_IMPL} \
26 "
27
28COMPATIBLE_HOST = '(i.86|x86_64).*-linux*'
29
30inherit distro_features_check
31
32REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/common/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch b/common/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
deleted file mode 100644
index a4a4029c..00000000
--- a/common/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,99 +0,0 @@
1From b7e66182788cd925570bb4c310e21fbcd3185040 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Aug 2017 08:49:20 -0700
4Subject: [PATCH] Fix build with clang
5
6Fix errors e.g.
7error: 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]
8
9and
10
11psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain]
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15Upstream-Status: Pending
16
17 tests/decodehelp.cpp | 2 +-
18 tests/encodehelp.h | 2 +-
19 tests/vpp.cpp | 2 +-
20 tests/yamitranscode.cpp | 2 +-
21 testscripts/psnr.cpp | 4 ++--
22 5 files changed, 6 insertions(+), 6 deletions(-)
23
24diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp
25index a69eab6..2d96598 100644
26--- a/tests/decodehelp.cpp
27+++ b/tests/decodehelp.cpp
28@@ -70,7 +70,7 @@ bool processCmdLine(int argc, char** argv, DecodeParameter* parameters)
29 {"capi", no_argument, NULL, 0},
30 {NULL, no_argument, NULL, 0}};
31
32- char opt;
33+ int opt;
34 while ((opt = getopt_long_only(argc, argv, "h:m:n:i:f:o:w:?", long_opts,&option_index)) != -1){
35 switch (opt) {
36 case 'h':
37diff --git a/tests/encodehelp.h b/tests/encodehelp.h
38index 57ccd77..76df801 100644
39--- a/tests/encodehelp.h
40+++ b/tests/encodehelp.h
41@@ -107,7 +107,7 @@ static VideoRateControl string_to_rc_mode(char *str)
42
43 static bool process_cmdline(int argc, char *argv[])
44 {
45- char opt;
46+ int opt;
47 const struct option long_opts[] = {
48 { "help", no_argument, NULL, 'h' },
49 { "qp", required_argument, NULL, 0 },
50diff --git a/tests/vpp.cpp b/tests/vpp.cpp
51index 5a60c0a..52da43b 100644
52--- a/tests/vpp.cpp
53+++ b/tests/vpp.cpp
54@@ -151,7 +151,7 @@ public:
55 private:
56 bool processCmdLine(int argc, char* argv[])
57 {
58- char opt;
59+ int opt;
60 const struct option long_opts[] = {
61 { "help", no_argument, NULL, 'h' },
62 { "sharpening", required_argument, NULL, 's' },
63diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp
64index 4cb72aa..2fc6725 100755
65--- a/tests/yamitranscode.cpp
66+++ b/tests/yamitranscode.cpp
67@@ -95,7 +95,7 @@ static VideoRateControl string_to_rc_mode(char *str)
68
69 static bool processCmdLine(int argc, char *argv[], TranscodeParams& para)
70 {
71- char opt;
72+ int opt;
73 const struct option long_opts[] = {
74 { "help", no_argument, NULL, 'h' },
75 { "qp", required_argument, NULL, 0 },
76diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp
77index 5cc24c9..68bd668 100644
78--- a/testscripts/psnr.cpp
79+++ b/testscripts/psnr.cpp
80@@ -215,14 +215,14 @@ int main(int argc, char *argv[])
81 const char* psnrresult = "average_psnr.txt";
82 int width=0,height=0;
83 int standardpsnr = NORMAL_PSNR;
84- char opt;
85+ int opt;
86 while ((opt = getopt(argc, argv, "h:W:H:i:o:s:?")) != -1)
87 {
88 switch (opt) {
89 case 'h':
90 case '?':
91 print_help(argv[0]);
92- return false;
93+ return -1;
94 case 'i':
95 filename1 = optarg;
96 break;
97--
982.14.1
99
diff --git a/common/recipes-multimedia/libyami/libyami-utils_1.2.0.bb b/common/recipes-multimedia/libyami/libyami-utils_1.2.0.bb
deleted file mode 100644
index 62d62d58..00000000
--- a/common/recipes-multimedia/libyami/libyami-utils_1.2.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "Applications and Scripts for libyami."
2DESCRIPTION = "Applications and Scripts for libyami."
3
4HOMEPAGE = "https://github.com/01org/libyami-utils"
5BUGTRACKER = "https://github.com/01org/libyami-utils/issues/new"
6
7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
9
10SRC_URI = "git://github.com/01org/libyami-utils.git \
11 file://0001-Fix-build-with-clang.patch \
12 "
13SRCREV = "b480c0594a7e761a8ccfe6b19b3f9bd0c3d871a1"
14S = "${WORKDIR}/git"
15
16DEPENDS = "libva libyami"
17
18EXTRA_OECONF = "--enable-tests-gles --disable-md5"
19
20inherit autotools pkgconfig distro_features_check
21
22REQUIRED_DISTRO_FEATURES = "opengl"
23
24PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
25
26# --enable-x11 needs libva-x11
27# gles-tests fail to build without x11: see https://github.com/01org/libyami-utils/issues/91
28PACKAGECONFIG[x11] = "--enable-x11 --enable-tests-gles,--disable-x11 --disable-tests-gles, virtual/libx11"
29
30UPSTREAM_CHECK_URI = "http://github.com/01org/libyami-utils/releases"
31UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch b/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch
deleted file mode 100644
index a96c9b85..00000000
--- a/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 294874b610a5b8af9b736b3afc938010af58785e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:15:45 -0700
4Subject: [PATCH 1/9] bitWriter.cpp: Delete unused CACHEBYTES
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 codecparsers/bitWriter.cpp | 1 -
11 1 file changed, 1 deletion(-)
12
13diff --git a/codecparsers/bitWriter.cpp b/codecparsers/bitWriter.cpp
14index 9bcb14d..08469bf 100644
15--- a/codecparsers/bitWriter.cpp
16+++ b/codecparsers/bitWriter.cpp
17@@ -24,7 +24,6 @@
18
19 namespace YamiParser {
20
21-const uint32_t CACHEBYTES = sizeof(unsigned long int);
22 const uint32_t CACHEBITS = sizeof(unsigned long int) * 8;
23
24 // clip to keep lowest n bits
25--
262.14.1
27
diff --git a/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch b/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch
deleted file mode 100644
index a216566c..00000000
--- a/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 88fa048e22ad00b04054b8a64df53bd440e01537 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:29:02 -0700
4Subject: [PATCH 2/9] typecast index from size_t to int
5
6size_t is not consistent across architectures e.g. on arm its unsigned int
7
8Fixes
9error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13Upstream-Status: Pending
14
15 codecparsers/jpegParser.cpp | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/codecparsers/jpegParser.cpp b/codecparsers/jpegParser.cpp
19index 2217028..6da5c36 100644
20--- a/codecparsers/jpegParser.cpp
21+++ b/codecparsers/jpegParser.cpp
22@@ -639,7 +639,7 @@ bool Parser::parseDAC()
23
24 length -= 2;
25
26- if (index < 0 || index >= (2 * NUM_ARITH_TBLS)) {
27+ if ((int)index < 0 || index >= (2 * NUM_ARITH_TBLS)) {
28 ERROR("Invalid DAC Index");
29 return false;
30 }
31@@ -747,7 +747,7 @@ bool Parser::parseDHT()
32 huffTables = &m_dcHuffTables;
33 }
34
35- if (index < 0 || index >= NUM_HUFF_TBLS) {
36+ if ((int)index < 0 || index >= NUM_HUFF_TBLS) {
37 ERROR("Bad Huff Table Index");
38 return false;
39 }
40--
412.14.1
42
diff --git a/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch b/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch
deleted file mode 100644
index 17289602..00000000
--- a/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 533d63287e9dd8f269b137c18fbe6c19206c8668 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:49:43 -0700
4Subject: [PATCH 3/9] Add -Wno-invalid-offsetof to compiler commandline
5
6clang++ is fussy about offsetof on non-POD types
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10Upstream-Status: Pending
11
12 codecparsers/Makefile.am | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/codecparsers/Makefile.am b/codecparsers/Makefile.am
16index 720bf81..d9226b3 100644
17--- a/codecparsers/Makefile.am
18+++ b/codecparsers/Makefile.am
19@@ -118,6 +118,7 @@ libyami_codecparser_cppflags = \
20 -Dvp8dx_start_decode=libyami_vp8dx_start_decode \
21 -Dvp8dx_bool_decoder_fill=libyami_vp8dx_bool_decoder_fill \
22 -I$(top_srcdir)/interface \
23+ -Wno-invalid-offsetof \
24 $(extra_includes) \
25 $(NULL)
26
27--
282.14.1
29
diff --git a/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch b/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch
deleted file mode 100644
index 27eca39b..00000000
--- a/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From d9c831ee38da4551396fad5cd53c3dfc0e5e0cf8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:57:34 -0700
4Subject: [PATCH 4/9] Typecast POWER32SUB2 to uint8_t
5
6Fixes
7
8h265Parser.cpp:1064:5: error: comparison of constant 4294967294 with expression
9of type 'uint8_t' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13Upstream-Status: Pending
14
15 codecparsers/h265Parser.cpp | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/codecparsers/h265Parser.cpp b/codecparsers/h265Parser.cpp
19index 0dea3a6..c6cded2 100644
20--- a/codecparsers/h265Parser.cpp
21+++ b/codecparsers/h265Parser.cpp
22@@ -125,7 +125,7 @@ namespace H265 {
23 \
24 CHECK_READ_UE(var->var##_max_num_reorder_pics[i], 0, var->var##_max_dec_pic_buffering_minus1[i]); \
25 \
26- CHECK_READ_UE(var->var##_max_latency_increase_plus1[i], 0, POWER32SUB2); \
27+ CHECK_READ_UE(var->var##_max_latency_increase_plus1[i], 0, (uint8_t)POWER32SUB2); \
28 } \
29 }
30
31--
322.14.1
33
diff --git a/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch b/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch
deleted file mode 100644
index e77e85f7..00000000
--- a/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch
+++ /dev/null
@@ -1,130 +0,0 @@
1From 3748cf904089878971cfcf66abf14c4d74f8241a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:03:07 -0700
4Subject: [PATCH 5/9] move c++ definitions out of extern "C" block
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 decoder/vaapidecoder_host.cpp | 2 +-
11 encoder/vaapiencoder_host.cpp | 3 ++-
12 interface/VideoDecoderHost.h | 8 ++++----
13 interface/VideoEncoderHost.h | 8 ++++----
14 interface/VideoPostProcessHost.h | 8 ++++----
15 vpp/vaapipostprocess_host.cpp | 3 +--
16 6 files changed, 16 insertions(+), 16 deletions(-)
17
18diff --git a/decoder/vaapidecoder_host.cpp b/decoder/vaapidecoder_host.cpp
19index bcc9165..d9129f3 100644
20--- a/decoder/vaapidecoder_host.cpp
21+++ b/decoder/vaapidecoder_host.cpp
22@@ -100,9 +100,9 @@ void releaseVideoDecoder(IVideoDecoder * p)
23 {
24 delete p;
25 }
26+} // extern "C"
27
28 std::vector<std::string> getVideoDecoderMimeTypes()
29 {
30 return VaapiDecoderFactory::keys();
31 }
32-} // extern "C"
33diff --git a/encoder/vaapiencoder_host.cpp b/encoder/vaapiencoder_host.cpp
34index 49e903a..3ee9354 100644
35--- a/encoder/vaapiencoder_host.cpp
36+++ b/encoder/vaapiencoder_host.cpp
37@@ -78,9 +78,10 @@ void releaseVideoEncoder(IVideoEncoder* p) {
38 delete p;
39 }
40
41+} // extern "C"
42+
43 std::vector<std::string> getVideoEncoderMimeTypes()
44 {
45 return VaapiEncoderFactory::keys();
46 }
47
48-} // extern "C"
49diff --git a/interface/VideoDecoderHost.h b/interface/VideoDecoderHost.h
50index 86210fe..fd2ba7b 100644
51--- a/interface/VideoDecoderHost.h
52+++ b/interface/VideoDecoderHost.h
53@@ -32,12 +32,12 @@ extern "C" { // for dlsym usage
54 YamiMediaCodec::IVideoDecoder *createVideoDecoder(const char *mimeType);
55 /// \brief destroy the decoder
56 void releaseVideoDecoder(YamiMediaCodec::IVideoDecoder * p);
57-/** \fn void getVideoDecoderMimeTypes()
58- * \brief return the MimeTypes enabled in the current build
59-*/
60-std::vector<std::string> getVideoDecoderMimeTypes();
61
62 typedef YamiMediaCodec::IVideoDecoder *(*YamiCreateVideoDecoderFuncPtr) (const char *mimeType);
63 typedef void (*YamiReleaseVideoDecoderFuncPtr)(YamiMediaCodec::IVideoDecoder * p);
64 }
65+// \fn void getVideoDecoderMimeTypes()
66+// \brief return the MimeTypes enabled in the current build
67+//
68+std::vector<std::string> getVideoDecoderMimeTypes();
69 #endif /* VIDEO_DECODER_HOST_H_ */
70diff --git a/interface/VideoEncoderHost.h b/interface/VideoEncoderHost.h
71index fb80335..5fb5ab3 100644
72--- a/interface/VideoEncoderHost.h
73+++ b/interface/VideoEncoderHost.h
74@@ -32,12 +32,12 @@ extern "C" { // for dlsym usage
75 YamiMediaCodec::IVideoEncoder *createVideoEncoder(const char *mimeType);
76 ///brief destroy encoder
77 void releaseVideoEncoder(YamiMediaCodec::IVideoEncoder * p);
78-/** \fn void getVideoEncoderMimeTypes()
79- * \brief return the MimeTypes enabled in the current build
80-*/
81-std::vector<std::string> getVideoEncoderMimeTypes();
82
83 typedef YamiMediaCodec::IVideoEncoder *(*YamiCreateVideoEncoderFuncPtr) (const char *mimeType);
84 typedef void (*YamiReleaseVideoEncoderFuncPtr)(YamiMediaCodec::IVideoEncoder * p);
85 }
86 #endif /* VIDEO_ENCODER_HOST_H_ */
87+// \fn void getVideoEncoderMimeTypes()
88+// \brief return the MimeTypes enabled in the current build
89+//
90+std::vector<std::string> getVideoEncoderMimeTypes();
91diff --git a/interface/VideoPostProcessHost.h b/interface/VideoPostProcessHost.h
92index de046cd..f1c5ce5 100644
93--- a/interface/VideoPostProcessHost.h
94+++ b/interface/VideoPostProcessHost.h
95@@ -34,12 +34,12 @@ YamiMediaCodec::IVideoPostProcess *createVideoPostProcess(const char *mimeType);
96 * \brief destroy encoder
97 */
98 void releaseVideoPostProcess(YamiMediaCodec::IVideoPostProcess * p);
99-/** \fn void getVideoPostProcessMimeTypes()
100- * \brief return the MimeTypes enabled in the current build
101-*/
102-std::vector<std::string> getVideoPostProcessMimeTypes();
103
104 typedef YamiMediaCodec::IVideoPostProcess *(*YamiCreateVideoPostProcessFuncPtr) (const char *mimeType);
105 typedef void (*YamiReleaseVideoPostProcessFuncPtr)(YamiMediaCodec::IVideoPostProcess * p);
106 }
107 #endif /* VIDEO_POST_PROCESS_HOST_H_ */
108+// \fn void getVideoPostProcessMimeTypes()
109+// \brief return the MimeTypes enabled in the current build
110+//
111+std::vector<std::string> getVideoPostProcessMimeTypes();
112diff --git a/vpp/vaapipostprocess_host.cpp b/vpp/vaapipostprocess_host.cpp
113index cd40dea..bc06b38 100644
114--- a/vpp/vaapipostprocess_host.cpp
115+++ b/vpp/vaapipostprocess_host.cpp
116@@ -75,10 +75,9 @@ void releaseVideoPostProcess(IVideoPostProcess * p)
117 {
118 delete p;
119 }
120+} // extern "C"
121
122 std::vector<std::string> getVideoPostProcessMimeTypes()
123 {
124 return VaapiPostProcessFactory::keys();
125 }
126-
127-} // extern "C"
128--
1292.14.1
130
diff --git a/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch b/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch
deleted file mode 100644
index c9c74520..00000000
--- a/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 27b61f5ab1b1643436f56517e4980734b4b9acca Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:38:05 -0700
4Subject: [PATCH 6/9] Avoid namespace conflicts by adding explicit using
5 <namespace>
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9Upstream-Status: Pending
10
11 decoder/vaapidecoder_h264.h | 1 +
12 decoder/vaapidecoder_h265.h | 1 +
13 2 files changed, 2 insertions(+)
14
15diff --git a/decoder/vaapidecoder_h264.h b/decoder/vaapidecoder_h264.h
16index 57e2c27..ea5c2f2 100644
17--- a/decoder/vaapidecoder_h264.h
18+++ b/decoder/vaapidecoder_h264.h
19@@ -30,6 +30,7 @@ namespace YamiMediaCodec {
20
21 class VaapiDecPictureH264;
22 class VaapiDecoderH264 : public VaapiDecoderBase {
23+using YamiMediaCodec::VaapiDecoderBase::createPicture;
24 public:
25 typedef SharedPtr<VaapiDecPictureH264> PicturePtr;
26 typedef std::vector<PicturePtr> RefSet;
27diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h
28index f7e2303..159e25f 100644
29--- a/decoder/vaapidecoder_h265.h
30+++ b/decoder/vaapidecoder_h265.h
31@@ -38,6 +38,7 @@ namespace YamiMediaCodec {
32
33 class VaapiDecPictureH265;
34 class VaapiDecoderH265:public VaapiDecoderBase {
35+ using YamiMediaCodec::VaapiDecoderBase::createPicture;
36 typedef YamiParser::H265::SPS SPS;
37 typedef YamiParser::H265::SliceHeader SliceHeader;
38 typedef YamiParser::H265::NalUnit NalUnit;
39--
402.14.1
41
diff --git a/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch b/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch
deleted file mode 100644
index b80774c9..00000000
--- a/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From b982997c96e11b9c0b3cd58a31af2d0a219713a3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:39:58 -0700
4Subject: [PATCH 7/9] Delete unused variables
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 decoder/vaapidecoder_vp8.cpp | 8 ++++----
11 1 file changed, 4 insertions(+), 4 deletions(-)
12
13diff --git a/decoder/vaapidecoder_vp8.cpp b/decoder/vaapidecoder_vp8.cpp
14index 5fc89ec..ff5b896 100644
15--- a/decoder/vaapidecoder_vp8.cpp
16+++ b/decoder/vaapidecoder_vp8.cpp
17@@ -32,12 +32,12 @@ typedef VaapiDecoderVP8::PicturePtr PicturePtr;
18
19 // the following parameter apply to Intra-Predicted Macroblocks,
20 // $11.2 $11.4: key frame default probs
21-static const uint8_t keyFrameYModeProbs[4] = { 145, 156, 163, 128 };
22-static const uint8_t keyFrameUVModeProbs[3] = { 142, 114, 183 };
23+//static const uint8_t keyFrameYModeProbs[4] = { 145, 156, 163, 128 };
24+//static const uint8_t keyFrameUVModeProbs[3] = { 142, 114, 183 };
25
26 // $16.1: non-key frame default probs
27-static const uint8_t nonKeyFrameDefaultYModeProbs[4] = { 112, 86, 140, 37 };
28-static const uint8_t nonKeyFrameDefaultUVModeProbs[3] = { 162, 101, 204 };
29+//static const uint8_t nonKeyFrameDefaultYModeProbs[4] = { 112, 86, 140, 37 };
30+//static const uint8_t nonKeyFrameDefaultUVModeProbs[3] = { 162, 101, 204 };
31
32 static const uint32_t surfaceNumVP8 = 3;
33
34--
352.14.1
36
diff --git a/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch b/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch
deleted file mode 100644
index 18b98be8..00000000
--- a/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From c54130511c91e457f1c5bb47729f5e3a0fc0cb91 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:42:28 -0700
4Subject: [PATCH 8/9] NalUnit is declared in different namespace
5
6Fixes
7vaapidecoder_h265.h:32:5: error: struct 'NalUnit' was previously declared as a class [-Werror,-Wmismatched-tags] struct NalUnit;
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11Upstream-Status: Pending
12
13 decoder/vaapidecoder_h265.h | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h
17index 159e25f..674638f 100644
18--- a/decoder/vaapidecoder_h265.h
19+++ b/decoder/vaapidecoder_h265.h
20@@ -29,7 +29,7 @@ namespace YamiParser {
21 namespace H265 {
22 struct SPS;
23 struct SliceHeader;
24- struct NalUnit;
25+ class NalUnit;
26 class Parser;
27 };
28 };
29--
302.14.1
31
diff --git a/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch b/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch
deleted file mode 100644
index 08ef455b..00000000
--- a/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From a54dc7b6a777882f55a3f31bd97748a261db03d2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:53:06 -0700
4Subject: [PATCH 9/9] Fix clang warnings
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 encoder/vaapiencoder_h264.cpp | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/encoder/vaapiencoder_h264.cpp b/encoder/vaapiencoder_h264.cpp
14index 98bc2ed..94015cb 100644
15--- a/encoder/vaapiencoder_h264.cpp
16+++ b/encoder/vaapiencoder_h264.cpp
17@@ -509,7 +509,7 @@ bit_writer_write_sps(BitWriter* bitwriter,
18 }
19 /* vcl_hrd_parameters_present_flag */
20 bitwriter->writeBits(0, 1);
21- if (nal_hrd_parameters_present_flag || 0/*vcl_hrd_parameters_present_flag*/) {
22+ if (nal_hrd_parameters_present_flag || !!(0)/*vcl_hrd_parameters_present_flag*/) {
23 /* low_delay_hrd_flag */
24 bitwriter->writeBits(0, 1);
25 }
26@@ -1889,7 +1889,7 @@ bool VaapiEncoderH264::addSliceHeaders (const PicturePtr& picture) const
27 sliceParam->num_macroblocks = curSliceMbs;
28 sliceParam->macroblock_info = VA_INVALID_ID;
29 sliceParam->slice_type = h264_get_slice_type (picture->m_type);
30- assert (sliceParam->slice_type != -1);
31+ assert ((int)sliceParam->slice_type != -1);
32 sliceParam->idr_pic_id = m_idrNum;
33 sliceParam->pic_order_cnt_lsb = picture->m_poc % m_maxPicOrderCnt;
34
35--
362.14.1
37
diff --git a/common/recipes-multimedia/libyami/libyami_1.2.0.bb b/common/recipes-multimedia/libyami/libyami_1.2.0.bb
deleted file mode 100644
index 1d1d02fa..00000000
--- a/common/recipes-multimedia/libyami/libyami_1.2.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1SUMMARY = "Yami is media infrastructure base on libva"
2DESCRIPTION = "Yet Another Media Infrastructure \
3light weight hardware codec library base on VA-API "
4
5HOMEPAGE = "https://github.com/01org/libyami"
6BUGTRACKER = "https://github.com/01org/libyami/issues/new"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11SRC_URI = "git://github.com/01org/libyami.git;branch=apache \
12 file://0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch \
13 file://0002-typecast-index-from-size_t-to-int.patch \
14 file://0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch \
15 file://0004-Typecast-POWER32SUB2-to-uint8_t.patch \
16 file://0005-move-c-definitions-out-of-extern-C-block.patch \
17 file://0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch \
18 file://0007-Delete-unused-variables.patch \
19 file://0008-NalUnit-is-declared-in-different-namespace.patch \
20 file://0009-Fix-clang-warnings.patch \
21"
22SRCREV = "c884fc3facbf1a0adf2082a1cf95cb146300a5ca"
23S = "${WORKDIR}/git"
24
25PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}"
26PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender"
27
28DEPENDS = "libva"
29inherit autotools pkgconfig distro_features_check
30
31REQUIRED_DISTRO_FEATURES = "opengl"
32
33UPSTREAM_CHECK_URI = "https://github.com/01org/libyami/releases"
34UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/common/recipes-rt/images/core-image-rt-sdk.bb b/common/recipes-rt/images/core-image-rt-sdk.bb
deleted file mode 100644
index 6b43a872..00000000
--- a/common/recipes-rt/images/core-image-rt-sdk.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1require recipes-core/images/core-image-minimal.bb
2
3# Skip processing of this recipe if linux-intel-rt is not explicitly specified as the
4# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
5# to build multiple virtual/kernel providers.
6python () {
7 if d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
8 raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
9}
10
11DESCRIPTION = "Small image capable of booting a device with a test suite and \
12tools for real-time use. It includes the full meta-toolchain, development \
13headers and libraries to form a standalone SDK."
14DEPENDS = "linux-intel-rt"
15
16IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
17
18IMAGE_INSTALL += "rt-tests hwlatdetect kernel-dev"
19
20LICENSE = "MIT"
diff --git a/common/recipes-rt/images/core-image-rt.bb b/common/recipes-rt/images/core-image-rt.bb
deleted file mode 100644
index 4db0a579..00000000
--- a/common/recipes-rt/images/core-image-rt.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1require recipes-core/images/core-image-minimal.bb
2
3# Skip processing of this recipe if linux-intel-rt is not explicitly specified as the
4# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
5# to build multiple virtual/kernel providers.
6python () {
7 if d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
8 raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
9}
10
11DESCRIPTION = "A small image just capable of allowing a device to boot plus a \
12real-time test suite and tools appropriate for real-time use."
13DEPENDS = "linux-intel-rt"
14
15IMAGE_INSTALL += "rt-tests hwlatdetect"
16
17LICENSE = "MIT"
diff --git a/common/recipes-selftest/images/files/incorrect.crt b/common/recipes-selftest/images/files/incorrect.crt
deleted file mode 100644
index 3a2411ab..00000000
--- a/common/recipes-selftest/images/files/incorrect.crt
+++ /dev/null
@@ -1,19 +0,0 @@
1-----BEGIN CERTIFICATE-----
2MIIDCTCCAfGgAwIBAgIJAIYXAHv3cQNjMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV
3BAMMEFRlc3QgWW9jdG8gdGhpbmcwHhcNMTcwMTI1MjI1MjI3WhcNMTgwMTI1MjI1
4MjI3WjAbMRkwFwYDVQQDDBBUZXN0IFlvY3RvIHRoaW5nMIIBIjANBgkqhkiG9w0B
5AQEFAAOCAQ8AMIIBCgKCAQEAukI2ioMeL8qaXxMtryonAT51w+Zre0wB8bDBPuXD
6SwDVXNWfiKKTfCVEkLEUnsUEd7jiKswCT5orTwCD7aQK0mTrkAWEi8hEI3MkNoeh
7T51gkuTfv7A/HgPkhhlU4UQqipI6XoLf7o7PUV33ZfB43//iKY2kLBdsFvs4ALWE
831hLOkCFb+nqMnfZxq7DgvBwIdxJdLQvaskpDMfkna+zE3QWqkH5v55atW8Bunwk
9/6q5kqNhyrjZb4i0BqJ5AHFUEQzlDcjpyFVUtR14r0IxjBFMHZXrx4uLe7KvGf/4
10GqpqeFOPqxMsfC5ILJJ7nvwFViqftGgtWg/12bKMTB5saQIDAQABo1AwTjAdBgNV
11HQ4EFgQURA8KbgpiGfS2+7MT0H5AvpxeYLowHwYDVR0jBBgwFoAURA8KbgpiGfS2
12+7MT0H5AvpxeYLowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAK9n+
139T+hlM2kEpsUgtyihEJbGHzbw+Pj11b0ICntCVuPKewtBMveYp8lejrQwMFNGRMt
14ZQe1LFb9HcLeM3MLUz9Lm4BJIjkey3Jfq1AskROYk/bJnFIJIx6P3U9gBa20P46X
15LH3g6yub1HR7KZC9nfBsak3FPoJR/SYTJs0HsMeL4878+2IbETA4BL0kbKW48FFW
16jF4f6don0eiaF8b4KkfbWKrCaEm+LMxbyBEQ6fIb1cmGY8A9A5houjmgi6YWSkoi
17SLpOC9TZ2R51fO9rRsv7XwLK0V9o9YaEYPBg6V/TeJl5nxAZBeVTKVTQbBGZY+l2
18nzN0pKsl7RXLf3SRYA==
19-----END CERTIFICATE-----
diff --git a/common/recipes-selftest/images/files/incorrect.key b/common/recipes-selftest/images/files/incorrect.key
deleted file mode 100644
index d05475b6..00000000
--- a/common/recipes-selftest/images/files/incorrect.key
+++ /dev/null
@@ -1,27 +0,0 @@
1-----BEGIN RSA PRIVATE KEY-----
2MIIEowIBAAKCAQEAukI2ioMeL8qaXxMtryonAT51w+Zre0wB8bDBPuXDSwDVXNWf
3iKKTfCVEkLEUnsUEd7jiKswCT5orTwCD7aQK0mTrkAWEi8hEI3MkNoehT51gkuTf
4v7A/HgPkhhlU4UQqipI6XoLf7o7PUV33ZfB43//iKY2kLBdsFvs4ALWE31hLOkCF
5b+nqMnfZxq7DgvBwIdxJdLQvaskpDMfkna+zE3QWqkH5v55atW8Bunwk/6q5kqNh
6yrjZb4i0BqJ5AHFUEQzlDcjpyFVUtR14r0IxjBFMHZXrx4uLe7KvGf/4GqpqeFOP
7qxMsfC5ILJJ7nvwFViqftGgtWg/12bKMTB5saQIDAQABAoIBAQCEtAox86s9N6d2
8164z3998Zmj3UyL+7K9x6JI2YvMabBSYGOeaLOLRj6fjQxdC63H8brBM958p4di7
9Z82XMco4Dok6yoOeJ+hMLYv+gfGvTJxy7DhyVXsSwok99axg9vUsV3TYw3wSdpNF
10EKLkcUldpu0W2ADBHUr4sLI85xctHH3Kt0sNDzhgADFa5rDYACXTKHtFOhEqBIwN
11FmbuRQirnErUkI3Pczgl2Xy1MlaozH9CB+bLAb5q2FYu4DKgjl4UorC+w2HV41KH
12XoL7L36XXqLRHBfEAwOWb8yro+TK8T7gW7aagTI1wgsbbQkjQmOHxclmJACdMOiJ
13DjPeR0GBAoGBAO7i2eaEoKa9QlKokN+93uOJD/F6DBi6jF0vGOqWlF8AVTj3kGL3
14X8fY/avrSlg7hKZWdei+Q5PyZViKxqmHjq781ZisKck52Tqz4s7ylqRXSgStinZr
15UqrkShCqZ3g1W91gIeVPQz0/b+gBskoHzQ5WQHfV5v9S1PaxjzcYtCrRAoGBAMea
16LcA2jjuEjqxa5v5fh8ygcHasJMRKJxW1OCKiQ94DjjzPsdVqZ1sJZChLW/N3nxe7
17wHlNJmsGbJ2w1zD5+qkkPjLq5Q4B5KAd62NNrWaEHFdEc/PPkn4xP7Zkfuu5K+m2
187z/MF4ibvVh9PvD3HY8FWKEtkqB4rfD8AoUOVd4ZAoGAXxXAsfa8k2Hl0kzyTXyg
19CWV3CSERS46FbFngyw9gw2e4hFJWEG5ym3ONlS60iuY16JelmxyQfYUQPewPI0+n
20xZMx2fE9OLFj+++6KbF5sLRl6/K/mF8jqo3vxS5uvPRQOo+XLlUcaHalrm1ub/Um
2187v1MT3dEmgACKmoXb/hhuECgYAZluiapePiOYJZEmZe4jx0vXTtofAswhz0qYEC
223663vdj0buQrqjKJ91BB4jdtpT5eOpHYe02blv1B0jQkcUfze1QGDxtCineXF37g
23Aktiwzkm7v22mjv7tbCnX4buDZVVp0BQ+4dg2iaSO6xgFC5T8amFMGSF8jLKnGRu
24ToIvsQKBgADBTse2vnI85NRsYq48ztQuIU2zlGXIAcoPSvGb8Vhty/joc0jWcI5P
25raGXBARbuVlcEapK3mDRfO0CQjDaTPK4EYYJwGp8k33Hkkcbgs4kfm308jRsclMr
26YeMwQsYyOv45x4iPCwrqZEhpPDvACBi7DB6QvZ0++vJbobTt1jyi
27-----END RSA PRIVATE KEY-----
diff --git a/common/recipes-selftest/images/files/refkit-db.crt b/common/recipes-selftest/images/files/refkit-db.crt
deleted file mode 100644
index 22ad6a89..00000000
--- a/common/recipes-selftest/images/files/refkit-db.crt
+++ /dev/null
@@ -1,18 +0,0 @@
1-----BEGIN CERTIFICATE-----
2MIIC+zCCAeOgAwIBAgIJANT2SMJoGZGsMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
3BAMMCXJlZmtpdC1kYjAeFw0xNzA0MjAxMjA2MzJaFw0xODA0MjAxMjA2MzJaMBQx
4EjAQBgNVBAMMCXJlZmtpdC1kYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
5ggEBALQcIqYiAVfN8U+vcuPZAYBQVe8CXuuZNct/Knn/tT7sXZIGMCDnla2khC4/
6+tdG3Umo6ON5SfaPCx3+Y6jRY6PWDU5sZlzWZibRJpjUT3bJZUhYEwgxvOVHJWWV
7OYlfAvHFBhdYygn99h7Fl9qjThpIvs+WJwRLt21ntlAYBHNR0mot3zur8i2V16i4
8qDChq4uSK2A+OuWGQHHBPy0ukOfW7MzCC3mDcW32o6lMzUaB3O/sUb6BKvF4c0Hb
9VM58zqLjkE9FGvk9iPwO7dNpIkz6CmnRSMCqqTqzjxA6dqgMej3Yec4clmL0Bu5H
106OBpka7qNM/aqLQ5XvN60IhIR2kCAwEAAaNQME4wHQYDVR0OBBYEFGhgESWFFHgb
11Gp9GEuYh5O/7O6rdMB8GA1UdIwQYMBaAFGhgESWFFHgbGp9GEuYh5O/7O6rdMAwG
12A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAI/ShHxDR8pr/YeD0O910yBS
13cxiqMnH7pfTJEaNoTbed5tlGJNzHwjv5sJj87jRuEJs9RG4zCRG4KdYtBs9nj5aF
14nWNyv2RfDePJYxlx1H1MnHdG2iCXbbzdwh/zQDge58xVBXK6JE+zipMMMGDan281
159vuwH7MA3cSmvOI3waPv2aGG+eukpUU4/06HSkHPbml+l74tIryNoBohj0tykAFc
16uqWcLdclJPz/XFgURjAJfFVkgwu5388l7uz3y9vRW5OTyIoQRriwNRxsDY8Dao8b
17NmjzU4k2WyGA3uOSUpSXnUmJfT7eKVG6Efe6Afer6sGnLqNNZf1AcfHiP2woy9M=
18-----END CERTIFICATE-----
diff --git a/common/recipes-selftest/images/files/refkit-db.key b/common/recipes-selftest/images/files/refkit-db.key
deleted file mode 100644
index 4b54587e..00000000
--- a/common/recipes-selftest/images/files/refkit-db.key
+++ /dev/null
@@ -1,28 +0,0 @@
1-----BEGIN PRIVATE KEY-----
2MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC0HCKmIgFXzfFP
3r3Lj2QGAUFXvAl7rmTXLfyp5/7U+7F2SBjAg55WtpIQuP/rXRt1JqOjjeUn2jwsd
4/mOo0WOj1g1ObGZc1mYm0SaY1E92yWVIWBMIMbzlRyVllTmJXwLxxQYXWMoJ/fYe
5xZfao04aSL7PlicES7dtZ7ZQGARzUdJqLd87q/ItldeouKgwoauLkitgPjrlhkBx
6wT8tLpDn1uzMwgt5g3Ft9qOpTM1Ggdzv7FG+gSrxeHNB21TOfM6i45BPRRr5PYj8
7Du3TaSJM+gpp0UjAqqk6s48QOnaoDHo92HnOHJZi9AbuR+jgaZGu6jTP2qi0OV7z
8etCISEdpAgMBAAECggEAbtXplKbUgL4hQ9JKN2Cxhc7qMv0YgI92BVaqQw1S8ffu
91Q+tynH5MDRPi06gBJ59SvkA6AsZsvrv8nM7zQWd9ZKh+aLHk1X04upOgDoW9JiX
10FV/txlslTUrs/ohIMfsgCrweNXvUSTXZobIi8s8QHyipE4HpXMFjjZYHIV7GTlgA
11PRgGu3NygbWfR8hcx5JtzVz/jka7FFFSbk/pMr0TeJHXP55VfqWLeeSBQmWwooj2
12QcRfqMXgLKgu6uEggaP5HMcfTuWgWNhbke/596CgsUtQ5Gg64Q6v7cKcPy0/lgn1
13PnvfT9uhgEFDLNFkSBxV3ImrNYo73Nqmbp3w5tK9SQKBgQDs/HW7pNnB0LD51qok
14pkX0SBvyKxDT1QuU4z0FY9GT7OKOg8Xa0ZGyErt+ZbyFiyUGF5Axc3rJ3DyGslgu
155O+AqcpCQOlOyovGQ6ST9x/gEeVcRnZn1MV4vMxwaOSXtY7u0IGyaDlFn1QWHWCN
16imv8OR6YuhivwBIXGzJ16oEqDwKBgQDCj3ls7tlPrLvUQIh8gfjCoInU8fRAqtAe
17Ab/OximLsKQPKLDma6xd+X2Fk8Dowdb88GNT99x3VZjHqVJM9URDkiOGKAXA/rBp
18jAXhnQwahT8YCzOUHqDYNMMQrXHvbiHqLodGrrO2WjYNmH69prQAk8WYAIwl+hdx
19BS70LGLPBwKBgQDU9RinAkBcFjiyieBjBreeCJ50Q5bfhHbf2EOhcE2IbDo6bteB
20Bwmxx3uM3cdHCf6/NrVweqFAfBQ3xlPP8BH4wJrsZoBBOWnZRDfEbzHJnMtK3FbS
21fzTkhmQAL4Ibgh9rIxspQtcUZVSees+k4VqgUIPaIoDEjgizktEJfS2MqQKBgQDA
22rOFtVaRz2PYyHq6LzxMRe3bEIdDn8cEk1kqjdW9TXV07feqiZmNOtXLvRAG4/63u
231Akp8L6ul2Az6qUMfaBa4nC3vQ7lr9P40qhIZATGhsqS/xTXTPWw55999qZsnL6N
24cgKZpw1mOzRohmqNWnfMUotOGsywF1n7nUyAlyxLJQKBgElTaNTFYF3MbGfhl1He
25fnDXlf8OCOK1i5oIzMLqverb2UN/qp6p0b3SAtcw5cUXcaPlajHrfYgacF/0Qyua
26Cerey9GLEdJ7saDWhz0GyJ8yyEXy8CVs0svVaLPWI0s2B7/obzP9+gTb/WE9qZqu
27bNoVEpJ/wZhk+IL4+KPmqphu
28-----END PRIVATE KEY-----
diff --git a/common/recipes-selftest/images/secureboot-selftest-image-signed.bb b/common/recipes-selftest/images/secureboot-selftest-image-signed.bb
deleted file mode 100644
index 3ce11f32..00000000
--- a/common/recipes-selftest/images/secureboot-selftest-image-signed.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require secureboot-selftest-image-unsigned.bb
2
3IMAGE_FEATURES += "secureboot"
4
5SECURE_BOOT_SIGNING_KEY ?= "${THISDIR}/files/refkit-db.key"
6SECURE_BOOT_SIGNING_CERT ?= "${THISDIR}/files/refkit-db.crt"
diff --git a/common/recipes-selftest/images/secureboot-selftest-image-unsigned.bb b/common/recipes-selftest/images/secureboot-selftest-image-unsigned.bb
deleted file mode 100644
index e03e7b47..00000000
--- a/common/recipes-selftest/images/secureboot-selftest-image-unsigned.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1require recipes-core/images/core-image-minimal.bb
2
3DEPENDS_remove = "grub-efi"
4
5inherit uefi-comboapp
6
7WKS_FILE = "generic-bootdisk.wks.in"
8
9do_uefiapp_deploy_append() {
10 for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do
11 target=`basename $i`
12 target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'`
13
14 cat > ${IMAGE_ROOTFS}/boot/startup.nsh << EOF
15$target
16reset
17EOF
18 break
19 done
20}
diff --git a/common/recipes-support/sbsigntool/sbsigntool-native_git.bb b/common/recipes-support/sbsigntool/sbsigntool-native_git.bb
deleted file mode 100644
index 430a6a78..00000000
--- a/common/recipes-support/sbsigntool/sbsigntool-native_git.bb
+++ /dev/null
@@ -1,77 +0,0 @@
1DESCRIPTION = "Utility for signing and verifying files for UEFI Secure Boot"
2LICENSE = "GPLv3 & LGPL-2.1 & LGPL-3.0 & MIT"
3
4# sbsigntool statically links to libccan.a which is built with modules
5# passed to "create-ccan-tree" (and their dependencies). Therefore,
6# we also keep track of all the ccan module licenses.
7LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746 \
8 file://COPYING;md5=a7710ac18adec371b84a9594ed04fd20 \
9 file://lib/ccan.git/ccan/endian/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
10 file://lib/ccan.git/ccan/htable/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
11 file://lib/ccan.git/ccan/list/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
12 file://lib/ccan.git/ccan/read_write_all/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
13 file://lib/ccan.git/ccan/talloc/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
14 file://lib/ccan.git/ccan/typesafe_cb/LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
15 file://lib/ccan.git/ccan/failtest/LICENSE;md5=6a6a8e020838b23406c81b19c1d46df6 \
16 file://lib/ccan.git/ccan/tlist/LICENSE;md5=6a6a8e020838b23406c81b19c1d46df6 \
17 file://lib/ccan.git/ccan/time/LICENSE;md5=838c366f69b72c5df05c96dff79b35f2 \
18"
19
20# The original upstream is git://kernel.ubuntu.com/jk/sbsigntool but it has
21# not been maintained and many patches have been backported in this repo.
22SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools \
23 git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan \
24 "
25
26SRCREV_sbsigntools ?= "efbb550858e7bd3f43e64228d22aea440ef6a14d"
27SRCREV_ccan ?= "b1f28e17227f2320d07fe052a8a48942fe17caa5"
28SRCREV_FORMAT = "sbsigntools_ccan"
29
30DEPENDS = "binutils-native gnu-efi-native help2man-native openssl10-native util-linux-native"
31
32PV = "0.8-git${SRCPV}"
33
34S = "${WORKDIR}/git"
35
36inherit native autotools pkgconfig
37
38do_configure_prepend() {
39 cd ${S}
40
41 if [ ! -e lib/ccan ]; then
42
43 # Use empty SCOREDIR because 'make scores' is not run.
44 # The default setting depends on (non-whitelisted) host tools.
45 sed -i -e 's#^\(SCOREDIR=\).*#\1#' lib/ccan.git/Makefile
46
47 lib/ccan.git/tools/create-ccan-tree \
48 --build-type=automake lib/ccan \
49 talloc read_write_all build_assert array_size endian
50 fi
51
52 # Create generatable docs from git
53 (
54 echo "Authors of sbsigntool:"
55 echo
56 git log --format='%an' | sort -u | sed 's,^,\t,'
57 ) > AUTHORS
58
59 # Generate simple ChangeLog
60 git log --date=short --format='%ad %t %an <%ae>%n%n * %s%n' > ChangeLog
61
62 cd ${B}
63}
64
65def efi_arch(d):
66 import re
67 harch = d.getVar("HOST_ARCH")
68 if re.match("i[3456789]86", harch):
69 return "ia32"
70 return harch
71
72EXTRA_OEMAKE = "\
73 INCLUDES+='-I${S}/lib/ccan.git/ \
74 -I${STAGING_INCDIR_NATIVE}/efi \
75 -I${STAGING_INCDIR_NATIVE} \
76 -I${STAGING_INCDIR_NATIVE}/efi/${@efi_arch(d)}' \
77 "