From b51761d99ea3a282eb282a7f3ecde60be1b08405 Mon Sep 17 00:00:00 2001 From: Michael Neuling Date: Thu, 10 Aug 2017 16:02:51 +1000 Subject: hdat: Add POWER9 DD2.0 specific pa_features Same as the default but with TM off. Signed-off-by: Michael Neuling Signed-off-by: Stewart Smith --- hdata/cpu-common.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'hdata') diff --git a/hdata/cpu-common.c b/hdata/cpu-common.c index f40d08b..01228f3 100644 --- a/hdata/cpu-common.c +++ b/hdata/cpu-common.c @@ -53,6 +53,17 @@ struct dt_node * add_core_common(struct dt_node *cpus, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 48 .. 55 */ 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, /* 56 .. 63 */ }; + const uint8_t pa_features_p9n_dd20[] = { + 64, 0, + 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00, /* 0 .. 7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8 .. 15 */ + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, /* 16 .. 23 */ + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, /* 24 .. 31 */ + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, /* 32 .. 39 */ + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 40 .. 47 */ + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 48 .. 55 */ + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 56 .. 63 */ + }; const uint8_t pa_features_p9[] = { 64, 0, 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00, /* 0 .. 7 */ @@ -99,9 +110,17 @@ struct dt_node * add_core_common(struct dt_node *cpus, break; case PVR_TYPE_P9: name = "PowerPC,POWER9"; - if ((PVR_VERS_MAJ(version) == 1) && is_power9n(version)) { + if (is_power9n(version) && + (PVR_VERS_MAJ(version) == 1)) { + /* P9N DD1 */ pa_features = pa_features_p9n_dd1; pa_features_size = sizeof(pa_features_p9n_dd1); + } else if (is_power9n(version) && + (PVR_VERS_MAJ(version) == 2) && + (PVR_VERS_MIN(version) == 0)) { + /* P9N DD2.0 */ + pa_features = pa_features_p9n_dd20; + pa_features_size = sizeof(pa_features_p9n_dd20); } else { pa_features = pa_features_p9; pa_features_size = sizeof(pa_features_p9); -- cgit v1.1