diff options
| -rw-r--r-- | .gitmodules | 3 | ||||
| -rw-r--r-- | extra/efivar/.gitignore | 1 | ||||
| -rw-r--r-- | extra/efivar/.rev | 1 | ||||
| -rw-r--r-- | extra/efivar/compat.h | 3 | ||||
| -rw-r--r-- | extra/efivar/gen.rc | 31 | ||||
| -rw-r--r-- | extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch | 30 | ||||
| m--------- | extra/efivar/src | 0 | ||||
| -rw-r--r-- | extra/gen.rc | 1 |
8 files changed, 70 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules index ecd93aba..2e21416f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -100,6 +100,9 @@ [submodule "devel/qbe/src"] path = devel/qbe/src url = git://c9x.me/qbe.git +[submodule "extra/efivar/src"] + path = extra/efivar/src + url = https://github.com/rhinstaller/efivar [submodule "extra/hostap/src"] path = extra/hostap/src url = git://w1.fi/hostap.git diff --git a/extra/efivar/.gitignore b/extra/efivar/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/extra/efivar/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/extra/efivar/.rev b/extra/efivar/.rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/extra/efivar/.rev @@ -0,0 +1 @@ +1 diff --git a/extra/efivar/compat.h b/extra/efivar/compat.h new file mode 100644 index 00000000..4f4842f7 --- /dev/null +++ b/extra/efivar/compat.h @@ -0,0 +1,3 @@ +#ifndef __bswap_constant_16 +#define __bswap_constant_16(x) ((x)<<8&0xff00 | (x)>>8&0xff) +#endif diff --git a/extra/efivar/gen.rc b/extra/efivar/gen.rc new file mode 100644 index 00000000..bab38a44 --- /dev/null +++ b/extra/efivar/gen.rc @@ -0,0 +1,31 @@ +cc src/guids.S '||' '$outdir'/^(guids.bin names.bin) ; with\ + cflags '$cflags -I $outdir' + +cflags\ + -D _GNU_SOURCE\ + -include '$dir'/compat.h\ + -I '$outdir'/include\ + -I '$srcdir'/src/include/efivar + +{ + include 'toolchain/$host_toolchain.ninja' + cflags\ + -D EFIVAR_BUILD_ENVIRONMENT\ + -I '$srcdir'/src/include/efivar + build '$outdir'/host-guid.c.o cc '$srcdir'/src/guid.c + exe makeguids src/makeguids.c host-guid.c.o +} >tools.ninja +subninja '$dir'/tools.ninja + +rule makeguids '$outdir/makeguids $in $out' +outs='$outdir'/^(guids.bin names.bin guid-symbols.c include/efivar-guids.h)\ + build $"outs makeguids '$srcdir'/src/guids.txt '|' '$outdir'/makeguids + +lib libefiboot.a src/^(crc32.c creator.c disk.c gpt.c linux.c loadopt.c) +lib libefivar.a -d '$outdir'/include/efivar-guids.h src/^(\ + dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c\ + efivarfs.c export.c guid.c guids.S.o\ + lib.c vars.c\ +) '$outdir'/guid-symbols.c + +fetch git diff --git a/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch b/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch new file mode 100644 index 00000000..d18b779f --- /dev/null +++ b/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch @@ -0,0 +1,30 @@ +From 2b91a687fc2734ee53abfb02b115ea546f46c6f1 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Thu, 14 Jan 2016 17:02:31 -0500 +Subject: [PATCH] Workaround rename of linux/nvme.h + +Bug: https://bugs.gentoo.org/571548 +--- + src/linux.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/linux.c b/src/linux.c +index b618cfd..9388cd3 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -22,7 +22,12 @@ + #include <inttypes.h> + #include <limits.h> + #include <linux/ethtool.h> ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) ++#include <linux/nvme_ioctl.h> ++#else + #include <linux/nvme.h> ++#endif + #include <linux/sockios.h> + #include <net/if.h> + #include <scsi/scsi.h> +-- +2.9.0 + diff --git a/extra/efivar/src b/extra/efivar/src new file mode 160000 +Subproject 6478af5af7e2fc8fa2247a47b6db9f2a5dc9136 diff --git a/extra/gen.rc b/extra/gen.rc index b908bf21..a1e685f2 100644 --- a/extra/gen.rc +++ b/extra/gen.rc @@ -1,3 +1,4 @@ +subgen efivar subgen hostap subgen libevent subgen libfuse |
