Skip to content

Commit 357b4b8

Browse files
committed
[ppc64] Detect the IBM POWER10 Functional Simulator
1 parent 5dba49e commit 357b4b8

7 files changed

+18
-4
lines changed

ppc64le/corefreq-cli-rsc-en.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1874,6 +1874,7 @@
18741874
#define RSC_TECH_HYPERV_KBOX_CODE " KVM/VBox"
18751875
#define RSC_TECH_HYPERV_VMWARE_CODE " VMware"
18761876
#define RSC_TECH_HYPERV_HYPERV_CODE "MS Hyper-V"
1877+
#define RSC_TECH_SYSTEM_PWRSIM_CODE " POWER Sim"
18771878

18781879
#define RSC_PERF_LABEL_VER_CODE "PM"
18791880
#define RSC_PERF_LABEL_HWCF_CODE "MPERF/APERF"

ppc64le/corefreq-cli-rsc.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,7 @@ RESOURCE_ST Resource[] = {
10001000
LDQ(RSC_TECH_HYPERV_KBOX),
10011001
LDQ(RSC_TECH_HYPERV_VMWARE),
10021002
LDQ(RSC_TECH_HYPERV_HYPERV),
1003+
LDQ(RSC_TECH_SYSTEM_PWRSIM),
10031004
LDT(RSC_PERF_MON_TITLE),
10041005
LDT(RSC_PERF_CAPS_TITLE),
10051006
LDT(RSC_VERSION),

ppc64le/corefreq-cli-rsc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,7 @@ enum {
823823
RSC_TECH_HYPERV_KBOX,
824824
RSC_TECH_HYPERV_VMWARE,
825825
RSC_TECH_HYPERV_HYPERV,
826+
RSC_TECH_SYSTEM_PWRSIM,
826827
RSC_PERF_MON_TITLE,
827828
RSC_PERF_CAPS_TITLE,
828829
RSC_VERSION,

ppc64le/corefreq-cli.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3167,7 +3167,8 @@ REASON_CODE SysInfoTech(Window *win,
31673167
[HYPERV_VBOX] = RSC(TECH_HYPERV_VBOX).CODE(),
31683168
[HYPERV_KBOX] = RSC(TECH_HYPERV_KBOX).CODE(),
31693169
[HYPERV_VMWARE] = RSC(TECH_HYPERV_VMWARE).CODE(),
3170-
[HYPERV_HYPERV] = RSC(TECH_HYPERV_HYPERV).CODE()
3170+
[HYPERV_HYPERV] = RSC(TECH_HYPERV_HYPERV).CODE(),
3171+
[SYSTEM_PWRSIM] = RSC(TECH_SYSTEM_PWRSIM).CODE()
31713172
};
31723173
ATTRIBUTE *attrib[2] = {
31733174
RSC(SYSINFO_TECH_COND0).ATTR(),

ppc64le/corefreqk.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4677,6 +4677,13 @@ static int CoreFreqK_Ignition_Level_Up(INIT_ARG *pArg)
46774677
PUBLIC(RO(Proc))->Features.Info.Hypervisor.CRC = CRC_KVM;
46784678
StrCopy(PUBLIC(RO(Proc))->Features.Info.Hypervisor.ID,
46794679
VENDOR_KVM, 12 + 4);
4680+
} else if (of_property_match_string(of_root, "model",
4681+
"Mambo,Simulated-System") >= 0)
4682+
{
4683+
PUBLIC(RO(Proc))->HypervisorID = SYSTEM_PWRSIM;
4684+
PUBLIC(RO(Proc))->Features.Info.Hypervisor.CRC = CRC_PWRSIM;
4685+
StrCopy(PUBLIC(RO(Proc))->Features.Info.Hypervisor.ID,
4686+
VENDOR_PWRSIM, 12 + 4);
46804687
}
46814688
}
46824689
#endif /* CONFIG_OF */

ppc64le/corefreqk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
#define VENDOR_KBOX "KVMKM"
8585
#define VENDOR_VMWARE "VMwawarereVM"
8686
#define VENDOR_HYPERV "Micrt Hvosof"
87+
#define VENDOR_PWRSIM "PWRsimPWRsim"
8788

8889
#define LATCH_NONE 0b000000000000
8990
#define LATCH_TGT_RATIO_UNLOCK 0b000000000001 /* <T> TgtRatioUnlocked */

ppc64le/coretypes.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ enum CRC_MANUFACTURER
3232
CRC_VBOX = 0x5091f045,
3333
CRC_KBOX = 0x02b76f04,
3434
CRC_VMWARE = 0x2a974552,
35-
CRC_HYPERV = 0x543a585e
35+
CRC_HYPERV = 0x543a585e,
36+
CRC_PWRSIM = 0x6a37372e
3637
};
3738

3839
enum { GenericArch = 0,
@@ -69,10 +70,11 @@ enum HYPERVISOR {
6970
HYPERV_VBOX,
7071
HYPERV_KBOX,
7172
HYPERV_VMWARE,
72-
HYPERV_HYPERV
73+
HYPERV_HYPERV,
74+
SYSTEM_PWRSIM
7375
};
7476

75-
#define HYPERVISORS ( 1 + HYPERV_HYPERV )
77+
#define HYPERVISORS ( 1 + SYSTEM_PWRSIM )
7678

7779
enum SYS_REG {
7880
FLAG_SP = 0, /* [1:0] = [ZA:SM] */

0 commit comments

Comments
 (0)