From 235ef367d793db705b1b4ef20913c697eccd13a6 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Sat, 25 Sep 2021 16:57:58 +0000 Subject: [PATCH] vmx: update openbsd kernel heuristics in OpenBSD 6.9 and up, the kernel (bsd, bsd.mp) still has the ostype symbols, but bsd.rd appears to have lost them, even when decompressed. so, as a result, we should use what we have, which isn't much. --- sys/src/cmd/vmx/ksetup.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/src/cmd/vmx/ksetup.c b/sys/src/cmd/vmx/ksetup.c index 4af05ef80..34f9d96a8 100644 --- a/sys/src/cmd/vmx/ksetup.c +++ b/sys/src/cmd/vmx/ksetup.c @@ -728,7 +728,7 @@ obsdload(void) static int tryelf(void) { - char *s; + char *s, *t; if(!elfheaders()) return 0; elfdata(); @@ -736,6 +736,11 @@ tryelf(void) s = symaddr(elfsym("ostype")); if(s != nil && strcmp(s, "OpenBSD") == 0) return obsdload(); + /* from 6.9 up, bsd.rd has just these syms */ + s = symaddr(elfsym("rd_root_image")); + t = symaddr(elfsym("rd_root_size")); + if(s != nil && t != nil) + return obsdload(); return 0; }