summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Levon <john.levon@joyent.com>2019-02-20 09:52:05 +0000
committerJohn Levon <john.levon@joyent.com>2019-02-21 15:48:04 +0000
commit50c68d602321e451c36464d5c7d903c892e2f775 (patch)
tree7566b934a5e59a75fa69638d70890068a28a7269
parentc6a22c86f2d0254060157d591af12a83e37b9a50 (diff)
downloadillumos-joyent-50c68d602321e451c36464d5c7d903c892e2f775.tar.gz
OS-7594 Disable efinet support in Loader to workaround TRITON-1191
Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Robert Mustacchi <rm@joyent.com>
-rw-r--r--usr/src/boot/sys/boot/efi/loader/Makefile.com9
-rw-r--r--usr/src/boot/sys/boot/efi/loader/conf.c8
2 files changed, 17 insertions, 0 deletions
diff --git a/usr/src/boot/sys/boot/efi/loader/Makefile.com b/usr/src/boot/sys/boot/efi/loader/Makefile.com
index be81482ae1..011ec84d52 100644
--- a/usr/src/boot/sys/boot/efi/loader/Makefile.com
+++ b/usr/src/boot/sys/boot/efi/loader/Makefile.com
@@ -12,6 +12,8 @@
#
# Copyright 2016 Toomas Soome <tsoome@me.com>
#
+# Copyright (c) 2019, Joyent, Inc.
+#
include $(SRC)/Makefile.master
include $(SRC)/boot/Makefile.version
@@ -87,6 +89,13 @@ CPPFLAGS += -I$(SRC)/uts/intel/sys/acpi
CPPFLAGS += -I$(PNGLITE)
CPPFLAGS += -DNO_PCI -DEFI
+#
+# Using SNP from loader causes issues when chain-loading iPXE, as described in
+# TRITON-1191. While the exact problem is not known, we have no use for SNP, so
+# we'll just disable it.
+#
+CPPFLAGS += -DLOADER_DISABLE_SNP
+
# Export serial numbers, UUID, and asset tag from loader.
smbios.o := CPPFLAGS += -DSMBIOS_SERIAL_NUMBERS
# Use little-endian UUID format as defined in SMBIOS 2.6.
diff --git a/usr/src/boot/sys/boot/efi/loader/conf.c b/usr/src/boot/sys/boot/efi/loader/conf.c
index 5a7bfede26..854230a204 100644
--- a/usr/src/boot/sys/boot/efi/loader/conf.c
+++ b/usr/src/boot/sys/boot/efi/loader/conf.c
@@ -24,6 +24,10 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+ * Copyright (c) 2019, Joyent, Inc.
+ */
+
#include <sys/cdefs.h>
#include <stand.h>
@@ -36,7 +40,9 @@ struct devsw *devsw[] = {
&efipart_fddev,
&efipart_cddev,
&efipart_hddev,
+#ifndef LOADER_DISABLE_SNP
&efinet_dev,
+#endif
&zfs_dev,
NULL
};
@@ -57,7 +63,9 @@ struct fs_ops *file_system[] = {
};
struct netif_driver *netif_drivers[] = {
+#ifndef LOADER_DISABLE_SNP
&efinetif,
+#endif
NULL
};