[ppc64] Detect the IBM POWER10 Functional Simulator

This commit is contained in:
CyrIng
2025-03-16 14:36:23 +01:00
parent 5dba49ee90
commit 357b4b8c28
7 changed files with 18 additions and 4 deletions

View File

@@ -1874,6 +1874,7 @@
#define RSC_TECH_HYPERV_KBOX_CODE " KVM/VBox"
#define RSC_TECH_HYPERV_VMWARE_CODE " VMware"
#define RSC_TECH_HYPERV_HYPERV_CODE "MS Hyper-V"
#define RSC_TECH_SYSTEM_PWRSIM_CODE " POWER Sim"
#define RSC_PERF_LABEL_VER_CODE "PM"
#define RSC_PERF_LABEL_HWCF_CODE "MPERF/APERF"

View File

@@ -1000,6 +1000,7 @@ RESOURCE_ST Resource[] = {
LDQ(RSC_TECH_HYPERV_KBOX),
LDQ(RSC_TECH_HYPERV_VMWARE),
LDQ(RSC_TECH_HYPERV_HYPERV),
LDQ(RSC_TECH_SYSTEM_PWRSIM),
LDT(RSC_PERF_MON_TITLE),
LDT(RSC_PERF_CAPS_TITLE),
LDT(RSC_VERSION),

View File

@@ -823,6 +823,7 @@ enum {
RSC_TECH_HYPERV_KBOX,
RSC_TECH_HYPERV_VMWARE,
RSC_TECH_HYPERV_HYPERV,
RSC_TECH_SYSTEM_PWRSIM,
RSC_PERF_MON_TITLE,
RSC_PERF_CAPS_TITLE,
RSC_VERSION,

View File

@@ -3167,7 +3167,8 @@ REASON_CODE SysInfoTech(Window *win,
[HYPERV_VBOX] = RSC(TECH_HYPERV_VBOX).CODE(),
[HYPERV_KBOX] = RSC(TECH_HYPERV_KBOX).CODE(),
[HYPERV_VMWARE] = RSC(TECH_HYPERV_VMWARE).CODE(),
[HYPERV_HYPERV] = RSC(TECH_HYPERV_HYPERV).CODE()
[HYPERV_HYPERV] = RSC(TECH_HYPERV_HYPERV).CODE(),
[SYSTEM_PWRSIM] = RSC(TECH_SYSTEM_PWRSIM).CODE()
};
ATTRIBUTE *attrib[2] = {
RSC(SYSINFO_TECH_COND0).ATTR(),

View File

@@ -4677,6 +4677,13 @@ static int CoreFreqK_Ignition_Level_Up(INIT_ARG *pArg)
PUBLIC(RO(Proc))->Features.Info.Hypervisor.CRC = CRC_KVM;
StrCopy(PUBLIC(RO(Proc))->Features.Info.Hypervisor.ID,
VENDOR_KVM, 12 + 4);
} else if (of_property_match_string(of_root, "model",
"Mambo,Simulated-System") >= 0)
{
PUBLIC(RO(Proc))->HypervisorID = SYSTEM_PWRSIM;
PUBLIC(RO(Proc))->Features.Info.Hypervisor.CRC = CRC_PWRSIM;
StrCopy(PUBLIC(RO(Proc))->Features.Info.Hypervisor.ID,
VENDOR_PWRSIM, 12 + 4);
}
}
#endif /* CONFIG_OF */

View File

@@ -84,6 +84,7 @@
#define VENDOR_KBOX "KVMKM"
#define VENDOR_VMWARE "VMwawarereVM"
#define VENDOR_HYPERV "Micrt Hvosof"
#define VENDOR_PWRSIM "PWRsimPWRsim"
#define LATCH_NONE 0b000000000000
#define LATCH_TGT_RATIO_UNLOCK 0b000000000001 /* <T> TgtRatioUnlocked */

View File

@@ -32,7 +32,8 @@ enum CRC_MANUFACTURER
CRC_VBOX = 0x5091f045,
CRC_KBOX = 0x02b76f04,
CRC_VMWARE = 0x2a974552,
CRC_HYPERV = 0x543a585e
CRC_HYPERV = 0x543a585e,
CRC_PWRSIM = 0x6a37372e
};
enum { GenericArch = 0,
@@ -69,10 +70,11 @@ enum HYPERVISOR {
HYPERV_VBOX,
HYPERV_KBOX,
HYPERV_VMWARE,
HYPERV_HYPERV
HYPERV_HYPERV,
SYSTEM_PWRSIM
};
#define HYPERVISORS ( 1 + HYPERV_HYPERV )
#define HYPERVISORS ( 1 + SYSTEM_PWRSIM )
enum SYS_REG {
FLAG_SP = 0, /* [1:0] = [ZA:SM] */