diff options
author | Jianxun Zhang <jianxun.zhang@linux.intel.com> | 2016-11-28 14:00:45 -0800 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2016-12-05 18:11:14 -0800 |
commit | 58e5069ee34edd585ca11dfa387bd122d45995aa (patch) | |
tree | 682e3c2051dc60d678e2f1fe9ee80fab0b336d23 /common/recipes-bsp/rmc | |
parent | 5bd26ee16c65d0bb8fb907a14f008d9d40bcfa53 (diff) | |
download | meta-intel-58e5069ee34edd585ca11dfa387bd122d45995aa.tar.gz |
rmc: integration update
This is a whole package of rmc work in meta-intel to reflect
some major changes in the upstream project:
In rmc.bb recipe, EFI_ARCH, path of EFI header files, and
dependency on gnu-efi are removed with the updated revision.
In systemd-boot, patches to integrate with rmc are re-worked
mainly because of new APIs. Size of patches are smaller than
the previous implementation. Notice we still use multiple APIs
instead of calling an one-step interface multiple times, to get
some potential runtime performance benefit. (rmc tool in user
space is changed to use single API in the upstream project.)
Fixes [YOCTO #10086]
Fixes [YOCTO #10671]
Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'common/recipes-bsp/rmc')
-rw-r--r-- | common/recipes-bsp/rmc/rmc.bb | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/common/recipes-bsp/rmc/rmc.bb b/common/recipes-bsp/rmc/rmc.bb index f69b41a0..8c89a99c 100644 --- a/common/recipes-bsp/rmc/rmc.bb +++ b/common/recipes-bsp/rmc/rmc.bb | |||
@@ -14,33 +14,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=838c366f69b72c5df05c96dff79b35f2" | |||
14 | 14 | ||
15 | SRC_URI = "git://git.yoctoproject.org/rmc" | 15 | SRC_URI = "git://git.yoctoproject.org/rmc" |
16 | 16 | ||
17 | SRCREV = "2e38d056f86c0457f3a5ca7ef848545bbb190e47" | 17 | SRCREV = "4799cb89b543712390d863a6fc50a58881590fa2" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | 19 | S = "${WORKDIR}/git" |
20 | 20 | ||
21 | DEPENDS_class-target = "gnu-efi" | ||
22 | |||
23 | COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux*" | 21 | COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux*" |
24 | 22 | ||
25 | EXTRA_OEMAKE='RMC_CFLAGS="-Wl,--hash-style=both"' | 23 | TARGET_CFLAGS +="-Wl,--hash-style=both" |
26 | |||
27 | # from gnu-efi, we should align arch-mapping with it. | ||
28 | def rmc_efi_arch(d): | ||
29 | import re | ||
30 | arch = d.getVar("TARGET_ARCH", True) | ||
31 | if re.match("i[3456789]86", arch): | ||
32 | return "ia32" | ||
33 | return arch | ||
34 | 24 | ||
35 | SECURITY_CFLAGS_remove_class-target = "-fstack-protector-strong" | 25 | SECURITY_CFLAGS_remove_class-target = "-fstack-protector-strong" |
36 | do_compile_class-target() { | 26 | do_compile_class-target() { |
37 | oe_runmake | 27 | oe_runmake |
38 | oe_runmake RMC_EFI_HEADER_PREFIX=${STAGING_INCDIR}/efi RMC_EFI_ARCH="${@rmc_efi_arch(d)}" -f Makefile.efi | 28 | oe_runmake -f Makefile.efi |
39 | } | 29 | } |
40 | 30 | ||
41 | do_install() { | 31 | do_install() { |
42 | oe_runmake RMC_EFI_ARCH="${@rmc_efi_arch(d)}" RMC_INSTALL_PREFIX=${D}/usr install | 32 | oe_runmake RMC_INSTALL_PREFIX=${D}/usr install |
43 | oe_runmake RMC_EFI_ARCH="${@rmc_efi_arch(d)}" RMC_INSTALL_PREFIX=${D}/usr -f Makefile.efi install | 33 | oe_runmake RMC_INSTALL_PREFIX=${D}/usr -f Makefile.efi install |
44 | } | 34 | } |
45 | 35 | ||
46 | do_install_class-native() { | 36 | do_install_class-native() { |