Page MenuHomeFreeBSD

D40221.id122258.diff
No OneTemporary

D40221.id122258.diff

diff --git a/stand/efi/libefi/eficom.c b/stand/efi/libefi/eficom.c
--- a/stand/efi/libefi/eficom.c
+++ b/stand/efi/libefi/eficom.c
@@ -254,6 +254,11 @@
return (NULL);
}
+/*
+ * Called from cons_probe() to see if this device is available.
+ * Return immediately on x86, except for hyperv, since it interferes with
+ * common configurations otherwise (yes, this is just firewalling the bug).
+ */
static void
comc_probe(struct console *sc)
{
@@ -265,6 +270,18 @@
char *env, *buf, *ep;
size_t sz;
+#ifdef __amd64__
+ /*
+ * This driver tickles issues on a number of different firmware loads.
+ * It is only required for HyperV, and is only known to work on HyperV,
+ * so only allow it on HyperV.
+ */
+ env = getenv("smbios.bios.version");
+ if (env == NULL || strncmp(env, "Hyper-V", 7) != 0) {
+ return;
+ }
+#endif
+
if (comc_port == NULL) {
comc_port = calloc(1, sizeof (struct serial));
if (comc_port == NULL)

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 25, 8:10 AM (3 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34316073
Default Alt Text
D40221.id122258.diff (941 B)

Event Timeline