Updates #5794 Change-Id: I1d8b005a1696835c9062545f87b7bab643cfc44d Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>main
parent
29c2bb1db6
commit
65c7a37bc6
@ -0,0 +1,39 @@ |
|||||||
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
package hostinfo |
||||||
|
|
||||||
|
import ( |
||||||
|
"bytes" |
||||||
|
"os" |
||||||
|
"strings" |
||||||
|
|
||||||
|
"tailscale.com/tailcfg" |
||||||
|
"tailscale.com/types/lazy" |
||||||
|
) |
||||||
|
|
||||||
|
func init() { |
||||||
|
RegisterHostinfoNewHook(func(hi *tailcfg.Hostinfo) { |
||||||
|
if isPlan9V86() { |
||||||
|
hi.DeviceModel = copyV86DeviceModel |
||||||
|
} |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
var isPlan9V86Cache lazy.SyncValue[bool] |
||||||
|
|
||||||
|
// isPlan9V86 reports whether we're running in the wasm
|
||||||
|
// environment (https://github.com/copy/v86/).
|
||||||
|
func isPlan9V86() bool { |
||||||
|
return isPlan9V86Cache.Get(func() bool { |
||||||
|
v, _ := os.ReadFile("/dev/cputype") |
||||||
|
s, _, _ := strings.Cut(string(v), " ") |
||||||
|
if s != "PentiumIV/Xeon" { |
||||||
|
return false |
||||||
|
} |
||||||
|
|
||||||
|
v, _ = os.ReadFile("/dev/config") |
||||||
|
v, _, _ = bytes.Cut(v, []byte{'\n'}) |
||||||
|
return string(v) == "# pcvm - small kernel used to run in vm" |
||||||
|
}) |
||||||
|
} |
||||||
Loading…
Reference in new issue