Skip to content

Commit 5006e8e

Browse files
khronokernelerikng
authored andcommitted
Utils.swift: Add handling for Intel Virtual Machines
Pallas will override the host’s detected Board ID to “VMM-x86_64” on Intel VMs to allow for software updates regardless of the original board ID.
1 parent 34a7e7f commit 5006e8e

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

Nudge/Utilities/Utils.swift

+12-1
Original file line numberDiff line numberDiff line change
@@ -710,12 +710,23 @@ struct DeviceManager {
710710
func getHardwareModel() -> String {
711711
getSysctlValue(for: "hw.model") ?? ""
712712
}
713+
714+
func getVirtualMachineStatus() -> Bool {
715+
if getSysctlValue(for: "kern.hv_vmm_present") == "1" {
716+
return true
717+
}
718+
return false
719+
}
713720

714721
func getHardwareModelIDs() -> [String] {
715-
let boardID = getIORegInfo(serviceTarget: "board-id") ?? "Unknown"
722+
var boardID = getIORegInfo(serviceTarget: "board-id") ?? "Unknown"
716723
let bridgeID = getBridgeModelID()
717724
let hardwareModelID = getIORegInfo(serviceTarget: "target-sub-type") ?? "Unknown"
718725
let gestaltModelStringID = getKeyResultFromGestalt("HWModelStr")
726+
727+
if getVirtualMachineStatus() && getCPUTypeString() == "Intel" {
728+
boardID = "VMM-x86_64"
729+
}
719730

720731
LogManager.debug("Hardware Board ID: \(boardID)", logger: utilsLog)
721732
LogManager.debug("Hardware Bridge ID: \(bridgeID)", logger: utilsLog)

0 commit comments

Comments
 (0)