Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
lima-vm
GitHub Repository: lima-vm/lima
Path: blob/master/pkg/osutil/rosetta_darwin.go
2609 views
1
// SPDX-FileCopyrightText: Copyright The Lima Authors
2
// SPDX-License-Identifier: Apache-2.0
3
4
package osutil
5
6
import (
7
"errors"
8
"fmt"
9
10
"github.com/sirupsen/logrus"
11
"golang.org/x/sys/unix"
12
)
13
14
func IsBeingRosettaTranslated() bool {
15
ret, err := unix.SysctlUint32("sysctl.proc_translated")
16
if err != nil {
17
const fallback = false
18
if errors.Is(err, unix.ENOENT) {
19
return false
20
}
21
22
err = fmt.Errorf(`failed to read sysctl "sysctl.proc_translated": %w`, err)
23
logrus.WithError(err).Warnf("failed to detect whether running under rosetta, assuming %v", fallback)
24
return fallback
25
}
26
27
return ret != 0
28
}
29
30